also move ticker interfaces

This commit is contained in:
DBotThePony 2022-09-07 14:24:24 +07:00
parent b0c845e0f9
commit 7b478d485a
Signed by: DBot
GPG Key ID: DCC23B5715498507
5 changed files with 20 additions and 24 deletions

View File

@ -12,6 +12,8 @@ import net.minecraftforge.event.server.ServerAboutToStartEvent
import net.minecraftforge.event.server.ServerStoppedEvent import net.minecraftforge.event.server.ServerStoppedEvent
import net.minecraftforge.event.server.ServerStoppingEvent import net.minecraftforge.event.server.ServerStoppingEvent
import org.apache.logging.log4j.LogManager import org.apache.logging.log4j.LogManager
import ru.dbotthepony.mc.otm.core.IConditionalTickable
import ru.dbotthepony.mc.otm.core.ITickable
import ru.dbotthepony.mc.otm.core.TickList import ru.dbotthepony.mc.otm.core.TickList
import java.util.* import java.util.*
@ -168,19 +170,6 @@ var SERVER_IS_DYING = true
private val LOGGER = LogManager.getLogger() private val LOGGER = LogManager.getLogger()
fun interface ITickable {
fun tick()
}
interface IConditionalTickable : ITickable {
/**
* Once this returns false, it should stay false.
*
* If it suddenly turns true after being false, result is undefined.
*/
val canTick: Boolean
}
fun onServerTick(event: ServerTickEvent) { fun onServerTick(event: ServerTickEvent) {
if (event.phase === TickEvent.Phase.START) { if (event.phase === TickEvent.Phase.START) {
preServerTickTimers.tick() preServerTickTimers.tick()

View File

@ -1,7 +1,5 @@
package ru.dbotthepony.mc.otm.compat.mekanism package ru.dbotthepony.mc.otm.compat.mekanism
import it.unimi.dsi.fastutil.longs.Long2ObjectAVLTreeMap
import it.unimi.dsi.fastutil.objects.Object2ObjectAVLTreeMap
import it.unimi.dsi.fastutil.objects.Object2ObjectArrayMap import it.unimi.dsi.fastutil.objects.Object2ObjectArrayMap
import it.unimi.dsi.fastutil.objects.Object2ObjectFunction import it.unimi.dsi.fastutil.objects.Object2ObjectFunction
import mekanism.common.content.qio.QIOFrequency import mekanism.common.content.qio.QIOFrequency
@ -17,14 +15,12 @@ import net.minecraftforge.common.capabilities.ICapabilityProvider
import net.minecraftforge.common.util.LazyOptional import net.minecraftforge.common.util.LazyOptional
import net.minecraftforge.event.AttachCapabilitiesEvent import net.minecraftforge.event.AttachCapabilitiesEvent
import net.minecraftforge.eventbus.api.SubscribeEvent import net.minecraftforge.eventbus.api.SubscribeEvent
import ru.dbotthepony.mc.otm.ITickable import ru.dbotthepony.mc.otm.core.ITickable
import ru.dbotthepony.mc.otm.OverdriveThatMatters import ru.dbotthepony.mc.otm.OverdriveThatMatters
import ru.dbotthepony.mc.otm.addPostServerTickerOnce import ru.dbotthepony.mc.otm.addPostServerTickerOnce
import ru.dbotthepony.mc.otm.capability.MatteryCapability import ru.dbotthepony.mc.otm.capability.MatteryCapability
import ru.dbotthepony.mc.otm.capability.isMekanismLoaded import ru.dbotthepony.mc.otm.capability.isMekanismLoaded
import ru.dbotthepony.mc.otm.core.ImpreciseFraction
import ru.dbotthepony.mc.otm.core.isPositive import ru.dbotthepony.mc.otm.core.isPositive
import ru.dbotthepony.mc.otm.core.toImpreciseFraction
import ru.dbotthepony.mc.otm.graph.storage.BasicStorageGraphNode import ru.dbotthepony.mc.otm.graph.storage.BasicStorageGraphNode
import ru.dbotthepony.mc.otm.graph.storage.StorageNetworkGraph import ru.dbotthepony.mc.otm.graph.storage.StorageNetworkGraph
import ru.dbotthepony.mc.otm.storage.* import ru.dbotthepony.mc.otm.storage.*

View File

@ -1,7 +1,5 @@
package ru.dbotthepony.mc.otm.core package ru.dbotthepony.mc.otm.core
import ru.dbotthepony.mc.otm.IConditionalTickable
import ru.dbotthepony.mc.otm.ITickable
import java.util.* import java.util.*
import kotlin.ConcurrentModificationException import kotlin.ConcurrentModificationException
@ -70,4 +68,17 @@ class TickList {
conditional.clear() conditional.clear()
once.clear() once.clear()
} }
} }
fun interface ITickable {
fun tick()
}
interface IConditionalTickable : ITickable {
/**
* Once this returns false, it should stay false.
*
* If it suddenly turns true after being false, result is undefined.
*/
val canTick: Boolean
}

View File

@ -5,7 +5,7 @@ import net.minecraft.core.Direction
import net.minecraft.core.SectionPos import net.minecraft.core.SectionPos
import net.minecraft.server.level.ServerLevel import net.minecraft.server.level.ServerLevel
import net.minecraft.world.level.block.entity.BlockEntity import net.minecraft.world.level.block.entity.BlockEntity
import ru.dbotthepony.mc.otm.IConditionalTickable import ru.dbotthepony.mc.otm.core.IConditionalTickable
import ru.dbotthepony.mc.otm.addPreWorldTicker import ru.dbotthepony.mc.otm.addPreWorldTicker
import ru.dbotthepony.mc.otm.core.plus import ru.dbotthepony.mc.otm.core.plus
import java.util.* import java.util.*

View File

@ -1,8 +1,8 @@
package ru.dbotthepony.mc.otm.graph package ru.dbotthepony.mc.otm.graph
import net.minecraft.core.Direction import net.minecraft.core.Direction
import ru.dbotthepony.mc.otm.IConditionalTickable import ru.dbotthepony.mc.otm.core.IConditionalTickable
import ru.dbotthepony.mc.otm.ITickable import ru.dbotthepony.mc.otm.core.ITickable
import ru.dbotthepony.mc.otm.SERVER_IS_DYING import ru.dbotthepony.mc.otm.SERVER_IS_DYING
interface GraphNodeListener { interface GraphNodeListener {