Кастомные структуры и новая версия.

Версия Minecraft
1.20+
API
Forge
14
1
0
Приветствую, начал пилить мод под структуры и столкнулся с вопросом по поводу их генерации. Опять. Год назад создавал вопрос на этом форуме уже, меня по другим вопросам отправляют учить Джаву... Гении... Спасибо, только толк от джавы когда не знаешь библиотек этой игры. Много лью воды, вот есть boolean переменная с циклами которые проверяют блоки, внимание вопрос, что мне надо подцепить чтобы оно подцепило координаты на которых хочет заспавнить стуктуру? Куда тыкнуть и написать? +сюда же второй вопрос на правильность порта кода через чат gpt (код на старую версию изначально был и попросил gpt портировать его, что он как бы и сделал но не пока не проверю не пойму насколько правильно)

Порт от GPT

private static boolean extraSpawningChecks(WorldGenRegion world, BlockPos startPos, int width, int height,
int length) {
for (int x = startPos.getX(); x < startPos.getX() + width; x++) {
for (int z = startPos.getZ(); z < startPos.getZ() + length; z++) {
for (int y = startPos.getY(); y < startPos.getY() + height; y++) {
BlockPos pos = new BlockPos(x, y, z);
if (world.getBlockState(pos).isAir()
|| world.getBlockState(pos).getFluidState().isSource()) {
return false; // Structure is not valid
}
}
}
}
return true;
}

Оригинал

import net.minecraft.block.Blocks;
import net.minecraft.util.math.BlockPos;
import net.minecraft.world.World;

public class StructureCheck {

public static boolean isValidStructureLocation(World world, BlockPos startPos, int width, int height, int length) {
// Check for air or water blocks within the structure bounds
for (int x = startPos.getX(); x < startPos.getX() + width; x++) {
for (int z = startPos.getZ(); z < startPos.getZ() + length; z++) {
for (int y = startPos.getY(); y < startPos.getY() + height; y++) {
BlockPos pos = new BlockPos(x, y, z);
if (world.getBlockState(pos).getBlock() == Blocks.AIR || world.getBlockState(pos).getBlock() == Blocks.WATER) {
return false; // Structure is not valid
}
}
}
}

return true; // Structure is valid
}

}
 
69
3
42
Если нейросети и смогли в какой то части заменить художников, то до замены кодеров им далеко. Вы не знаете фундаментальных принципов проектирования и пытаетесь просто скопипастить фрагмент машинного кода, вырванный из своей среды неизвестно для какой версии.

Написание модов ничем не отличается от написания любой архитектуры, разве что ответственности при этом нету. Копипастинг без понимания ни к чему не приведёт, единственный реально полезный совет тут (который вам и дают) - учите Java. В противном случае вас нужно будет "вести за ручку" 24/7.
 
Последнее редактирование:
14
1
0
Боже... Я сам не стал вручную портировать СВОЙ же код на новую версии тупо из-за того что мне конкретно сейчас не хочется смотреть изменения которые произошли в библиотеках, кого куда и зачем перенесли. Я сюда пришёл ТОЛЬКО за тем чтобы вы ответили мне на этот вопрос, а не отправляли учить Джаву, какой же ты кусок...
 
14
1
0
Оскорбления
ИМЕННО поэтому, что нейросети не могут нормально заменить такое существо как ты мне приходится с тобой общаться, и спрашивать нормально ли оно портировало, если ты не можешь ответить на вопрос потому что не знаешь, не стоит строить из себя дохрена умного, и писать иди учи Джаву, просто пролистал посмотрел и закрыл.
 
69
3
42
Само описание вашего вопроса говорит о том, что пока вы сами не начнёте полностью осознавать что и зачем вы пишите - ни к чему не придёте, так как вам просто не хватает фундаментальных знаний. Эти знания, как ни странно, преобретаются только с обучением. Если вы боитесь/не способны инвестировать в собственные знания - флаг в вашу деревенскую булку.
 
69
3
42
Чтобы не быть голословным - бесплатный курс с теорией и практикой в Sololearn (Google Play) плюс, после этого, самостоятельная инициация написания модов разной сложности (с постепенным увеличением сложности) позволят вам не зависеть от ответов на глупые вопросы на форумах.
 
14
1
0
у gpt вроде база до сентября 2021 года, как ты интересно умудрился через gpt портануть на 1.20
Начнём с того что в 1.19 и 1.20 не такая и большая разница как я заметил, по во всяком случае больно мало изменений, но это же 22 год. Кто бы знал как портировал GPT сам код, о чём я и спросил насколько он адекватно это сделал, потому что в самом коде оно не срёт миллион ошибок
 
14
1
0
Чтобы не быть голословным - бесплатный курс с теорией и практикой в Sololearn (Google Play) плюс, после этого, самостоятельная инициация написания модов разной сложности (с постепенным увеличением сложности) позволят вам не зависеть от ответов на глупые вопросы на форумах.
Ну ты придурок или да? Я спрашиваю его про библиотеки игры он мне пишет про язык. Выйди отсюда если не знаешь ответа, нахер ты разводишь это
 
69
3
42
Каких таких "библиотек"? Даже будь Minecraft просто библиотекой, и если бы вы действительно знали Java, вы бы просто взглянули на документацию и/или примеры. Но раз вы даже не можете открыть сорсы и взглянуть на использования пары тройки методов, то заявление про 5 лет звучит странно. Ну не задаёт опытный кодер подобных вопросов, он берет и разбирается, так как это обычная часть рутиной работы.
 
14
1
0
"Дельные советы". Ага расскажете, обидел чем-то? Я вопрос задал вроде а не сказал что он придурок. А тебя то как это задело? Суть не в этом, суть в том что место того чтобы душнить сидеть и отправлять учить то что мне не надо учить, вы могли бы уже 100 раз сообщение написать с ответом и не разводить это.
 
69
3
42
Нет, ваш "портированный" машинный код вырван из контекста и не будет работать корректно, так как изменения в обновлениях, как правило, касается архитектуры, а не отдельного метода.

Чтобы не страдать фигнёй с нейросетями, нормально портировать код (как это делают все) и не создавать из этого проблемы, требующей создания глупых постов на форумах - нужны (о ужас) знания и понимания языка (не синтаксиса, это лишь малая часть). Путь к получению этих знаний я уже описал выше.

К сожалению, на сколько я успел заметить, создание логических связей для вашего склада ума - слишком трудная задача, так как вы до сих пор не понимаете, в чем конкретно причина ваших трудностей и пытаетесь отгородиться от реальности агрессией. К сожалению это потому, что без этого, как и без алгоритмического мышления, делать вам тут нечего.
 
Последнее редактирование:
14
1
0
Не ну ты ему про аномалии а он тебе про хабар, ни о чём думать не хотят пока кишки по веткам не разбросают. В пизду, форум где большая часть тех кто отвечает на вопросы - недоразвитые уёбки не понимающие человеческой речи, за редким исключением конечно. Как тут перму получить чтобы больше сюда не заходить? Эу, модерация забаньте меня пермачём пжлст.
 
1,371
112
241
1) Пожалуйста, оформляйте код в блок кода [code] (кнопочка </> чуть выше текстового поля ввода)
2) Если структуры не подразумевают под собой Jigsaw (типа тех же деревень, особняка, города энда и т.д.), то проще сделать через датапак.


Касательно порта:
ChatGPT имеет базы инфы ТОЛЬКО до 2021 года. 1.20 вышла в 2023. Думаю очевидно, что код, скорее всего, работать не будет. К тому же не ясно, где используется этот кусок кода.
Исходя только из предоставленного оригинала, структура будет невалидна, когда в заданной области есть воздух или есть жидкость (причём источник, как из ведра). В целом, коду из оригинала соответствует.
 
Сверху