Yet more refactoring \o/

This commit is contained in:
Florian Nücke 2014-10-08 18:25:24 +02:00
parent 0dcc6e2391
commit bd822efe00
90 changed files with 210 additions and 212 deletions

View File

@ -12,7 +12,7 @@ import cpw.mods.fml.common.Loader
import cpw.mods.fml.common.versioning.DefaultArtifactVersion
import cpw.mods.fml.common.versioning.VersionRange
import li.cil.oc.api.component.TextBuffer.ColorDepth
import li.cil.oc.util.mods.Mods
import li.cil.oc.integration.Mods
import org.apache.commons.lang3.StringEscapeUtils
import scala.collection.convert.WrapAsScala._

View File

@ -4,7 +4,7 @@ import li.cil.oc.client.Textures
import li.cil.oc.common.container.ComponentSlot
import li.cil.oc.common.container.Player
import li.cil.oc.util.RenderState
import li.cil.oc.util.mods.NEI
import li.cil.oc.integration.util.NEI
import li.cil.oc.Localization
import li.cil.oc.common
import net.minecraft.client.renderer.Tessellator

View File

@ -5,7 +5,7 @@ import li.cil.oc.client.renderer.gui.BufferRenderer
import li.cil.oc.client.KeyBindings
import li.cil.oc.client.Textures
import li.cil.oc.util.RenderState
import li.cil.oc.util.mods.NEI
import li.cil.oc.integration.util.NEI
import net.minecraft.client.Minecraft
import net.minecraft.client.gui.GuiScreen
import net.minecraft.client.renderer.Tessellator

View File

@ -3,7 +3,7 @@ package li.cil.oc.client.renderer.block
import codechicken.multipart.TileMultipart
import li.cil.oc.client.Textures
import li.cil.oc.common
import li.cil.oc.util.mods.Mods
import li.cil.oc.integration.Mods
import net.minecraft.block.Block
import net.minecraft.client.renderer.RenderBlocks
import net.minecraft.tileentity.TileEntity

View File

@ -5,7 +5,7 @@ import li.cil.oc.client.Textures
import li.cil.oc.common.block
import li.cil.oc.common.tileentity.Screen
import li.cil.oc.util.RenderState
import li.cil.oc.util.mods.BuildCraft
import li.cil.oc.integration.util.BuildCraft
import net.minecraft.client.Minecraft
import net.minecraft.client.renderer.Tessellator
import net.minecraft.client.renderer.tileentity.TileEntitySpecialRenderer

View File

@ -11,12 +11,12 @@ import li.cil.oc.api.Network
import li.cil.oc.client.renderer.PetRenderer
import li.cil.oc.client.{PacketSender => ClientPacketSender}
import li.cil.oc.common.tileentity.traits.power
import li.cil.oc.integration.Mods
import li.cil.oc.server.{PacketSender => ServerPacketSender}
import li.cil.oc.util.LuaStateFactory
import li.cil.oc.util.SideTracker
import li.cil.oc.util.UpdateCheck
import li.cil.oc.util.mods
import li.cil.oc.util.mods.Mods
import li.cil.oc.integration.util
import net.minecraft.client.Minecraft
import net.minecraft.entity.player.EntityPlayerMP
import net.minecraft.item.ItemStack
@ -88,8 +88,8 @@ object EventHandler {
def scheduleWirelessRedstone(rs: server.component.RedstoneWireless) {
if (SideTracker.isServer) pending.synchronized {
pending += (() => if (!rs.owner.isInvalid) {
mods.WirelessRedstone.addReceiver(rs)
mods.WirelessRedstone.updateOutput(rs)
util.WirelessRedstone.addReceiver(rs)
util.WirelessRedstone.updateOutput(rs)
})
}
}
@ -114,7 +114,7 @@ object EventHandler {
if (!LuaStateFactory.isAvailable) {
player.addChatMessage(Localization.Chat.WarningLuaFallback)
}
if (Mods.ProjectRedTransmission.isAvailable && !mods.ProjectRed.isAPIAvailable) {
if (Mods.ProjectRedTransmission.isAvailable && !util.ProjectRed.isAPIAvailable) {
player.addChatMessage(Localization.Chat.WarningProjectRed)
}
if (!Settings.get.pureIgnorePower && Settings.get.ignorePower) {

View File

@ -14,7 +14,7 @@ import li.cil.oc.common.multipart.MultiPart
import li.cil.oc.common.recipe.Recipes
import li.cil.oc.common.template.RobotTemplate
import li.cil.oc.common.template.TabletTemplate
import li.cil.oc.integration.Registry
import li.cil.oc.integration.Mods
import li.cil.oc.integration.appeng.ModAppEng
import li.cil.oc.integration.buildcraft.ModBuildCraft
import li.cil.oc.integration.cofh.energy.ModCoFHEnergy
@ -40,8 +40,7 @@ import li.cil.oc.server.machine.luaj.LuaJLuaArchitecture
import li.cil.oc.server.network.WirelessNetwork
import li.cil.oc.util.LuaStateFactory
import li.cil.oc.util.UpdateCheck
import li.cil.oc.util.mods.ComputerCraft
import li.cil.oc.util.mods.Mods
import li.cil.oc.integration.util.ComputerCraft
import net.minecraft.item.ItemStack
import net.minecraft.nbt.NBTTagCompound
import net.minecraftforge.common.ForgeChunkManager
@ -99,28 +98,28 @@ class Proxy {
OpenComputers.channel.register(server.PacketHandler)
OpenComputers.log.info("Initializing OpenComputers drivers.")
Registry.add(new ModAppEng)
Registry.add(new ModBuildCraft)
Registry.add(new ModCoFHEnergy)
Registry.add(new ModCoFHTileEntity)
Registry.add(new ModCoFHTransport)
Registry.add(new ModEnderIO)
Registry.add(new ModEnderStorage)
Registry.add(new ModForestry)
Registry.add(new ModGregtech)
Registry.add(new ModIndustrialCraft2)
Registry.add(new ModMystcraft)
Registry.add(ModOpenComputers)
Registry.add(new ModRailcraft)
Registry.add(new ModThaumcraft)
Registry.add(new ModThermalExpansion)
Registry.add(new ModTMechworks)
Registry.add(ModVanilla)
Mods.integrate(new ModAppEng)
Mods.integrate(new ModBuildCraft)
Mods.integrate(new ModCoFHEnergy)
Mods.integrate(new ModCoFHTileEntity)
Mods.integrate(new ModCoFHTransport)
Mods.integrate(new ModEnderIO)
Mods.integrate(new ModEnderStorage)
Mods.integrate(new ModForestry)
Mods.integrate(new ModGregtech)
Mods.integrate(new ModIndustrialCraft2)
Mods.integrate(new ModMystcraft)
Mods.integrate(ModOpenComputers)
Mods.integrate(new ModRailcraft)
Mods.integrate(new ModThaumcraft)
Mods.integrate(new ModThermalExpansion)
Mods.integrate(new ModTMechworks)
Mods.integrate(ModVanilla)
// Register the general IPeripheral driver last, if at all, to avoid it
// being used rather than other more concrete implementations, such as
// is the case in the Redstone in Motion driver (replaces 'move').
Registry.add(ModComputerCraft)
Mods.integrate(ModComputerCraft)
OpenComputers.log.info("Initializing assembler templates.")
RobotTemplate.register()

View File

@ -2,8 +2,8 @@ package li.cil.oc.common.asm
import cpw.mods.fml.common.asm.transformers.deobf.FMLDeobfuscatingRemapper
import li.cil.oc.common.asm.template.SimpleComponentImpl
import li.cil.oc.util.mods.Mods
import li.cil.oc.util.mods.Mods.Mod
import li.cil.oc.integration.Mods
import Mods.Mod
import net.minecraft.launchwrapper.IClassTransformer
import net.minecraft.launchwrapper.LaunchClassLoader
import org.apache.logging.log4j.LogManager

View File

@ -13,8 +13,8 @@ import li.cil.oc.api.tileentity.SidedEnvironment
import li.cil.oc.client.Textures
import li.cil.oc.common.multipart.CablePart
import li.cil.oc.common.tileentity
import li.cil.oc.integration.Mods
import li.cil.oc.util.Color
import li.cil.oc.util.mods.Mods
import net.minecraft.block.Block
import net.minecraft.client.renderer.texture.IIconRegister
import net.minecraft.tileentity.TileEntity

View File

@ -6,7 +6,7 @@ import cpw.mods.fml.relauncher.Side
import cpw.mods.fml.relauncher.SideOnly
import li.cil.oc.common.GuiType
import li.cil.oc.common.tileentity
import li.cil.oc.util.mods.BuildCraft
import li.cil.oc.integration.util.BuildCraft
import li.cil.oc.util.Color
import li.cil.oc.util.Tooltip
import li.cil.oc.OpenComputers

View File

@ -6,7 +6,7 @@ import li.cil.oc.client.Textures
import li.cil.oc.common.GuiType
import li.cil.oc.common.tileentity
import li.cil.oc.server.PacketSender
import li.cil.oc.util.mods.BuildCraft
import li.cil.oc.integration.util.BuildCraft
import net.minecraft.block.Block
import net.minecraft.client.renderer.texture.IIconRegister
import net.minecraft.entity.player.EntityPlayer

View File

@ -3,8 +3,8 @@ package li.cil.oc.common.block
import li.cil.oc.OpenComputers
import li.cil.oc.common.GuiType
import li.cil.oc.common.tileentity
import li.cil.oc.integration.Mods
import li.cil.oc.util.Tooltip
import li.cil.oc.util.mods.Mods
import net.minecraft.entity.player.EntityPlayer
import net.minecraft.item.ItemStack
import net.minecraft.world.World

View File

@ -5,9 +5,9 @@ import java.util
import li.cil.oc.Settings
import li.cil.oc.common.tileentity
import li.cil.oc.integration.Mods
import li.cil.oc.util.Tooltip
import li.cil.oc.util.mods.Mods
import li.cil.oc.util.mods.NEI
import li.cil.oc.integration.util.NEI
import net.minecraft.entity.player.EntityPlayer
import net.minecraft.item.ItemStack
import net.minecraft.world.World

View File

@ -3,8 +3,8 @@ package li.cil.oc.common.block
import java.util
import li.cil.oc.common.tileentity
import li.cil.oc.integration.Mods
import li.cil.oc.util.Tooltip
import li.cil.oc.util.mods.Mods
import net.minecraft.entity.player.EntityPlayer
import net.minecraft.item.ItemStack
import net.minecraft.world.World

View File

@ -2,7 +2,7 @@ package li.cil.oc.common.block
import cpw.mods.fml.common.Optional
import li.cil.oc.common.tileentity
import li.cil.oc.util.mods.Mods
import li.cil.oc.integration.Mods
import net.minecraft.block.Block
import net.minecraft.world.IBlockAccess
import net.minecraft.world.World

View File

@ -7,7 +7,7 @@ import cpw.mods.fml.relauncher.SideOnly
import li.cil.oc.Settings
import li.cil.oc.api
import li.cil.oc.common.tileentity
import li.cil.oc.util.mods.NEI
import li.cil.oc.integration.util.NEI
import net.minecraft.client.renderer.texture.IIconRegister
import net.minecraft.entity.player.EntityPlayer
import net.minecraft.item.EnumRarity

View File

@ -14,7 +14,7 @@ import li.cil.oc.server.PacketSender
import li.cil.oc.server.component.robot
import li.cil.oc.util.ItemUtils
import li.cil.oc.util.Tooltip
import li.cil.oc.util.mods.NEI
import li.cil.oc.integration.util.NEI
import net.minecraft.client.renderer.texture.IIconRegister
import net.minecraft.entity.Entity
import net.minecraft.entity.EntityLivingBase

View File

@ -11,7 +11,7 @@ import li.cil.oc.common.tileentity
import li.cil.oc.util.Color
import li.cil.oc.util.PackedColor
import li.cil.oc.util.Tooltip
import li.cil.oc.util.mods.BuildCraft
import li.cil.oc.integration.util.BuildCraft
import net.minecraft.client.renderer.texture.IIconRegister
import net.minecraft.entity.Entity
import net.minecraft.entity.EntityLivingBase

View File

@ -5,8 +5,8 @@ import java.util
import cpw.mods.fml.common.Optional
import li.cil.oc.common.block.SimpleBlock
import li.cil.oc.common.tileentity.traits.power.UniversalElectricity
import li.cil.oc.integration.Mods
import li.cil.oc.util.Tooltip
import li.cil.oc.util.mods.Mods
import net.minecraft.block.Block
import net.minecraft.entity.player.EntityPlayer
import net.minecraft.item.ItemStack

View File

@ -2,7 +2,7 @@ package li.cil.oc.common.event
import cpw.mods.fml.common.eventhandler.SubscribeEvent
import li.cil.oc.api.event.RobotUsedToolEvent
import li.cil.oc.util.mods.UniversalElectricity
import li.cil.oc.integration.util.UniversalElectricity
object UniversalElectricityToolHandler {
@SubscribeEvent

View File

@ -9,8 +9,8 @@ import li.cil.oc.common.Loot
import li.cil.oc.common.Tier
import li.cil.oc.common.item
import li.cil.oc.common.recipe.Recipes
import li.cil.oc.integration.Mods
import li.cil.oc.util.Color
import li.cil.oc.util.mods.Mods
import net.minecraft.block.Block
import net.minecraft.creativetab.CreativeTabs
import net.minecraft.entity.player.EntityPlayer

View File

@ -1,6 +1,6 @@
package li.cil.oc.common.item
import li.cil.oc.util.mods.Mods
import li.cil.oc.integration.Mods
class AbstractBusCard(val parent: Delegator) extends Delegate with ItemTier {
showInItemList = Mods.StargateTech2.isAvailable

View File

@ -1,6 +1,6 @@
package li.cil.oc.common.item
import li.cil.oc.util.mods.Mods
import li.cil.oc.integration.Mods
class IronNugget(val parent: Delegator) extends Delegate {
showInItemList = !Mods.GregTech.isAvailable

View File

@ -3,10 +3,10 @@ package li.cil.oc.common.item
import java.util
import li.cil.oc.common.Tier
import li.cil.oc.integration.Mods
import li.cil.oc.util.Tooltip
import li.cil.oc.util.mods.BundledRedstone
import li.cil.oc.util.mods.Mods
import li.cil.oc.util.mods.WirelessRedstone
import li.cil.oc.integration.util.BundledRedstone
import li.cil.oc.integration.util.WirelessRedstone
import net.minecraft.item.ItemStack
class RedstoneCard(val parent: Delegator, val tier: Int) extends Delegate with ItemTier {

View File

@ -10,8 +10,8 @@ import li.cil.oc._
import li.cil.oc.common.block.SimpleBlock
import li.cil.oc.common.init.Items
import li.cil.oc.util.Color
import li.cil.oc.util.mods.GregTech
import li.cil.oc.util.mods.NEI
import li.cil.oc.integration.util.GregTech
import li.cil.oc.integration.util.NEI
import net.minecraft.block.Block
import net.minecraft.item.Item
import net.minecraft.item.ItemBlock

View File

@ -9,8 +9,8 @@ import li.cil.oc.api.machine.Arguments
import li.cil.oc.api.machine.Callback
import li.cil.oc.api.machine.Context
import li.cil.oc.api.network._
import li.cil.oc.integration.Mods
import li.cil.oc.util.ExtendedNBT._
import li.cil.oc.util.mods.Mods
import net.minecraft.entity.player.EntityPlayer
import net.minecraft.nbt.NBTTagCompound
import net.minecraftforge.common.util.Constants.NBT

View File

@ -11,9 +11,9 @@ import li.cil.oc.api.network._
import li.cil.oc.api.tileentity.Analyzable
import li.cil.oc.api.tileentity.SidedEnvironment
import li.cil.oc.common.SaveHandler
import li.cil.oc.integration.Mods
import li.cil.oc.server.{PacketSender => ServerPacketSender}
import li.cil.oc.util.mods.Mods
import li.cil.oc.util.mods.Waila
import li.cil.oc.integration.util.Waila
import net.minecraft.entity.player.EntityPlayer
import net.minecraft.nbt.NBTTagCompound
import net.minecraft.util.AxisAlignedBB

View File

@ -6,7 +6,7 @@ import li.cil.oc.common.tileentity.traits.BundledRedstoneAware
import li.cil.oc.common.tileentity.traits.Environment
import li.cil.oc.server.component
import li.cil.oc.util.ExtendedNBT._
import li.cil.oc.util.mods.BundledRedstone
import li.cil.oc.integration.util.BundledRedstone
import net.minecraft.nbt.NBTTagCompound
import net.minecraftforge.common.util.ForgeDirection

View File

@ -8,7 +8,7 @@ import li.cil.oc.api.machine.Arguments
import li.cil.oc.api.machine.Callback
import li.cil.oc.api.machine.Context
import li.cil.oc.api.network._
import li.cil.oc.util.mods.Mods
import li.cil.oc.integration.Mods
import mods.immibis.redlogic.api.wiring.IWire
import net.minecraft.entity.Entity
import net.minecraft.entity.player.EntityPlayer

View File

@ -12,13 +12,13 @@ import li.cil.oc.api.network._
import li.cil.oc.api.tileentity.Analyzable
import li.cil.oc.client.Sound
import li.cil.oc.common.Tier
import li.cil.oc.integration.opencomputers.DriverAbstractBusCard
import li.cil.oc.integration.Mods
import li.cil.oc.integration.opencomputers.DriverRedstoneCard
import li.cil.oc.integration.stargatetech2.DriverAbstractBusCard
import li.cil.oc.server.component
import li.cil.oc.server.{PacketSender => ServerPacketSender}
import li.cil.oc.util.ExtendedNBT._
import li.cil.oc.util.mods.Mods
import li.cil.oc.util.mods.Waila
import li.cil.oc.integration.util.Waila
import net.minecraft.entity.player.EntityPlayer
import net.minecraft.item.ItemStack
import net.minecraft.nbt.NBTTagCompound

View File

@ -14,8 +14,8 @@ import li.cil.oc.common.InventorySlots
import li.cil.oc.common.Slot
import li.cil.oc.common.init.Items
import li.cil.oc.common.item
import li.cil.oc.integration.Mods
import li.cil.oc.server.PacketSender
import li.cil.oc.util.mods.Mods
import net.minecraft.item.ItemStack
import net.minecraft.nbt.NBTTagCompound
import net.minecraftforge.common.util.ForgeDirection

View File

@ -5,10 +5,10 @@ import cpw.mods.fml.relauncher.Side
import cpw.mods.fml.relauncher.SideOnly
import li.cil.oc.api.network
import li.cil.oc.api.network.ManagedEnvironment
import li.cil.oc.integration.Mods
import li.cil.oc.server.component
import li.cil.oc.server.{PacketSender => ServerPacketSender}
import li.cil.oc.util.mods.Mods
import li.cil.oc.util.mods.StargateTech2
import li.cil.oc.integration.util.StargateTech2
import net.minecraft.nbt.NBTTagCompound
import stargatetech2.api.StargateTechAPI
import stargatetech2.api.bus.IBusDevice

View File

@ -2,9 +2,9 @@ package li.cil.oc.common.tileentity.traits
import cpw.mods.fml.common.Optional
import li.cil.oc.Settings
import li.cil.oc.integration.Mods
import li.cil.oc.util.ExtendedNBT._
import li.cil.oc.util.mods.Mods
import li.cil.oc.util.mods.ProjectRed
import li.cil.oc.integration.util.ProjectRed
import mods.immibis.redlogic.api.wiring.IBundledEmitter
import mods.immibis.redlogic.api.wiring.IBundledUpdatable
import mods.immibis.redlogic.api.wiring.IInsulatedRedstoneWire

View File

@ -15,12 +15,12 @@ import li.cil.oc.api.tileentity.Analyzable
import li.cil.oc.client.Sound
import li.cil.oc.common.Slot
import li.cil.oc.common.tileentity.RobotProxy
import li.cil.oc.integration.opencomputers.DriverAbstractBusCard
import li.cil.oc.integration.Mods
import li.cil.oc.integration.opencomputers.DriverRedstoneCard
import li.cil.oc.integration.stargatetech2.DriverAbstractBusCard
import li.cil.oc.server.{PacketSender => ServerPacketSender}
import li.cil.oc.util.ExtendedNBT._
import li.cil.oc.util.mods.Mods
import li.cil.oc.util.mods.Waila
import li.cil.oc.integration.util.Waila
import net.minecraft.entity.player.EntityPlayer
import net.minecraft.nbt.NBTTagCompound
import net.minecraft.nbt.NBTTagString

View File

@ -4,8 +4,8 @@ import cpw.mods.fml.common.Optional
import cpw.mods.fml.relauncher.Side
import cpw.mods.fml.relauncher.SideOnly
import li.cil.oc.Settings
import li.cil.oc.integration.Mods
import li.cil.oc.server.{PacketSender => ServerPacketSender}
import li.cil.oc.util.mods.Mods
import mods.immibis.redlogic.api.wiring.IConnectable
import mods.immibis.redlogic.api.wiring.IRedstoneEmitter
import mods.immibis.redlogic.api.wiring.IRedstoneUpdatable

View File

@ -13,7 +13,7 @@ import appeng.api.util.DimensionalCoord
import cpw.mods.fml.common.Optional
import li.cil.oc.Settings
import li.cil.oc.common.EventHandler
import li.cil.oc.util.mods.Mods
import li.cil.oc.integration.Mods
import net.minecraft.nbt.NBTTagCompound
import net.minecraftforge.common.util.ForgeDirection

View File

@ -5,8 +5,8 @@ import buildcraft.api.power.PowerHandler
import cpw.mods.fml.common.Optional
import li.cil.oc.OpenComputers
import li.cil.oc.Settings
import li.cil.oc.integration.Mods
import li.cil.oc.util.ExtendedNBT._
import li.cil.oc.util.mods.Mods
import net.minecraft.nbt.NBTTagCompound
import net.minecraftforge.common.util.ForgeDirection

View File

@ -6,7 +6,7 @@ import factorization.api.Coord
import factorization.api.IChargeConductor
import li.cil.oc.OpenComputers
import li.cil.oc.Settings
import li.cil.oc.util.mods.Mods
import li.cil.oc.integration.Mods
import net.minecraft.nbt.NBTTagCompound
trait Factorization extends Common {

View File

@ -2,7 +2,7 @@ package li.cil.oc.common.tileentity.traits.power
import cpw.mods.fml.common.Optional
import li.cil.oc.Settings
import li.cil.oc.util.mods.Mods
import li.cil.oc.integration.Mods
import micdoodle8.mods.galacticraft.api.power.EnergySource
import net.minecraftforge.common.util.ForgeDirection

View File

@ -6,7 +6,7 @@ import ic2classic.api.Direction
import li.cil.oc.OpenComputers
import li.cil.oc.Settings
import li.cil.oc.common.EventHandler
import li.cil.oc.util.mods.Mods
import li.cil.oc.integration.Mods
import net.minecraft.nbt.NBTTagCompound
import net.minecraft.tileentity.TileEntity
import net.minecraftforge.common.MinecraftForge

View File

@ -5,7 +5,7 @@ import cpw.mods.fml.common.eventhandler.Event
import li.cil.oc.OpenComputers
import li.cil.oc.Settings
import li.cil.oc.common.EventHandler
import li.cil.oc.util.mods.Mods
import li.cil.oc.integration.Mods
import net.minecraft.nbt.NBTTagCompound
import net.minecraftforge.common.MinecraftForge
import net.minecraftforge.common.util.ForgeDirection

View File

@ -2,7 +2,7 @@ package li.cil.oc.common.tileentity.traits.power
import cpw.mods.fml.common.Optional
import li.cil.oc.Settings
import li.cil.oc.util.mods.Mods
import li.cil.oc.integration.Mods
import net.minecraftforge.common.util.ForgeDirection
trait Mekanism extends Common {

View File

@ -2,7 +2,7 @@ package li.cil.oc.common.tileentity.traits.power
import cpw.mods.fml.common.Optional
import li.cil.oc.Settings
import li.cil.oc.util.mods.Mods
import li.cil.oc.integration.Mods
import net.minecraftforge.common.util.ForgeDirection
trait RedstoneFlux extends Common {

View File

@ -4,8 +4,8 @@ import cpw.mods.fml.common.Optional
import li.cil.oc.OpenComputers
import li.cil.oc.Settings
import li.cil.oc.common.EventHandler
import li.cil.oc.integration.Mods
import li.cil.oc.util.ExtendedNBT._
import li.cil.oc.util.mods.Mods
import net.minecraft.nbt.NBTTagCompound
import net.minecraftforge.common.util.ForgeDirection
import universalelectricity.api.core.grid.INode

View File

@ -1,7 +1,5 @@
package li.cil.oc.integration;
import li.cil.oc.util.mods.Mods;
public interface IMod {
Mods.Mod getMod();

View File

@ -1,4 +1,4 @@
package li.cil.oc.util.mods
package li.cil.oc.integration
import cpw.mods.fml.common.Loader
import cpw.mods.fml.common.ModAPIManager
@ -8,54 +8,14 @@ import li.cil.oc.Settings
import scala.collection.mutable
object Mods {
object IDs {
final val AppliedEnergistics2 = "appliedenergistics2"
final val BattleGear2 = "battlegear2"
final val BuildCraft = "BuildCraft|Core"
final val BuildCraftPower = "BuildCraftAPI|power"
final val CoFHEnergy = "CoFHAPI|energy"
final val CoFHTileEntity = "CoFHAPI|tileentity"
final val CoFHTransport = "CoFHAPI|transport"
final val ComputerCraft = "ComputerCraft"
final val CraftingCosts = "CraftingCosts"
final val ElectricalAge = "Eln"
final val EnderIO = "EnderIO"
final val EnderStorage = "EnderStorage"
final val Factorization = "factorization"
final val Forestry = "Forestry"
final val ForgeMultipart = "ForgeMultipart"
final val Galacticraft = "Galacticraft API"
final val GregTech = "gregtech"
final val IndustrialCraft2 = "IC2"
final val IndustrialCraft2API = "IC2API"
final val IndustrialCraft2Classic = "IC2-Classic"
final val Mekanism = "Mekanism"
final val Minecraft = "Minecraft"
final val MineFactoryReloaded = "MineFactoryReloaded"
final val Mystcraft = "Mystcraft"
final val NotEnoughItems = "NotEnoughItems"
final val OpenComputers = "OpenComputers"
final val PortalGun = "PortalGun"
final val ProjectRedTransmission = "ProjRed|Transmission"
final val Railcraft = "Railcraft"
final val RedLogic = "RedLogic"
final val StargateTech2 = "StargateTech2"
final val Thaumcraft = "Thaumcraft"
final val ThermalExpansion = "ThermalExpansion"
final val TinkersConstruct = "TConstruct"
final val TMechWorks = "TMechworks"
final val UniversalElectricity = "UniversalElectricity"
final val VersionChecker = "VersionChecker"
final val Waila = "Waila"
final val WirelessRedstoneCBE = "WR-CBE|Core"
final val WirelessRedstoneSV = "WirelessRedstoneCore"
}
private val handlers = mutable.Set.empty[IMod]
private val knownMods = mutable.ArrayBuffer.empty[Mod]
lazy val isPowerProvidingModPresent = knownMods.exists(mod => mod.providesPower && mod.isAvailable)
// ----------------------------------------------------------------------- //
val AppliedEnergistics2 = new SimpleMod(IDs.AppliedEnergistics2)
val BattleGear2 = new SimpleMod(IDs.BattleGear2)
val BuildCraft = new SimpleMod(IDs.BuildCraft)
@ -107,6 +67,68 @@ object Mods {
val WirelessRedstoneCBE = new SimpleMod(IDs.WirelessRedstoneCBE)
val WirelessRedstoneSV = new SimpleMod(IDs.WirelessRedstoneSV)
// ----------------------------------------------------------------------- //
def integrate(mod: IMod) {
val isBlacklisted = Settings.get.modBlacklist.contains(mod.getMod.id)
val alwaysEnabled = mod.getMod == null || mod == Mods.Minecraft
if (!isBlacklisted && (alwaysEnabled || mod.getMod.isAvailable) && handlers.add(mod)) {
OpenComputers.log.info(String.format("Initializing converters and drivers for '%s'.", mod.getMod.id))
try mod.initialize() catch {
case e: Throwable => {
OpenComputers.log.warn(String.format("Error initializing handler for '%s'", mod.getMod.id), e)
}
}
}
}
// ----------------------------------------------------------------------- //
object IDs {
final val AppliedEnergistics2 = "appliedenergistics2"
final val BattleGear2 = "battlegear2"
final val BuildCraft = "BuildCraft|Core"
final val BuildCraftPower = "BuildCraftAPI|power"
final val CoFHEnergy = "CoFHAPI|energy"
final val CoFHTileEntity = "CoFHAPI|tileentity"
final val CoFHTransport = "CoFHAPI|transport"
final val ComputerCraft = "ComputerCraft"
final val CraftingCosts = "CraftingCosts"
final val ElectricalAge = "Eln"
final val EnderIO = "EnderIO"
final val EnderStorage = "EnderStorage"
final val Factorization = "factorization"
final val Forestry = "Forestry"
final val ForgeMultipart = "ForgeMultipart"
final val Galacticraft = "Galacticraft API"
final val GregTech = "gregtech"
final val IndustrialCraft2 = "IC2"
final val IndustrialCraft2API = "IC2API"
final val IndustrialCraft2Classic = "IC2-Classic"
final val Mekanism = "Mekanism"
final val Minecraft = "Minecraft"
final val MineFactoryReloaded = "MineFactoryReloaded"
final val Mystcraft = "Mystcraft"
final val NotEnoughItems = "NotEnoughItems"
final val OpenComputers = "OpenComputers"
final val PortalGun = "PortalGun"
final val ProjectRedTransmission = "ProjRed|Transmission"
final val Railcraft = "Railcraft"
final val RedLogic = "RedLogic"
final val StargateTech2 = "StargateTech2"
final val Thaumcraft = "Thaumcraft"
final val ThermalExpansion = "ThermalExpansion"
final val TinkersConstruct = "TConstruct"
final val TMechWorks = "TMechworks"
final val UniversalElectricity = "UniversalElectricity"
final val VersionChecker = "VersionChecker"
final val Waila = "Waila"
final val WirelessRedstoneCBE = "WR-CBE|Core"
final val WirelessRedstoneSV = "WirelessRedstoneCore"
}
// ----------------------------------------------------------------------- //
trait Mod {
knownMods += this

View File

@ -1,28 +0,0 @@
package li.cil.oc.integration;
import li.cil.oc.OpenComputers;
import li.cil.oc.Settings;
import li.cil.oc.util.mods.Mods;
import java.util.HashSet;
import java.util.Set;
public final class Registry {
private static final Set<IMod> handlers = new HashSet<IMod>();
private Registry() {
}
public static void add(final IMod mod) {
final boolean isBlacklisted = Settings.get().modBlacklist().contains(mod.getMod().id());
final boolean alwaysEnabled = mod.getMod() == null || mod == Mods.Minecraft();
if (!isBlacklisted && (alwaysEnabled || mod.getMod().isAvailable()) && handlers.add(mod)) {
OpenComputers.log().info(String.format("Initializing converters and drivers for '%s'.", mod.getMod().id()));
try {
mod.initialize();
} catch (Throwable e) {
OpenComputers.log().warn(String.format("Error initializing handler for '%s'", mod.getMod().id()), e);
}
}
}
}

View File

@ -2,7 +2,7 @@ package li.cil.oc.integration.appeng;
import li.cil.oc.api.Driver;
import li.cil.oc.integration.IMod;
import li.cil.oc.util.mods.Mods;
import li.cil.oc.integration.util.Mods;
public class ModAppEng implements IMod {
@Override

View File

@ -2,7 +2,7 @@ package li.cil.oc.integration.buildcraft;
import li.cil.oc.api.Driver;
import li.cil.oc.integration.IMod;
import li.cil.oc.util.mods.Mods;
import li.cil.oc.integration.Mods;
public final class ModBuildCraft implements IMod {
@Override

View File

@ -2,7 +2,7 @@ package li.cil.oc.integration.cofh.energy;
import li.cil.oc.api.Driver;
import li.cil.oc.integration.IMod;
import li.cil.oc.util.mods.Mods;
import li.cil.oc.integration.Mods;
public final class ModCoFHEnergy implements IMod {
@Override

View File

@ -2,7 +2,7 @@ package li.cil.oc.integration.cofh.tileentity;
import li.cil.oc.api.Driver;
import li.cil.oc.integration.IMod;
import li.cil.oc.util.mods.Mods;
import li.cil.oc.integration.Mods;
public final class ModCoFHTileEntity implements IMod {
@Override

View File

@ -2,7 +2,7 @@ package li.cil.oc.integration.cofh.transport;
import li.cil.oc.api.Driver;
import li.cil.oc.integration.IMod;
import li.cil.oc.util.mods.Mods;
import li.cil.oc.integration.Mods;
public final class ModCoFHTransport implements IMod {
@Override

View File

@ -6,9 +6,9 @@ import li.cil.oc.Settings
import li.cil.oc.api.driver.EnvironmentHost
import li.cil.oc.api.fs.Label
import li.cil.oc.common.Slot
import li.cil.oc.integration.Mods
import li.cil.oc.integration.opencomputers.Item
import li.cil.oc.util.mods.ComputerCraft
import li.cil.oc.util.mods.Mods
import li.cil.oc.integration.util.ComputerCraft
import net.minecraft.item.ItemStack
import net.minecraft.nbt.NBTTagCompound

View File

@ -2,7 +2,7 @@ package li.cil.oc.integration.computercraft
import li.cil.oc.api.Driver
import li.cil.oc.integration.IMod
import li.cil.oc.util.mods.Mods
import li.cil.oc.integration.Mods
object ModComputerCraft extends IMod {
def getMod = Mods.ComputerCraft

View File

@ -2,7 +2,7 @@ package li.cil.oc.integration.enderio;
import li.cil.oc.api.Driver;
import li.cil.oc.integration.IMod;
import li.cil.oc.util.mods.Mods;
import li.cil.oc.integration.Mods;
public final class ModEnderIO implements IMod {
@Override

View File

@ -2,7 +2,7 @@ package li.cil.oc.integration.enderstorage;
import li.cil.oc.api.Driver;
import li.cil.oc.integration.IMod;
import li.cil.oc.util.mods.Mods;
import li.cil.oc.integration.Mods;
public final class ModEnderStorage implements IMod {
@Override

View File

@ -2,7 +2,7 @@ package li.cil.oc.integration.forestry;
import li.cil.oc.api.Driver;
import li.cil.oc.integration.IMod;
import li.cil.oc.util.mods.Mods;
import li.cil.oc.integration.Mods;
public class ModForestry implements IMod {
@Override

View File

@ -2,7 +2,7 @@ package li.cil.oc.integration.gregtech;
import li.cil.oc.api.Driver;
import li.cil.oc.integration.IMod;
import li.cil.oc.util.mods.Mods;
import li.cil.oc.integration.Mods;
public final class ModGregtech implements IMod {
@Override

View File

@ -2,7 +2,7 @@ package li.cil.oc.integration.ic2;
import li.cil.oc.api.Driver;
import li.cil.oc.integration.IMod;
import li.cil.oc.util.mods.Mods;
import li.cil.oc.integration.Mods;
public final class ModIndustrialCraft2 implements IMod {
@Override

View File

@ -2,7 +2,7 @@ package li.cil.oc.integration.mystcraft;
import li.cil.oc.api.Driver;
import li.cil.oc.integration.IMod;
import li.cil.oc.util.mods.Mods;
import li.cil.oc.integration.Mods;
public class ModMystcraft implements IMod {
@Override

View File

@ -8,7 +8,7 @@ import li.cil.oc.common
import li.cil.oc.common.tileentity
import li.cil.oc.server.component
import li.cil.oc.server.machine.Machine
import li.cil.oc.util.mods.BundledRedstone
import li.cil.oc.integration.util.BundledRedstone
import net.minecraft.block.Block
import net.minecraft.item.ItemBlock
import net.minecraft.item.ItemStack

View File

@ -12,8 +12,8 @@ import li.cil.oc.common.item
import li.cil.oc.common.tileentity.traits.BundledRedstoneAware
import li.cil.oc.common.tileentity.traits.RedstoneAware
import li.cil.oc.server.component
import li.cil.oc.util.mods.BundledRedstone
import li.cil.oc.util.mods.WirelessRedstone
import li.cil.oc.integration.util.BundledRedstone
import li.cil.oc.integration.util.WirelessRedstone
import net.minecraft.item.ItemStack
object DriverRedstoneCard extends Item with HostAware with EnvironmentAware {

View File

@ -2,7 +2,7 @@ package li.cil.oc.integration.opencomputers
import li.cil.oc.api
import li.cil.oc.integration.IMod
import li.cil.oc.util.mods.Mods
import li.cil.oc.integration.Mods
object ModOpenComputers extends IMod {
override def getMod = Mods.OpenComputers

View File

@ -2,7 +2,7 @@ package li.cil.oc.integration.railcraft;
import li.cil.oc.api.Driver;
import li.cil.oc.integration.IMod;
import li.cil.oc.util.mods.Mods;
import li.cil.oc.integration.Mods;
public final class ModRailcraft implements IMod {
@Override

View File

@ -1,12 +1,13 @@
package li.cil.oc.integration.opencomputers
package li.cil.oc.integration.stargatetech2
import li.cil.oc.api
import li.cil.oc.api.driver.EnvironmentAware
import li.cil.oc.api.driver.EnvironmentHost
import li.cil.oc.api.driver.item.HostAware
import li.cil.oc.common.Slot
import li.cil.oc.integration.Mods
import li.cil.oc.integration.opencomputers.Item
import li.cil.oc.server.component
import li.cil.oc.util.mods.Mods
import net.minecraft.item.ItemStack
import stargatetech2.api.bus.IBusDevice

View File

@ -2,8 +2,7 @@ package li.cil.oc.integration.stargatetech2
import li.cil.oc.api
import li.cil.oc.integration.IMod
import li.cil.oc.integration.opencomputers.DriverAbstractBusCard
import li.cil.oc.util.mods.Mods
import li.cil.oc.integration.Mods
object StargateTech2 extends IMod {
override def getMod = Mods.StargateTech2

View File

@ -2,7 +2,7 @@ package li.cil.oc.integration.thaumcraft;
import li.cil.oc.api.Driver;
import li.cil.oc.integration.IMod;
import li.cil.oc.util.mods.Mods;
import li.cil.oc.integration.Mods;
public class ModThaumcraft implements IMod {
@Override

View File

@ -2,7 +2,7 @@ package li.cil.oc.integration.thermalexpansion;
import li.cil.oc.api.Driver;
import li.cil.oc.integration.IMod;
import li.cil.oc.util.mods.Mods;
import li.cil.oc.integration.Mods;
public final class ModThermalExpansion implements IMod {
@Override

View File

@ -2,7 +2,7 @@ package li.cil.oc.integration.tmechworks;
import li.cil.oc.api.Driver;
import li.cil.oc.integration.IMod;
import li.cil.oc.util.mods.Mods;
import li.cil.oc.integration.Mods;
public final class ModTMechworks implements IMod {
@Override

View File

@ -1,4 +1,4 @@
package li.cil.oc.util.mods
package li.cil.oc.integration.util
import buildcraft.api.tools.IToolWrench
import cpw.mods.fml.common.ModAPIManager

View File

@ -1,4 +1,6 @@
package li.cil.oc.util.mods
package li.cil.oc.integration.util
import li.cil.oc.integration.Mods
object BundledRedstone {
def isAvailable = Mods.RedLogic.isAvailable ||

View File

@ -1,4 +1,4 @@
package li.cil.oc.util.mods
package li.cil.oc.integration.util
import dan200.computercraft.api.ComputerCraftAPI
import dan200.computercraft.api.filesystem.IMount

View File

@ -1,4 +1,4 @@
package li.cil.oc.util.mods
package li.cil.oc.integration.util
import net.minecraft.item.ItemStack

View File

@ -1,5 +1,6 @@
package li.cil.oc.util.mods
package li.cil.oc.integration.util
import li.cil.oc.integration.Mods
import net.minecraft.item.ItemStack
object IndustrialCraft2 {

View File

@ -1,4 +1,4 @@
package li.cil.oc.util.mods
package li.cil.oc.integration.util
import java.util
@ -13,6 +13,7 @@ import com.google.common.base.Strings
import cpw.mods.fml.relauncher.Side
import cpw.mods.fml.relauncher.SideOnly
import li.cil.oc.api.driver.EnvironmentAware
import li.cil.oc.integration.Mods
import li.cil.oc.server.driver.Registry
import li.cil.oc.server.machine.Callbacks
import net.minecraft.block.Block

View File

@ -1,5 +1,6 @@
package li.cil.oc.util.mods
package li.cil.oc.integration.util
import li.cil.oc.integration.Mods
import net.minecraft.item.ItemStack
object PortalGun {

View File

@ -1,4 +1,4 @@
package li.cil.oc.util.mods
package li.cil.oc.integration.util
import mrtjp.projectred.api.ProjectRedAPI

View File

@ -1,4 +1,4 @@
package li.cil.oc.util.mods
package li.cil.oc.integration.util
import net.minecraft.world.World
import net.minecraftforge.common.MinecraftForge

View File

@ -1,4 +1,4 @@
package li.cil.oc.util.mods
package li.cil.oc.integration.util
import net.minecraft.item.ItemStack

View File

@ -1,4 +1,4 @@
package li.cil.oc.util.mods
package li.cil.oc.integration.util
import net.minecraft.item.ItemStack
import net.minecraftforge.common.util.ForgeDirection

View File

@ -1,4 +1,4 @@
package li.cil.oc.util.mods
package li.cil.oc.integration.util
import java.util
@ -7,6 +7,7 @@ import li.cil.oc.Localization
import li.cil.oc.Settings
import li.cil.oc.common.block._
import li.cil.oc.common.tileentity
import li.cil.oc.integration.Mods
import mcp.mobius.waila.api.IWailaConfigHandler
import mcp.mobius.waila.api.IWailaDataAccessor
import mcp.mobius.waila.api.IWailaDataProvider

View File

@ -1,5 +1,6 @@
package li.cil.oc.util.mods
package li.cil.oc.integration.util
import li.cil.oc.integration.Mods
import li.cil.oc.server.component.RedstoneWireless
object WirelessRedstone {

View File

@ -1,4 +1,4 @@
package li.cil.oc.util.mods
package li.cil.oc.integration.util
import codechicken.wirelessredstone.core.WirelessReceivingDevice
import codechicken.wirelessredstone.core.WirelessTransmittingDevice

View File

@ -1,4 +1,4 @@
package li.cil.oc.util.mods
package li.cil.oc.integration.util
import li.cil.oc.server.component.RedstoneWireless
import net.minecraft.world.World

View File

@ -2,7 +2,7 @@ package li.cil.oc.integration.vanilla
import li.cil.oc.api.Driver
import li.cil.oc.integration.IMod
import li.cil.oc.util.mods.Mods
import li.cil.oc.integration.Mods
object ModVanilla extends IMod {
def getMod = Mods.Minecraft

View File

@ -10,8 +10,8 @@ import li.cil.oc.api.machine.Context
import li.cil.oc.api.network._
import li.cil.oc.common.EventHandler
import li.cil.oc.common.tileentity.traits.RedstoneAware
import li.cil.oc.util.mods
import li.cil.oc.util.mods.Mods
import li.cil.oc.integration.Mods
import li.cil.oc.integration.util
import net.minecraft.nbt.NBTTagCompound
@Optional.InterfaceList(Array(
@ -29,7 +29,7 @@ trait RedstoneWireless extends Redstone[RedstoneAware] with WirelessReceivingDev
@Callback(doc = """function():number -- Get the wireless redstone input.""")
def getWirelessInput(context: Context, args: Arguments): Array[AnyRef] = {
wirelessInput = mods.WirelessRedstone.getInput(this)
wirelessInput = util.WirelessRedstone.getInput(this)
result(wirelessInput)
}
@ -41,7 +41,7 @@ trait RedstoneWireless extends Redstone[RedstoneAware] with WirelessReceivingDev
val oldValue = wirelessOutput
wirelessOutput = args.checkBoolean(0)
mods.WirelessRedstone.updateOutput(this)
util.WirelessRedstone.updateOutput(this)
context.pause(0.1)
result(oldValue)
@ -55,14 +55,14 @@ trait RedstoneWireless extends Redstone[RedstoneAware] with WirelessReceivingDev
val oldValue = wirelessFrequency
val newValue = args.checkInteger(0)
mods.WirelessRedstone.removeReceiver(this)
mods.WirelessRedstone.removeTransmitter(this)
util.WirelessRedstone.removeReceiver(this)
util.WirelessRedstone.removeTransmitter(this)
wirelessFrequency = newValue
wirelessInput = false
wirelessOutput = false
mods.WirelessRedstone.addReceiver(this)
util.WirelessRedstone.addReceiver(this)
context.pause(0.5)
result(oldValue)
@ -102,8 +102,8 @@ trait RedstoneWireless extends Redstone[RedstoneAware] with WirelessReceivingDev
override def onDisconnect(node: Node) {
super.onDisconnect(node)
if (node == this.node) {
mods.WirelessRedstone.removeReceiver(this)
mods.WirelessRedstone.removeTransmitter(this)
util.WirelessRedstone.removeReceiver(this)
util.WirelessRedstone.removeTransmitter(this)
}
}

View File

@ -9,9 +9,9 @@ import li.cil.oc.OpenComputers
import li.cil.oc.Settings
import li.cil.oc.api.event._
import li.cil.oc.common.tileentity
import li.cil.oc.util.mods.Mods
import li.cil.oc.util.mods.PortalGun
import li.cil.oc.util.mods.TinkersConstruct
import li.cil.oc.integration.Mods
import li.cil.oc.integration.util.PortalGun
import li.cil.oc.integration.util.TinkersConstruct
import net.minecraft.block.Block
import net.minecraft.block.BlockPistonBase
import net.minecraft.entity.Entity

View File

@ -7,9 +7,9 @@ import java.util.UUID
import li.cil.oc.api.driver.EnvironmentHost
import li.cil.oc.api.fs.Label
import li.cil.oc.api.fs.Mode
import li.cil.oc.integration.Mods
import li.cil.oc.server.component
import li.cil.oc.util.mods.ComputerCraft
import li.cil.oc.util.mods.Mods
import li.cil.oc.integration.util.ComputerCraft
import li.cil.oc.OpenComputers
import li.cil.oc.Settings
import li.cil.oc.api

View File

@ -14,8 +14,8 @@ import li.cil.oc.api.tileentity.SidedEnvironment
import li.cil.oc.common.block.Cable
import li.cil.oc.common.multipart.CablePart
import li.cil.oc.common.tileentity
import li.cil.oc.integration.Mods
import li.cil.oc.server.network.{Node => MutableNode}
import li.cil.oc.util.mods.Mods
import li.cil.oc.util.Color
import li.cil.oc.util.SideTracker
import li.cil.oc.OpenComputers

View File

@ -4,7 +4,7 @@ import java.util
import li.cil.oc.Localization
import li.cil.oc.common.init
import li.cil.oc.util.mods.Mods
import li.cil.oc.integration.Mods
import net.minecraft.block.Block
import net.minecraft.init.Blocks
import net.minecraft.init.Items