From 5ec299ab5ab692d81aad8756c59dd8733de2476d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Florian=20N=C3=BCcke?= Date: Mon, 9 Mar 2015 03:49:14 +0100 Subject: [PATCH] Re-enabling RF power interface injection for #953. --- .../traits/power/RedstoneFlux.scala | 51 +++++++++---------- 1 file changed, 24 insertions(+), 27 deletions(-) diff --git a/src/main/scala/li/cil/oc/common/tileentity/traits/power/RedstoneFlux.scala b/src/main/scala/li/cil/oc/common/tileentity/traits/power/RedstoneFlux.scala index 266902946..a4f767870 100644 --- a/src/main/scala/li/cil/oc/common/tileentity/traits/power/RedstoneFlux.scala +++ b/src/main/scala/li/cil/oc/common/tileentity/traits/power/RedstoneFlux.scala @@ -1,27 +1,24 @@ -//package li.cil.oc.common.tileentity.traits.power -// -//import net.minecraftforge.fml.common.Optional -//import li.cil.oc.Settings -//import li.cil.oc.common.asm.Injectable -//import li.cil.oc.integration.Mods -//import net.minecraft.util.EnumFacing -// -//@Injectable.Interface(value = "cofh.api.energy.IEnergyHandler", modid = Mods.IDs.CoFHEnergy) -//trait RedstoneFlux extends Common { -// @Optional.Method(modid = Mods.IDs.CoFHEnergy) -// def canConnectEnergy(from: EnumFacing) = Mods.CoFHEnergy.isAvailable && canConnectPower(from) -// -// @Optional.Method(modid = Mods.IDs.CoFHEnergy) -// def receiveEnergy(from: EnumFacing, maxReceive: Int, simulate: Boolean) = -// if (!Mods.CoFHEnergy.isAvailable) 0 -// else (tryChangeBuffer(from, maxReceive * Settings.get.ratioRedstoneFlux, !simulate) / Settings.get.ratioRedstoneFlux).toInt -// -// @Optional.Method(modid = Mods.IDs.CoFHEnergy) -// def getEnergyStored(from: EnumFacing) = (globalBuffer(from) / Settings.get.ratioRedstoneFlux).toInt -// -// @Optional.Method(modid = Mods.IDs.CoFHEnergy) -// def getMaxEnergyStored(from: EnumFacing) = (globalBufferSize(from) / Settings.get.ratioRedstoneFlux).toInt -// -// @Optional.Method(modid = Mods.IDs.CoFHEnergy) -// def extractEnergy(from: EnumFacing, maxExtract: Int, simulate: Boolean) = 0 -//} +package li.cil.oc.common.tileentity.traits.power + +import li.cil.oc.Settings +import li.cil.oc.common.asm.Injectable +import li.cil.oc.integration.Mods +import net.minecraft.util.EnumFacing +import net.minecraftforge.fml.common.Optional + +@Injectable.Interface(value = "cofh.api.energy.IEnergyReceiver", modid = Mods.IDs.CoFHEnergy) +trait RedstoneFlux extends Common { + @Optional.Method(modid = Mods.IDs.CoFHEnergy) + def canConnectEnergy(from: EnumFacing) = Mods.CoFHEnergy.isAvailable && canConnectPower(from) + + @Optional.Method(modid = Mods.IDs.CoFHEnergy) + def receiveEnergy(from: EnumFacing, maxReceive: Int, simulate: Boolean) = + if (!Mods.CoFHEnergy.isAvailable) 0 + else (tryChangeBuffer(from, maxReceive * Settings.get.ratioRedstoneFlux, !simulate) / Settings.get.ratioRedstoneFlux).toInt + + @Optional.Method(modid = Mods.IDs.CoFHEnergy) + def getEnergyStored(from: EnumFacing) = (globalBuffer(from) / Settings.get.ratioRedstoneFlux).toInt + + @Optional.Method(modid = Mods.IDs.CoFHEnergy) + def getMaxEnergyStored(from: EnumFacing) = (globalBufferSize(from) / Settings.get.ratioRedstoneFlux).toInt +}