package mods.eln.sixnode.wirelesssignal.aggregator; import mods.eln.misc.INBTTReady; import mods.eln.sixnode.wirelesssignal.IWirelessSignalTx; import net.minecraft.nbt.NBTTagCompound; import java.util.Collection; public class ToogleAggregator extends BiggerAggregator implements INBTTReady { double oldValue = 1; boolean state = false; @Override public double aggregate(Collection<IWirelessSignalTx> txs) { double value = super.aggregate(txs); if (value > 0.5 && oldValue <= 0.5) { state = !state; } oldValue = value; return state ? 1.0 : 0.0; } @Override public void readFromNBT(NBTTagCompound nbt, String str) { state = nbt.getBoolean(str + "state"); oldValue = nbt.getDouble(str + "oldValue"); } @Override public void writeToNBT(NBTTagCompound nbt, String str) { nbt.setBoolean(str + "state", state); nbt.setDouble(str + "oldValue", oldValue); } }