Merge branch 'master-MC1.11' into master-MC1.12

This commit is contained in:
payonel 2018-10-28 00:23:48 -07:00
commit 7ffc9525a4

View File

@ -66,20 +66,20 @@ class UpgradeChunkloader(val host: EnvironmentHost) extends AbstractManagedEnvir
super.onConnect(node) super.onConnect(node)
if (node == this.node) { if (node == this.node) {
val restoredTicket = ChunkloaderUpgradeHandler.restoredTickets.remove(node.address) val restoredTicket = ChunkloaderUpgradeHandler.restoredTickets.remove(node.address)
ticket = if (restoredTicket.isDefined) { if (restoredTicket.isDefined) {
if (!isDimensionAllowed) { if (!isDimensionAllowed) {
try ForgeChunkManager.releaseTicket(restoredTicket.get) catch { try ForgeChunkManager.releaseTicket(restoredTicket.get) catch {
case _: Throwable => // Ignored. case _: Throwable => // Ignored.
} }
OpenComputers.log.info(s"Releasing chunk loader ticket at (${host.xPosition()}, ${host.yPosition()}, ${host.zPosition()}) in blacklisted dimension ${host.world().provider.getDimension}.") OpenComputers.log.info(s"Releasing chunk loader ticket at (${host.xPosition()}, ${host.yPosition()}, ${host.zPosition()}) in blacklisted dimension ${host.world().provider.getDimension}.")
None
} else { } else {
OpenComputers.log.info(s"Reclaiming chunk loader ticket at (${host.xPosition()}, ${host.yPosition()}, ${host.zPosition()}) in dimension ${host.world().provider.getDimension}.") OpenComputers.log.info(s"Reclaiming chunk loader ticket at (${host.xPosition()}, ${host.yPosition()}, ${host.zPosition()}) in dimension ${host.world().provider.getDimension}.")
restoredTicket ticket = restoredTicket
ChunkloaderUpgradeHandler.updateLoadedChunk(this)
} }
} else host match { } else host match {
case context: Context if context.isRunning => requestTicket() case context: Context if context.isRunning => requestTicket()
case _ => None case _ =>
} }
} }
} }
@ -106,7 +106,7 @@ class UpgradeChunkloader(val host: EnvironmentHost) extends AbstractManagedEnvir
private def setActive(enabled: Boolean, throwIfBlocked: Boolean = false) = { private def setActive(enabled: Boolean, throwIfBlocked: Boolean = false) = {
if (enabled && ticket.isEmpty) { if (enabled && ticket.isEmpty) {
ticket = requestTicket(throwIfBlocked) requestTicket(throwIfBlocked)
ticket.isDefined ticket.isDefined
} }
else if (!enabled && ticket.isDefined) { else if (!enabled && ticket.isDefined) {
@ -136,16 +136,14 @@ class UpgradeChunkloader(val host: EnvironmentHost) extends AbstractManagedEnvir
true true
} }
private def requestTicket(throwIfBlocked: Boolean = false): Option[Ticket] = { private def requestTicket(throwIfBlocked: Boolean = false): Unit = {
if (!isDimensionAllowed) { if (!isDimensionAllowed) {
if (throwIfBlocked) { if (throwIfBlocked) {
throw new Exception("this dimension is blacklisted") throw new Exception("this dimension is blacklisted")
} }
None
} else { } else {
val result = Option(ForgeChunkManager.requestTicket(OpenComputers, host.world, ForgeChunkManager.Type.NORMAL)) ticket = Option(ForgeChunkManager.requestTicket(OpenComputers, host.world, ForgeChunkManager.Type.NORMAL))
ChunkloaderUpgradeHandler.updateLoadedChunk(this) ChunkloaderUpgradeHandler.updateLoadedChunk(this)
result
} }
} }
} }