Compare commits
11 Commits
31f7d5428c
...
42bec33aa1
| Author | SHA1 | Date | |
|---|---|---|---|
| 42bec33aa1 | |||
| 0d74c9ef97 | |||
| a41ae52d9b | |||
| 59d50c9ee6 | |||
| b85eef04bd | |||
| 179486bd2c | |||
| fad867976f | |||
| 858fa690ba | |||
| 135ecf4a5a | |||
| 5813c7555e | |||
| e1a77d2e19 |
@@ -1,24 +1,22 @@
|
||||
// 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.
|
||||
// Numismatics ships its own "Value: N spurs" tooltip on each coin --
|
||||
// don't duplicate that. The one piece players need that ISN'T there is:
|
||||
// where do I convert these? Answer: Bank Teller block. Add that hint
|
||||
// to each of the 6 coin denominations (spur, bevel, sprocket, cog,
|
||||
// crown, sun -- including sprocket which we missed in v0.22.1).
|
||||
|
||||
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.' ],
|
||||
};
|
||||
const COIN_IDS = [
|
||||
'numismatics:spur',
|
||||
'numismatics:bevel',
|
||||
'numismatics:sprocket',
|
||||
'numismatics:cog',
|
||||
'numismatics:crown',
|
||||
'numismatics:sun',
|
||||
];
|
||||
|
||||
ItemEvents.tooltip(event => {
|
||||
for (const id in CRIBS) {
|
||||
event.add(id, CRIBS[id].map(line => Text.aqua(line)));
|
||||
}
|
||||
ItemEvents.modifyTooltips(event => {
|
||||
COIN_IDS.forEach(function(id) {
|
||||
event.add(id, Text.aqua('Right-click a Bank Teller block to convert denominations.'));
|
||||
});
|
||||
});
|
||||
|
||||
@@ -64,15 +64,18 @@ const PLOT_DEFS = new Map([
|
||||
const REFUND_FRACTION = 0.5; // released plots refund 50% of purchase price
|
||||
|
||||
// ─── Numismatics coin handling ────────────────────────────────────────
|
||||
// Authoritative values from in-game tooltips (verified by user 2026-05-23).
|
||||
// Chain is NON-uniform (x8, x2, x4, x8, x8) -- don't assume otherwise.
|
||||
const COIN_VALUES = {
|
||||
'numismatics:spur': 1,
|
||||
'numismatics:bevel': 8,
|
||||
'numismatics:cog': 64,
|
||||
'numismatics:crown': 512,
|
||||
'numismatics:sun': 4096,
|
||||
'numismatics:spur': 1,
|
||||
'numismatics:bevel': 8,
|
||||
'numismatics:sprocket': 16,
|
||||
'numismatics:cog': 64,
|
||||
'numismatics:crown': 512,
|
||||
'numismatics:sun': 4096,
|
||||
};
|
||||
const DENOMS_DESC = ['numismatics:sun', 'numismatics:crown', 'numismatics:cog',
|
||||
'numismatics:bevel', 'numismatics:spur'];
|
||||
'numismatics:sprocket', 'numismatics:bevel', 'numismatics:spur'];
|
||||
|
||||
function countCoins(player) {
|
||||
let total = 0;
|
||||
|
||||
+111
-1
@@ -1,7 +1,7 @@
|
||||
{
|
||||
"$schema": "Brass-and-Sigil pack.lock.json - generated, do not edit by hand unless you know what you are doing",
|
||||
"name": "Brass and Sigil",
|
||||
"version": "0.22.1",
|
||||
"version": "0.23.0",
|
||||
"minecraft": "1.21.1",
|
||||
"loader": {
|
||||
"type": "neoforge",
|
||||
@@ -580,6 +580,116 @@
|
||||
"sha1": "e977d86eec39d49295df4e2c4265d6710ae065e8",
|
||||
"size": 428793,
|
||||
"side": "client"
|
||||
},
|
||||
{
|
||||
"source": "modrinth",
|
||||
"slug": "macaws-roofs",
|
||||
"versionId": "jiXRXiSt",
|
||||
"version": "2.3.2",
|
||||
"path": "mods/mcw-roofs-2.3.2-mc1.21.1neoforge.jar",
|
||||
"url": "https://cdn.modrinth.com/data/B8jaH3P1/versions/jiXRXiSt/mcw-roofs-2.3.2-mc1.21.1neoforge.jar",
|
||||
"sha1": "05806ff152e739ea0c5db86dabd9caf0cfa55b9d",
|
||||
"size": 1784829,
|
||||
"side": "both"
|
||||
},
|
||||
{
|
||||
"source": "modrinth",
|
||||
"slug": "macaws-paths-and-pavings",
|
||||
"versionId": "tlymsxUG",
|
||||
"version": "1.1.1",
|
||||
"path": "mods/mcw-mcwpaths-1.1.1-mc1.21.1neoforge.jar",
|
||||
"url": "https://cdn.modrinth.com/data/VRLhWB91/versions/tlymsxUG/mcw-mcwpaths-1.1.1-mc1.21.1neoforge.jar",
|
||||
"sha1": "4bb7e1d28e8b3b5d3a3eaf5e0d3bcc62d1ab57f1",
|
||||
"size": 777742,
|
||||
"side": "both"
|
||||
},
|
||||
{
|
||||
"source": "modrinth",
|
||||
"slug": "macaws-bridges",
|
||||
"versionId": "aQ7rY7ng",
|
||||
"version": "3.1.2",
|
||||
"path": "mods/mcw-bridges-3.1.2-mc1.21.1neoforge.jar",
|
||||
"url": "https://cdn.modrinth.com/data/GURcjz8O/versions/aQ7rY7ng/mcw-bridges-3.1.2-mc1.21.1neoforge.jar",
|
||||
"sha1": "71ece28129789a2123cf07e79938f488d8675bb2",
|
||||
"size": 661387,
|
||||
"side": "both"
|
||||
},
|
||||
{
|
||||
"source": "modrinth",
|
||||
"slug": "macaws-lights-and-lamps",
|
||||
"versionId": "5U2kQZIL",
|
||||
"version": "1.1.5",
|
||||
"path": "mods/mcw-lights-1.1.5-mc1.21.1neoforge.jar",
|
||||
"url": "https://cdn.modrinth.com/data/w4an97C2/versions/5U2kQZIL/mcw-lights-1.1.5-mc1.21.1neoforge.jar",
|
||||
"sha1": "13c1107caf26b2c60d8626b3658b26cc7f634b38",
|
||||
"size": 525744,
|
||||
"side": "both"
|
||||
},
|
||||
{
|
||||
"source": "modrinth",
|
||||
"slug": "supplementaries",
|
||||
"versionId": "4XwZg5Dq",
|
||||
"version": "1.21.1-3.6.5",
|
||||
"path": "mods/supplementaries-neoforge-1.21.1-3.6.5.jar",
|
||||
"url": "https://cdn.modrinth.com/data/fFEIiSDQ/versions/4XwZg5Dq/supplementaries-neoforge-1.21.1-3.6.5.jar",
|
||||
"sha1": "3ed53e2480eea26271f10eff7777feff4af3c415",
|
||||
"size": 13304373,
|
||||
"side": "both"
|
||||
},
|
||||
{
|
||||
"source": "modrinth",
|
||||
"slug": "macaws-windows",
|
||||
"versionId": "rQUE4LCz",
|
||||
"version": "2.4.2",
|
||||
"path": "mods/mcw-mcwwindows-2.4.2-mc1.21.1neoforge.jar",
|
||||
"url": "https://cdn.modrinth.com/data/C7I0BCni/versions/rQUE4LCz/mcw-mcwwindows-2.4.2-mc1.21.1neoforge.jar",
|
||||
"sha1": "eb1d3c118acb450cc2fe14c2ce7ce247a1bca60c",
|
||||
"size": 1261268,
|
||||
"side": "both"
|
||||
},
|
||||
{
|
||||
"source": "modrinth",
|
||||
"slug": "macaws-doors",
|
||||
"versionId": "u7BRX44F",
|
||||
"version": "1.1.5",
|
||||
"path": "mods/mcw-doors-1.1.5-mc1.21.1neoforge.jar",
|
||||
"url": "https://cdn.modrinth.com/data/kNxa8z3e/versions/u7BRX44F/mcw-doors-1.1.5-mc1.21.1neoforge.jar",
|
||||
"sha1": "c127904f23db1a641dd9e065ec51c5c177cb4cd7",
|
||||
"size": 1190404,
|
||||
"side": "both"
|
||||
},
|
||||
{
|
||||
"source": "modrinth",
|
||||
"slug": "create-deco",
|
||||
"versionId": "qrcMVoBD",
|
||||
"version": "2.1.3",
|
||||
"path": "mods/createdeco-2.1.3.jar",
|
||||
"url": "https://cdn.modrinth.com/data/sMvUb4Rb/versions/qrcMVoBD/createdeco-2.1.3.jar",
|
||||
"sha1": "93d9eff58b46c6953e907d071e6be4e3ce07be38",
|
||||
"size": 3328498,
|
||||
"side": "both"
|
||||
},
|
||||
{
|
||||
"source": "modrinth",
|
||||
"slug": "effortless-building",
|
||||
"versionId": "cWLJgpqR",
|
||||
"version": "4.1",
|
||||
"path": "mods/effortlessbuilding-4.1+1.21.1.jar",
|
||||
"url": "https://cdn.modrinth.com/data/DYtfQEYj/versions/cWLJgpqR/effortlessbuilding-4.1%2B1.21.1.jar",
|
||||
"sha1": "10188c088c3e32d21275fd02d1aa31ffb6dd9f86",
|
||||
"size": 810119,
|
||||
"side": "both"
|
||||
},
|
||||
{
|
||||
"source": "modrinth",
|
||||
"slug": "moonlight",
|
||||
"versionId": "er7S98Q1",
|
||||
"version": "1.21.1-3.0.14",
|
||||
"path": "mods/moonlight-neoforge-1.21.1-3.0.14.jar",
|
||||
"url": "https://cdn.modrinth.com/data/twkfQtEc/versions/er7S98Q1/moonlight-neoforge-1.21.1-3.0.14.jar",
|
||||
"sha1": "a865d9a00a595038d35b908c42565930189be68a",
|
||||
"size": 1578765,
|
||||
"side": "both"
|
||||
}
|
||||
],
|
||||
"defaultServer": {
|
||||
|
||||
+15
-2
@@ -107,14 +107,27 @@ if ($LocalPackSource -and (Test-Path $LocalPackSource)) {
|
||||
Get-ChildItem -Path $rootDir -Recurse -File | ForEach-Object {
|
||||
$rel = $_.FullName.Substring($sourceFull.Length).TrimStart('\','/') -replace '\\','/'
|
||||
$sha1 = (Get-FileHash -Algorithm SHA1 -Path $_.FullName).Hash.ToLowerInvariant()
|
||||
$files += [pscustomobject]@{
|
||||
|
||||
# Tweak jars (built by Build-Tweaks.ps1 into pack/overrides/mods/)
|
||||
# are pure data-only NeoForge mods -- worldgen modifiers, recipe
|
||||
# overrides, etc. They typically depend on server-only libraries
|
||||
# (Lithostitched, etc.) and have no client-side rendering. Default
|
||||
# them to side="server" so the client doesn't try to load them
|
||||
# without their server-only deps -> the loader otherwise refuses to
|
||||
# start with "Mod X requires Y or above" errors. If a future tweak
|
||||
# is genuinely client-relevant, override by editing this rule.
|
||||
$entry = [ordered]@{
|
||||
path = $rel
|
||||
url = "$base/$rel"
|
||||
sha1 = $sha1
|
||||
size = $_.Length
|
||||
}
|
||||
if ($root -eq 'mods') { $entry.side = 'server' }
|
||||
|
||||
$files += [pscustomobject]$entry
|
||||
$totalBytes += $_.Length
|
||||
Write-Host (" [local] {0}" -f $rel)
|
||||
$sideTag = if ($entry.side) { " [$($entry.side)]" } else { '' }
|
||||
Write-Host (" [local] {0}{1}" -f $rel, $sideTag)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user