Declare event listener functions as internal

This commit is contained in:
DBotThePony 2025-03-18 18:40:07 +07:00
parent 2f016a76a6
commit 442a7b7496
Signed by: DBot
GPG Key ID: DCC23B5715498507
62 changed files with 121 additions and 121 deletions

View File

@ -118,7 +118,7 @@ val isPaused: Boolean get() {
return isPausedImpl
}
fun recordClientThread() {
internal fun recordClientThread() {
clientThreads.add(Thread.currentThread())
}
@ -186,19 +186,19 @@ var SERVER_IS_LIVE = false
private val LOGGER = LogManager.getLogger()
fun onServerTickPre(event: ServerTickEvent.Pre) {
internal fun onServerTickPre(event: ServerTickEvent.Pre) {
preServerTick.tick()
serverThreads.add(Thread.currentThread())
}
fun onServerTickPost(event: ServerTickEvent.Post) {
internal fun onServerTickPost(event: ServerTickEvent.Post) {
postServerTick.tick()
// чтоб не плодить кучу подписчиков, вызовем напрямую отсюда
GraphNodeList.tick()
AbstractProfiledStorage.onServerPostTick()
}
fun onLevelTickPre(event: LevelTickEvent.Pre) {
internal fun onLevelTickPre(event: LevelTickEvent.Pre) {
preWorldTick[event.level]?.tick()
if (event.level.isClientSide) {
@ -208,7 +208,7 @@ fun onLevelTickPre(event: LevelTickEvent.Pre) {
}
}
fun onLevelTickPost(event: LevelTickEvent.Post) {
internal fun onLevelTickPost(event: LevelTickEvent.Post) {
postWorldTick[event.level]?.tick()
}
@ -310,7 +310,7 @@ private fun clear() {
postWorldTick.clear()
}
fun onServerStarting(event: ServerAboutToStartEvent) {
internal fun onServerStarting(event: ServerAboutToStartEvent) {
clear()
SERVER_IS_LIVE = true
_server = event.server
@ -318,13 +318,13 @@ fun onServerStarting(event: ServerAboutToStartEvent) {
serverCounter.incrementAndGet()
}
fun onServerStopping(event: ServerStoppingEvent) {
internal fun onServerStopping(event: ServerStoppingEvent) {
clear()
SERVER_IS_LIVE = false
serverCounter.incrementAndGet()
}
fun onServerStopped(event: ServerStoppedEvent) {
internal fun onServerStopped(event: ServerStoppedEvent) {
if (SERVER_IS_LIVE) {
LOGGER.fatal("ServerStoppingEvent did not fire. If server has crashed this is normal. However, if server finished it's work 'gracefully' this is a bug!")

View File

@ -153,7 +153,6 @@ object OverdriveThatMatters {
MOD_BUS.addListener(EventPriority.NORMAL, TritaniumArmorModel::register)
MOD_BUS.addListener(EventPriority.NORMAL, GravitationStabilizerModel::register)
MOD_BUS.addListener(EventPriority.NORMAL, BreadMonsterModel::register)
MOD_BUS.addListener(EventPriority.NORMAL, MCreativeTabs::register)
MOD_BUS.addListener(EventPriority.NORMAL, BatteryBankRenderer.Companion::onRegisterAdditionalModels)
MOD_BUS.addListener(EventPriority.NORMAL, MatterBatteryBankRenderer.Companion::onRegisterAdditionalModels)

View File

@ -633,18 +633,18 @@ abstract class MatteryBlockEntity(p_155228_: BlockEntityType<*>, p_155229_: Bloc
}
}
fun onLevelUnload(event: LevelEvent.Unload) {
internal fun onLevelUnload(event: LevelEvent.Unload) {
val level = event.level as? ServerLevel ?: return
playerMap.remove(level)
tickingMap.remove(level)
}
fun onServerStopping(event: ServerStoppingEvent) {
internal fun onServerStopping(event: ServerStoppingEvent) {
playerMap.clear()
tickingMap.clear()
}
fun postLevelTick(event: LevelTickEvent.Post) {
internal fun postLevelTick(event: LevelTickEvent.Post) {
val level = event.level as? ServerLevel ?: return
tickingMap[level]?.forEach {
@ -663,14 +663,14 @@ abstract class MatteryBlockEntity(p_155228_: BlockEntityType<*>, p_155229_: Bloc
}
}
fun onWatch(event: ChunkWatchEvent.Watch) {
internal fun onWatch(event: ChunkWatchEvent.Watch) {
playerMap
.computeIfAbsent(event.level) { Long2ObjectOpenHashMap() }
.computeIfAbsent(event.pos.toLong(), Long2ObjectFunction { ChunkSubscribers(event.level, it) })
.subscribe(event.player)
}
fun onForget(event: ChunkWatchEvent.UnWatch) {
internal fun onForget(event: ChunkWatchEvent.UnWatch) {
val levelMap = playerMap[event.level] ?: return
val subs = levelMap.get(event.pos.toLong()) ?: return
@ -679,7 +679,7 @@ abstract class MatteryBlockEntity(p_155228_: BlockEntityType<*>, p_155229_: Bloc
}
}
fun playerDisconnected(event: PlayerEvent.PlayerLoggedOutEvent) {
internal fun playerDisconnected(event: PlayerEvent.PlayerLoggedOutEvent) {
for (tree in playerMap.values) {
tree.values.removeIf {
it.unsubscribe(event.entity as ServerPlayer)

View File

@ -59,7 +59,7 @@ class DevChestBlockEntity(blockPos: BlockPos, blockState: BlockState) : MatteryB
return cache
}
fun mappingsChanged(event: IdMappingEvent) {
internal fun mappingsChanged(event: IdMappingEvent) {
cache.clear()
}
}

View File

@ -118,7 +118,7 @@ object DrivePool {
}
}
fun onWorldSave(event: LevelEvent.Save) {
internal fun onWorldSave(event: LevelEvent.Save) {
writeBacklog(event.level.server!!.registryAccess())
}

View File

@ -46,7 +46,7 @@ object AndroidAbilityKeyMapping : KeyMapping("key.otm.android_ability", KeyConfl
}
}
fun onRenderGuiEvent(event: RenderGuiEvent.Post) {
internal fun onRenderGuiEvent(event: RenderGuiEvent.Post) {
if (!isDown) {
return
}
@ -73,7 +73,7 @@ object AndroidAbilityKeyMapping : KeyMapping("key.otm.android_ability", KeyConfl
}
}
fun onRenderLevel(event: RenderLevelStageEvent) {
internal fun onRenderLevel(event: RenderLevelStageEvent) {
if (!isDown) {
return
}
@ -92,7 +92,7 @@ object AndroidAbilityKeyMapping : KeyMapping("key.otm.android_ability", KeyConfl
}
}
fun register(event: RegisterKeyMappingsEvent) {
internal fun register(event: RegisterKeyMappingsEvent) {
event.register(this)
}
}

View File

@ -94,7 +94,7 @@ object AndroidMenuKeyMapping : KeyMapping("key.otm.android_menu", KeyConflictCon
}
}
fun onMouseClick(event: InputEvent.MouseButton.Pre) {
internal fun onMouseClick(event: InputEvent.MouseButton.Pre) {
// fix binding wheel menu to mouse button not calling back setIsDown(false)
if (isDown && event.action == 0 && key.type == InputConstants.Type.MOUSE && InputConstants.Type.MOUSE.getOrCreate(event.button) == key) {
isDown = false
@ -311,7 +311,7 @@ object AndroidMenuKeyMapping : KeyMapping("key.otm.android_menu", KeyConflictCon
const val COOLDOWN_ICON_SIZE = 18f
const val COOLDOWN_ICON_MARGIN = 12f
fun onRenderGuiEvent(event: RenderGuiEvent.Post) {
internal fun onRenderGuiEvent(event: RenderGuiEvent.Post) {
if (!grabbedInput) {
lastRender = milliTimeD
renderRegular(event)
@ -325,7 +325,7 @@ object AndroidMenuKeyMapping : KeyMapping("key.otm.android_menu", KeyConflictCon
}
}
fun register(event: RegisterKeyMappingsEvent) {
internal fun register(event: RegisterKeyMappingsEvent) {
event.register(this)
}
}

View File

@ -38,7 +38,7 @@ import ru.dbotthepony.mc.otm.menu.MatteryMenu
import ru.dbotthepony.mc.otm.registry.game.AndroidFeatures
import java.util.WeakHashMap
fun onMovementInputUpdate(event: MovementInputUpdateEvent) {
internal fun onMovementInputUpdate(event: MovementInputUpdateEvent) {
val ply = event.entity
val input = event.input
@ -198,7 +198,7 @@ private fun exosuitInventoryLogic(screen: Screen, addListener: (GuiEventListener
scrollbar.scroll = inventoryScroll
}
fun onMouseDragged(event: ScreenEvent.MouseDragged.Pre) {
internal fun onMouseDragged(event: ScreenEvent.MouseDragged.Pre) {
val screen = minecraft.screen as? AbstractContainerScreen<*> ?: return
if (screen is MatteryScreen<*>)
@ -214,7 +214,7 @@ fun onMouseDragged(event: ScreenEvent.MouseDragged.Pre) {
}
}
fun onMouseScrolled(event: ScreenEvent.MouseScrolled.Pre) {
internal fun onMouseScrolled(event: ScreenEvent.MouseScrolled.Pre) {
val screen = minecraft.screen as? AbstractContainerScreen<*> ?: return
if (screen is MatteryScreen<*>)
@ -242,7 +242,7 @@ fun onMouseScrolled(event: ScreenEvent.MouseScrolled.Pre) {
}
}
fun onPostScreenInit(event: ScreenEvent.Init.Post) {
internal fun onPostScreenInit(event: ScreenEvent.Init.Post) {
if (!LOGGED_IN) return
inventoryLogic(event)
onceClient {
@ -250,7 +250,7 @@ fun onPostScreenInit(event: ScreenEvent.Init.Post) {
}
}
fun onScreenOpen(event: ScreenEvent.Opening) {
internal fun onScreenOpen(event: ScreenEvent.Opening) {
if (shouldOpenVanillaInventory || minecraft.player?.isCreative == true) {
return
}
@ -266,7 +266,7 @@ private val TOOLTIP_TAG_DISPLAY_HELP = TranslatableComponent("otm.gui.debug.tags
private val TOOLTIP_TAG_DISPLAY_ITEM_TITLE = TranslatableComponent("otm.gui.debug.tags.item.title").withStyle(ChatFormatting.DARK_GRAY)
private val TOOLTIP_TAG_DISPLAY_BLOCK_TITLE = TranslatableComponent("otm.gui.debug.tags.block.title").withStyle(ChatFormatting.DARK_GRAY)
fun tooltipEvent(event: ItemTooltipEvent) {
internal fun tooltipEvent(event: ItemTooltipEvent) {
if (event.flags.isAdvanced && ClientConfig.Tooltip.DISPLAY_TAGS && !event.itemStack.isEmpty) {
val itemTags = ArrayList<TagKey<Item>>()
if (event.itemStack.tags.count() > 0) {

View File

@ -33,7 +33,7 @@ private inline fun check(cond: Boolean, error: () -> String) {
}
}
fun createCursors() {
internal fun createCursors() {
ARROW_CURSOR = GLFW.glfwCreateStandardCursor(GLFW.GLFW_ARROW_CURSOR)
BEAM_CURSOR = GLFW.glfwCreateStandardCursor(GLFW.GLFW_IBEAM_CURSOR)
HAND_CURSOR = GLFW.glfwCreateStandardCursor(GLFW.GLFW_POINTING_HAND_CURSOR)
@ -60,7 +60,7 @@ enum class CursorType(val pointer: LongSupplier) {
}
}
fun onClientPostRender(event: RenderFrameEvent.Post) {
internal fun onClientPostRender(event: RenderFrameEvent.Post) {
if (MODIFIED_CURSOR_FRAMES-- <= 0 && MODIFIED_CURSOR) {
GLFW.glfwSetCursor(minecraft.window.window, ARROW_CURSOR)
MODIFIED_CURSOR = false
@ -116,22 +116,22 @@ fun tickWhileClientPre(condition: () -> Boolean, ticker: () -> Unit) {
tickClientPre(IConditionalTickable.wrap(condition, ticker))
}
fun onClientTickPre(event: ClientTickEvent.Pre) {
internal fun onClientTickPre(event: ClientTickEvent.Pre) {
preTickList.tick()
}
fun onClientTickPost(event: ClientTickEvent.Post) {
internal fun onClientTickPost(event: ClientTickEvent.Post) {
postTickList.tick()
}
fun onClientDisconnected(event: ClientPlayerNetworkEvent.LoggingOut) {
internal fun onClientDisconnected(event: ClientPlayerNetworkEvent.LoggingOut) {
LOGGED_IN = false
preTickList.clear()
postTickList.clear()
}
fun onClientConnected(event: ClientPlayerNetworkEvent.LoggingIn) {
internal fun onClientConnected(event: ClientPlayerNetworkEvent.LoggingIn) {
LOGGED_IN = true
preTickList.clear()

View File

@ -48,7 +48,7 @@ object MatteryGUI {
private val buttonShaker = Random()
fun onScreenRender(event: ScreenEvent.Render.Pre) {
internal fun onScreenRender(event: ScreenEvent.Render.Pre) {
val screen = minecraft.screen as? InBedChatScreen
if (screen == null || (screen.leaveBedButton as Button?) == null) {
@ -80,7 +80,7 @@ object MatteryGUI {
}
}
fun onOpenGUIEvent(event: ScreenEvent.Opening) {
internal fun onOpenGUIEvent(event: ScreenEvent.Opening) {
originalBedButtonX = -1
originalBedButtonY = -1
@ -95,7 +95,7 @@ object MatteryGUI {
}
}
fun onLayerRenderEvent(event: RenderGuiLayerEvent.Pre) {
internal fun onLayerRenderEvent(event: RenderGuiLayerEvent.Pre) {
if (minecraft.player?.matteryPlayer?.isAndroid == true) {
if (event.name == VanillaGuiLayers.FOOD_LEVEL
|| event.name == VanillaGuiLayers.AIR_LEVEL
@ -105,7 +105,7 @@ object MatteryGUI {
}
}
fun registerGuiLayers(event: RegisterGuiLayersEvent) {
internal fun registerGuiLayers(event: RegisterGuiLayersEvent) {
event.registerBelow(VanillaGuiLayers.FOOD_LEVEL, loc("android_energy_bar"), AndroidEnergyBarLayer())
event.registerBelow(VanillaGuiLayers.PLAYER_HEALTH, loc("android_health_bar"), AndroidHealthBarLayer())

View File

@ -17,7 +17,7 @@ import ru.dbotthepony.mc.otm.core.math.Decimal
import kotlin.math.ceil
object MatteryTooltipComponents {
fun gatherComponents(event: RenderTooltipEvent.GatherComponents) {
internal fun gatherComponents(event: RenderTooltipEvent.GatherComponents) {
val energyCap = event.itemStack.getCapability(MatteryCapability.ITEM_ENERGY)
if (energyCap != null && energyCap.maxBatteryLevel > Decimal.ZERO) {
event.tooltipElements.add(1, Either.right(EnergyStorageGaugeTooltip(energyCap)))
@ -29,7 +29,7 @@ object MatteryTooltipComponents {
}
}
fun registerComponents(event: RegisterClientTooltipComponentFactoriesEvent) {
internal fun registerComponents(event: RegisterClientTooltipComponentFactoriesEvent) {
event.register(EnergyStorageGaugeTooltip::class.java) { it }
event.register(MatterStorageGaugeTooltip::class.java) { it }
}

View File

@ -79,7 +79,7 @@ class ChartTooltipElement(
}
companion object {
fun register(event: RegisterClientTooltipComponentFactoriesEvent) {
internal fun register(event: RegisterClientTooltipComponentFactoriesEvent) {
event.register(ChartTooltipElement::class.java) { it }
}
}

View File

@ -63,7 +63,7 @@ object ShockwaveRenderer {
private const val EXPANSION_PER_SECOND = 18f
fun onRender(event: RenderLevelStageEvent) {
internal fun onRender(event: RenderLevelStageEvent) {
if (event.stage !== RenderLevelStageEvent.Stage.AFTER_TRANSLUCENT_BLOCKS) {
return
}

View File

@ -142,7 +142,7 @@ class BatteryBankRenderer(context: BlockEntityRendererProvider.Context) : BankRe
override val texture: AbstractMatterySprite = WidgetLocation.VERTICAL_GAUGES.sprite(x = 108f, width = 18f)
companion object {
fun onRegisterAdditionalModels(event: ModelEvent.RegisterAdditional) {
internal fun onRegisterAdditionalModels(event: ModelEvent.RegisterAdditional) {
for (i in 0 .. 11) {
event.register(ModelResourceLocation.standalone(ResourceLocation(OverdriveThatMatters.MOD_ID, "block/battery/battery$i")))
}
@ -168,7 +168,7 @@ class MatterBatteryBankRenderer(context: BlockEntityRendererProvider.Context) :
override val texture: AbstractMatterySprite = WidgetLocation.VERTICAL_GAUGES.sprite(x = 90f, width = 18f)
companion object {
fun onRegisterAdditionalModels(event: ModelEvent.RegisterAdditional) {
internal fun onRegisterAdditionalModels(event: ModelEvent.RegisterAdditional) {
for (i in 0 .. 11) {
event.register(ModelResourceLocation.standalone(ResourceLocation(OverdriveThatMatters.MOD_ID, "block/battery/matter_capacitor$i")))
}

View File

@ -40,15 +40,11 @@ val isCuriosLoaded by lazy {
ModList.get().isLoaded(CuriosApi.MODID)
}
fun onCuriosSlotModifiersUpdated(event: SlotModifiersUpdatedEvent) {
internal fun onCuriosSlotModifiersUpdated(event: SlotModifiersUpdatedEvent) {
check(isCuriosLoaded) { "Curios is not loaded!" }
event.entity.matteryPlayer?.recreateExoPackMenu()
}
fun openCuriosScreen(carriedStack: ItemStack = ItemStack.EMPTY) {
if (FMLEnvironment.dist.isClient) PacketDistributor.sendToServer(CPacketOpenCurios(carriedStack))
}
private fun Player.getCuriosSlotsImpl(): List<PlayerSlot<Slot, Slot>> {
val handler = getCapability(CuriosCapability.INVENTORY) ?: return listOf()

View File

@ -99,7 +99,7 @@ class MatteryChestMenu(
return MatteryChestMenu(HOPPER, containerId, inventory, 1, 5, container)
}
fun register(bus: IEventBus) {
internal fun register(bus: IEventBus) {
registrar.register(bus)
bus.addListener(this::registerScreens)
}

View File

@ -198,7 +198,7 @@ object FlywheelMaterials : SimpleJsonResourceReloadListener(GsonBuilder().setPre
).apply(it, ::Entry)
}
fun reloadEvent(event: AddReloadListenerEvent) {
internal fun reloadEvent(event: AddReloadListenerEvent) {
event.addListener(this)
}
@ -227,7 +227,7 @@ object FlywheelMaterials : SimpleJsonResourceReloadListener(GsonBuilder().setPre
}
}
fun onDataPackSync(event: OnDatapackSyncEvent) {
internal fun onDataPackSync(event: OnDatapackSyncEvent) {
if (event.player == null) {
PacketDistributor.sendToAllPlayers(SyncPacket(elements))
} else {
@ -235,7 +235,7 @@ object FlywheelMaterials : SimpleJsonResourceReloadListener(GsonBuilder().setPre
}
}
fun tooltipEvent(event: ItemTooltipEvent) {
internal fun tooltipEvent(event: ItemTooltipEvent) {
if (minecraft.window.isShiftDown) {
val item = event.itemStack.item

View File

@ -52,7 +52,7 @@ abstract class DecimalProvider : SampledDecimal {
registror.register("uniform") { UniformDecimal }
}
fun register(bus: IEventBus) {
internal fun register(bus: IEventBus) {
bus.addListener(registryHolder::build)
registror.register(bus)
}

View File

@ -12,8 +12,7 @@ import ru.dbotthepony.mc.otm.registry.game.MItems
object WitheredSkeletonSpawnHandler {
@SubscribeEvent
fun onEntityJoin(event: EntityJoinLevelEvent) {
internal fun onEntityJoin(event: EntityJoinLevelEvent) {
val entity = event.entity
if (entity is WitherSkeleton) {

View File

@ -106,7 +106,7 @@ class ChestUpgraderItem : MatteryItem(Properties().stacksTo(1)) {
}
companion object {
fun onEntityInteract(event: PlayerInteractEvent.EntityInteract) {
internal fun onEntityInteract(event: PlayerInteractEvent.EntityInteract) {
if (event.target !is MinecartChest) return
val offhand = if (event.entity.getItemInHand(InteractionHand.MAIN_HAND).item is ChestUpgraderItem) {

View File

@ -68,7 +68,7 @@ class PortableCondensationDriveItem(capacity: Int) : Item(Properties().stacksTo(
const val MAX_FILTERS = 4 * 3
private val EMPTY_FILTER = ItemFilter(MAX_FILTERS)
fun onPickupEvent(event: ItemEntityPickupEvent.Pre) {
internal fun onPickupEvent(event: ItemEntityPickupEvent.Pre) {
if (event.itemEntity.owner != null && event.itemEntity.owner != event.player && event.itemEntity.age < 200 || event.itemEntity.item.isEmpty) {
return
}

View File

@ -317,7 +317,7 @@ class QuantumBatteryItem(val savedataID: String, val balanceValues: EnergyBalanc
}
companion object {
fun clientDisconnect(event: ClientPlayerNetworkEvent.LoggingOut) {
internal fun clientDisconnect(event: ClientPlayerNetworkEvent.LoggingOut) {
BuiltInRegistries.ITEM.forEach { if (it is QuantumBatteryItem) it.clientData.clear() }
}
@ -331,7 +331,7 @@ class QuantumBatteryItem(val savedataID: String, val balanceValues: EnergyBalanc
)
}
fun tick(event: ServerTickEvent.Post) {
internal fun tick(event: ServerTickEvent.Post) {
for (ply in event.server.playerList.players) {
val networkedChannels = ObjectOpenHashSet<UUID>(0)

View File

@ -53,7 +53,7 @@ class TritaniumArmorItem(slot: Type) : ArmorItem(MArmorMaterials.TRITANIUM, slot
val TEXTURE_LOCATION_BASE = loc("textures/models/armor/tritanium_armor_base.png")
val TEXTURE_LOCATION_OVERLAY = loc("textures/models/armor/tritanium_armor_overlay.png")
fun onHurt(event: LivingIncomingDamageEvent) {
internal fun onHurt(event: LivingIncomingDamageEvent) {
if (event.source.typeHolder().`is`(DamageTypes.SWEET_BERRY_BUSH) || event.source.msgId == "sweetBerryBush") {
if (
event.entity.getItemBySlot(EquipmentSlot.FEET).let { !it.isEmpty && it.item == MItems.TRITANIUM_BOOTS } &&

View File

@ -107,7 +107,7 @@ class NotNormalFood(
}
companion object {
fun onInteract(event: EntityInteract) {
internal fun onInteract(event: EntityInteract) {
val item = event.itemStack.item as? NotNormalFood ?: return
val target = event.target as? LivingEntity ?: return

View File

@ -321,7 +321,7 @@ class ExplosiveHammerItem(durability: Int = 512) : Item(Properties().stacksTo(1)
val GUNPOWDER_PREDICATE = Predicate { stack: ItemStack -> stack.`is`(Tags.Items.GUNPOWDERS) }
val IRON_NUGGET_PREDICATE = Predicate { stack: ItemStack -> stack.`is`(Tags.Items.NUGGETS_IRON) }
fun onLeftClickBlock(event: PlayerInteractEvent.LeftClickBlock) {
internal fun onLeftClickBlock(event: PlayerInteractEvent.LeftClickBlock) {
val item = event.itemStack.item
if (item is ExplosiveHammerItem) {

View File

@ -122,7 +122,7 @@ class RedstoneInteractorItem : MatteryItem(Properties().stacksTo(1)) {
return -1
}
fun onUse(event: UseItemOnBlockEvent) {
internal fun onUse(event: UseItemOnBlockEvent) {
if (event.itemStack.item is RedstoneInteractorItem) {
if ((event.itemStack.item as RedstoneInteractorItem).useOn(event.useOnContext).consumesAction())
event.cancelWithResult(ItemInteractionResult.sidedSuccess(event.level.isClientSide()))

View File

@ -114,7 +114,7 @@ abstract class AbstractRegistryAction(
registrar.register("blacklist") { BlacklistAction.Companion }
}
fun register(bus: IEventBus) {
internal fun register(bus: IEventBus) {
registrar.register(bus)
bus.addListener(registryDelegate::build)
}

View File

@ -36,7 +36,7 @@ interface IMatterFunction {
val AT_MOST: IMatterFunction by registrar.register("at_most") { SimpleMatterFunction(Int::coerceAtMost, Double::coerceAtMost, Decimal::coerceAtMost) }
val REPLACE: IMatterFunction by registrar.register("replace") { SimpleMatterFunction({ _, value -> value }, { _, value -> value }, { _, value -> value }) }
fun register(bus: IEventBus) {
internal fun register(bus: IEventBus) {
registrar.register(bus)
bus.addListener(registryDelegate::build)
}

View File

@ -1334,7 +1334,7 @@ object MatterManager {
private val formatMatterAsReadable = BooleanSupplier { if (ClientConfig.Tooltip.ALWAYS_DISPLAY_MATTER_VALUE) minecraft.window.isShiftDown else minecraft.window.isShiftDown && milliTime % 2_000L > 1_000L }
fun tooltipEvent(event: ItemTooltipEvent) {
internal fun tooltipEvent(event: ItemTooltipEvent) {
if (ClientConfig.Tooltip.ALWAYS_DISPLAY_MATTER_VALUE || minecraft.window.isShiftDown) {
val matter = get(event.itemStack, accountForStackSize = false)
@ -1527,12 +1527,12 @@ object MatterManager {
}
}
fun reloadEvent(event: AddReloadListenerEvent) {
internal fun reloadEvent(event: AddReloadListenerEvent) {
event.addListener(Registry)
event.addListener(Resolver)
}
fun initialize(bus: IEventBus) {
internal fun initialize(bus: IEventBus) {
bus.addListener(Resolver.delegate::build)
Resolver.registrar.register(bus)
}
@ -1632,7 +1632,7 @@ object MatterManager {
return 0
}
fun addCommands(event: RegisterCommandsEvent) {
internal fun addCommands(event: RegisterCommandsEvent) {
event.dispatcher.register(
Commands.literal("dump_matter_registry")
.requires { it.hasPermission(Commands.LEVEL_OWNERS) }
@ -1685,7 +1685,7 @@ object MatterManager {
syncRegistry(server.registryAccess(), PacketDistributor::sendToAllPlayers)
}
fun onDataPackSync(event: OnDatapackSyncEvent) {
internal fun onDataPackSync(event: OnDatapackSyncEvent) {
if (!registryIsBuilt)
return
@ -1696,7 +1696,7 @@ object MatterManager {
}
}
fun onServerStarted(event: ServerStartedEvent) {
internal fun onServerStarted(event: ServerStartedEvent) {
check(Resolver.ready) { "Recipe resolver is not ready somehow" }
check(Registry.ready) { "Matter registry is not ready somehow" }
finishUpIfRequiredAndPossible(event.server)

View File

@ -1340,7 +1340,7 @@ class MatteryPlayer(val ply: Player) {
val ANDROID_IMMUNE_EFFECTS: TagKey<MobEffect> = TagKey.create(BuiltInRegistries.MOB_EFFECT.key(), ResourceLocation(OverdriveThatMatters.MOD_ID, "android_immune_effects"))
fun onPlayerTickPre(event: PlayerTickEvent.Pre) {
internal fun onPlayerTickPre(event: PlayerTickEvent.Pre) {
val ent = event.entity
if (!ent.level().isClientSide) {
@ -1348,7 +1348,7 @@ class MatteryPlayer(val ply: Player) {
}
}
fun onPlayerTickPost(event: PlayerTickEvent.Pre) {
internal fun onPlayerTickPost(event: PlayerTickEvent.Pre) {
val ent = event.entity
if (ent.level().isClientSide) {
@ -1358,7 +1358,7 @@ class MatteryPlayer(val ply: Player) {
}
}
fun isMobEffectApplicable(event: MobEffectEvent.Applicable) {
internal fun isMobEffectApplicable(event: MobEffectEvent.Applicable) {
event.entity.matteryPlayer?.let {
if (it.isAndroid && BuiltInRegistries.MOB_EFFECT.getOrCreateTag(ANDROID_IMMUNE_EFFECTS).any { it == event.effectInstance?.effect }) {
event.result = MobEffectEvent.Applicable.Result.DO_NOT_APPLY
@ -1366,18 +1366,18 @@ class MatteryPlayer(val ply: Player) {
}
}
fun onHurtEvent(event: LivingIncomingDamageEvent) {
internal fun onHurtEvent(event: LivingIncomingDamageEvent) {
event.entity.matteryPlayer?.onHurt(event)
}
fun onPlayerChangeDimensionEvent(event: PlayerEvent.PlayerChangedDimensionEvent) {
internal fun onPlayerChangeDimensionEvent(event: PlayerEvent.PlayerChangedDimensionEvent) {
onceServer {
event.entity.matteryPlayer.invalidateNetworkState()
event.entity.matteryPlayer.recreateExoPackMenu()
}
}
fun onPlayerDeath(event: LivingDeathEvent) {
internal fun onPlayerDeath(event: LivingDeathEvent) {
val ply = event.entity as? Player ?: return
if (ply.matteryPlayer.lastDeathTick != ply.tickCount) {
@ -1402,7 +1402,7 @@ class MatteryPlayer(val ply: Player) {
}
}
fun onPlayerCloneEvent(event: PlayerEvent.Clone) {
internal fun onPlayerCloneEvent(event: PlayerEvent.Clone) {
val it = event.entity.matteryPlayer
val original = event.original.matteryPlayer
@ -1430,7 +1430,7 @@ class MatteryPlayer(val ply: Player) {
private val LOGGER = LogManager.getLogger()
fun onPlayerSpawnPhantoms(event: PlayerSpawnPhantomsEvent) {
internal fun onPlayerSpawnPhantoms(event: PlayerSpawnPhantomsEvent) {
if (event.entity.matteryPlayer.isAndroid) {
event.result = PlayerSpawnPhantomsEvent.Result.DENY
}
@ -1531,7 +1531,7 @@ class MatteryPlayer(val ply: Player) {
PacketDistributor.sendToServer(PickItemFromInventoryPacket(targetSlot, itemSlot))
}
fun onStartTracking(event: PlayerEvent.StartTracking) {
internal fun onStartTracking(event: PlayerEvent.StartTracking) {
if (event.target is ServerPlayer) {
(event.target as ServerPlayer).matteryPlayer.let {
it.remoteSynchers[event.entity as ServerPlayer] = it.publicSyncher.Remote()
@ -1539,7 +1539,7 @@ class MatteryPlayer(val ply: Player) {
}
}
fun onStopTracking(event: PlayerEvent.StopTracking) {
internal fun onStopTracking(event: PlayerEvent.StopTracking) {
if (event.target is ServerPlayer) {
(event.target as ServerPlayer).matteryPlayer.remoteSynchers.remove(event.entity as ServerPlayer)
}

View File

@ -23,7 +23,7 @@ object AndroidResearchDescriptions {
registrar.register("plain") { PlainAndroidResearchDescription }
}
fun register(bus: IEventBus) {
internal fun register(bus: IEventBus) {
registrar.register(bus)
}
@ -149,7 +149,7 @@ interface AndroidResearchDescription {
registry.byNameCodec().dispatch({ it.type }, { it.codec })
}
fun register(bus: IEventBus) {
internal fun register(bus: IEventBus) {
bus.addListener(delegate::build)
}

View File

@ -93,11 +93,11 @@ object AndroidResearchManager : SimpleJsonResourceReloadListener(GsonBuilder().s
}
}
fun reloadEvent(event: AddReloadListenerEvent) {
internal fun reloadEvent(event: AddReloadListenerEvent) {
event.addListener(this)
}
fun syncEvent(event: OnDatapackSyncEvent) {
internal fun syncEvent(event: OnDatapackSyncEvent) {
val packet = SyncPacket(researchMap.values)
if (event.player != null) {

View File

@ -55,7 +55,7 @@ object AndroidResearchResults {
val NANOBOTS_ARMOR_STRENGTH: AndroidResearchResult.Singleton<*> by registrar.register("nanobots_armor_strength") { NanobotsArmorStrength }
val NANOBOTS_ARMOR_SPEED: AndroidResearchResult.Singleton<*> by registrar.register("nanobots_armor_speed") { NanobotsArmorSpeed }
fun register(bus: IEventBus) {
internal fun register(bus: IEventBus) {
registrar.register(bus)
}
}
@ -162,7 +162,7 @@ interface AndroidResearchResult {
registry.byNameCodec().dispatch({ it.type }, { it.codec })
}
fun register(bus: IEventBus) {
internal fun register(bus: IEventBus) {
bus.addListener(delegate::build)
}
}

View File

@ -392,7 +392,7 @@ class EnderTeleporterFeature(capability: MatteryPlayer) : AndroidActiveFeature(A
val SPRITE = ResourceLocation(OverdriveThatMatters.MOD_ID, "textures/item/black_hole.png").sprite(0f, 0f, 16f, 16f, 16f, 16f)
fun onEntityDeath(event: LivingDeathEvent) {
internal fun onEntityDeath(event: LivingDeathEvent) {
val android = event.entity.matteryPlayer ?: return
val server = NULLABLE_MINECRAFT_SERVER ?: return

View File

@ -14,7 +14,7 @@ object CommandArgumentTypes {
ArgumentTypeInfos.registerByClass(AndroidResearchArgument::class.java, SingletonArgumentInfo.contextFree(AndroidResearchArgument.Companion::create))
}
fun register(bus: IEventBus) {
internal fun register(bus: IEventBus) {
registry.register(bus)
}
}

View File

@ -1,6 +1,5 @@
package ru.dbotthepony.mc.otm.registry
import net.minecraft.advancements.CriteriaTriggers
import net.minecraft.core.registries.BuiltInRegistries
import net.neoforged.bus.api.IEventBus
import ru.dbotthepony.mc.otm.triggers.AndroidBatteryTrigger
@ -29,7 +28,7 @@ import ru.dbotthepony.mc.otm.triggers.TakeItemOutOfReplicatorTrigger
object MCriteriaTriggers {
private val registrar = MDeferredRegister(BuiltInRegistries.TRIGGER_TYPES)
fun register(bus: IEventBus) {
internal fun register(bus: IEventBus) {
registrar.register(bus)
}

View File

@ -250,7 +250,7 @@ object MRegistry : IBlockItemRegistryAcceptor {
}*/
}
fun initialize(bus: IEventBus) {
internal fun initialize(bus: IEventBus) {
bus.addListener(features::build)
bus.addListener(this::initializeClient)
bus.addListener(this::initializeCommon)

View File

@ -14,11 +14,11 @@ object MStructureTags {
val FIELD_RESEARCH_PODS = create("field_research_pods")
val WRECKAGES = create("wreckages")
fun create(location: String): TagKey<Structure> {
private fun create(location: String): TagKey<Structure> {
return TagKey.create(Registries.STRUCTURE, loc(location))
}
fun registerVillagerTrades(event: VillagerTradesEvent) {
internal fun registerVillagerTrades(event: VillagerTradesEvent) {
if (event.type == VillagerProfession.CARTOGRAPHER) {
with (event.trades.get(2)) {
add(VillagerTrades.TreasureMapForEmeralds(10, WRECKAGES, "filled_map.otm_wreckage",

View File

@ -13,7 +13,7 @@ object LootModifiers {
registry.register("loot_appender") { LootPoolAppender.CODEC }
}
fun register(bus: IEventBus) {
internal fun register(bus: IEventBus) {
registry.register(bus)
}
}

View File

@ -9,7 +9,7 @@ import ru.dbotthepony.mc.otm.registry.MDeferredRegister
object MHeightProviders {
private val registry = MDeferredRegister(BuiltInRegistries.HEIGHT_PROVIDER_TYPE)
fun register(bus: IEventBus) {
internal fun register(bus: IEventBus) {
registry.register(bus)
}

View File

@ -19,7 +19,7 @@ object MItemFunctionTypes {
val PROCEDURAL_EXOPACK_UPGRADE by registry.register("exopack_upgrade") { LootItemFunctionType(ProceduralExopackSlotUpgradeItem.Randomizer.CODEC) }
val MATTER_DUST by registry.register("matter_dust") { LootItemFunctionType(MatterDustItem.Randomizer.CODEC) }
fun register(bus: IEventBus) {
internal fun register(bus: IEventBus) {
registry.register(bus)
}
}

View File

@ -23,7 +23,7 @@ object MLootItemConditions {
val KILLED_BY_REAL_PLAYER_OR_INDIRECTLY: LootItemConditionType by registry.register("killed_by_real_player_or_indirectly") { LootItemConditionType(SingletonCodec(KilledByRealPlayerOrIndirectly)) }
val CHANCE: LootItemConditionType by registry.register("chance") { LootItemConditionType(ChanceCondition.CODEC) }
fun register(bus: IEventBus) {
internal fun register(bus: IEventBus) {
registry.register(bus)
}
}

View File

@ -10,7 +10,7 @@ import ru.dbotthepony.mc.otm.registry.MDeferredRegister
object MLootNumberProviders {
private val registry = MDeferredRegister(BuiltInRegistries.LOOT_NUMBER_PROVIDER_TYPE, OverdriveThatMatters.MOD_ID)
fun register(bus: IEventBus) {
internal fun register(bus: IEventBus) {
registry.register(bus)
}

View File

@ -9,7 +9,7 @@ import ru.dbotthepony.mc.otm.registry.MDeferredRegister
object MPlacementModifiers {
private val registry = MDeferredRegister(BuiltInRegistries.PLACEMENT_MODIFIER_TYPE)
fun register(bus: IEventBus) {
internal fun register(bus: IEventBus) {
registry.register(bus)
}

View File

@ -8,7 +8,7 @@ import ru.dbotthepony.mc.otm.worldgen.feature.BlackHolePlacerFeature
object MWorldGenFeatures {
private val registry = MDeferredRegister(BuiltInRegistries.FEATURE)
fun register(bus: IEventBus) {
internal fun register(bus: IEventBus) {
registry.register(bus)
}

View File

@ -38,7 +38,7 @@ object AndroidFeatures {
val JUMP_BOOST by registry.register(MNames.JUMP_BOOST) { AndroidFeatureType(::JumpBoostFeature) }
val ENDER_TELEPORTER by registry.register(MNames.ENDER_TELEPORTER) { AndroidFeatureType(::EnderTeleporterFeature) }
fun register(bus: IEventBus) {
internal fun register(bus: IEventBus) {
registry.register(bus)
}
}

View File

@ -15,7 +15,7 @@ import ru.dbotthepony.mc.otm.registry.MItemTags
object MArmorMaterials {
private val registrar = MDeferredRegister(BuiltInRegistries.ARMOR_MATERIAL)
fun register(bus: IEventBus) {
internal fun register(bus: IEventBus) {
registrar.register(bus)
}

View File

@ -64,7 +64,7 @@ object MBlockColors {
event.register(HoloSightColor, MBlocks.HOLO_SIGN)
}
fun register(bus: IEventBus) {
internal fun register(bus: IEventBus) {
bus.addListener(this::registerBlockColors)
bus.addListener(this::registerItemColors)
}

View File

@ -118,7 +118,7 @@ object MBlockEntities {
val HOLO_SIGN: BlockEntityType<HoloSignBlockEntity> by registry.register(MNames.HOLO_SIGN) { BlockEntityType.Builder.of(::HoloSignBlockEntity, MBlocks.HOLO_SIGN).build(null) }
fun register(bus: IEventBus) {
internal fun register(bus: IEventBus) {
registry.register(bus)
bus.addListener(this::registerClient)
}

View File

@ -136,7 +136,7 @@ object MBlocks {
}
}
fun register(bus: IEventBus) {
internal fun register(bus: IEventBus) {
registry.register(bus)
bus.addListener(MBlocks::registerCapabilities)
}

View File

@ -8,6 +8,8 @@ import net.minecraft.world.item.DyeColor
import net.minecraft.world.item.Item
import net.minecraft.world.item.ItemStack
import net.minecraft.world.level.material.Fluids
import net.neoforged.api.distmarker.Dist
import net.neoforged.bus.api.EventPriority
import net.neoforged.bus.api.IEventBus
import net.neoforged.neoforge.capabilities.Capabilities
import net.neoforged.neoforge.event.BuildCreativeModeTabContentsEvent
@ -23,6 +25,7 @@ import ru.dbotthepony.mc.otm.core.util.CreativeMenuItemComparator
import ru.dbotthepony.mc.otm.registry.MDeferredRegister
import ru.dbotthepony.mc.otm.registry.MRegistry
import ru.dbotthepony.mc.otm.registry.game.MItems.BATTERY_CREATIVE
import thedarkcolour.kotlinforforge.neoforge.forge.DIST
private fun CreativeModeTab.Output.accept(values: Collection<Item>) {
for (item in values) {
@ -394,11 +397,15 @@ object MCreativeTabs {
.build()
}
fun initialize(bus: IEventBus) {
internal fun initialize(bus: IEventBus) {
registry.register(bus)
if (DIST == Dist.CLIENT) {
bus.addListener(EventPriority.NORMAL, ::register)
}
}
fun register(event: BuildCreativeModeTabContentsEvent) {
private fun register(event: BuildCreativeModeTabContentsEvent) {
CreativeMenuItemComparator.invalidate()
when (event.tab) {

View File

@ -117,7 +117,7 @@ object MDataComponentTypes {
Configurator
}
fun register(bus: IEventBus) {
internal fun register(bus: IEventBus) {
registry.register(bus)
}
}

View File

@ -68,7 +68,7 @@ object MEntityTypes {
}
fun register(bus: IEventBus) {
internal fun register(bus: IEventBus) {
registry.register(bus)
bus.addListener(this::registerAttributes)
bus.addListener(this::registerClient)

View File

@ -19,7 +19,7 @@ object MFluids {
private val types = MDeferredRegister(NeoForgeRegistries.FLUID_TYPES.key())
private val fluids = MDeferredRegister(BuiltInRegistries.FLUID)
fun register(bus: IEventBus) {
internal fun register(bus: IEventBus) {
types.register(bus)
fluids.register(bus)
}

View File

@ -86,7 +86,7 @@ object MItems {
return registry.coloredWithBase(name) { color -> BlockItem(blocks[color]!!, properties) }
}
fun register(bus: IEventBus) {
internal fun register(bus: IEventBus) {
registry.register(bus)
}

View File

@ -130,7 +130,7 @@ object MMenus {
val STORAGE_IMPORTER_EXPORTER by registry.register(MNames.STORAGE_IMPORTER) { MenuType(::StorageImporterExporterMenu, FeatureFlags.VANILLA_SET) }
val STORAGE_POWER_SUPPLIER by registry.register(MNames.STORAGE_POWER_SUPPLIER) { MenuType(::StoragePowerSupplierMenu, FeatureFlags.VANILLA_SET) }
fun register(bus: IEventBus) {
internal fun register(bus: IEventBus) {
registry.register(bus)
bus.addListener(this::registerScreens)
}

View File

@ -22,7 +22,7 @@ object MRecipes {
private val types = MDeferredRegister(BuiltInRegistries.RECIPE_TYPE, OverdriveThatMatters.MOD_ID)
private val serializers = MDeferredRegister(BuiltInRegistries.RECIPE_SERIALIZER, OverdriveThatMatters.MOD_ID)
fun register(bus: IEventBus) {
internal fun register(bus: IEventBus) {
types.register(bus)
serializers.register(bus)
}

View File

@ -27,7 +27,7 @@ object MSoundEvents {
val LOADER_AMBIENT by make("loader_ambient")
fun register(bus: IEventBus) {
internal fun register(bus: IEventBus) {
registry.register(bus)
}
}

View File

@ -13,7 +13,7 @@ import ru.dbotthepony.mc.otm.registry.StatNames.POWER_CONSUMED
object MStats {
private val registrar = MDeferredRegister(BuiltInRegistries.CUSTOM_STAT)
fun register(bus: IEventBus) {
internal fun register(bus: IEventBus) {
registrar.register(bus)
}

View File

@ -4,7 +4,7 @@ import net.neoforged.neoforge.event.RegisterCommandsEvent
import ru.dbotthepony.mc.otm.server.command.*
object MCommands {
fun register(event: RegisterCommandsEvent) {
internal fun register(event: RegisterCommandsEvent) {
ExopackCommand.register(event)
AndroidCommand.register(event)
}

View File

@ -130,7 +130,7 @@ abstract class StorageStack<S : StorageStack<S>>(val count: BigInteger) {
)
}
fun register(bus: IEventBus) {
internal fun register(bus: IEventBus) {
bus.addListener(delegate::build)
registrar.register(bus)
}

View File

@ -123,7 +123,7 @@ object KillAsAndroidTrigger : MCriterionTrigger<KillAsAndroidTrigger.Instance>(R
playerPredicate: Optional<ContextAwarePredicate> = Optional.empty(),
) : AbstractInstance(playerPredicate)
fun onKill(event: LivingDeathEvent) {
internal fun onKill(event: LivingDeathEvent) {
if (event.entity is ElderGuardian) {
val killer = event.source.entity