- Баллы
- 61
- Имя в Minecraft
- tiu
В попытке сделать сваю +- нормальную мини игру у меня вот появился костыль с минусами которого уже не помиришься.
(если шо когда я начал это делать у меня было 0 жопыта работа с жабой и я делал это с нуля без сторонних апишек)
Так вот в конце мини игры мне нужно восстанавливать мир.
Точно не помню где, но я стриндил вот это
под ету штуку есть 2 мира
когда мне нужно откатить мир я тепаю всех игроков с него
оно вреде работало но мягка скажем очень очень плохо
тепал в основной мир я аот так
иначе игроки после телепортации не могли видеть друг друга
и мосле каждой игры мне приходилось релоадать сервер иначе игроки также после метода на откат и телепортации обратно в этот мир так же не могли видеть друг друга
но самое важное в этом вём то то если 1 из игроков в спектатор моде то начинает очень весёлый ****ец
https://imgur.com/gallery/zfJDtMn
все скирины кароч тут ^
когда игрок попадает в поле зрение спектатора начинается вот такое
есть ли какой то другой способ откатывать мир?
мириться с выше перечисленными недостатками этого мне не очень хочется
Я конечно рассматриваю вариант что я тупой и сделал всё плохо
я не до конца понимаю как загружаются миры и как может быть такое что игроки не видят друг друга
Из других способов отката в головы приходить только полное выстраивание мара заново по схематике так как это сделать?
Помогите пожалуйста
(если шо когда я начал это делать у меня было 0 жопыта работа с жабой и я делал это с нуля без сторонних апишек)
Так вот в конце мини игры мне нужно восстанавливать мир.
Точно не помню где, но я стриндил вот это
Код:
public class rallback {
static Logger log = Logger.getLogger("Minecraft");
public static void unloadMap(String mapname) {
if(Bukkit.getServer().unloadWorld(Bukkit.getServer().getWorld(mapname), false)) {
Logger.getLogger("Minecraft").info("Successfully unloaded " + mapname);
} else {
Logger.getLogger("Minecraft").severe("COULD NOT UNLOAD " + mapname);
}
}
public static void loadMap(String mapname) {
Bukkit.createWorld(new WorldCreator(mapname));
}
public static void rollback(String mapname) {
unloadMap(mapname);
loadMap(mapname);
}
под ету штуку есть 2 мира
Код:
public static void loadworlds() {
Bukkit.createWorld(new WorldCreator("rollback"));
Bukkit.createWorld(new WorldCreator("arena"));
}
когда мне нужно откатить мир я тепаю всех игроков с него
Код:
public static void tpout(Player p) {
p.teleport(new Location(Bukkit.getWorld("rollback"), 0.5, 5, 0.5, 0, 0));
}
оно вреде работало но мягка скажем очень очень плохо
тепал в основной мир я аот так
Код:
public static void tpafter1tick(Player p, Location loc) {
new BukkitRunnable() {
@Override
public void run() {
p.teleport(loc);
}
}.runTaskLater(main.plugin, 1);
}
иначе игроки после телепортации не могли видеть друг друга
и мосле каждой игры мне приходилось релоадать сервер иначе игроки также после метода на откат и телепортации обратно в этот мир так же не могли видеть друг друга
но самое важное в этом вём то то если 1 из игроков в спектатор моде то начинает очень весёлый ****ец
https://imgur.com/gallery/zfJDtMn
все скирины кароч тут ^
когда игрок попадает в поле зрение спектатора начинается вот такое
есть ли какой то другой способ откатывать мир?
мириться с выше перечисленными недостатками этого мне не очень хочется
Я конечно рассматриваю вариант что я тупой и сделал всё плохо
я не до конца понимаю как загружаются миры и как может быть такое что игроки не видят друг друга
Из других способов отката в головы приходить только полное выстраивание мара заново по схематике так как это сделать?
Помогите пожалуйста