Merge branch 'master' of github.com:MightyPirates/OpenComputers into MC1.7

Conflicts:
	src/main/scala/li/cil/oc/common/tileentity/Rack.scala
This commit is contained in:
Florian Nücke 2014-06-11 17:47:26 +02:00
commit 0041ca2a1f
3 changed files with 14 additions and 3 deletions

View File

@ -40,7 +40,7 @@ object GuiHandler extends CommonGuiHandler {
val address = stack.getTagCompound.getString(Settings.namespace + "server")
val key = stack.getTagCompound.getString(Settings.namespace + "key")
if (key != null && !key.isEmpty && address != null && !address.isEmpty) {
tileentity.Rack.list.
tileentity.Rack.list.keys.
flatMap(_.terminals).
find(term => term.rack.isPresent(term.number) match {
case Some(value) => value == address

View File

@ -11,6 +11,7 @@ import li.cil.oc.client.renderer.tileentity._
import li.cil.oc.client.renderer.WirelessNetworkDebugRenderer
import li.cil.oc.common.{Proxy => CommonProxy, tileentity}
import li.cil.oc.common.component.TextBuffer
import li.cil.oc.common.tileentity.Rack
import li.cil.oc.{Items, OpenComputers}
import net.minecraftforge.client.MinecraftForgeClient
import net.minecraftforge.common.MinecraftForge
@ -60,6 +61,7 @@ private[oc] class Proxy extends CommonProxy {
FMLCommonHandler.instance().bus().register(HologramRenderer)
FMLCommonHandler.instance().bus().register(ScreenRenderer)
MinecraftForge.EVENT_BUS.register(WirelessNetworkDebugRenderer)
MinecraftForge.EVENT_BUS.register(Rack)
MinecraftForge.EVENT_BUS.register(TextBuffer)
}
}

View File

@ -3,6 +3,7 @@ package li.cil.oc.common.tileentity
import com.google.common.base.Strings
import cpw.mods.fml.common.Optional
import cpw.mods.fml.common.Optional.Method
import cpw.mods.fml.common.eventhandler.SubscribeEvent
import cpw.mods.fml.relauncher.{Side, SideOnly}
import li.cil.oc.api.Network
import li.cil.oc.api.network.{Analyzable, Connector, Visibility, Node}
@ -20,6 +21,7 @@ import net.minecraftforge.common.util.Constants.NBT
import net.minecraftforge.common.util.ForgeDirection
import stargatetech2.api.bus.IBusDevice
import scala.collection.mutable
import net.minecraftforge.event.world.WorldEvent
// See AbstractBusAware as to why we have to define the IBusDevice here.
@Optional.Interface(iface = "stargatetech2.api.bus.IBusDevice", modid = "StargateTech2")
@ -232,7 +234,7 @@ class Rack extends traits.PowerAcceptor with traits.Hub with traits.PowerBalance
override protected def initialize() {
super.initialize()
Rack.list += this
Rack.list += this -> Unit
}
override protected def dispose() {
@ -387,5 +389,12 @@ class Rack extends traits.PowerAcceptor with traits.Hub with traits.PowerBalance
}
object Rack {
val list = mutable.Set.empty[Rack]
val list = mutable.WeakHashMap.empty[Rack, Unit]
@SubscribeEvent
def onWorldUnload(e: WorldEvent.Unload) {
if (e.world.isRemote) {
list.clear()
}
}
}