apple
This commit is contained in:
commit
55688594b9
1
.gitignore
vendored
1
.gitignore
vendored
@ -33,3 +33,4 @@ forge*changelog.txt
|
||||
|
||||
shapegen_output.java
|
||||
/runs
|
||||
/.kotlin
|
||||
|
@ -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!")
|
||||
|
||||
|
@ -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)
|
||||
|
@ -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)
|
||||
|
@ -59,7 +59,7 @@ class DevChestBlockEntity(blockPos: BlockPos, blockState: BlockState) : MatteryB
|
||||
return cache
|
||||
}
|
||||
|
||||
fun mappingsChanged(event: IdMappingEvent) {
|
||||
internal fun mappingsChanged(event: IdMappingEvent) {
|
||||
cache.clear()
|
||||
}
|
||||
}
|
||||
|
@ -118,7 +118,7 @@ object DrivePool {
|
||||
}
|
||||
}
|
||||
|
||||
fun onWorldSave(event: LevelEvent.Save) {
|
||||
internal fun onWorldSave(event: LevelEvent.Save) {
|
||||
writeBacklog(event.level.server!!.registryAccess())
|
||||
}
|
||||
|
||||
|
@ -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)
|
||||
}
|
||||
}
|
||||
|
@ -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)
|
||||
}
|
||||
}
|
||||
|
@ -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) {
|
||||
|
@ -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()
|
||||
|
@ -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())
|
||||
|
||||
|
@ -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 }
|
||||
}
|
||||
|
@ -79,7 +79,7 @@ class ChartTooltipElement(
|
||||
}
|
||||
|
||||
companion object {
|
||||
fun register(event: RegisterClientTooltipComponentFactoriesEvent) {
|
||||
internal fun register(event: RegisterClientTooltipComponentFactoriesEvent) {
|
||||
event.register(ChartTooltipElement::class.java) { it }
|
||||
}
|
||||
}
|
||||
|
@ -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
|
||||
}
|
||||
|
@ -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")))
|
||||
}
|
||||
|
@ -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()
|
||||
|
||||
|
@ -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)
|
||||
}
|
||||
|
@ -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
|
||||
|
||||
|
@ -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)
|
||||
}
|
||||
|
@ -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) {
|
||||
|
@ -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) {
|
||||
|
@ -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
|
||||
}
|
||||
|
@ -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)
|
||||
|
||||
|
@ -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 } &&
|
||||
|
@ -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
|
||||
|
||||
|
@ -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) {
|
||||
|
@ -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()))
|
||||
|
@ -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)
|
||||
}
|
||||
|
@ -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)
|
||||
}
|
||||
|
@ -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)
|
||||
|
@ -28,6 +28,18 @@ fun <T : CustomPacketPayload> PayloadRegistrar.playToServer(
|
||||
handler: KFunction1<IPayloadContext, Unit>
|
||||
): PayloadRegistrar = playToServer(type, codec) { _, context -> handler(context) }
|
||||
|
||||
fun <T : CustomPacketPayload> PayloadRegistrar.playToClient(
|
||||
type: CustomPacketPayload.Type<T>,
|
||||
value: T,
|
||||
handler: KFunction1<IPayloadContext, Unit>
|
||||
): PayloadRegistrar = playToClient(type, MatteryStreamCodec.MUnit(value)) { _, context -> handler(context) }
|
||||
|
||||
fun <T : CustomPacketPayload> PayloadRegistrar.playToServer(
|
||||
type: CustomPacketPayload.Type<T>,
|
||||
value: T,
|
||||
handler: KFunction1<IPayloadContext, Unit>
|
||||
): PayloadRegistrar = playToServer(type, MatteryStreamCodec.MUnit(value)) { _, context -> handler(context) }
|
||||
|
||||
inline fun encodePayload(registry: RegistryAccess, block: (RegistryFriendlyByteBuf) -> Unit): ByteArrayList {
|
||||
val underlying = ByteBufAllocator.DEFAULT.buffer()
|
||||
val buf = RegistryFriendlyByteBuf(underlying, registry, ConnectionType.NEOFORGE)
|
||||
|
@ -245,9 +245,6 @@ object ExopackMenuOpen : CustomPacketPayload {
|
||||
"exopack_menu_open"
|
||||
)
|
||||
)
|
||||
|
||||
val CODEC: StreamCodec<FriendlyByteBuf, ExopackMenuOpen> =
|
||||
StreamCodec.ofMember({ _, _ -> }, { ExopackMenuOpen })
|
||||
}
|
||||
|
||||
class PickItemFromInventoryPacket(
|
||||
@ -347,8 +344,6 @@ object DisplayExopackPacket : CustomPacketPayload {
|
||||
"display_exopack"
|
||||
)
|
||||
)
|
||||
val CODEC: StreamCodec<FriendlyByteBuf, DisplayExopackPacket> =
|
||||
StreamCodec.ofMember({ _, _ -> }, { DisplayExopackPacket })
|
||||
}
|
||||
|
||||
object HideExopackPacket : CustomPacketPayload {
|
||||
@ -366,8 +361,6 @@ object HideExopackPacket : CustomPacketPayload {
|
||||
"hide_exopack"
|
||||
)
|
||||
)
|
||||
val CODEC: StreamCodec<FriendlyByteBuf, HideExopackPacket> =
|
||||
StreamCodec.ofMember({ _, _ -> }, { HideExopackPacket })
|
||||
}
|
||||
|
||||
object EnableExopackGlowPacket : CustomPacketPayload {
|
||||
@ -385,8 +378,6 @@ object EnableExopackGlowPacket : CustomPacketPayload {
|
||||
"enable_exopack_glow"
|
||||
)
|
||||
)
|
||||
val CODEC: StreamCodec<FriendlyByteBuf, EnableExopackGlowPacket> =
|
||||
StreamCodec.ofMember({ _, _ -> }, { EnableExopackGlowPacket })
|
||||
}
|
||||
|
||||
object DisableExopackGlowPacket : CustomPacketPayload {
|
||||
@ -404,8 +395,6 @@ object DisableExopackGlowPacket : CustomPacketPayload {
|
||||
"disable_exopack_glow"
|
||||
)
|
||||
)
|
||||
val CODEC: StreamCodec<FriendlyByteBuf, DisableExopackGlowPacket> =
|
||||
StreamCodec.ofMember({ _, _ -> }, { DisableExopackGlowPacket })
|
||||
}
|
||||
|
||||
object ResetExopackColorPacket : CustomPacketPayload {
|
||||
@ -423,8 +412,6 @@ object ResetExopackColorPacket : CustomPacketPayload {
|
||||
"reset_exopack_color"
|
||||
)
|
||||
)
|
||||
val CODEC: StreamCodec<FriendlyByteBuf, ResetExopackColorPacket> =
|
||||
StreamCodec.ofMember({ _, _ -> }, { ResetExopackColorPacket })
|
||||
}
|
||||
|
||||
class ExopackSmokePacket(val player: UUID) : CustomPacketPayload {
|
||||
|
@ -35,6 +35,14 @@ interface MatteryStreamCodec<in S : ByteBuf, V> : StreamCodec<@UnsafeVariance S,
|
||||
}
|
||||
}
|
||||
|
||||
class MUnit<V>(val value: V) : MatteryStreamCodec<ByteBuf, V> {
|
||||
override fun decode(stream: ByteBuf): V {
|
||||
return value
|
||||
}
|
||||
|
||||
override fun encode(stream: ByteBuf, value: V) {}
|
||||
}
|
||||
|
||||
abstract class AbstractPair<in S : ByteBuf, A, B, P>(private val first: MatteryStreamCodec<S, A>, private val second: MatteryStreamCodec<S, B>) : MatteryStreamCodec<S, P> {
|
||||
protected abstract fun getFirst(value: P): A
|
||||
protected abstract fun getSecond(value: P): B
|
||||
|
@ -19,7 +19,7 @@ import ru.dbotthepony.mc.otm.menu.matter.PatternsChangePacket
|
||||
import ru.dbotthepony.mc.otm.menu.matter.ReplicationRequestPacket
|
||||
import ru.dbotthepony.mc.otm.menu.matter.TasksChangePacket
|
||||
|
||||
fun registerNetworkPackets(event: RegisterPayloadHandlersEvent) {
|
||||
internal fun registerNetworkPackets(event: RegisterPayloadHandlersEvent) {
|
||||
val r = event.registrar("1.5.0")
|
||||
|
||||
// world
|
||||
@ -44,15 +44,15 @@ fun registerNetworkPackets(event: RegisterPayloadHandlersEvent) {
|
||||
.playToClient(ExopackSlotPacket.TYPE, ExopackSlotPacket.CODEC, ExopackSlotPacket::play)
|
||||
.playToClient(ExopackMenuInitPacket.TYPE, ExopackMenuInitPacket.CODEC, ExopackMenuInitPacket::play)
|
||||
.playToClient(ExopackSmokePacket.TYPE, ExopackSmokePacket.CODEC, ExopackSmokePacket::play)
|
||||
.playToServer(ExopackMenuOpen.TYPE, ExopackMenuOpen.CODEC, ExopackMenuOpen::play)
|
||||
.playToServer(ExopackMenuOpen.TYPE, ExopackMenuOpen, ExopackMenuOpen::play)
|
||||
|
||||
.playToServer(PickItemFromInventoryPacket.TYPE, PickItemFromInventoryPacket.CODEC, PickItemFromInventoryPacket::play)
|
||||
|
||||
.playToServer(DisplayExopackPacket.TYPE, DisplayExopackPacket.CODEC, DisplayExopackPacket::play)
|
||||
.playToServer(HideExopackPacket.TYPE, HideExopackPacket.CODEC, HideExopackPacket::play)
|
||||
.playToServer(EnableExopackGlowPacket.TYPE, EnableExopackGlowPacket.CODEC, EnableExopackGlowPacket::play)
|
||||
.playToServer(DisableExopackGlowPacket.TYPE, DisableExopackGlowPacket.CODEC, DisableExopackGlowPacket::play)
|
||||
.playToServer(ResetExopackColorPacket.TYPE, ResetExopackColorPacket.CODEC, ResetExopackColorPacket::play)
|
||||
.playToServer(DisplayExopackPacket.TYPE, DisplayExopackPacket, DisplayExopackPacket::play)
|
||||
.playToServer(HideExopackPacket.TYPE, HideExopackPacket, HideExopackPacket::play)
|
||||
.playToServer(EnableExopackGlowPacket.TYPE, EnableExopackGlowPacket, EnableExopackGlowPacket::play)
|
||||
.playToServer(DisableExopackGlowPacket.TYPE, DisableExopackGlowPacket, DisableExopackGlowPacket::play)
|
||||
.playToServer(ResetExopackColorPacket.TYPE, ResetExopackColorPacket, ResetExopackColorPacket::play)
|
||||
.playToServer(SetExopackColorPacket.TYPE, SetExopackColorPacket.CODEC, SetExopackColorPacket::play)
|
||||
|
||||
// otm player general
|
||||
|
@ -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)
|
||||
}
|
||||
|
@ -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)
|
||||
}
|
||||
|
||||
|
@ -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) {
|
||||
|
@ -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)
|
||||
}
|
||||
}
|
||||
|
@ -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
|
||||
|
||||
|
@ -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)
|
||||
}
|
||||
}
|
||||
|
@ -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)
|
||||
}
|
||||
|
||||
|
@ -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)
|
||||
|
@ -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",
|
||||
|
@ -13,7 +13,7 @@ object LootModifiers {
|
||||
registry.register("loot_appender") { LootPoolAppender.CODEC }
|
||||
}
|
||||
|
||||
fun register(bus: IEventBus) {
|
||||
internal fun register(bus: IEventBus) {
|
||||
registry.register(bus)
|
||||
}
|
||||
}
|
||||
|
@ -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)
|
||||
}
|
||||
|
||||
|
@ -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)
|
||||
}
|
||||
}
|
||||
|
@ -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)
|
||||
}
|
||||
}
|
||||
|
@ -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)
|
||||
}
|
||||
|
||||
|
@ -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)
|
||||
}
|
||||
|
||||
|
@ -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)
|
||||
}
|
||||
|
||||
|
@ -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)
|
||||
}
|
||||
}
|
||||
|
@ -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)
|
||||
}
|
||||
|
||||
|
@ -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)
|
||||
}
|
||||
|
@ -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)
|
||||
}
|
||||
|
@ -137,7 +137,7 @@ object MBlocks {
|
||||
}
|
||||
}
|
||||
|
||||
fun register(bus: IEventBus) {
|
||||
internal fun register(bus: IEventBus) {
|
||||
registry.register(bus)
|
||||
bus.addListener(MBlocks::registerCapabilities)
|
||||
}
|
||||
|
@ -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) {
|
||||
@ -399,11 +402,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) {
|
||||
|
@ -117,7 +117,7 @@ object MDataComponentTypes {
|
||||
Configurator
|
||||
}
|
||||
|
||||
fun register(bus: IEventBus) {
|
||||
internal fun register(bus: IEventBus) {
|
||||
registry.register(bus)
|
||||
}
|
||||
}
|
||||
|
@ -87,7 +87,7 @@ object MEntityTypes {
|
||||
.build(MNames.ENFORCER)
|
||||
}
|
||||
|
||||
fun register(bus: IEventBus) {
|
||||
internal fun register(bus: IEventBus) {
|
||||
registry.register(bus)
|
||||
bus.addListener(this::registerAttributes)
|
||||
bus.addListener(this::registerClient)
|
||||
|
@ -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)
|
||||
}
|
||||
|
@ -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)
|
||||
}
|
||||
|
||||
|
@ -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)
|
||||
}
|
||||
|
@ -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)
|
||||
}
|
||||
|
@ -31,7 +31,7 @@ object MSoundEvents {
|
||||
val ENFORCER_CHARGE by make("enforcer_charge")
|
||||
val ENFORCER_BEEP by make("enforcer_beep")
|
||||
|
||||
fun register(bus: IEventBus) {
|
||||
internal fun register(bus: IEventBus) {
|
||||
registry.register(bus)
|
||||
}
|
||||
}
|
||||
|
@ -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)
|
||||
}
|
||||
|
||||
|
@ -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)
|
||||
}
|
||||
|
@ -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)
|
||||
}
|
||||
|
@ -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
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user