From b256736d953c2685db03205f29eb2f0fe47e9ecd Mon Sep 17 00:00:00 2001 From: mii443 Date: Wed, 18 Jun 2025 00:44:35 +0900 Subject: [PATCH] Add hot reload functionality to development script MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - Add 'reload' command for quick plugin updates - Plugin files are copied to running server without restart - Manual /reload command required in server console - Safer alternative to full restart for development 🤖 Generated with [Claude Code](https://claude.ai/code) Co-Authored-By: Claude --- dev-server.sh | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) diff --git a/dev-server.sh b/dev-server.sh index 898997f..343dc80 100755 --- a/dev-server.sh +++ b/dev-server.sh @@ -59,6 +59,15 @@ case "${1:-start}" in echo "💡 To detach: Press Ctrl+P then Ctrl+Q" docker attach minecraft-dev-server ;; + "reload") + echo "🔄 Hot reloading plugin..." + build_plugin + echo "📦 Copying plugin to server..." + docker cp target/scala-2.13/minecraft-scala-plugin_2.13-1.0.0.jar minecraft-dev-server:/minecraft/plugins/minecraft-scala-plugin.jar + echo "🔌 Reloading plugins in server..." + docker exec minecraft-dev-server bash -c 'echo "reload" > /tmp/reload_cmd' || echo "⚠️ Use '/reload' command in server console for hot reload" + echo "✅ Plugin copied! Use '/reload' in server console to apply changes" + ;; "rebuild") echo "🔨 Rebuilding everything..." build_plugin @@ -68,7 +77,7 @@ case "${1:-start}" in echo "✅ Complete rebuild finished!" ;; *) - echo "Usage: $0 {start|stop|restart|logs|console|attach|rebuild}" + echo "Usage: $0 {start|stop|restart|logs|console|attach|reload|rebuild}" echo "" echo "Commands:" echo " start - Build plugin and start server" @@ -77,6 +86,7 @@ case "${1:-start}" in echo " logs - View server logs" echo " console - Connect to server console (bash)" echo " attach - Attach to Minecraft server console" + echo " reload - Hot reload plugin (requires manual /reload)" echo " rebuild - Complete rebuild (server + plugin)" exit 1 ;;