Files
Runelite-EssentialsPlus/README.md
T
2026-09-18 17:18:57 +02:00

183 lines
6.6 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# RuneLite Example Plugin ("Hello World")
Ein einsatzbereites RuneLite-Plugin-Beispielprojekt. Das Plugin sendet eine **"Hello World!"**-Nachricht in den Ingame-Chat, sobald du dich einloggst oder das Plugin aktivierst.
---
## 📁 Projektstruktur
```
.
├── build.gradle # Gradle Build-Konfiguration
├── settings.gradle # Projektname
├── gradlew / gradlew.bat # Gradle Wrapper (keine manuelle Gradle-Installation nötig)
└── src
├── main/java/com/example
│ ├── ExamplePlugin.java # Hauptklasse des Plugins
│ └── ExampleConfig.java # Einstellungs-Menü im RuneLite Config-Panel
└── test/java/com/example
└── ExamplePluginTest.java # Startet RuneLite mit dem geladenen Plugin
```
---
## 🚀 Wie starte / teste ich das Plugin lokal?
Der Standard- und einfachste Weg in der RuneLite-Entwicklung ist der **integrierte Test-Client**. Dadurch musst du keine JAR-Dateien manuell kopieren oder den offiziellen Client patchen.
### Option 1: Über das Terminal / CLI (am schnellsten)
Führe einfach folgenden Befehl im Projektordner aus:
```bash
./gradlew run
```
*Unter Windows:*
```cmd
gradlew.bat run
```
RuneLite startet im Entwicklermodus mit deinem geladenen Plugin. Sobald du dich mit deinem Account einloggst, erscheint im Chat:
> `Example Plugin: Hello World!`
---
### Option 2: Über eine IDE (IntelliJ IDEA / VS Code / Eclipse)
1. **IntelliJ IDEA öffnen** $\rightarrow$ `Open` $\rightarrow$ diesen Projektordner auswählen $\rightarrow$ als Gradle-Projekt importieren.
2. Zu [`ExamplePluginTest.java`](file:///home/hikyu/Documents/projects/orsrs-plugin-bank-highlighter/src/test/java/com/example/ExamplePluginTest.java) navigieren.
3. Den grünen **Play-Button ▶** neben `main()` anklicken (oder `Shift + F10`).
4. RuneLite startet sofort mit Hot-Reloading & Debugging-Möglichkeiten.
---
## ⚙️ Wie funktioniert das "Hello World"?
In [`ExamplePlugin.java`](file:///home/hikyu/Documents/projects/orsrs-plugin-bank-highlighter/src/main/java/com/example/ExamplePlugin.java):
1. **Beim Login:** Das Event `@Subscribe public void onGameStateChanged(GameStateChanged gameStateChanged)` fängt `GameState.LOGGED_IN` ab und sendet die Nachricht.
2. **Bei Plugin-Aktivierung:** In `startUp()` wird geprüft, ob du bereits eingeloggt bist (`client.getGameState() == GameState.LOGGED_IN`), und sendet ebenfalls die Nachricht.
3. **Anpassbar:** Die Nachricht kann im RuneLite Einstellungsmenü (unter **Example Plugin** in der Seitenleiste) konfiguriert werden.
---
## 📦 Standalone-JAR bauen (ShadowJar)
Falls du eine eigenständige JAR-Datei benötigst:
```bash
./gradlew shadowJar
```
Die fertige JAR befindet sich anschließend in:
`build/libs/bank-highlighter-1.0-SNAPSHOT-all.jar`
---
## ⚡ Installation in Bolt (lokal)
Die Plugins (ExamplePlugin, LiveDashboardPlugin, EssentialsPlusPlugin) werden über
den Einstiegspunkt `ExamplePluginTest.main` direkt als Builtin-Externals in den
RuneLite-Client injiziert — es ist **kein** Bolt-Plugin-Manifest (RS3) nötig.
### 1. Einmalige Bolt-Konfiguration
In `~/.config/bolt-launcher/launcher.json` muss gesetzt sein:
```json
"runelite_use_custom_jar": true,
"runelite_custom_jar": "/home/hikyu/.local/share/bolt-launcher/custom-runelite.jar",
"osrs_launch_command": "java -jar /home/hikyu/.local/share/bolt-launcher/custom-runelite.jar"
```
### 2. Bauen & installieren
```bash
./gradlew deploy
```
Der Befehl baut den Shadow-Jar und kopiert ihn **atomar** nach
`~/.local/share/bolt-launcher/custom-runelite.jar`, so dass er auch bei laufendem
Bolt/RuneLite sicher ersetzt werden kann (build.gradle `deploy`).
### 3. Automatische Neuinstallation bei jeder Änderung
Lasse den Continuous-Build im Projektordner laufen — er überwacht die Quelldateien
und installiert automatisch neu, sobald etwas geändert wird:
```bash
./gradlew deploy -t
```
*(Beenden mit `Ctrl+C`. Der Watcher kompiliert und kopiert die JAR bei jeder
Quellcode-Änderung selbstständig.)*
### 4. Start in Bolt
1. Bolt starten → **RuneLite** wählen → einloggen.
2. „Essentials Plus" erscheint mit einem Icon in der Seitenleiste.
3. Falls nicht sichtbar: RuneLite-Hamburger → **Configuration** → **External Plugins** → „Essentials Plus" aktivieren.
---
## 🪟 Windows / Jagex Launcher (offizielles RuneLite)
Auf Windows wird RuneLite über den **Jagex Launcher** gestartet. Dort lässt sich der
Bolt-Trick (eigenes Client-JAR mit `ExamplePluginTest.main`) **nicht** verwenden, weil
der Jagex Launcher immer die offizielle RuneLite-EXE startet. Stattdessen nutzt man das
offizielle **Side-Loading** von RuneLite: Beim Client-Start lädt RuneLite alle `.jar`
Dateien aus `~\.runelite\sideloaded-plugins\` nach – sofern der **Developer Mode**
aktiviert ist. `runelite-plugin.properties` wird dabei nicht gebraucht.
### 1. Plugin-JAR bauen (klein, ohne Client)
```cmd
gradlew.bat jar
```
Ergebnis: `build\libs\bank-highlighter-1.0-SNAPSHOT.jar` (enthält nur `com.example.*`
Klassen, keine `net.runelite.*` – der richtige Jar-Typ zum Side-Loaden).
### 2. JAR in den Side-Load-Ordner kopieren
Ordner anlegen (falls nicht vorhanden) und das JAR hineinkopieren:
```
%USERPROFILE%\.runelite\sideloaded-plugins\bank-highlighter.jar
```
*Beispiel via Explorer: `Start` → `%USERPROFILE%\.runelite\` eingeben → Ordner
`sideloaded-plugins` erstellen → JAR hineinlegen.*
### 3. Developer Mode in RuneLite aktivieren
1. RuneLite über den **Jagex Launcher** starten.
2. Schraubenschlüssel (Configuration) → ganz nach unten scrollen → **RuneLite**-Reiter.
3. **„Enable Developer Mode"** aktivieren (Hinweis bestätigen).
4. RuneLite vollständig schließen und erneut starten.
### 4. Plugin aktivieren
Nach dem Neustart erscheinen die Plugins in der Plugin-Liste (Plug-Icon) unter
**External Plugins** (unten).
- **Essentials Plus** aktivieren.
- Weitere: **Example Plugin**, **Live Dashboard**.
### Automatisch aktualisieren
Sobald sich etwas im Quellcode ändert, im Projektordner laufen lassen:
```cmd
gradlew.bat jar -t
```
Der Watcher kompiliert das schlanke JAR automatisch neu. Danach **RuneLite einmal
neu starten**, damit das neue JAR geladen wird (Side-Loaded-Plugins werden nur beim
Client-Start eingelesen – nicht live).
> ⚠️ **Hinweis:** Nach einem OSRS-Game-Update muss das JAR frisch gebaut werden
> (`gradlew.bat jar` bzw. der Watcher), damit die API (`net.runelite.api.gameval`, …)
> zum laufenden Client-Rev passt. Läuft ein älteres JAR, können Plugins mit Fehlern
> abstürzen.