Admin (обсуждение | вклад) |
Admin (обсуждение | вклад) |
||
Строка 1: | Строка 1: | ||
<div class="mw-parser-output"><div class="mw-parser-output">Модуль GenerationUtils предоставляет удобные инструменты, используемые для генерации. </div> <div class="mw-parser-output"> | <div class="mw-parser-output"><div class="mw-parser-output">Модуль GenerationUtils предоставляет удобные инструменты, используемые для генерации. </div> <div class="mw-parser-output"> | ||
+ | <div class="mw-parser-output"> | ||
== Методы модуля GenerationUtils == | == Методы модуля GenerationUtils == | ||
Строка 11: | Строка 12: | ||
let z = coords.z;</syntaxhighlight> | let z = coords.z;</syntaxhighlight> | ||
− | + | *findSurface(x, y, z) - возвращает самый высокий блок с координатами x, z, находящийся под уровнем y. На данный момент метод не работает, и для его замены можно использовать следующий код: <syntaxhighlight lang="Javascript">GenerationUtils.findSurface = function(x, y, z){ | |
− | *findSurface(x, y, z) - возвращает самый высокий блок с координатами x, z. На данный момент метод не работает, и для его замены можно использовать следующий код: <syntaxhighlight lang="Javascript">GenerationUtils.findSurface = function(x, y, z){ | ||
while(y > 0 && World.getBlockID(x, y, z) == 0) y--; | while(y > 0 && World.getBlockID(x, y, z) == 0) y--; | ||
return {x: x, y: y, z: z}; | return {x: x, y: y, z: z}; | ||
Строка 20: | Строка 20: | ||
Следует отметить, что изменять методы InnerCore без крайней необходимости не следует, и предыдущий пример тому доказательство. Если хотя бы в одном моде будет данный код, во всех остальных он будет доступен и будет работать. '''Внимание!''' Если у вас работает данная функция, обязательно добавьте в мод заменяющий код, поскольку нельзя гарантировать, что у конечного пользователя будет тот же набор модов, что и у вас. | Следует отметить, что изменять методы InnerCore без крайней необходимости не следует, и предыдущий пример тому доказательство. Если хотя бы в одном моде будет данный код, во всех остальных он будет доступен и будет работать. '''Внимание!''' Если у вас работает данная функция, обязательно добавьте в мод заменяющий код, поскольку нельзя гарантировать, что у конечного пользователя будет тот же набор модов, что и у вас. | ||
− | * | + | *findHighSurface(x, z) - возвращает самый высокий блок в приделах от 128 до 0 (на поверхности) |
− | + | *findLowSurface(x, z) - возвращает самый высокий блок в приделах от 64 до 0 (под землёй) | |
+ | </div> |
let coords = randomCoords(cx, cy, 64); // Random coordinates between 64 and 128
let x = coords.x;
let y = coords.y;
let z = coords.z;
GenerationUtils.findSurface = function(x, y, z){
while(y > 0 && World.getBlockID(x, y, z) == 0) y--;
return {x: x, y: y, z: z};
}
Следует отметить, что изменять методы InnerCore без крайней необходимости не следует, и предыдущий пример тому доказательство. Если хотя бы в одном моде будет данный код, во всех остальных он будет доступен и будет работать. Внимание! Если у вас работает данная функция, обязательно добавьте в мод заменяющий код, поскольку нельзя гарантировать, что у конечного пользователя будет тот же набор модов, что и у вас.