Merge branch 'OC1.3-MC1.7.2' of github.com:MightyPirates/OpenComputers into OC1.3-MC1.7.10

This commit is contained in:
Florian Nücke 2014-07-11 14:12:41 +02:00
commit 24b8875c5a
3 changed files with 15 additions and 5 deletions

View File

@ -28,10 +28,10 @@ class UpgradeChunkloader(val owner: Container) extends component.ManagedComponen
}
}
@Callback
@Callback(doc = """function():boolean -- Gets whether the chunkloader is currently active.""")
def isActive(context: Context, args: Arguments): Array[AnyRef] = result(ticket.isDefined)
@Callback
@Callback(doc = """function(enabled:boolean):boolean -- Enables or disables the chunkloader.""")
def setActive(context: Context, args: Arguments): Array[AnyRef] = {
val enabled = args.checkBoolean(0)
if (enabled && ticket.isEmpty) {

View File

@ -39,7 +39,7 @@ class UpgradeExperience extends component.ManagedComponent {
}
}
@Callback(direct = true)
@Callback(direct = true, doc = """function():number -- The current level of experience stored in this experience upgrade.""")
def level(context: Context, args: Arguments): Array[AnyRef] = {
val xpNeeded = xpForNextLevel - xpForLevel(level)
val xpProgress = math.max(0, experience - xpForLevel(level))

View File

@ -588,7 +588,7 @@ class Machine(val owner: Owner, constructor: Constructor[_ <: Architecture]) ext
tmp.foreach(fs => fs.load(nbt.getCompoundTag("tmp")))
if (state.size > 0 && state.top != Machine.State.Stopped && init()) {
if (state.size > 0 && state.top != Machine.State.Stopped && init()) try {
architecture.load(nbt)
signals ++= nbt.getTagList("signals", NBT.TAG_COMPOUND).map((list, index) => {
@ -621,6 +621,11 @@ class Machine(val owner: Owner, constructor: Constructor[_ <: Architecture]) ext
pause(Settings.get.startupDelay)
}
}
catch {
case t: Throwable =>
OpenComputers.log.log(Level.ERROR, s"""Unexpected error loading a state of computer at (${owner.x}, ${owner.y}, ${owner.z}). """ +
s"""State: ${state.headOption.fold("no state")(_.toString)}. Unless you're upgrading/downgrading across a major version, please report this! Thank you.""", t)
}
else close() // Clean up in case we got a weird state stack.
}
@ -650,7 +655,7 @@ class Machine(val owner: Owner, constructor: Constructor[_ <: Architecture]) ext
tmp.foreach(fs => nbt.setNewCompoundTag("tmp", fs.save))
if (state.top != Machine.State.Stopped) {
if (state.top != Machine.State.Stopped) try {
architecture.save(nbt)
val signalsNbt = new NBTTagList()
@ -683,6 +688,11 @@ class Machine(val owner: Owner, constructor: Constructor[_ <: Architecture]) ext
nbt.setLong("cpuTime", cpuTotal)
nbt.setInteger("remainingPause", remainingPause)
}
catch {
case t: Throwable =>
OpenComputers.log.log(Level.ERROR, s"""Unexpected error saving a state of computer at (${owner.x}, ${owner.y}, ${owner.z}). """ +
s"""State: ${state.headOption.fold("no state")(_.toString)}. Unless you're upgrading/downgrading across a major version, please report this! Thank you.""", t)
}
}
// ----------------------------------------------------------------------- //