mirror of
https://github.com/MightyPirates/OpenComputers.git
synced 2025-09-18 11:48:02 -04:00
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:
commit
c32fcc7c22
@ -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) {
|
||||||
|
@ -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
|
||||||
}
|
}
|
||||||
|
|
||||||
// ----------------------------------------------------------------------- //
|
// ----------------------------------------------------------------------- //
|
||||||
|
@ -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
|
||||||
}
|
}
|
||||||
|
|
||||||
// ----------------------------------------------------------------------- //
|
// ----------------------------------------------------------------------- //
|
||||||
|
Loading…
x
Reference in New Issue
Block a user