Перейти к основному содержанию

Classic UI

Classic UI — это мод-библиотека, изменяющая интерфейс блоков из модов на классический. Последняя актуальная версия библиотеки доступна к загрузке в браузере модов.

Список функций

Возвращает изменённый интерфейс:

getWindow(id, window, tile?);

Добавляет интерфейсу ванильные слоты:

addVanillaSlots(strId);

Возвращает конфиг блока:

getConfig(id);

Возвращает настройки темы:

getTheme(id);

Устанавливает конфиг интерфейсу:

registerUiConfig(id, config);

Создаёт тему:

registerTheme(id, theme);

Устанавливает свойства интерфейсу:

setBlockFunctions(id, {
disableVanillaSlots?: boolean,
disableInventory?: boolean,
disableJeiMobile?: boolean, // добавляет Jei-mobile
tabs?: {
left?: [
{
id: number,
icon?: {
id?: number,
count?: number,
data?: number
},
onClick(default_window, config, theme, id) {
return new UI.Window(...);
}
}
],
right?: [
{
id: number,
icon?: {
id?: number,
count?: number,
data?: number
},
onClick(default_window, config, theme, id) {
return new UI.Window(...);
}
}
]
}
});

Возвращает свойства интерфейса:

getBlockFunctions(id);

Возвращает размер интерфейса ClassicUI:

getSizeClassicUi(id, group);

Устанавливает значение конфига по умолчанию:

setConfigDefaultValue(id, name, value);

Добавляет конфиг:

addedConfig(id... аргументы библиотеки RuntimeConfig);

Добавляет прослушиватель на интерфейс:

registerHandler(id, {
preCreate?(group, tile) {

},
postCreate?(group, tile) {

},
updateUi?(group, tile) {

},
onClose?(group, tile) {

},
onOpen?(group, tile) {

}
});

Добавляет прослушиватель на все интерфейсы:

registerAllHandler({
preCreate?(id, group, tile) {

},
postCreate?(id, group, tile) {

},
updateUi?(id, group, tile) {

},
onClose?(id, group, tile) {

},
onOpen?(id, group, tile) {

}
});
requireGlobal(cmd);

Примеры

ModAPI.addAPICallback("ClassicUI", function(api) {
api.registerAllHandler({
onOpen(id, group, tile) {
let setting = api.getBlockFunctions(id);
if (!setting.disableJeiMobile) {
let size = api.getSizeClassicUi(id, group);
Jei.open({
x: size.x + size.width,
line: 6
});
}
},
onClose() {
Jei.close();
}
});
});
ModAPI.addAPICallback("ClassicUI", function(api) {
BackpackUI = api.getWindow("aw_item_backpack", BackpackUI, {});
});
ModAPI.addAPICallback("ClassicUI", function(api) {
api.setBlockFunctions(BlockID.copperChest, {
disableVanillaSlots: false,
disableInventory: true,
disableJeiMobile: true,
tabs: {
left: [
{
id: 1,
icon: {
id: 264
},
onClick(default_window, config, theme, id) {
return api.buildMain(default_window, id, config);
}
}
],
right: [
{
id: 1,
icon: {
id: 263
},
onClick(default_window, config, theme, id) {
return new UI.Window({});
}
},
{
id: 2,
icon: {
id: 264
},
onClick(default_window, config, theme, id) {
return api.buildMain(default_window, id, config);
}
}
]
}
});
});
ModAPI.addAPICallback("ClassicUI", function(api) {
api.registerUiConfig("coal_generator", {
x: 0,
y: 75,
scale: -0.2
});
api.registerUiConfig("oxygen_storage_module", {
x: -25,
y: 50,
scale: -0.2
});

api.registerTheme("Dark_SpacesCraft", {
slot: "_default_slot",
invSlot: "_default_slot",
selected_slot: "_selection",
selected_invSlot: "_selection",
frame: "workbench_frame3",
color_inventory: "#ffffff",
color_title: "#ffffff"
});

api.registerAllHandler({
updateUi(id, window, tile) {
let content = window.getContent();

let config = api.getConfig(id);
let theme = api.getTheme(id);

if (config.theme == "Dark_SpacesCraft") {
for (let key in content.elements) {
let element = content.elements[key];

if (element.bitmap == "SPC.SPC_Canister")
element.bitmap = "SPC_Canister_Dark";

if (element.bitmap == "Others.en_slot")
element.bitmap = "en_slot_dark";

if (element.bitmap == "RocketSlots")
element.bitmap = "RocketSlots_dark";

if (element.bitmap == "trashslot")
element.bitmap = "dark_trashslot";

if (element.bitmap == "ChestableSlot")
element.bitmap = "ChestableSlot_dark";

if (element.bitmap == "Others.O2Slot")
element.bitmap = "O2Slot_dark";
if (element.bitmap == "coalslot")
element.bitmap = "coalslot_dark";

if (element.bitmap == "energy_small_background")
element.bitmap = "energy_small_dark";
if (element.bitmap == "arrow_bar_background")
element.bitmap = "arrow_bar_dark";
}
}
}
});
});