65 lines
2.3 KiB
JavaScript
65 lines
2.3 KiB
JavaScript
global.translatableWithFallback = (key, fallback) => {
|
|
if(!fallback) return Text.translatable(key);
|
|
else return Text.of(NBT.stringTag(`{"translate":"${key}", "fallback":"${fallback}"}`));
|
|
}
|
|
|
|
global.getTranslatedEntityName = (entity_id, fallback) => {
|
|
return global.translatableWithFallback(`entity.${entity_id.namespace}.${entity_id.path}`, fallback)
|
|
}
|
|
|
|
global.getTranslatedItemName = (item_id, fallback) => {
|
|
return global.translatableWithFallback(`item.${item_id.namespace}.${item_id.path}`, fallback)
|
|
}
|
|
|
|
global.getTranslatedTextWithColorCode = (colorCode, key) => {
|
|
switch(colorCode) {
|
|
case "0":
|
|
return Text.translatable(key).black();
|
|
case "1":
|
|
return Text.translatable(key).darkBlue();
|
|
case "2":
|
|
return Text.translatable(key).darkGreen();
|
|
case "3":
|
|
return Text.translatable(key).darkAqua();
|
|
case "4":
|
|
return Text.translatable(key).darkRed();
|
|
case "5":
|
|
return Text.translatable(key).darkPurple();
|
|
case "6":
|
|
return Text.translatable(key).gold();
|
|
case "7":
|
|
return Text.translatable(key).gray();
|
|
case "8":
|
|
return Text.translatable(key).darkGray();
|
|
case "9":
|
|
return Text.translatable(key).blue();
|
|
case "a":
|
|
return Text.translatable(key).green();
|
|
case "b":
|
|
return Text.translatable(key).aqua();
|
|
case "c":
|
|
return Text.translatable(key).red();
|
|
case "d":
|
|
return Text.translatable(key).lightPurple();
|
|
case "e":
|
|
return Text.translatable(key).yellow();
|
|
case "f":
|
|
return Text.translatable(key).white();
|
|
default:
|
|
return Text.translatable(key);
|
|
}
|
|
}
|
|
|
|
global.getNotePaperItem = (author, text, title) => {
|
|
// I want to check argument type and process it,
|
|
// but I'm not sure how does instanceof work in runtime.
|
|
// So, This method takes 3 strings.
|
|
return Item.of(
|
|
"candlelight:note_paper_written",
|
|
`{author:"${author}",text:['${text}'],title:"${title}"}`
|
|
)
|
|
}
|
|
|
|
global.getEmbersTextAPICommand = (target, design, duration, text) => {
|
|
return `emberstextapi sendcustom ${target} ${design} ${duration} ${text}`
|
|
} |