Внимание! Вы не авторизовались на сайте. Ваш IP-адрес будет публично видимым, если вы будете вносить любые правки. Если вы войдёте или создадите учётную запись, правки вместо этого будут связаны с вашим именем пользователя, а также у вас появятся другие преимущества.
Текущая версия | Ваш текст | ||
Строка 1: | Строка 1: | ||
− | + | <div class="mw-parser-output"><div class="mw-parser-output"><div class="b-pageLayout b-pageLayout__xs" data-layout="xs" id="pageLayout"><div class="b-pageContent m-pageContent__withoutLeft m-pageContent__withoutRight" id="pageContent"> | |
Кроме создания простейших блоков и предметов, Core Engine позволяет настраивать их и добавлять различные события для конкретного блока или предмета. | Кроме создания простейших блоков и предметов, Core Engine позволяет настраивать их и добавлять различные события для конкретного блока или предмета. | ||
− | + | ||
<div class="mw-parser-output"> | <div class="mw-parser-output"> | ||
=== Специальные типы блоков === | === Специальные типы блоков === | ||
− | + | Чтобы создать блок с параметрами, которые отличаются от стандартных (свечение, модель), используются специальные типы блоков. Регистрируются они с помощью функции Block.createSpecialType(объект характеристик) - функция принимает объект характеристик, которые нужно изменить и отдает специальный тип блока с этими характеристиками. | |
− | Все характеристики, их значения по умолчанию и разъяснение: | + | Специальный тип, созданный этой функцией передается в функцию Block.createBlock и Block.createBlockWithRotation третим параметром, чтобы блок был создан для данного специального типа. На одном специальном типе может быть создано суммарно до 16 вариаций различных блоков. |
+ | |||
+ | Все характеристики, их значения по-умолчанию и разъяснение: | ||
<syntaxhighlight lang="Javascript">{ | <syntaxhighlight lang="Javascript">{ | ||
− | base: | + | base: 20, // блок из MCPE, который будет взят за основу в создании блока, могут быть скопированы некоторые свойства и материал |
− | + | opaque: false, // непрозрачность, если true, то внутри блока мобы будут получать урон, а так же места соприкосновения этого блока с другими не будут отрисованы | |
− | rendertype: 0, // тип модели | + | rendertype: 0, // тип модели, не работает в 0.15.7 и выше |
− | renderlayer: 4, // тип рендера, 1: прозрачный, 2: | + | renderlayer: 4, // тип рендера, 0: непрозрычный, 1: прозрачный, 2 : полупрозрачный - не работает?, 3: ??, 4: означает, что прозрачные части будут отрисованы прозрачными, а не черными |
destroytime: 1, // время ломания блока, время уничтожения зависит от используемого инструмента, -1: неразрушимый. | destroytime: 1, // время ломания блока, время уничтожения зависит от используемого инструмента, -1: неразрушимый. | ||
− | + | redstoneconsumer: true, // будет ли происходить событие изменения редстоун-сигнала для этого блока | |
− | |||
lightopacity: 1, // непрозрачность для света, сколько света будет поглощаться при прохождении через этот блок, 0 - полностью прозрачен, 15 - полностью непрозрачен | lightopacity: 1, // непрозрачность для света, сколько света будет поглощаться при прохождении через этот блок, 0 - полностью прозрачен, 15 - полностью непрозрачен | ||
lightlevel: 0, // свечение блока, 0 - нет свечения, 15 - максимальное свечение | lightlevel: 0, // свечение блока, 0 - нет свечения, 15 - максимальное свечение | ||
− | + | explosionres: 2, // взрывоустойчивость | |
− | + | color: [0xFFFFFF] // цвет для каждой стороны в формате 0xRRGGBB, если в массиве 1 элемент, то цвет будет установлен для всего блока | |
− | + | }</syntaxhighlight> | |
− | + | ====Типы RenderLayer==== | |
− | + | <syntaxhighlight lang="Javascript"> opaque = 0; | |
+ | opaque_seasons = 1; | ||
+ | doubleside = 2; | ||
+ | alpha_single_side = 4; | ||
+ | alpha_seasons = 5;//не работает | ||
+ | blend = 6;//не работает | ||
+ | water = 7;//делает блок красным) | ||
+ | far = 9;//не работает | ||
+ | seasons_far = 10; | ||
+ | seasons_far_alpha = 11; | ||
+ | alpha = 4099; | ||
</syntaxhighlight> | </syntaxhighlight> | ||
− | ==== Пример: ==== | + | ====Пример: ==== |
− | |||
Пример создания специального типа блока и самого блока: | Пример создания специального типа блока и самого блока: | ||
− | <syntaxhighlight lang="Javascript">Block.createSpecialType( | + | <syntaxhighlight lang="Javascript">var BLOCK_TYPE_LOW_LIGHT = Block.createSpecialType({ // блок этого типа будет абсолютно прозрачен для света и сам будет слабо светиться |
lightlevel: 11, | lightlevel: 11, | ||
lightopacity: 0 | lightopacity: 0 | ||
}); | }); | ||
− | IDRegistry.genBlockID("testBlock"); // | + | IDRegistry.genBlockID("testBlock"); // регистрациа id |
Block.createBlock("testBlock", [ | Block.createBlock("testBlock", [ | ||
{name: "test block", texture: [["obsidian", 0], ["obsidian", 0], ["obsidian", 0], ["obsidian", 0], ["obsidian", 0], ["obsidian", 0]]} | {name: "test block", texture: [["obsidian", 0], ["obsidian", 0], ["obsidian", 0], ["obsidian", 0], ["obsidian", 0], ["obsidian", 0]]} | ||
− | ], | + | ], BLOCK_TYPE_LOW_LIGHT); // создаем блок на данном специальном типе</syntaxhighlight> |
</div> | </div> | ||
Строка 43: | Строка 53: | ||
Функция дропа имеет такой формат: | Функция дропа имеет такой формат: | ||
− | <syntaxhighlight lang="Javascript">function(coords, id, data, toolLevel | + | <syntaxhighlight lang="Javascript">function(coords, id, data, diggingLevel, toolLevel){ |
// coords - объект, содержащий координаты разрушенного блока - {x: , y: , z: } - coords.x, coords.y, coords.z | // coords - объект, содержащий координаты разрушенного блока - {x: , y: , z: } - coords.x, coords.y, coords.z | ||
− | // id, data - id и data блока | + | // id, data - id и data блока, id всегда совпадает с тем, на который была зарегистрирована функция и нужно, если одинаковая функция регистрируется на разные блоки |
− | // | + | // diggingLevel - уровень ломания блока, где рука или инструмент другого типа - 0. Если же инструмент совпадает с материалом блока, то уровень будет равен уровню инструмента |
− | + | // toolLevel - уровень инструмента в руке, не зависит от самого блока | |
− | + | // если блок что то дропает, эта функция должна вернуть массив из предметов, которые надо дропнуть, каждый предмет имеет формат [id, count, data] | |
− | // если блок что | ||
}</syntaxhighlight> | }</syntaxhighlight> | ||
Строка 93: | Строка 102: | ||
=== Установка свойств предмета === | === Установка свойств предмета === | ||
− | Для установки свойств предметов | + | Для установки свойств предметов используется функция Item.describeItem("строковый id", объект описания). |
+ | |||
+ | Все параметры в объекте описания, их стандартные значения и описание: | ||
+ | <syntaxhighlight lang="Javascript">{ | ||
+ | category: 0, // категория в креативе | ||
+ | enchant: {value: 0, type: 0}, // тип зачарования | ||
+ | toolRender: false, // рендер в руке, как инструмент | ||
+ | maxDamage: 0, // максимальный дамаг предмета (шкала прочности) | ||
+ | stackByData: false, // стакается по data | ||
+ | properties: {}, // родной объект параметров MCPE | ||
+ | useAnimation: 0 // анимация использозвания | ||
+ | }</syntaxhighlight> | ||
+ | |||
+ | Функции - аналоги параметров: | ||
*Item.setCategory(id, category) - аналог параметра category | *Item.setCategory(id, category) - аналог параметра category | ||
Строка 110: | Строка 132: | ||
*Item.getUseAnimation(id) - отдает анимацию использования | *Item.getUseAnimation(id) - отдает анимацию использования | ||
*Item.isValid(id, data) - возвращает, существует ли данный предмет | *Item.isValid(id, data) - возвращает, существует ли данный предмет | ||
− | *Item.isNativeItem(id) - возвращает, является ли этот предмет предметом из MCPE, а не из модов | + | *Item.isNativeItem(id) - возвращает, является ли этот предмет предметом из MCPE, а не из модов |
− | + | ====Категории предметов==== | |
− | ==== Категории предметов | ||
− | |||
− | |||
<syntaxhighlight lang="Javascript"> DECORATION = 2;//декоративный предмет(?) | <syntaxhighlight lang="Javascript"> DECORATION = 2;//декоративный предмет(?) | ||
FOOD = 4;//еда | FOOD = 4;//еда | ||
Строка 144: | Строка 163: | ||
} | } | ||
</syntaxhighlight> | </syntaxhighlight> | ||
− | + | </div> </div> </div> </div> |