- Баллы
- 96
- Имя в Minecraft
- i0xHeX
Всем привет 🙂
Столкнулся с такой проблемкой, которую не могу решить уже достаточное количество времени. Суть задачи - сохранить определенный регион в схематик с кастомным origin (точкой, относительно которой будет сохранен регион), по умолчанию это нижний угол. Используя при этом FAWE.
Сама проблема такова, что схематик сохраняется, но при вставке блоков нет, вставляется чисто воздух там, где должны быть блоки. Вот такой код у меня примерно:
То есть все работает хорошо, кроме того, что блоки не сохраняет, весь регион идет как воздух. Для сравнения и информации приведу пример кода, который работает как надо, но origin поставлен по умолчанию:
Версия 1.12.2, FAWE 20.9
Я так понимаю, что в Clipboard скорее заносится только инфа про регион, а блоки нужно заполнять вручную. Если это так, то как это сделать адекватным способом?
Столкнулся с такой проблемкой, которую не могу решить уже достаточное количество времени. Суть задачи - сохранить определенный регион в схематик с кастомным origin (точкой, относительно которой будет сохранен регион), по умолчанию это нижний угол. Используя при этом FAWE.
Сама проблема такова, что схематик сохраняется, но при вставке блоков нет, вставляется чисто воздух там, где должны быть блоки. Вот такой код у меня примерно:
Код:
public static Schematic saveSchematic(World world, Cuboid cuboid, Point origin, File destination) {
Vector min = cuboid.getFrom().getAsBlockVector();
Vector max = cuboid.getTo().getAsBlockVector();
com.sk89q.worldedit.world.World worldEditWorld = FaweAPI.getWorld(world.getName());
CuboidRegion region = new CuboidRegion(worldEditWorld, min, max);
Clipboard clipboard = new BlockArrayClipboard(region);
clipboard.setOrigin(origin.getAsBlockVector());
Schematic schem = new Schematic(clipboard);
try {
schem.save(destination, ClipboardFormat.SCHEMATIC);
return schem;
} catch (IOException ex) {
throw new AssertionError("Cannot save schematic '" + destination.getName() + "'.", ex);
}
}
Код:
public static Schematic saveSchematic(World world, Cuboid cuboid, File destination) {
Vector min = cuboid.getFrom().getAsBlockVector();
Vector max = cuboid.getTo().getAsBlockVector();
com.sk89q.worldedit.world.World worldEditWorld = FaweAPI.getWorld(world.getName());
CuboidRegion region = new CuboidRegion(worldEditWorld, min, max);
Schematic schem = new Schematic(region);
try {
schem.save(destination, ClipboardFormat.SCHEMATIC);
return schem;
} catch (IOException ex) {
throw new AssertionError("Cannot save schematic '" + destination.getName() + "'.", ex);
}
}
Я так понимаю, что в Clipboard скорее заносится только инфа про регион, а блоки нужно заполнять вручную. Если это так, то как это сделать адекватным способом?