Skip to content

Commit 7ca0d34

Browse files
committed
feat: Upgrade to 1.21.10 with modernized WebUI and complete settings support
Upgrade to Meteor Client 1.21.10-32: - Updated Minecraft version from 1.21.8 to 1.21.10 - Updated Fabric Loader from 0.16.14 to 0.17.3 - Replaced meteor-client JAR in libs/ directory - Updated fabric-loom plugin to 1.12-SNAPSHOT - Bumped gradle memory allocation to 4G - Updated documentation (CLAUDE.md, README.md, QUICKSTART.md, ARCHITECTURE.md) WebUI modernization and UX improvements: - Redesigned module cards with clickable card toggle and centered layout - Added compact card variant (ModuleCardCompact.vue) with density switcher - Implemented consistent theming with new color variables (surface-1/2/3) - Standardized button styles (.btn, .btn-primary, .btn-ghost) with fixed height - Enhanced visual hierarchy: improved shadows, borders, and transitions - Fixed favorite icon sizing and positioning - Made dialog headers sticky with proper z-index layering - Improved accessibility with keyboard navigation support Complete settings type support: - Extended SettingsReflector to handle all Meteor setting types - Added comprehensive serialization for keybinds, fonts, potions, registry values - Implemented potion metadata extraction (MyPotion with status effects) - Added centralized type converters for blocks, items, potions, fonts - Created dedicated setting components: - KeybindSetting.vue (key combination display) - FontFaceSetting.vue (font family/style selector) - PotionSetting.vue (potion dropdown with effects metadata) - RegistryValueSetting.vue (generic registry ID selector) Registry and protocol enhancements: - Added potion registry endpoint to RegistryProvider - Extended WebSocket protocol to serve potion options with namespace grouping - Implemented registry filters and search in GenericListSetting - Added support for rainbow colors in color settings - Fixed color serialization to include alpha channel Bug fixes and polish: - Resolved API compatibility issues from Minecraft version bump - Fixed module card hover states and active indicators - Corrected dialog layout issues (scrolling, spacing) - Improved color picker contrast and visibility - Enhanced list editor UX with better spacing and controls
1 parent 2c790a6 commit 7ca0d34

30 files changed

Lines changed: 2242 additions & 1033 deletions

CLAUDE.md

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -182,9 +182,9 @@ webui/src/
182182
## Dependencies
183183

184184
### Java (build.gradle.kts)
185-
- **Minecraft**: 1.21.8
186-
- **Fabric Loader**: 0.16.14
187-
- **Meteor Client**: 1.21.8-56 (local JAR in `libs/`)
185+
- **Minecraft**: 1.21.10
186+
- **Fabric Loader**: 0.17.3
187+
- **Meteor Client**: 1.21.10-32 (local JAR in `libs/`)
188188
- **Java-WebSocket**: 1.5.7 (for WebSocket server)
189189
- **Gson**: 2.11.0 (for JSON serialization)
190190

@@ -266,7 +266,7 @@ See `ai_docs/ARCHITECTURE.md` Phase 3-5 for planned features.
266266
## Troubleshooting Tips
267267

268268
### "Cannot find Meteor classes" compilation error
269-
- Ensure `libs/meteor-client-1.21.8-56.jar` exists
269+
- Ensure `libs/meteor-client-1.21.10-32.jar` exists
270270
- Run `./gradlew clean build`
271271

272272
### WebSocket connection fails

QUICKSTART.md

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -3,9 +3,9 @@
33
## Prerequisites
44
- Java 21+
55
- Node.js 18+ (for WebUI development)
6-
- Minecraft 1.21.8
7-
- Fabric Loader 0.16.14+
8-
- Meteor Client 1.21.8-56
6+
- Minecraft 1.21.10
7+
- Fabric Loader 0.17.3+
8+
- Meteor Client 1.21.10-32
99

1010
## Step 1: Build the Addon (if not already built)
1111

@@ -19,7 +19,7 @@ The JAR will be at: `build/libs/meteor-webgui-0.1.0.jar`
1919
## Step 2: Install to Minecraft
2020

2121
1. Copy `build/libs/meteor-webgui-0.1.0.jar` to `.minecraft/mods/`
22-
2. Copy `libs/meteor-client-1.21.8-56.jar` to `.minecraft/mods/` (if not already there)
22+
2. Copy `libs/meteor-client-1.21.10-32.jar` to `.minecraft/mods/` (if not already there)
2323
3. Ensure Fabric Loader is installed
2424

2525
## Step 3: Launch Minecraft

README.md

Lines changed: 6 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -5,9 +5,9 @@
55

66
<p align="center">
77
<img src="https://img.shields.io/badge/Status-Preview-purple?style=for-the-badge">
8-
<img src="https://img.shields.io/badge/Minecraft-1.21.8-0ea5e9?style=for-the-badge">
9-
<img src="https://img.shields.io/badge/Fabric%20Loader-0.16.14+-f59e0b?style=for-the-badge">
10-
<img src="https://img.shields.io/badge/Meteor%20Client-1.21.8--56-ec4899?style=for-the-badge">
8+
<img src="https://img.shields.io/badge/Minecraft-1.21.10-0ea5e9?style=for-the-badge">
9+
<img src="https://img.shields.io/badge/Fabric%20Loader-0.17.3+-f59e0b?style=for-the-badge">
10+
<img src="https://img.shields.io/badge/Meteor%20Client-1.21.10--32-ec4899?style=for-the-badge">
1111
</p>
1212

1313

@@ -56,8 +56,8 @@
5656
### 1. Requirements
5757
- Java 21+
5858
- Node.js 18+ (only for web UI development)
59-
- Minecraft 1.21.8 with Fabric Loader 0.16.14+
60-
- Meteor Client 1.21.8-56
59+
- Minecraft 1.21.10 with Fabric Loader 0.17.3+
60+
- Meteor Client 1.21.10-32
6161

6262
### 2. Build the addon (bundles the WebUI)
6363

@@ -69,7 +69,7 @@ The jar is created at `build/libs/meteor-webgui-0.1.0.jar`. This task also runs
6969

7070
### 3. Install into Minecraft
7171
1. Copy `build/libs/meteor-webgui-0.1.0.jar` to `.minecraft/mods/`.
72-
2. Copy `libs/meteor-client-1.21.8-56.jar` beside it (ensure Fabric Loader is installed).
72+
2. Copy `libs/meteor-client-1.21.10-32.jar` beside it (ensure Fabric Loader is installed).
7373
3. Launch Minecraft with your Fabric profile.
7474

7575
### 4. Start the WebGUI server in-game
@@ -112,4 +112,3 @@ The jar is created at `build/libs/meteor-webgui-0.1.0.jar`. This task also runs
112112
- `npm run dev` – Hot-reload development server on port 3000 (with `/ws` proxying).
113113
- `npm run build` – Generates the static bundle consumed by Gradle.
114114
- `npm run preview` – Serve the production bundle locally for smoke tests.
115-

ai_docs/ARCHITECTURE.md

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -10,9 +10,9 @@ A web-based GUI addon for Meteor Client featuring:
1010
## Technology Stack
1111

1212
### Backend (Java Addon)
13-
- **Minecraft Version**: 1.21.8
14-
- **Fabric Loader**: 0.16.14
15-
- **Meteor Client**: 1.21.8-56
13+
- **Minecraft Version**: 1.21.10
14+
- **Fabric Loader**: 0.17.3
15+
- **Meteor Client**: 1.21.10-32
1616
- **WebSocket Library**: Java-WebSocket 1.5.7
1717
- **JSON Library**: Gson 2.11.0
1818

ai_docs/TESTING_CHECKLIST.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -56,7 +56,7 @@ cd C:\Users\Cope\Documents\GitHub\meteor-client-webgui
5656

5757
### Step 2: Install Mod
5858
- [ ] Copy JAR to `.minecraft/mods/`
59-
- [ ] Copy `libs/meteor-client-1.21.8-56.jar` to `.minecraft/mods/`
59+
- [ ] Copy `libs/meteor-client-1.21.10-32.jar` to `.minecraft/mods/`
6060
- [ ] Fabric Loader installed
6161

6262
### Step 3: Launch Minecraft

build.gradle.kts

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
plugins {
2-
id("fabric-loom") version "1.11-SNAPSHOT"
2+
id("fabric-loom") version "1.12-SNAPSHOT"
33
}
44

55
base {
@@ -32,6 +32,9 @@ dependencies {
3232
// Meteor - using local JAR for consistent version
3333
modImplementation(files("libs/meteor-client-${properties["meteor_version"] as String}.jar"))
3434

35+
// Compile-time access to Orbit event bus (provided by Meteor at runtime)
36+
compileOnly("meteordevelopment:orbit:0.2.4")
37+
3538
// NanoHTTPD for HTTP server and WebSocket support
3639
modImplementation("org.nanohttpd:nanohttpd:2.3.1")!!.let { include(it) }
3740
modImplementation("org.nanohttpd:nanohttpd-websocket:2.3.1")!!.let { include(it) }

gradle.properties

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,15 +1,15 @@
1-
org.gradle.jvmargs=-Xmx2G
2-
org.gradle.configuration-cache=true
1+
org.gradle.jvmargs=-Xmx4G
2+
org.gradle.configuration-cache=false
33

44
# Fabric Properties (https://fabricmc.net/develop)
5-
minecraft_version=1.21.8
6-
yarn_mappings=1.21.8+build.1
7-
loader_version=0.16.14
5+
minecraft_version=1.21.10
6+
yarn_mappings=1.21.10+build.2
7+
loader_version=0.17.3
88

99
# Mod Properties
1010
mod_version=0.1.0
1111
maven_group=com.cope.meteorwebgui
1212
archives_base_name=meteor-webgui
1313

1414
# Dependencies
15-
meteor_version=1.21.8-56
15+
meteor_version=1.21.10-32

libs/meteor-client-1.21.10-32.jar

4.45 MB
Binary file not shown.

src/main/java/com/cope/meteorwebgui/mapping/RegistryProvider.java

Lines changed: 19 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -4,13 +4,11 @@
44
import com.google.gson.JsonObject;
55
import meteordevelopment.meteorclient.systems.modules.Module;
66
import meteordevelopment.meteorclient.systems.modules.Modules;
7-
import net.minecraft.block.Block;
87
import net.minecraft.entity.EntityType;
98
import net.minecraft.entity.effect.StatusEffect;
109
import net.minecraft.item.Item;
11-
import net.minecraft.item.ItemGroup;
10+
import net.minecraft.potion.Potion;
1211
import net.minecraft.registry.Registries;
13-
import net.minecraft.registry.RegistryKey;
1412
import net.minecraft.util.Identifier;
1513

1614
import java.util.HashMap;
@@ -79,6 +77,23 @@ public static JsonObject getAllItems() {
7977
return result;
8078
}
8179

80+
/**
81+
* Get all potions with namespace metadata
82+
*/
83+
public static JsonArray getAllPotions() {
84+
JsonArray potions = new JsonArray();
85+
86+
Registries.POTION.getEntrySet().forEach(entry -> {
87+
Identifier id = entry.getKey().getValue();
88+
JsonObject potionObj = new JsonObject();
89+
potionObj.addProperty("id", id.toString());
90+
potionObj.addProperty("namespace", id.getNamespace());
91+
potions.add(potionObj);
92+
});
93+
94+
return potions;
95+
}
96+
8297
/**
8398
* Get all entity types organized by namespace
8499
*/
@@ -157,6 +172,7 @@ public static JsonObject getAllRegistries() {
157172
registries.add("items", getAllItems());
158173
registries.add("entities", getAllEntityTypes());
159174
registries.add("statusEffects", getAllStatusEffects());
175+
registries.add("potions", getAllPotions());
160176
registries.add("modules", getAllModules());
161177
return registries;
162178
}

0 commit comments

Comments
 (0)