jei_hides: use .concat instead of array-spread (Rhino compat). 0.21.0 -> 0.21.1.

KubeJS uses Rhino as its JS engine, which doesn't support array-spread
syntax (`[...a, ...b]`). The line `[...WAYSTONE_ITEMS, ...COIN_ITEMS]
.forEach(...)` threw EvaluatorException: syntax error at jei_hides.js:46
on client launch, surfacing the KubeJS client script errors dialog.

Fix: use Array.prototype.concat() which is universal JS. Also extracted
the hide-quietly helper into a named function for readability.
This commit is contained in:
2026-05-23 16:18:50 +00:00
parent ae061a5035
commit d5fd2c97e9
2 changed files with 12 additions and 7 deletions
@@ -42,12 +42,17 @@ const COIN_ITEMS = [
'numismatics:sun',
];
JEIEvents.hideItems(event => {
[...WAYSTONE_ITEMS, ...COIN_ITEMS].forEach(id => {
try { event.hide(id); } catch (e) {
// Some IDs may not exist (e.g. base 'waystones:sharestone' isn't
// registered if only colored variants are). Swallow per-item
// failures so one bad id doesn't break the whole pass.
// registered if only colored variants are). Swallow per-item failures
// so one bad id doesn't break the whole pass.
function hideQuietly(event, id) {
try { event.hide(id); } catch (e) {}
}
JEIEvents.hideItems(event => {
// KubeJS uses Rhino, which doesn't support array-spread syntax
// (`[...a, ...b]`). Use .concat() for cross-engine safety.
WAYSTONE_ITEMS.concat(COIN_ITEMS).forEach(function(id) {
hideQuietly(event, id);
});
});
+1 -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",
"name": "Brass and Sigil",
"version": "0.21.0",
"version": "0.21.1",
"minecraft": "1.21.1",
"loader": {
"type": "neoforge",