From 223f981ae63fef0622e9d6e6eb74bc43997ae3ba Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Florian=20N=C3=BCcke?= Date: Fri, 10 Oct 2014 17:32:05 +0200 Subject: [PATCH] Fixery of (partially weird) stuff. --- build.gradle | 2 + .../blocks/{keyboard.png => Keyboard.png} | Bin .../computercraft/ModComputerCraft.scala | 43 +----------------- .../computercraft/PeripheralProvider.scala | 17 +++++++ .../computercraft/SwitchPeripheral.scala | 32 +++++++++++++ .../integration/fmp/ModForgeMultipart.scala | 6 +-- .../integration/fmp/MultipartConverter.scala | 5 ++ ...rtFactory.scala => MultipartFactory.scala} | 5 ++ 8 files changed, 65 insertions(+), 45 deletions(-) rename src/main/resources/assets/opencomputers/textures/blocks/{keyboard.png => Keyboard.png} (100%) create mode 100644 src/main/scala/li/cil/oc/integration/computercraft/PeripheralProvider.scala create mode 100644 src/main/scala/li/cil/oc/integration/computercraft/SwitchPeripheral.scala rename src/main/scala/li/cil/oc/integration/fmp/{MultiPartFactory.scala => MultipartFactory.scala} (70%) diff --git a/build.gradle b/build.gradle index 73a3b1562..47c392c85 100644 --- a/build.gradle +++ b/build.gradle @@ -125,6 +125,7 @@ processResources { } jar { + exclude "cofh/**" configurations.embedded.each { dep -> from(project.zipTree(dep)){ exclude 'META-INF', 'META-INF/**' @@ -144,6 +145,7 @@ javadoc { // because the normal default jar task has been modified to be obfuscated task deobfJar(type: Jar) { from sourceSets.main.output + exclude "cofh/**" configurations.embedded.each { dep -> from(project.zipTree(dep)){ exclude 'META-INF', 'META-INF/**' diff --git a/src/main/resources/assets/opencomputers/textures/blocks/keyboard.png b/src/main/resources/assets/opencomputers/textures/blocks/Keyboard.png similarity index 100% rename from src/main/resources/assets/opencomputers/textures/blocks/keyboard.png rename to src/main/resources/assets/opencomputers/textures/blocks/Keyboard.png diff --git a/src/main/scala/li/cil/oc/integration/computercraft/ModComputerCraft.scala b/src/main/scala/li/cil/oc/integration/computercraft/ModComputerCraft.scala index 2f325cecf..4c0324409 100644 --- a/src/main/scala/li/cil/oc/integration/computercraft/ModComputerCraft.scala +++ b/src/main/scala/li/cil/oc/integration/computercraft/ModComputerCraft.scala @@ -1,33 +1,19 @@ package li.cil.oc.integration.computercraft -import dan200.computercraft.api.ComputerCraftAPI -import dan200.computercraft.api.lua.ILuaContext -import dan200.computercraft.api.peripheral.IComputerAccess -import dan200.computercraft.api.peripheral.IPeripheral -import dan200.computercraft.api.peripheral.IPeripheralProvider import li.cil.oc.api.Driver -import li.cil.oc.common.tileentity.Switch import li.cil.oc.integration.ModProxy import li.cil.oc.integration.Mods -import net.minecraft.world.World - -import scala.collection.mutable object ModComputerCraft extends ModProxy { override def getMod = Mods.ComputerCraft override def initialize() { - ComputerCraftAPI.registerPeripheralProvider(new IPeripheralProvider { - override def getPeripheral(world: World, x: Int, y: Int, z: Int, side: Int) = world.getTileEntity(x, y, z) match { - case switch: Switch => new SwitchPeripheral(switch) - case _ => null - } - }) + PeripheralProvider.init() Driver.add(DriverComputerCraftMedia) try { - val driver: DriverPeripheral = new DriverPeripheral + val driver = new DriverPeripheral() if (driver.isValid) { Driver.add(new ConverterLuaObject) Driver.add(driver) @@ -37,29 +23,4 @@ object ModComputerCraft extends ModProxy { case ignored: Throwable => } } - - class SwitchPeripheral(val switch: Switch) extends IPeripheral { - override def getType = switch.getType - - override def attach(computer: IComputerAccess) { - switch.computers += computer - switch.openPorts += computer -> mutable.Set.empty - } - - override def detach(computer: IComputerAccess) { - switch.computers -= computer - switch.openPorts -= computer - } - - override def getMethodNames = switch.getMethodNames - - override def callMethod(computer: IComputerAccess, context: ILuaContext, method: Int, arguments: Array[AnyRef]) = - switch.callMethod(computer, context, method, arguments) - - override def equals(other: IPeripheral) = other match { - case peripheral: SwitchPeripheral => peripheral.switch == switch - case _ => false - } - } - } \ No newline at end of file diff --git a/src/main/scala/li/cil/oc/integration/computercraft/PeripheralProvider.scala b/src/main/scala/li/cil/oc/integration/computercraft/PeripheralProvider.scala new file mode 100644 index 000000000..b2e54e940 --- /dev/null +++ b/src/main/scala/li/cil/oc/integration/computercraft/PeripheralProvider.scala @@ -0,0 +1,17 @@ +package li.cil.oc.integration.computercraft + +import dan200.computercraft.api.ComputerCraftAPI +import dan200.computercraft.api.peripheral.IPeripheralProvider +import li.cil.oc.common.tileentity.Switch +import net.minecraft.world.World + +object PeripheralProvider extends IPeripheralProvider { + def init() { + ComputerCraftAPI.registerPeripheralProvider(this) + } + + override def getPeripheral(world: World, x: Int, y: Int, z: Int, side: Int) = world.getTileEntity(x, y, z) match { + case switch: Switch => new SwitchPeripheral(switch) + case _ => null + } +} diff --git a/src/main/scala/li/cil/oc/integration/computercraft/SwitchPeripheral.scala b/src/main/scala/li/cil/oc/integration/computercraft/SwitchPeripheral.scala new file mode 100644 index 000000000..71a6337cd --- /dev/null +++ b/src/main/scala/li/cil/oc/integration/computercraft/SwitchPeripheral.scala @@ -0,0 +1,32 @@ +package li.cil.oc.integration.computercraft + +import dan200.computercraft.api.lua.ILuaContext +import dan200.computercraft.api.peripheral.IComputerAccess +import dan200.computercraft.api.peripheral.IPeripheral +import li.cil.oc.common.tileentity.Switch + +import scala.collection.mutable + +class SwitchPeripheral(val switch: Switch) extends IPeripheral { + override def getType = switch.getType + + override def attach(computer: IComputerAccess) { + switch.computers += computer + switch.openPorts += computer -> mutable.Set.empty + } + + override def detach(computer: IComputerAccess) { + switch.computers -= computer + switch.openPorts -= computer + } + + override def getMethodNames = switch.getMethodNames + + override def callMethod(computer: IComputerAccess, context: ILuaContext, method: Int, arguments: Array[AnyRef]) = + switch.callMethod(computer, context, method, arguments) + + override def equals(other: IPeripheral) = other match { + case peripheral: SwitchPeripheral => peripheral.switch == switch + case _ => false + } +} diff --git a/src/main/scala/li/cil/oc/integration/fmp/ModForgeMultipart.scala b/src/main/scala/li/cil/oc/integration/fmp/ModForgeMultipart.scala index fe8e140a6..aab22c375 100644 --- a/src/main/scala/li/cil/oc/integration/fmp/ModForgeMultipart.scala +++ b/src/main/scala/li/cil/oc/integration/fmp/ModForgeMultipart.scala @@ -1,7 +1,5 @@ package li.cil.oc.integration.fmp -import codechicken.multipart.MultiPartRegistry -import li.cil.oc.Settings import li.cil.oc.integration.ModProxy import li.cil.oc.integration.Mods import net.minecraftforge.common.MinecraftForge @@ -10,8 +8,8 @@ object ModForgeMultipart extends ModProxy { override def getMod = Mods.ForgeMultipart override def initialize() { - MultiPartRegistry.registerConverter(MultipartConverter) - MultiPartRegistry.registerParts(MultipartFactory, Array(Settings.namespace + "cable")) + MultipartConverter.init() + MultipartFactory.init() MinecraftForge.EVENT_BUS.register(EventHandler) } diff --git a/src/main/scala/li/cil/oc/integration/fmp/MultipartConverter.scala b/src/main/scala/li/cil/oc/integration/fmp/MultipartConverter.scala index 19fe5ccc7..3bd4140a7 100644 --- a/src/main/scala/li/cil/oc/integration/fmp/MultipartConverter.scala +++ b/src/main/scala/li/cil/oc/integration/fmp/MultipartConverter.scala @@ -3,12 +3,17 @@ package li.cil.oc.integration.fmp import java.util import codechicken.lib.vec.BlockCoord +import codechicken.multipart.MultiPartRegistry import codechicken.multipart.MultiPartRegistry.IPartConverter import li.cil.oc.api.Items import li.cil.oc.common.tileentity.Cable import net.minecraft.world.World object MultipartConverter extends IPartConverter { + def init() { + MultiPartRegistry.registerConverter(this) + } + override def blockTypes = util.Arrays.asList(Items.get("cable").block) override def convert(world: World, pos: BlockCoord) = { diff --git a/src/main/scala/li/cil/oc/integration/fmp/MultiPartFactory.scala b/src/main/scala/li/cil/oc/integration/fmp/MultipartFactory.scala similarity index 70% rename from src/main/scala/li/cil/oc/integration/fmp/MultiPartFactory.scala rename to src/main/scala/li/cil/oc/integration/fmp/MultipartFactory.scala index aa2505af6..cc517fea7 100644 --- a/src/main/scala/li/cil/oc/integration/fmp/MultiPartFactory.scala +++ b/src/main/scala/li/cil/oc/integration/fmp/MultipartFactory.scala @@ -1,10 +1,15 @@ package li.cil.oc.integration.fmp +import codechicken.multipart.MultiPartRegistry import codechicken.multipart.MultiPartRegistry.IPartFactory import codechicken.multipart.TMultiPart import li.cil.oc.Settings object MultipartFactory extends IPartFactory { + def init() { + MultiPartRegistry.registerParts(MultipartFactory, Array(Settings.namespace + "cable")) + } + override def createPart(name: String, client: Boolean): TMultiPart = { if (name.equals(Settings.namespace + "cable")) return new CablePart()