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:
@@ -42,12 +42,17 @@ const COIN_ITEMS = [
|
||||
'numismatics:sun',
|
||||
];
|
||||
|
||||
// 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.
|
||||
function hideQuietly(event, id) {
|
||||
try { event.hide(id); } catch (e) {}
|
||||
}
|
||||
|
||||
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.
|
||||
}
|
||||
// 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);
|
||||
});
|
||||
});
|
||||
|
||||
Reference in New Issue
Block a user