Помогите Координаты

  • Автор темы Автор темы BBooGG
  • Дата начала Дата начала
Статус
Закрыто для дальнейших ответов.

BBooGG

Активный участник
Пользователь
Баллы
61
Имя в Minecraft
BBooGG
Как определить что игрок стоит на координате.
 
Последнее редактирование:
Ну можешь запускать асинхронный ранебл, и проверять локацию игроков.
 
Судя с сообщения ему надо читать конфиг и получать координаты. Дальше уже создавать локацию как ты написал.
 
Нужно если игрок встал на определенную координату(100, 60, 100), то игроку дается дерево с кастомным названием и любым чаром. Ну самое главное это определить что игрок стоит на координате.

Вот тебе пример кода...
private Location loc;

public void onEnable() {
setLocation(new Location(Bukkit.getWorld("world"), 10, 10, 10));
loc = getLocation("location");
}

@EventHandler
public void onPlayerMove(PlayerMoveEvent e) {
if (e.getPlayer().getLocation() == loc) {
//TODO: ТВОЙ КОД
}
}

private Location getLocation(String path) {
Location loc = new Location(Bukkit.getWorld(getConfig().getString(path + ".world")), getConfig().getDouble(path + ".x"), getConfig().getDouble(path + ".y"), getConfig().getDouble(path + ".z"));
return loc;
}

private void setLocation(Location loc) {
getConfig().set("location.world", loc.getWorld().getName());
getConfig().set("location.x", loc.getX());
getConfig().set("location.y", loc.getY());
getConfig().set("location.z", loc.getZ());
saveConfig();
}

public Location getLoc() {
return loc;
}

public void setLoc(Location loc) {
this.loc = loc;
}
 
Последнее редактирование:
Вот тебе пример кода...
private Location loc;

public void onEnable() {
setLocation(new Location(Bukkit.getWorld("world"), 10, 10, 10));
loc = getLocation("location");
}

@EventHandler
public void onPlayerMove(PlayerMoveEvent e) {
if (e.getPlayer().getLocation() == loc) {
//TODO: ТВОЙ КОД
}
}

private Location getLocation(String path) {
Location loc = new Location(Bukkit.getWorld(getConfig().getString(path + ".world")), getConfig().getDouble(path + ".x"), getConfig().getDouble(path + ".y"), getConfig().getDouble(path + ".z"));
return loc;
}

private void setLocation(Location loc) {
getConfig().set("location.world", loc.getWorld().getName());
getConfig().set("location.x", loc.getX());
getConfig().set("location.y", loc.getY());
getConfig().set("location.z", loc.getZ());
saveConfig();
}

public Location getLoc() {
return loc;
}

public void setLoc(Location loc) {
this.loc = loc;
}
я не знаю как это использовать в моём коде

public boolean onCommand(CommandSender sender, Command cmd, String commandLabel, String[] args) {
if (!(sender instanceof Player)) {
sender.sendMessage(ChatColor.RED + "You cannot use commands!");
return true;
}
Player p = (Player) sender;

if (p.hasPermission("loaderjob.all"))
{
if (args.length == 0){
p.sendMessage("ERROR");
} else if (args.length == 1) {
if (args[0].equalsIgnoreCase("create")) {
create.CreateRegion(p);
}else if (args[0].equalsIgnoreCase("pos1")) {
//Сохранение 1 позиции
}else if (args[0].equalsIgnoreCase("pos2")) {
//Сохранение 2 позиции
}
}
}
return true;
}
 
я не знаю как это использовать в моём коде

public boolean onCommand(CommandSender sender, Command cmd, String commandLabel, String[] args) {
if (!(sender instanceof Player)) {
sender.sendMessage(ChatColor.RED + "You cannot use commands!");
return true;
}
Player p = (Player) sender;

if (p.hasPermission("loaderjob.all"))
{
if (args.length == 0){
p.sendMessage("ERROR");
} else if (args.length == 1) {
if (args[0].equalsIgnoreCase("create")) {
create.CreateRegion(p);
}else if (args[0].equalsIgnoreCase("pos1")) {
//Сохранение 1 позиции
}else if (args[0].equalsIgnoreCase("pos2")) {
//Сохранение 2 позиции
}
}
}
return true;
}


create.CreateRegion(p); <-- Соблюдай синтаксис Java, первое слово в имени переменной/методе пишется с маленькой буквы, второе и последующие с большой. Пример: private void createRegion
 
я не знаю как это использовать в моём коде

public boolean onCommand(CommandSender sender, Command cmd, String commandLabel, String[] args) {
if (!(sender instanceof Player)) {
sender.sendMessage(ChatColor.RED + "You cannot use commands!");
return true;
}
Player p = (Player) sender;

if (p.hasPermission("loaderjob.all"))
{
if (args.length == 0){
p.sendMessage("ERROR");
} else if (args.length == 1) {
if (args[0].equalsIgnoreCase("create")) {
create.CreateRegion(p);
}else if (args[0].equalsIgnoreCase("pos1")) {
//Сохранение 1 позиции
}else if (args[0].equalsIgnoreCase("pos2")) {
//Сохранение 2 позиции
}
}
}
return true;
}

Ты создаешь мини-игру или что?
 
create.CreateRegion(p); <-- Соблюдай синтаксис Java, первое слово в имени переменной/методе пишется с маленькой буквы, второе и последующие с большой. Пример: private void createRegion
Спасибо незнал
 
Статус
Закрыто для дальнейших ответов.
Назад
Верх