Ir para conteúdo
  • 0

[Resolvido] [~Help] Como faço isso ?


Guest Fusquete

Pergunta

Guest Fusquete

Bom, eu to criando um plugin (pra mim mesmo) ele é simples... Mas eu to tentando fazer ele sem ajuda, o que pra mim é muito difícil. O que ele tem tá no código abaixo:

package me.books;

import org.bukkit.Material;
import org.bukkit.entity.Player;
import org.bukkit.event.EventHandler;
import org.bukkit.event.Listener;
import org.bukkit.event.block.Action;
import org.bukkit.event.player.PlayerInteractEvent;
import org.bukkit.plugin.java.JavaPlugin;

public class Main extends JavaPlugin implements Listener{
	public void onEnable(){
		System.out.println("[Books] Ativado");
		getServer().getPluginManager().registerEvents(this, this);
	}
	public void onDisable(){
		System.out.println("[Books] Desativado");
	}
	@EventHandler
	public void clicar(PlayerInteractEvent e){
	Player p = e.getPlayer();
	
	if (e.getAction() == Action.RIGHT_CLICK_BLOCK && e.getClickedBlock().getType() == Material.BOOKSHELF){
		if(e.getClickedBlock().getLocation().getBlockX() == 1 && e.getClickedBlock().getLocation().getBlockY() == 5 && e.getClickedBlock().getLocation().getBlockZ() == 1){
			p.performCommand("tutorial");
		}
	}
}
}

O que ele tem* Ele basicamente executa o comando "/tutorial" quando você clica (com o botão direito) em uma estante na coordenada x: 1 y: 5 z: 1 

O que eu quero* Eu quero que ao invés dessas coordenadas que estão no código, ele pegue as coordenadas de uma seção em um arquivo chamado "estantes.yml" nele vai conter a coordenada e o comando a ser executado, o design da config seria mais ou menos assim:

estantes:
	- 1, 5, 1, tutorial
	- 1, 10, 1, gamemode 1

Se puderem ajudar eu ficaria muito grato !

P.S: A estantes.yml seria gerado quando o servidor iniciasse e já teria esse default:

estantes:
	- 1, 5, 1, tutorial

Ai depois era só adicionar os outros hiféns.

Link para o comentário
Compartilhar em outros sites

6 respostass a esta questão

Posts Recomendados

ta ae brother:

@EventHandler
	public void clicar(PlayerInteractEvent e) {
		Player p = e.getPlayer();
		for (String st : this.getConfig().getStringList("estantes")) {
			String[] itens = st.split(", ");
			if (e.getAction() == Action.RIGHT_CLICK_BLOCK && e.getClickedBlock().getType() == Material.BOOKSHELF) {
				if (e.getClickedBlock().getLocation().getBlockX() == Integer.parseInt(itens[0])
						&& e.getClickedBlock().getLocation().getBlockY() == Integer.parseInt(itens[1])
						&& e.getClickedBlock().getLocation().getBlockZ() == Integer.parseInt(itens[2])) {
					p.performCommand(itens[3]);
				}
			}
		}
	}
Link para o comentário
Compartilhar em outros sites

Guest Fusquete

 

ta ae brother:


@EventHandler
public void clicar(PlayerInteractEvent e){
Player p = e.getPlayer();
 
if (e.getAction() == Action.RIGHT_CLICK_BLOCK && e.getClickedBlock().getType() == Material.BOOKSHELF){
if(e.getClickedBlock().getLocation().getBlockX() == 1 && e.getClickedBlock().getLocation().getBlockY() == 5 && e.getClickedBlock().getLocation().getBlockZ() == 1){
p.performCommand("tutorial");
}
}
}
}

 

Ok, a config vai ficar como ? Eu vou fazer ela assim:

estantes:
	- 1, 10, 1, tutorial
Editado por _ComicBukkit_
Link para o comentário
Compartilhar em outros sites

Visitante
Este tópico está impedido de receber novos posts.
×
×
  • Criar Novo...