mirror of
https://github.com/MightyPirates/OpenComputers.git
synced 2025-09-14 17:56:34 -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 cpw.mods.fml.common.eventhandler.SubscribeEvent
|
||||
import li.cil.oc.OpenComputers
|
||||
import li.cil.oc.api.event.RobotMoveEvent
|
||||
import li.cil.oc.server.component.UpgradeChunkloader
|
||||
import li.cil.oc.util.BlockPosition
|
||||
@ -22,10 +23,13 @@ object ChunkloaderUpgradeHandler extends LoadingCallback {
|
||||
override def ticketsLoaded(tickets: util.List[Ticket], world: World) {
|
||||
for (ticket <- tickets) {
|
||||
val data = ticket.getModData
|
||||
restoredTickets += data.getString("address") -> ticket
|
||||
val address = data.getString("address")
|
||||
restoredTickets += address -> ticket
|
||||
if (data.hasKey("x") && data.hasKey("z")) {
|
||||
val x = data.getInteger("x")
|
||||
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))
|
||||
}
|
||||
}
|
||||
|
@ -3,10 +3,10 @@ package li.cil.oc.server.component
|
||||
import li.cil.oc.OpenComputers
|
||||
import li.cil.oc.Settings
|
||||
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.Callback
|
||||
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.prefab
|
||||
import li.cil.oc.common.event.ChunkloaderUpgradeHandler
|
||||
@ -44,8 +44,10 @@ class UpgradeChunkloader(val host: EnvironmentHost) extends prefab.ManagedEnviro
|
||||
override def onConnect(node: Node) {
|
||||
super.onConnect(node)
|
||||
if (node == this.node) {
|
||||
ticket = ChunkloaderUpgradeHandler.restoredTickets.remove(node.address).
|
||||
orElse(host match {
|
||||
if (ChunkloaderUpgradeHandler.restoredTickets.contains(node.address)) {
|
||||
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 _ => None
|
||||
})
|
||||
|
Loading…
x
Reference in New Issue
Block a user