Compare commits

..

11 Commits

Author SHA1 Message Date
Matt e1a77d2e19 tooltips: ItemEvents.tooltip -> ItemEvents.modifyTooltips, 0.22.1 -> 0.22.2
KubeJS 2101.x has ModifyItemTooltipsKubeEvent (the modify-tooltips API);
the older 'tooltip' event name doesn't exist in this version.
2026-05-23 17:37:30 +00:00
Matt 31f7d5428c Merge pull request 'Numismatics: conversion-crib coin tooltips' (#34) from feature/numismatics-tooltips into main 2026-05-23 17:36:03 +00:00
Matt f19e7b187e numismatics: add conversion-crib tooltip to each coin, 0.22.0 -> 0.22.1
Numismatics' x8 uniform chain isn't intuitive. Mod values are
hardcoded so we cant fix the ratios, but we can put the conversion
table directly on each coins tooltip via KubeJS ItemEvents.tooltip.
Players hover any coin -> see how it relates to the others + a hint
to use Bank Teller for on-the-fly conversion.

~25 lines, ItemEvents.tooltip hot path is cached per item-id so no
performance concern.
2026-05-23 17:36:02 +00:00
Matt f3134d23c4 Merge pull request 'Add Configured 2.6.3 (CurseForge)' (#33) from feature/add-configured into main 2026-05-23 17:30:53 +00:00
Matt f72be58c6a pack: add MrCrayfish's Configured 2.6.3 (CurseForge), bump to 0.22.0
Configured is the in-game config GUI library JEI suggests when you
press its wrench icon (and the same library a bunch of other mods use
for their config screens). CurseForge-only (not on Modrinth) so we
add as source: curseforge -- following the same pattern as the FTB
mods already in the lockfile.

Tagged side=client because Configured is purely a client-side config
UI provider; the server doesn't need it. Server-side filter will skip
it on sync.

Filename gotcha noted for future CF adds: the CF web page shows the
mod with a friendly name like 'Configured 2.6.3.jar', but the actual
file on mediafilez.forgecdn.net is named 'configured-neoforge-1.21.1
-2.6.3.jar'. Use the CDN filename in the URL, not the web display
name.
2026-05-23 17:30:52 +00:00
Matt 8e816bc067 Merge pull request 'launcher: record 0.4.10 version bump' (#32) from chore/launcher-version-0.4.10 into main 2026-05-23 17:06:30 +00:00
Matt f757c2d31c launcher: record version bump to 0.4.10
The 0.4.10 build was already deployed (replacing the broken 0.4.9 that
shipped without launcher-config.json embedded). This commit just makes
the repo match what's live so a future 'git status' isn't dirty.
2026-05-23 17:06:30 +00:00
Matt 804d085e36 Merge pull request 'rpo: add required:true to force-enable CC pack' (#31) from feature/rpo-required-true into main 2026-05-23 17:05:53 +00:00
Matt 05e700cfc7 rpo: try 'required: true' to force-enable CC ReCreated, 0.21.2 -> 0.21.3
Players with an existing options.txt (i.e. anyone who has launched MC
once) don't get the 'default_packs' applied -- RPO only treats those as
defaults for fresh installs.

Adding 'required: true' to the override entry on the assumption that
the field forces the pack to be enabled on every launch regardless of
player choice. Decompiled the jar for string constants and 'required'
appears alongside 'force_compatible' as a known key.

If the field name is wrong RPO will silently ignore it -- no harm, easy
iteration.
2026-05-23 17:05:52 +00:00
Matt a139196f77 Merge pull request 'launcher: EnableWindowsTargeting for Linux builds' (#30) from feature/cross-compile-launcher-from-linux into main 2026-05-23 16:40:24 +00:00
Matt 4315696136 launcher: add EnableWindowsTargeting for cross-compile from Linux
Microsoft.NET.Sdk.WindowsDesktop emits NETSDK1100 when a Windows-
targeting project is built from a non-Windows host. Setting
EnableWindowsTargeting=true opts in to the cross-compile path, which
works on Linux as long as the WindowsDesktop SDK files are present.

On glados they were copied from a Windows .NET 8 SDK archive into
/usr/lib/dotnet/sdk/8.0.126/Sdks/Microsoft.NET.Sdk.WindowsDesktop/
and /usr/lib/dotnet/packs/Microsoft.WindowsDesktop.App.Ref/. This is
a one-time setup per Linux host -- see the bridge-claude memory note.

No-op on Windows hosts (the flag has no effect when the SDK is native).
Both PC builds and glados builds now produce the same output.
2026-05-23 16:40:23 +00:00
4 changed files with 44 additions and 3 deletions
+6 -1
View File
@@ -4,13 +4,18 @@
<!-- net8.0-windows is required for the XboxAuthNet WebView2 OAuth flow: <!-- net8.0-windows is required for the XboxAuthNet WebView2 OAuth flow:
the netstandard2.0 build of XboxAuthNet has no WebUI implementation. --> the netstandard2.0 build of XboxAuthNet has no WebUI implementation. -->
<TargetFramework>net8.0-windows</TargetFramework> <TargetFramework>net8.0-windows</TargetFramework>
<!-- Allow building this Windows-targeting project from Linux/macOS hosts.
No-op on Windows. Requires the WindowsDesktop SDK files to be
present in the local .NET install (on glados copied from the
Windows .NET 8 SDK archive into /usr/lib/dotnet/). -->
<EnableWindowsTargeting>true</EnableWindowsTargeting>
<UseWindowsForms>true</UseWindowsForms> <UseWindowsForms>true</UseWindowsForms>
<Nullable>enable</Nullable> <Nullable>enable</Nullable>
<ApplicationManifest>app.manifest</ApplicationManifest> <ApplicationManifest>app.manifest</ApplicationManifest>
<AvaloniaUseCompiledBindingsByDefault>true</AvaloniaUseCompiledBindingsByDefault> <AvaloniaUseCompiledBindingsByDefault>true</AvaloniaUseCompiledBindingsByDefault>
<RootNamespace>ModpackLauncher</RootNamespace> <RootNamespace>ModpackLauncher</RootNamespace>
<AssemblyName>ModpackLauncher</AssemblyName> <AssemblyName>ModpackLauncher</AssemblyName>
<Version>0.4.9</Version> <Version>0.4.10</Version>
<ApplicationIcon Condition="Exists('Assets\icon.ico')">Assets\icon.ico</ApplicationIcon> <ApplicationIcon Condition="Exists('Assets\icon.ico')">Assets\icon.ico</ApplicationIcon>
<!-- Single-file self-contained publish defaults (Windows-only now due to WebView2) --> <!-- Single-file self-contained publish defaults (Windows-only now due to WebView2) -->
@@ -5,7 +5,8 @@
"default_overrides": [ "default_overrides": [
{ {
"id": "file/Computer Craft Recreated v1.2.zip", "id": "file/Computer Craft Recreated v1.2.zip",
"default_position": "TOP" "default_position": "TOP",
"required": true
} }
] ]
} }
@@ -0,0 +1,24 @@
// Brass & Sigil — Numismatics coin tooltip helper
//
// Numismatics' uniform x8 denomination chain (spur=1, bevel=8, cog=64,
// crown=512, sun=4096) isn't intuitive at a glance -- people expect
// real-world ratios like 1p/10p/20p/50p/£1. Mod values are hardcoded,
// so the next-best thing is putting the conversion crib right on each
// coin's tooltip.
//
// Players hover any coin and instantly see how it relates to the other
// denominations + a reminder that Bank Teller blocks convert on demand.
const CRIBS = {
'numismatics:spur': [ '= 1 Spur (base unit)', 'Bank Teller block converts.' ],
'numismatics:bevel': [ '= 8 Spurs', 'Bank Teller block converts.' ],
'numismatics:cog': [ '= 64 Spurs (8 Bevels)', 'Bank Teller block converts.' ],
'numismatics:crown': [ '= 512 Spurs (8 Cogs, 64 Bevels)', 'Bank Teller block converts.' ],
'numismatics:sun': [ '= 4096 Spurs (8 Crowns)', 'Bank Teller block converts.' ],
};
ItemEvents.modifyTooltips(event => {
for (const id in CRIBS) {
event.add(id, CRIBS[id].map(line => Text.aqua(line)));
}
});
+12 -1
View File
@@ -1,7 +1,7 @@
{ {
"$schema": "Brass-and-Sigil pack.lock.json - generated, do not edit by hand unless you know what you are doing", "$schema": "Brass-and-Sigil pack.lock.json - generated, do not edit by hand unless you know what you are doing",
"name": "Brass and Sigil", "name": "Brass and Sigil",
"version": "0.21.2", "version": "0.22.2",
"minecraft": "1.21.1", "minecraft": "1.21.1",
"loader": { "loader": {
"type": "neoforge", "type": "neoforge",
@@ -569,6 +569,17 @@
"sha1": "42dddb70cc645a864596439ea95bd56e7a5561ed", "sha1": "42dddb70cc645a864596439ea95bd56e7a5561ed",
"size": 83035, "size": 83035,
"side": "client" "side": "client"
},
{
"source": "curseforge",
"slug": "configured",
"fileId": "7276577",
"version": "2.6.3",
"path": "mods/configured-neoforge-1.21.1-2.6.3.jar",
"url": "https://mediafilez.forgecdn.net/files/7276/577/configured-neoforge-1.21.1-2.6.3.jar",
"sha1": "e977d86eec39d49295df4e2c4265d6710ae065e8",
"size": 428793,
"side": "client"
} }
], ],
"defaultServer": { "defaultServer": {