Следуйте инструкциям в видео ниже, чтобы узнать, как установить наш сайт как веб-приложение на главный экран вашего устройства.
Примечание: Эта функция может быть недоступна в некоторых браузерах.
Как минимум всем давно известный дюп с книжкой, который тебе придется фиксить плагином или каким нибуть сторонним патчем, плюс можешь загуглить, какие баги исправили в 1.12.1 и 1.12.2.А чем 1.12 баганая?
Скинь строку под номером 73 и 60 из класса main.[12:22:06 WARN]: [trafficlight] Task #1704 for trafficlight v0.1 generated an exception
java.lang.NullPointerException: null
at trafficlights.main$TrafficLights.copySkull(main.java:73) ~[?:?]
at trafficlights.main$TrafficLights.setType(main.java:60) ~[?:?]
at trafficlights.main$TrafficLights.run(main.java:183) ~[?:?]
at org.bukkit.craftbukkit.v1_12_R1.scheduler.CraftTask.run(CraftTask.java:71) ~[spigot.jar:git-Spigot-596221b-9a1fc1e]
at org.bukkit.craftbukkit.v1_12_R1.scheduler.CraftScheduler.mainThreadHeartbeat(CraftScheduler.java:353) [spigot.jar:git-Spigot-596221b-9a1fc1e]
at net.minecraft.server.v1_12_R1.MinecraftServer.D(MinecraftServer.java:738) [spigot.jar:git-Spigot-596221b-9a1fc1e]
at net.minecraft.server.v1_12_R1.DedicatedServer.D(DedicatedServer.java:405) [spigot.jar:git-Spigot-596221b-9a1fc1e]
at net.minecraft.server.v1_12_R1.MinecraftServer.C(MinecraftServer.java:678) [spigot.jar:git-Spigot-596221b-9a1fc1e]
at net.minecraft.server.v1_12_R1.MinecraftServer.run(MinecraftServer.java:576) [spigot.jar:git-Spigot-596221b-9a1fc1e]
at java.lang.Thread.run(Unknown Source) [?:1.8.0_181]
Скинь участок кода, и укажи строчки 60 и 73[12:22:06 WARN]: [trafficlight] Task #1704 for trafficlight v0.1 generated an exception
java.lang.NullPointerException: null
at trafficlights.main$TrafficLights.copySkull(main.java:73) ~[?:?]
at trafficlights.main$TrafficLights.setType(main.java:60) ~[?:?]
at trafficlights.main$TrafficLights.run(main.java:183) ~[?:?]
at org.bukkit.craftbukkit.v1_12_R1.scheduler.CraftTask.run(CraftTask.java:71) ~[spigot.jar:git-Spigot-596221b-9a1fc1e]
at org.bukkit.craftbukkit.v1_12_R1.scheduler.CraftScheduler.mainThreadHeartbeat(CraftScheduler.java:353) [spigot.jar:git-Spigot-596221b-9a1fc1e]
at net.minecraft.server.v1_12_R1.MinecraftServer.D(MinecraftServer.java:738) [spigot.jar:git-Spigot-596221b-9a1fc1e]
at net.minecraft.server.v1_12_R1.DedicatedServer.D(DedicatedServer.java:405) [spigot.jar:git-Spigot-596221b-9a1fc1e]
at net.minecraft.server.v1_12_R1.MinecraftServer.C(MinecraftServer.java:678) [spigot.jar:git-Spigot-596221b-9a1fc1e]
at net.minecraft.server.v1_12_R1.MinecraftServer.run(MinecraftServer.java:576) [spigot.jar:git-Spigot-596221b-9a1fc1e]
at java.lang.Thread.run(Unknown Source) [?:1.8.0_181]
И зачем повторяться, если я уже написал? ._.Скинь участок кода, и укажи строчки 60 и 73
У меня обновилось сразу после поста. Почти одновременно написали.И зачем повторяться, если я уже написал? ._.
Не может быть чтобы у тебя 60 строка была "}" вроде.60: }
73: TileEntity fromTileEntity = cw.getTileEntityAt(fromX, fromY, fromZ);
Ошибка здесь: (toTileEntity).load(toNBT);
Возможно у тебя cw = null или нет головы на указанной координате (не знаю как так может быть). У меня так всё работает. Ты наверное где-то накосячил))60: }
73: TileEntity fromTileEntity = cw.getTileEntityAt(fromX, fromY, fromZ);
Ошибка здесь: (toTileEntity).load(toNBT);
Так а зачем ты игрока null ставишь?cw равно нулю, поскольку игрок - null. Опробую сделать Bukkit.getWorlds().get(0)
Держи код без игрока.cw равно нулю, поскольку игрок - null. Опробую сделать Bukkit.getWorlds().get(0)
import org.bukkit.craftbukkit.v1_12_R1.CraftWorld;
import net.minecraft.server.v1_12_R1.NBTTagCompound;
import net.minecraft.server.v1_12_R1.TileEntity;
public void copyBlock(Block from, Block to) {
to.setType(from.getType());
BlockState state = from.getState();
BlockState targetState = to.getState();
targetState.setData(state.getData());
targetState.update(true);
if (from.getType() == Material.SKULL) copySkull( from, to);
}
public void copySkull(Block from, Block to) {
Location fromLoc = from.getLocation();
Location toLoc = to.getLocation();
int fromX = fromLoc.getBlockX();
int fromY = fromLoc.getBlockY();
int fromZ = fromLoc.getBlockZ();
int toX = toLoc.getBlockX();
int toY = toLoc.getBlockY();
int toZ = toLoc.getBlockZ();
CraftWorld cw = (CraftWorld) from.getWorld();
TileEntity fromTileEntity = cw.getTileEntityAt(fromX, fromY, fromZ);
TileEntity toTileEntity = cw.getTileEntityAt(toX, toY, toZ);
NBTTagCompound fromNBT = new NBTTagCompound();
fromTileEntity.save(fromNBT);
NBTTagCompound toNBT = (NBTTagCompound) fromNBT.clone();
toNBT.setInt("x", toX);
toNBT.setInt("y", toY);
toNBT.setInt("z", toZ);
toTileEntity.load(toNBT);
toTileEntity.update();
}
С каким текстом ошибки?Использую его, но toTileEntity. load <-- подчёркивает красным
Импорты заново правильно поставь, удали все и заново каждый импорт проверь при Ctrl Shift Oload - компилятор требует установки скобок перед toTileEntity, внутри них требует Configuration -
((FileConfiguration) toTileEntity).load(toNBT);
А после этого нужно изменять весь код.
Block, BlockState - из org.bukkit, НЕ в craftbukkit.{version}BlockState тоже как импортировать?
Все правильно.import org.bukkit.Bukkit;
import org.bukkit.ChatColor;
import org.bukkit.Location;
import org.bukkit.Material;
import org.bukkit.block.Block;
import org.bukkit.block.BlockState;
import org.bukkit.command.Command;
import org.bukkit.command.CommandExecutor;
import org.bukkit.command.CommandSender;
import org.bukkit.configuration.Configuration;
import org.bukkit.configuration.file.FileConfiguration;
import org.bukkit.craftbukkit.v1_12_R1.CraftWorld;
import org.bukkit.entity.Player;
import org.bukkit.plugin.java.JavaPlugin;
import org.bukkit.scheduler.BukkitRunnable;
import net.minecraft.server.v1_12_R1.NBTTagCompound;
import net.minecraft.server.v1_12_R1.TileEntity;
Все импорты плагина
Так текст ошибки тоже нужен, здесь нет экстрасенсов (но это не точно).Посмотреть вложение 51527Про верх забыл)
Возможно в 1.12 нет такого. Или метод по-другому называется.
Можешь скинуть все доступные методы для объекта toTileEntity? Т.е. поставь точку и делай скриншот всех методов в желтой подсказке от эклипса.
Прочитай мои сообщения и сделай то что я сказал.диспатч?)
Попробуй метод load заменить методом save или a (не уверен что поможет). Но попробовать стоит. Возможно его в 1.12.1 - 1.12.2 деобфусцировали, а ты юзаешь 1.12.
Нет, заменять не надо, это явно просто в 1.12.2 добавили.Попробуй метод load заменить методом save или a (не уверен что поможет). Но попробовать стоит. Возможно его в 1.12.1 - 1.12.2 деобфусцировали, а ты юзаешь 1.12.
Попробуй b(...) метод, вроде.