Merge branch 'master' of github.com:MightyPirates/OpenComputers into master-MC1.7.10

Conflicts:
	src/main/scala/li/cil/oc/common/tileentity/traits/power/IndustrialCraft2Classic.scala
	src/main/scala/li/cil/oc/common/tileentity/traits/power/IndustrialCraft2Experimental.scala
This commit is contained in:
Florian Nücke 2014-08-25 19:59:33 +02:00
commit c32fcc7c22
3 changed files with 24 additions and 26 deletions

View File

@ -52,16 +52,6 @@ object EventHandler {
} }
} }
@Optional.Method(modid = Mods.IDs.IndustrialCraft2)
def scheduleIC2Remove(tileEntity: power.IndustrialCraft2Experimental) {
if (SideTracker.isServer) pending.synchronized {
pending += (() => if (tileEntity.addedToIC2PowerGrid) {
MinecraftForge.EVENT_BUS.post(new ic2.api.energy.event.EnergyTileUnloadEvent(tileEntity.asInstanceOf[ic2.api.energy.tile.IEnergyTile]))
tileEntity.addedToIC2PowerGrid = false
})
}
}
@Optional.Method(modid = Mods.IDs.IndustrialCraft2Classic) @Optional.Method(modid = Mods.IDs.IndustrialCraft2Classic)
def scheduleIC2Add(tileEntity: power.IndustrialCraft2Classic) { def scheduleIC2Add(tileEntity: power.IndustrialCraft2Classic) {
if (SideTracker.isServer) pending.synchronized { if (SideTracker.isServer) pending.synchronized {
@ -72,16 +62,6 @@ object EventHandler {
} }
} }
@Optional.Method(modid = Mods.IDs.IndustrialCraft2Classic)
def scheduleIC2Remove(tileEntity: power.IndustrialCraft2Classic) {
if (SideTracker.isServer) pending.synchronized {
pending += (() => if (tileEntity.addedToIC2PowerGrid) {
MinecraftForge.EVENT_BUS.post(new ic2classic.api.energy.event.EnergyTileUnloadEvent(tileEntity.asInstanceOf[ic2classic.api.energy.tile.IEnergyTile]))
tileEntity.addedToIC2PowerGrid = false
})
}
}
def scheduleWirelessRedstone(rs: server.component.RedstoneWireless) { def scheduleWirelessRedstone(rs: server.component.RedstoneWireless) {
if (SideTracker.isServer) pending.synchronized { if (SideTracker.isServer) pending.synchronized {
pending += (() => if (!rs.owner.isInvalid) { pending += (() => if (!rs.owner.isInvalid) {

View File

@ -1,11 +1,13 @@
package li.cil.oc.common.tileentity.traits.power package li.cil.oc.common.tileentity.traits.power
import cpw.mods.fml.common.Optional import cpw.mods.fml.common.Optional
import cpw.mods.fml.common.eventhandler.Event
import ic2classic.api.Direction import ic2classic.api.Direction
import li.cil.oc.Settings
import li.cil.oc.common.EventHandler import li.cil.oc.common.EventHandler
import li.cil.oc.util.mods.Mods import li.cil.oc.util.mods.Mods
import li.cil.oc.{OpenComputers, Settings}
import net.minecraft.tileentity.TileEntity import net.minecraft.tileentity.TileEntity
import net.minecraftforge.common.MinecraftForge
import net.minecraftforge.common.util.ForgeDirection import net.minecraftforge.common.util.ForgeDirection
trait IndustrialCraft2Classic extends Common with IndustrialCraft2Common { trait IndustrialCraft2Classic extends Common with IndustrialCraft2Common {
@ -22,12 +24,19 @@ trait IndustrialCraft2Classic extends Common with IndustrialCraft2Common {
override def invalidate() { override def invalidate() {
super.invalidate() super.invalidate()
if (useIndustrialCraft2ClassicPower && addedToIC2PowerGrid) EventHandler.scheduleIC2Remove(this) if (useIndustrialCraft2ClassicPower && addedToIC2PowerGrid) removeFromIC2Grid()
} }
override def onChunkUnload() { override def onChunkUnload() {
super.onChunkUnload() super.onChunkUnload()
if (useIndustrialCraft2ClassicPower && addedToIC2PowerGrid) EventHandler.scheduleIC2Remove(this) if (useIndustrialCraft2ClassicPower && addedToIC2PowerGrid) removeFromIC2Grid()
}
private def removeFromIC2Grid() {
try MinecraftForge.EVENT_BUS.post(Class.forName("ic2classic.api.energy.event.EnergyTileUnloadEvent").getConstructor(Class.forName("ic2classic.api.energy.tile.IEnergyTile")).newInstance(this).asInstanceOf[Event]) catch {
case t: Throwable => OpenComputers.log.warn("Error removing node from IC2 grid.", t)
}
addedToIC2PowerGrid = false
} }
// ----------------------------------------------------------------------- // // ----------------------------------------------------------------------- //

View File

@ -1,9 +1,11 @@
package li.cil.oc.common.tileentity.traits.power package li.cil.oc.common.tileentity.traits.power
import cpw.mods.fml.common.Optional import cpw.mods.fml.common.Optional
import li.cil.oc.Settings import cpw.mods.fml.common.eventhandler.Event
import li.cil.oc.common.EventHandler import li.cil.oc.common.EventHandler
import li.cil.oc.util.mods.Mods import li.cil.oc.util.mods.Mods
import li.cil.oc.{OpenComputers, Settings}
import net.minecraftforge.common.MinecraftForge
import net.minecraftforge.common.util.ForgeDirection import net.minecraftforge.common.util.ForgeDirection
trait IndustrialCraft2Experimental extends Common with IndustrialCraft2Common { trait IndustrialCraft2Experimental extends Common with IndustrialCraft2Common {
@ -20,12 +22,19 @@ trait IndustrialCraft2Experimental extends Common with IndustrialCraft2Common {
override def invalidate() { override def invalidate() {
super.invalidate() super.invalidate()
if (useIndustrialCraft2Power && addedToIC2PowerGrid) EventHandler.scheduleIC2Remove(this) if (useIndustrialCraft2Power && addedToIC2PowerGrid) removeFromIC2Grid()
} }
override def onChunkUnload() { override def onChunkUnload() {
super.onChunkUnload() super.onChunkUnload()
if (useIndustrialCraft2Power && addedToIC2PowerGrid) EventHandler.scheduleIC2Remove(this) if (useIndustrialCraft2Power && addedToIC2PowerGrid) removeFromIC2Grid()
}
private def removeFromIC2Grid() {
try MinecraftForge.EVENT_BUS.post(Class.forName("ic2.api.energy.event.EnergyTileUnloadEvent").getConstructor(Class.forName("ic2.api.energy.tile.IEnergyTile")).newInstance(this).asInstanceOf[Event]) catch {
case t: Throwable => OpenComputers.log.warn("Error removing node from IC2 grid.", t)
}
addedToIC2PowerGrid = false
} }
// ----------------------------------------------------------------------- // // ----------------------------------------------------------------------- //