KeyBind Update and Fixes

This commit is contained in:
2025-05-22 16:09:03 -04:00
parent fe18bb4813
commit 571ad78164
27 changed files with 418 additions and 288 deletions

View File

@@ -1,25 +1,43 @@
package co.sirblob
import com.cobblemon.mod.common.Cobblemon
import net.fabricmc.api.ModInitializer
import net.fabricmc.fabric.api.command.v2.CommandRegistrationCallback
import net.minecraft.commands.CommandSourceStack
import net.minecraft.network.chat.Component
import org.slf4j.LoggerFactory
import com.mojang.brigadier.builder.LiteralArgumentBuilder
import com.mojang.brigadier.context.CommandContext
import com.mojang.brigadier.Command
import com.cobblemon.mod.common.api.text.Text
import com.cobblemon.mod.common.NetworkManager
object CobbleSync : ModInitializer {
const val ID = "cobblesync"
private val logger = LoggerFactory.getLogger("cobblesync")
val networkManager: NetworkManager = Cobblemon.implementation.networkManager
override fun onInitialize() {
// This code runs as soon as Minecraft is in a mod-load-ready state.
// However, some things (like resources) may still be uninitialized.
// Proceed with mild caution.
logger.info("Hello CobbleSync world!")
}
CommandRegistrationCallback.EVENT.register(CommandRegistrationCallback { dispatcher, _, _ ->
dispatcher.register(
LiteralArgumentBuilder.literal<CommandSourceStack>("cobblesync")
.then(
LiteralArgumentBuilder.literal<CommandSourceStack>("sync")
.executes(Command<CommandSourceStack> { context: CommandContext<CommandSourceStack> ->
var player = context.source.player
player?.sendSystemMessage(
Component.literal("CobbleSync is not yet implemented. Please check back later.")
.withStyle { style ->
style.withColor(0xFF0000)
}
)
1
})
)
)
})
}
}

View File

@@ -1,23 +0,0 @@
package co.sirblob.commands
import com.mojang.brigadier.CommandDispatcher
import com.mojang.brigadier.builder.LiteralArgumentBuilder
import net.fabricmc.fabric.api.command.v2.CommandRegistrationCallback
/**
* Handles the registration of all commands for the mod.
*/
object CommandHandler {
/**
* Initializes and registers all commands.
* This method is typically called from your mod's main initializer.
*/
fun registerCommands() {
CommandRegistrationCallback.EVENT.register { dispatcher, registryAccess, environment ->
// Register your commands here
// MyCommand.register(dispatcher)
// Example: AnotherCommand.register(dispatcher)
}
}
}

View File

@@ -1,26 +0,0 @@
package co.sirblob.network
import co.sirblob.network.handler.OpenPCHandler
import co.sirblob.network.packet.OpenPCPacket
import com.cobblemon.mod.common.net.PacketRegisterInfo
object CobbleSyncNetwork {
val s2cPayloads = generateS2CPacketInfoList()
val c2sPayloads = generateC2SPacketInfoList()
private fun generateS2CPacketInfoList(): List<PacketRegisterInfo<*>> {
val list = mutableListOf<PacketRegisterInfo<*>>()
return list
}
private fun generateC2SPacketInfoList(): List<PacketRegisterInfo<*>> {
val list = mutableListOf<PacketRegisterInfo<*>>()
list.add(PacketRegisterInfo(OpenPCPacket.ID, OpenPCPacket::decode, OpenPCHandler))
return list
}
}

View File

@@ -1,18 +0,0 @@
package co.sirblob.network.handler
import co.sirblob.network.packet.OpenPCPacket
import com.cobblemon.mod.common.api.net.ServerNetworkPacketHandler
import com.cobblemon.mod.common.util.pc
import net.minecraft.server.MinecraftServer
import net.minecraft.server.level.ServerPlayer
object OpenPCHandler : ServerNetworkPacketHandler<OpenPCPacket> {
override fun handle(packet: OpenPCPacket, server: MinecraftServer, player: ServerPlayer) {
server.execute {
val pc = player.pc()
com.cobblemon.mod.common.net.messages.client.storage.pc.OpenPCPacket(pc.uuid, 0).sendToPlayer(player)
}
}
}

View File

@@ -1,17 +0,0 @@
package co.sirblob.network.packet
import co.sirblob.CobbleSync
import com.cobblemon.mod.common.api.net.NetworkPacket
import net.minecraft.server.level.ServerPlayer
interface CobbleSyncNetworkPacket<T : NetworkPacket<T>> : NetworkPacket<T> {
override fun sendToServer() {
CobbleSync.networkManager.sendToServer(this)
}
override fun sendToPlayer(player: ServerPlayer) {
CobbleSync.networkManager.sendPacketToPlayer(player, this)
}
}

View File

@@ -1,20 +0,0 @@
package co.sirblob.network.packet
import co.sirblob.CobbleSync
import net.minecraft.network.RegistryFriendlyByteBuf
import net.minecraft.resources.ResourceLocation
class OpenPCPacket: CobbleSyncNetworkPacket<OpenPCPacket> {
companion object {
val ID = ResourceLocation.fromNamespaceAndPath("open_pc", CobbleSync.ID)
fun decode(buffer: RegistryFriendlyByteBuf): OpenPCPacket = OpenPCPacket()
}
override val id = ID
override fun encode(buffer: RegistryFriendlyByteBuf) {
// TO SOMETHING
}
}