mirror of
https://github.com/MightyPirates/OpenComputers.git
synced 2025-09-25 14:05:39 -04:00
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:
commit
0041ca2a1f
@ -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
|
||||
|
@ -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)
|
||||
}
|
||||
}
|
@ -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()
|
||||
}
|
||||
}
|
||||
}
|
||||
|
Loading…
x
Reference in New Issue
Block a user