DockyardMC open-source, fast and lightweight Minecraft server protocol implementation that's written from scratch in Kotlin without any code from Mojang. It is focused on making development easy, unlike PaperMC which still uses some really old bukkit APIs, Dockyard has very easy to use and modern API
Warning
This project is currently under heavy development, and it is NOT production ready.
You can read how to setup and use dockyard here: https://dockyard.lukynka.cloud/wiki/quick-start
- Easy to use, modern and extensible API
- Ability to take full control over every aspect of the server
- Lightweight
- uhhh there will be more stuff here later
Events.on<PlayerConnectEvent> {
DockyardServer.broadcastMessage("<lime>→ <yellow>${it.player} has joined the server.")
}
Modifying events (including PacketReceived and PacketSent)
Events.on<PacketReceivedEvent> {
if(it.packet is ServerboundPlayerChatMessagePacket) {
it.packet.message = "ha get overwritten >:3"
}
}
Canceling Events
Events.on<PlayerMoveEvent> {
// No moving for aso >:3
if(it.player.username == "AsoDesu_") {
it.cancelled = true
}
}
You can create commands quickly and easily with the DockyardMC command API
Commands.add("/explode") {
addArgument("player", PlayerArgument())
withPermission("player.admin")
withDescription("executes stuff")
execute {
val executingPlayer = it.getPlayerOrThrow()
val player = getArgument<Player>("player")
player.spawnParticle(player.location, Particles.EXPLOSION_EMITTER, Vector3f(1f), amount = 5)
player.playSound("minecraft:entity.generic.explode", volume = 2f, pitch = MathUtils.randomFloat(0.6f, 1.3f))
player.sendMessage("<yellow>You got <rainbow><b>totally exploded <yellow>by <red>$executingPlayer")
executingPlayer.sendMessage("<yellow>You <rainbow><b>totally exploded <yellow>player <red>$player")
}
}
Run code periodically
Period.on<HourPeriod> {
DockyardServer.broadcastMessage("<aqua>Reminder: <yellow>Stay hydrated and stretch once in a while!")
}
there will be more later
- Clone the repository
git clone https://github.com/DockyardMC/Dockyard/
- Go to the project directory
cd Dockyard
- Open in IntelliJ and run task
Dockyard Server
Contributions are always welcome! Please always check branches to see if the feature you are contributing is not already existing feature that someone else is working on
-
Scroll, Minecraft component library made for DockyardMC
-
PrettyLog, fancy logging library
- @KevDev
- @BluSpring
- @Asoji
- All the contributors
- Twitch chat who watches me code this! <3
If you want to support me and this project, consider buying me a coffee