- Java 66.2%
- Svelte 18.1%
- Kotlin 9.3%
- CSS 3.9%
- JavaScript 1.4%
- Other 1.1%
| 26.x | ||
| docs | ||
| gradle/wrapper | ||
| src | ||
| webui | ||
| .gitignore | ||
| AGENTS.md | ||
| build.gradle | ||
| gradle.properties | ||
| gradlew | ||
| gradlew.bat | ||
| LICENSE | ||
| README.md | ||
| settings.gradle | ||
Visotaris OPMod
Eine freie, quelloffene Fabric-Client-Mod für Minecraft mit Fokus auf den OPSUCHT-Server.
Lizenz: AGPLv3+ · Minecraft: 26.x (aktuell 26.2) · Loader: Fabric
Aktueller Entwicklungsstand: Visotaris OPMod 1.2.0-pre.7 (Vorabversion). Visotaris 1.2.0+ unterstützt Minecraft 26.x. Ältere veröffentlichte 1.1.x-Versionen behalten ihre damalige Minecraft-Kompatibilität. Für 26.2 wird MaLiLib 0.29.3 separat benötigt. Änderungen und bekannte offene Prüfungen: Release-Notizen.
Features
Visotaris OPMod ergänzt den Minecraft-Client um Komfort- und Auswertungsfunktionen, die speziell auf die Spielmechaniken von OPSUCHT ausgelegt sind.
| Funktion | Beschreibung |
|---|---|
| Auktionshaus | Getrennter lesender AuctionCache, Kategorien, Suche und lokale Sortierung; Live-Änderungen über SSE, Details in AUCTIONS.md |
| Marktpreis-Tooltips | Zeigt aktuelle Kauf- und Verkaufspreise direkt im Item-Tooltip an |
| Merchant- & Shard-Werte | Lädt Händler- und Splitter-Kurse und rechnet sie in Item-Bewertungen ein |
| Container-Overlay | Zeigt den Gesamtwert von Kisten- und Shulker-Inhalten im Screen |
| Shulker-Rekursion | Wertet Shulker-Box-Inhalte im Container-Overlay rekursiv mit aus |
| Quick-Buttons | Schaltflächen in Kisten-Screens und Inventar für /jobs, /shard, /spawn |
| Job-Tracker | Liest OPSUCHT-Job-Nachrichten aus dem Chat und berechnet Stundenwerte |
| HUD-Overlay | Zeigt aktuellen Job, XP und geschätzte Stundenwerte im Spielbildschirm |
| /rename- & /sign-Schutz | Fängt diese Befehle vor dem Absenden ab und fordert eine Bestätigung an |
| Offhand-Blocker | Verhindert versehentliche Offhand-Swaps (F-Taste) |
| Amboss-Normalisierung | Expandiert Kurzformen im Amboss-Rename-Feld: 1k → 1000, 2.5m → 2500000 |
| Command-Kurzformen | Dasselbe für Geld-Befehle: /pay spieler 1k, /bank deposit 2.5m u.v.m. |
| Inventar-voll-Warnung | Pulsierender roter HUD-Hinweis wenn kein freier Inventar-Slot mehr vorhanden |
| Keybinds | MaLiLib-Hotkey Alt+V (anpassbar/deaktivierbar) öffnet das native Menü; HUD-Toggle und Markt-Refresh bleiben eigene optionale Tastenbelegungen |
| Config + ModMenu | Alle Funktionen einzeln ein-/ausschaltbar über eine Einstellungsseite (ModMenu-kompatibel) |
| Discord RPC | Optionaler Discord-Rich-Presence-Service (standardmäßig deaktiviert) |
| Preisalarme | Clientseitige Schwellenalarme für Kauf-, Verkaufs- und Spannenpreise aus dem synchronisierten Markt-Cache |
| Web-UX: Preisalarme | Geschützter Bereich zum Verwalten und Beobachten einzelner Alarmregeln |
| Web-UX: Einstellungen | Geschützter Bereich für Tooltip-Gruppen, Frischegrenze und Anzeige veralteter Cache-Daten |
| Native Ingame-UX | Kompaktes Client-Menü, erreichbar über MaLiLib (Standard Alt+V): Übersicht → Auktionshaus → Markt → Preisalarme → Schutz & Komfort → Shard & Händler → System → Tooltips |
Warum eine eigene Mod?
Es gibt bereits eine OPSUCHT-eigene Client-Mod (im Folgenden „OPMOD"), die viele dieser Funktionen enthält. Visotaris OPMod ist kein direkter Ersatz oder Klon, sondern entstand aus zwei konkreten Gründen:
1. Lizenz und Quelloffenheit
OPMOD wird unter einer All Rights Reserved-Lizenz vertrieben. Quellcode ist
nicht öffentlich zugänglich. Für mich ist Open Source keine bloße Präferenz,
sondern eine Grundüberzeugung: FOSS ist in vielen Ökosystemen wichtig – von
Betriebssystemen über Frameworks bis zu Spielmods. Ich schaue mir auch
nicht-FOSS-Projekte an und schätze sie, aber wenn ich selbst etwas baue, dann
offen und nachvollziehbar.
2. Eigene Kontrolle über die Implementierung
Eine eigene Codebasis erlaubt es, Designentscheidungen selbst zu treffen,
auf Probleme schnell zu reagieren und die Mod ohne Abhängigkeit von der
Entwicklung Dritter weiterzupflegen.
Diese Mod ist keine Kritik an den Entwicklern von OPMOD. Die Entscheidung für eine proprietäre Lizenz ist legitim – jedes Team trifft diese Entscheidung aus eigenen Gründen, und das ist ihr gutes Recht. Visotaris OPMod ist die freie Alternative für alle, denen Quelloffenheit bei Software wichtig ist.
Wie die Analyse erfolgte
Um zu verstehen, welche Funktionen sinnvoll sind und wie OPSUCHT-spezifische Mechaniken funktionieren, wurde OPMOD technisch analysiert. Das Vorgehen war:
- Werkzeuge: Gängige Java-Dekompilier-Werkzeuge (z. B. Vineflower/Fernflower über IntelliJ, Bytecode-Viewer)
- Gegenstand: Ausschließlich Clientlogik – OPMOD liest keine geheimen Serverdaten, sondern wertet sichtbare Chat-, Screen- und Item-Informationen aus sowie öffentliche OPSUCHT-APIs
- Ergebnis: Kein Code wurde übernommen. Die Analyse diente ausschließlich dem Verständnis der Spielmechaniken und der OPSUCHT-Chat-/Screen-Formate
Das vollständige technische Analysedokument liegt unter
docs/OPMOD-Architektur-und-Bauplan.md.
Die Übersicht der direkten Abhängigkeiten und ihrer Lizenzen steht in
docs/DEPENDENCIES.md.
Build
Preisalarme und Tooltip-Einstellungen
Die lokale Web-UX enthält unter /system/price-alerts die Preisalarmverwaltung und
unter /system/settings die Minecraft-Tooltip-Einstellungen. Beide Bereiche verwenden dieselbe lokale Systemanmeldung
wie /system. Alarmregeln werden ausschließlich nach einem erfolgreichen Update des
bereits vorhandenen Markt-Caches ausgewertet. Kaufpreis, Verkaufspreis und Spanne
(buy - sell) können jeweils über oder unter einem Schwellenwert beobachtet werden.
Regeln unterstützen einmalige oder wiederholte Meldungen, Cooldown, erneutes Auslösen
nach Verlassen des Schwellenbereichs sowie Minecraft-HUD, Web-UI (solange geöffnet)
oder beide Kanäle. HUD-Meldungen erscheinen kurzzeitig und nacheinander, ohne den
Minecraft-Chat zu belegen. Alte CHAT-/BOTH-Regeln werden beim Laden unter Erhalt
ihres Zustands auf HUD/HUD_WEB migriert.
Sie führen keine Käufe, Verkäufe, Befehle oder zusätzlichen Markt-/Minecraft-Abfragen aus.
In den Minecraft-Einstellungen lässt sich die Alarmfunktion global an- und ausschalten;
von dort führt ein Button zur Regelverwaltung im lokalen Webinterface. Falls das
Webinterface noch nicht läuft, öffnet der Button zunächst dessen Einrichtung.
Die Zusatzinformationen erscheinen im normalen Minecraft-Item-Tooltip beim Zeigen
auf einen Item-Slot, zusammen mit den regulären Eigenschaften und Verzauberungen.
Off-Hand, dauerhaftes HUD und Container-Gesamtwert sind davon getrennt. Tooltips
lesen weiterhin nur die lokalen Markt- und Händler-Caches. In der Web-UX sind
Kauf-/Verkaufspreis, Händlerwerte, Datenalter und der Umgang mit veralteten Daten
separat konfigurierbar; Shard- und sonstige Händlerkurse lassen sich getrennt schalten. Die TOML-Datei verwendet englische Abschnittsnamen wie
[display], [network], [tooltips] und [priceAlerts]; ältere deutsche Abschnitte
wie [anzeige] und [netzwerk] werden beim Laden übernommen und atomar in die
englischen Namen migriert. Unter POSIX-Systemen wird die Config-Datei mit Modus 0600
geschrieben; unter Windows gelten die ACLs des Konfigurationsordners.
Voraussetzungen: Java 25, Gradle (Wrapper inklusive), Fabric für Minecraft 26.2.
# Auslieferbaren Minecraft-26.x-JAR bauen
./gradlew buildAll
# Erhaltene Service-/API-/Config-Tests auf der 26.x-Plattform
./gradlew :26.x:test
# Nativen Entwicklungsclient mit Mod Menu starten
./gradlew runClient
Der finale JAR liegt in 26.x/build/libs/; buildAll kopiert ihn nach
out/visotaris_opmod-1.2.0-pre.7+mc26.2.jar. Alle Quellen und Tests liegen zentral
unter src/main/ und src/test/. Es gibt keinen aktiven 1.21.11-Buildpfad.
Kotlin + Java
Die Codebasis nutzt beide Sprachen:
- Mixins (
hooks/) → Java (sicherer mit Annotation-Prozessoren) - Services und Datenmodelle → Kotlin bevorzugt
Lizenz
Copyright (C) 2026 DiamantTh
Lizenziert unter der GNU Affero General Public License v3.0 oder später.
Siehe LICENSE.