▶️ ЗАБЕРИ СВОИ 8 ПОДАРКОВ 🎁 ПРИ СОЗДАНИИ СВОЕГО МАЙНКРАФТ СЕРВЕРА
LiveJava

LiveJava

a VS Code-powered Web IDE that lets you build multi-class, hot-swappable native Java plugins instantly with zero reloads and automatic dependency injection.

Оцените первым
33
4
Все версииLiveJava 1.1-SNAPSHOT

LiveJava 1.1-SNAPSHOT

Release28.05.2026

Список изменений

Critical Fixes

#1 — Build off the main thread (LiveJavaPlugin.java)

buildProject() previously called javac synchronously in onCommand(), which froze the server tick loop. Now:

  • Compilation runs in runTaskAsynchronously
  • loadAndStartProject() + all Bukkit API calls come back via runTask on the main thread

#2 — Permission nodes (plugin.yml + LiveJavaPlugin.java + Lang.java)

Zero permissions existed before. Now:

  • plugin.yml defines livejava.*, livejava.editor, livejava.build, livejava.unload, livejava.reload, livejava.debug, livejava.lang — all default to op
  • onCommand checks the right permission per subcommand using a switch expression before executing anything
  • Added NO_PERMISSION key to Lang (both EN and TR)

#3 — plugin.yml metadata (build.gradle + plugin.yml)

Three sub-fixes:

  • Added processResources { filesMatching('plugin.yml') { expand project.properties } } — the literal ${project.version} now resolves at build time
  • description changed from Turkish (LiveJava ana komutu) to English
  • usage changed from the misleading /livejava to /livejava <help|editor|build|unload|reload|debug|lang>
  • api-version bumped from '1.13' to '1.20'

Moderate Fixes

#4/#5/#6 — RuntimeCompiler rewrite (RuntimeCompiler.java)

  • Removed the dead compile() single-file method (86 lines of dead code)
  • Extracted the duplicated 40-line classpath building into a single private buildClasspath() method
  • Replaced all Turkish error strings ("Satır", "Dosya", "Derlenecek hiçbir...") with English — these were bypassing the i18n system entirely
  • Replaced the 5-directory loop with a for loop over a string array (DRY)

#7 — Public fields → getters (LiveJavaPlugin.java + WebIDEServer.java)

  • projectStatuses and projectLogs changed from public final to private final
  • Added getProjectStatuses() and getProjectLogs() methods
  • WebIDEServer updated to use the getters

#10 — Auto-restore delay (LiveJavaPlugin.java)

Changed runTaskLater(..., 1L) to runTaskLater(..., 40L) — gives other plugins ~2 seconds to finish loading before scripts that depend on their APIs are restored.

#13 — Dead methods removed (ScriptManager.java)

Deleted startSpecificScript() and stopSpecificScript() — both were hardcoded to look up the "workspace" key which doesn't exist in the actual project-name-keyed architecture. They could never work.

#15 — editor.html no longer overwritten on every startup (LiveJavaPlugin.java)

Changed from Files.copy(..., REPLACE_EXISTING) to if (!editorHtml.exists()) Files.copy(...) — admin customizations to the editor survive restarts.

#16 — Swallowed IOException (LiveJavaPlugin.java)

catch (IOException ignored) {} in createDemoScript is now catch (IOException e) { getLogger().warning("Could not write demo script: " + e.getMessage()); }.

#17 — Demo script Turkish strings (LiveJavaPlugin.java)

All hardcoded Turkish strings in the generated demo script replaced with English:

  • "LiveJava IDE ile Mükemmel Bir Şekilde Bildiriyorum!" → "Successfully started via LiveJava IDE!"
  • "Kullanım: /livejavatest [heal/smite]" → "Usage: /livejavatest [heal/smite]"
  • "Can fullendi!" → "Health restored!"
  • "Güvenle bellekten silindi." → "Safely removed from memory."

Файлы

LiveJava-1.1-SNAPSHOT.jar(59.27 KiB)
Основной
Скачать

Метаданные

Канал релиза

Release

Номер версии

1.1-SNAPSHOT

Загрузчики

Paper
Spigot

Версии игры

1.20–1.20.6

Загрузок

17

Дата публикации

28.05.2026

Загрузил

ID версии

Главная