mirror of
https://github.com/MightyPirates/OpenComputers.git
synced 2025-09-15 18:30:27 -04:00
Log restored chunk loader ticket locations, closes #1616.
This commit is contained in:
parent
6ef92b9ef5
commit
c1749efb2d
@ -3,6 +3,7 @@ package li.cil.oc.common.event
|
|||||||
import java.util
|
import java.util
|
||||||
|
|
||||||
import cpw.mods.fml.common.eventhandler.SubscribeEvent
|
import cpw.mods.fml.common.eventhandler.SubscribeEvent
|
||||||
|
import li.cil.oc.OpenComputers
|
||||||
import li.cil.oc.api.event.RobotMoveEvent
|
import li.cil.oc.api.event.RobotMoveEvent
|
||||||
import li.cil.oc.server.component.UpgradeChunkloader
|
import li.cil.oc.server.component.UpgradeChunkloader
|
||||||
import li.cil.oc.util.BlockPosition
|
import li.cil.oc.util.BlockPosition
|
||||||
@ -22,10 +23,13 @@ object ChunkloaderUpgradeHandler extends LoadingCallback {
|
|||||||
override def ticketsLoaded(tickets: util.List[Ticket], world: World) {
|
override def ticketsLoaded(tickets: util.List[Ticket], world: World) {
|
||||||
for (ticket <- tickets) {
|
for (ticket <- tickets) {
|
||||||
val data = ticket.getModData
|
val data = ticket.getModData
|
||||||
restoredTickets += data.getString("address") -> ticket
|
val address = data.getString("address")
|
||||||
|
restoredTickets += address -> ticket
|
||||||
if (data.hasKey("x") && data.hasKey("z")) {
|
if (data.hasKey("x") && data.hasKey("z")) {
|
||||||
val x = data.getInteger("x")
|
val x = data.getInteger("x")
|
||||||
val z = data.getInteger("z")
|
val z = data.getInteger("z")
|
||||||
|
OpenComputers.log.info(s"Restoring chunk loader ticket for upgrade at chunk ($x, $z) with address $address.")
|
||||||
|
|
||||||
ForgeChunkManager.forceChunk(ticket, new ChunkCoordIntPair(x, z))
|
ForgeChunkManager.forceChunk(ticket, new ChunkCoordIntPair(x, z))
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -3,10 +3,10 @@ package li.cil.oc.server.component
|
|||||||
import li.cil.oc.OpenComputers
|
import li.cil.oc.OpenComputers
|
||||||
import li.cil.oc.Settings
|
import li.cil.oc.Settings
|
||||||
import li.cil.oc.api
|
import li.cil.oc.api
|
||||||
import li.cil.oc.api.network.EnvironmentHost
|
|
||||||
import li.cil.oc.api.machine.Arguments
|
import li.cil.oc.api.machine.Arguments
|
||||||
import li.cil.oc.api.machine.Callback
|
import li.cil.oc.api.machine.Callback
|
||||||
import li.cil.oc.api.machine.Context
|
import li.cil.oc.api.machine.Context
|
||||||
|
import li.cil.oc.api.network.EnvironmentHost
|
||||||
import li.cil.oc.api.network._
|
import li.cil.oc.api.network._
|
||||||
import li.cil.oc.api.prefab
|
import li.cil.oc.api.prefab
|
||||||
import li.cil.oc.common.event.ChunkloaderUpgradeHandler
|
import li.cil.oc.common.event.ChunkloaderUpgradeHandler
|
||||||
@ -44,8 +44,10 @@ class UpgradeChunkloader(val host: EnvironmentHost) extends prefab.ManagedEnviro
|
|||||||
override def onConnect(node: Node) {
|
override def onConnect(node: Node) {
|
||||||
super.onConnect(node)
|
super.onConnect(node)
|
||||||
if (node == this.node) {
|
if (node == this.node) {
|
||||||
ticket = ChunkloaderUpgradeHandler.restoredTickets.remove(node.address).
|
if (ChunkloaderUpgradeHandler.restoredTickets.contains(node.address)) {
|
||||||
orElse(host match {
|
OpenComputers.log.info(s"Reclaiming chunk loader ticket at (${host.xPosition()}, ${host.yPosition()}, ${host.zPosition()}) in dimension ${host.world().provider.dimensionId}.")
|
||||||
|
}
|
||||||
|
ticket = ChunkloaderUpgradeHandler.restoredTickets.remove(node.address).orElse(host match {
|
||||||
case context: Context if context.isRunning => Option(ForgeChunkManager.requestTicket(OpenComputers, host.world, ForgeChunkManager.Type.NORMAL))
|
case context: Context if context.isRunning => Option(ForgeChunkManager.requestTicket(OpenComputers, host.world, ForgeChunkManager.Type.NORMAL))
|
||||||
case _ => None
|
case _ => None
|
||||||
})
|
})
|
||||||
|
Loading…
x
Reference in New Issue
Block a user