- Баллы
- 76
- Имя в Minecraft
- IcedwinterZ
Ошибка вот в чем... Этих кордов куда ты тпшишь игрока НЕ СУЩЕСТВУЕТ! Смирись с этим, либо ты не правильно их взял с конфига, либо где-то еще накосячил..
Следуйте инструкциям в видео ниже, чтобы узнать, как установить наш сайт как веб-приложение на главный экран вашего устройства.
Примечание: Эта функция может быть недоступна в некоторых браузерах.
Писал мини игру? Лол. Ты даже код с видео туториалов правильно списать не можешь(а именно от туда ты берешь эти "идеи" для "плагинов"), чего уж говорить про мини игры?А да я хочу сделать так [NoGoldCraft] теперь можно крафтить блок.Использую ChatColor.GREEN + "Теперь и т.д"
я то уже писал мини игру,строк на 5000
package ru.goldfox.files;
import org.bukkit.ChatColor;
import org.bukkit.command.CommandSender;
public class MessageManager {
private MessageManager() { }
private static MessageManager manager = new MessageManager();
public static MessageManager getManager() {
return manager;
}
public enum MessageType {
INFO(ChatColor.YELLOW),
GOOD(ChatColor.GREEN),
BAD(ChatColor.RED);
private ChatColor color;
MessageType (ChatColor color) {
this.color = color;
}
public ChatColor getColor() {
return color;
}
}
private String prefix = ChatColor.GRAY + "[" + ChatColor.GOLD + "GoldPlus" + ChatColor.GRAY + "] : " + ChatColor.RESET;
public void msg (CommandSender sender, MessageType type, String... msgs) {
for (String msg : msgs) {
sender.sendMessage(prefix + type.getColor() + msg);
}
}
}
Можно и создать MessageManager.java,и там будет всё инфо о сообщениях,цвет,префикс.Сообщение с префиксом отправить так... p.sendMessage("Префикс" + " Можно крафтить блок.")
MessageManager.getManager().msg(sender, MessageType.BAD, "Only players can use this command!");
locations:
Hacker4ik:
world: world_nether
x: -18.095047584548396
y: 58.0
z: 21.578526887661152
Гениально.Можно и создать MessageManager.java,и там будет всё инфо о сообщениях,цвет,префикс.
У меня новый вопрос,по поводу тоже самой команды /tphome.Нужно как в Essentals сделать при вводе команды /tphome телепортировать игрока на дефолтный дом."Тема закрыта"
"UP"
Больно было головой биться?
Ты просто так апнул тему, даже не написав причину АПа, или проблему..
Наверное было очень больно..
Ааа, наверное уже для мини игры...У меня новый вопрос,по поводу тоже самой команды /tphome
Нужно как в Essentals сделать при вводе команды /tphome телепортировать игрока на дефолтный дом.Ааа, наверное уже для мини игры...
Дай угадаю... Error while....Так как я заметил,что если писать сначала команду /tphome то выводится ошибка.
+++.Потому что /tphome работает если игрок использовал /savehomeДай угадаю... Error while....
Щас скину исх код.С командами.home = null
Проверяй корды на существование але!!!+++.Потому что /tphome работает если игрок использовал /savehome
package ru.goldfox.files;
import org.bukkit.Bukkit;
import org.bukkit.Location;
import org.bukkit.Material;
import org.bukkit.Sound;
import org.bukkit.command.Command;
import org.bukkit.command.CommandSender;
import org.bukkit.configuration.file.FileConfiguration;
import org.bukkit.entity.Player;
import org.bukkit.event.EventHandler;
import org.bukkit.event.Listener;
import org.bukkit.event.block.BlockBreakEvent;
import org.bukkit.event.player.PlayerJoinEvent;
import org.bukkit.plugin.java.JavaPlugin;
import ru.goldfox.files.MessageManager.MessageType;
public class Main extends JavaPlugin implements Listener {
private static Main instance;
FileConfiguration config = getConfig();
public static Main instance() {
return instance;
}
public void onEnable() {
Bukkit.getServer().getPluginManager().registerEvents(this, this);
Bukkit.getServer().getPluginManager().registerEvents(new KillMob(), this);
}
public void onDisable() {
}
public boolean checkSender (CommandSender sender) {
if (sender instanceof Player) {
return false;
}
return true;
}
public boolean onCommand (CommandSender sender, Command cmd, String label, String[] args) {
if (cmd.getName().equalsIgnoreCase("savehome")) {
if (checkSender(sender)) {
MessageManager.getManager().msg(sender, MessageType.BAD, "Only players can use this command!");
return true;
}
Player p = (Player) sender;
locToConfig(p.getName(), p.getLocation());
MessageManager.getManager().msg(p, MessageType.GOOD, "Дом установлен!");
return true;
}
if (cmd.getName().equalsIgnoreCase("tphome")) {
if (checkSender(sender)) {
MessageManager.getManager().msg(sender, MessageType.BAD, "Only players can use this command!");
return true;
}
Player p = (Player) sender;
Location home = configToLoc(p.getName());
p.teleport(home);
MessageManager.getManager().msg(p, MessageType.GOOD, "Телепорт домой!");
return true;
}
return false;
}
public void locToConfig (String name, Location loc) {
config.set("locations." + name + ".world", loc.getWorld().getName());
config.set("locations." + name + ".x", loc.getX());
config.set("locations." + name + ".y", loc.getY());
config.set("locations." + name + ".z", loc.getZ());
saveConfig();
}
public Location configToLoc (String name) {
Location loc = new Location(Bukkit.getWorld(config.getString("locations." + name + ".world")),
config.getDouble("locations." + name + ".x"),
config.getDouble("locations." + name + ".y"),
config.getDouble("locations." + name + ".z"));
return loc;
}
@EventHandler
public void onPlayerJoin (PlayerJoinEvent e) {
Player p = e.getPlayer();
MessageManager.getManager().msg(p, MessageType.INFO, "Plugin by GoldFox");
p.playSound(p.getLocation(), Sound.NOTE_PIANO, 1, 1);
}
@EventHandler
public void onBlockBreak (BlockBreakEvent e) {
Player p = e.getPlayer();
p.giveExp(100);
if (e.getBlock().getType() != Material.DIAMOND_BLOCK) return;
p.giveExp(500);
p.damage(2);
MessageManager.getManager().msg(p, MessageType.BAD, "Зачем ты сломал это блок?");
}
}
Вот тут, их может и не быть вовсе кординатов, он может вернуть тебе null т.е тебе надо проверить, не null ли локация
- public Location configToLoc (String name) {
- Location loc = new Location(Bukkit.getWorld(config.getString("locations." + name + ".world")),
- config.getDouble("locations." + name + ".x"),
- config.getDouble("locations." + name + ".y"),
- config.getDouble("locations." + name + ".z"));
- return loc;
- }
Так ты запили проверку null или нет...Может быть ты знаешь,как сделать такую вещь?Вот тут, их может и не быть вовсе кординатов, он может вернуть тебе null т.е тебе надо проверить, не null ли локация
Я тебе плагин пишу или что????Так ты запили проверку null или нет...