Ir para conteúdo
  • 0

[Resolvido] Dev/ Estou Fazendo Um Plugin Mais Nao Sei Usar Config


yStrikerBr

Pergunta

Estou Criando O plugin mais nao consigo fazer as config olha os codigos.

classe:

Central/Main:

 

package placasdesopa.yStrikerBr;

 
import org.bukkit.Bukkit;
import org.bukkit.command.ConsoleCommandSender;
import org.bukkit.event.Listener;
import org.bukkit.plugin.PluginManager;
import org.bukkit.plugin.java.JavaPlugin;
 
 
public class Central extends JavaPlugin implements Listener {
public static JavaPlugin javapl;
public ConfigyS ConfigyS = new ConfigyS (this, "ConfigyS.yml");
 
public void onEnable() {
ConsoleCommandSender b = Bukkit.getConsoleSender();
getConfig().options().copyDefaults(true);
ConfigyS.saveDefaultConfig();
javapl = this;
b.sendMessage("§3###################################");
b.sendMessage("§3#   PlacasDeSopa Ligado!          #");
b.sendMessage("§3#   Criador: yStrikerBr           #");
b.sendMessage("§3#   Version: 1.0                  #");
b.sendMessage("§3###################################");
RegisterEventos();
}
 public void RegisterEventos()
 {
   PluginManager pm = getServer().getPluginManager();
   
   pm.registerEvents(new Placas(), this);
 }
public void onDisable() {
ConsoleCommandSender b = Bukkit.getConsoleSender();
b.sendMessage("§3###################################");
b.sendMessage("§3#   PlacasDeSopa Desligado!       #");
b.sendMessage("§3#   Criador: yStrikerBr           #");
b.sendMessage("§3#   Version: 1.0                  #");
b.sendMessage("§3###################################");
}
 
 
}
 
classe:
ConfigyS/Config:
package placasdesopa.yStrikerBr;
 
import org.bukkit.Bukkit;
import org.bukkit.command.ConsoleCommandSender;
import org.bukkit.event.Listener;
import org.bukkit.plugin.PluginManager;
import org.bukkit.plugin.java.JavaPlugin;
 
 
public class Central extends JavaPlugin implements Listener {
public static JavaPlugin javapl;
public ConfigyS ConfigyS = new ConfigyS (this, "ConfigyS.yml");
 
public void onEnable() {
ConsoleCommandSender b = Bukkit.getConsoleSender();
getConfig().options().copyDefaults(true);
ConfigyS.saveDefaultConfig();
javapl = this;
b.sendMessage("§3###################################");
b.sendMessage("§3#   PlacasDeSopa Ligado!          #");
b.sendMessage("§3#   Criador: yStrikerBr           #");
b.sendMessage("§3#   Version: 1.0                  #");
b.sendMessage("§3###################################");
RegisterEventos();
}
 public void RegisterEventos()
 {
   PluginManager pm = getServer().getPluginManager();
   
   pm.registerEvents(new Placas(), this);
 }
public void onDisable() {
ConsoleCommandSender b = Bukkit.getConsoleSender();
b.sendMessage("§3###################################");
b.sendMessage("§3#   PlacasDeSopa Desligado!       #");
b.sendMessage("§3#   Criador: yStrikerBr           #");
b.sendMessage("§3#   Version: 1.0                  #");
b.sendMessage("§3###################################");
}
 
 
}
classe:
Placas/Eventos:
package placasdesopa.yStrikerBr;
 
import org.bukkit.Bukkit;
import org.bukkit.Material;
import org.bukkit.block.Sign;
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.block.SignChangeEvent;
import org.bukkit.event.player.PlayerInteractEvent;
import org.bukkit.inventory.Inventory;
import org.bukkit.inventory.ItemStack;
import org.bukkit.inventory.meta.ItemMeta;
import org.bukkit.plugin.java.JavaPlugin;
 
public class Placas implements Listener {
public static JavaPlugin javapl;
public ConfigyS ConfigCustom = new ConfigyS(javapl, "ConfigCustom.yml");
 
@EventHandler
public void placadesopa(SignChangeEvent e) {
if (e.getLine(0).equalsIgnoreCase(ConfigCustom.getString("Placas.Sopa"))) {
e.setLine(0, ConfigCustom.getString("LinhasDasPlacas.Sopa1").replace("&", "�"));
e.setLine(1, ConfigCustom.getString("LinhasDasPlacas.Sopa2").replace("&", "�"));
e.setLine(2, ConfigCustom.getString("LinhasDasPlacas.Sopa3").replace("&", "�"));
e.setLine(3, ConfigCustom.getString("LinhasDasPlacas.Sopa4").replace("&", "�"));
}
}
 
@EventHandler
public void clicarnaplacadesopa(PlayerInteractEvent e) {
if ((e.getAction() == Action.RIGHT_CLICK_BLOCK) && ((e.getClickedBlock().getType() == Material.SIGN)
|| (e.getClickedBlock().getType() == Material.SIGN_POST)
|| (e.getClickedBlock().getType() == Material.WALL_SIGN))) {
Sign sign = (Sign) e.getClickedBlock().getState();
if (sign.getLine(2).equals(ConfigCustom.getString("LinhasDasPlacas.Sopa3").replace("&", "�"))) {
Inventory inv = Bukkit.createInventory(null, 54,
ConfigCustom.getString("NomeDoGui.Sopa").replace("&", "�"));
ItemStack Sopa = new ItemStack(Material.MUSHROOM_SOUP);
ItemMeta SopaMeta = Sopa.getItemMeta();
SopaMeta.setDisplayName(ConfigCustom.getString("NomeDosItens.Sopa").replace("&", "�"));
Sopa.setItemMeta(SopaMeta);
for (int i = 0; i < 54; i++) {
inv.addItem(new ItemStack[] { new ItemStack(Sopa) });
}
e.getPlayer().openInventory(inv);
return;
}
}
}
 
@EventHandler
public void placaderecraft(SignChangeEvent e) {
if (e.getLine(0).equalsIgnoreCase(ConfigCustom.getString("Placas.Recraft"))) {
e.setLine(0, ConfigCustom.getString("LinhasDasPlacas.Recraft1").replace("&", "�"));
e.setLine(1, ConfigCustom.getString("LinhasDasPlacas.Recraft2").replace("&", "�"));
e.setLine(2, ConfigCustom.getString("LinhasDasPlacas.Recraft3").replace("&", "�"));
e.setLine(3, ConfigCustom.getString("LinhasDasPlacas.Recraft4").replace("&", "�"));
}
}
 
@EventHandler
public void playerclicarnaplacaderecraft(PlayerInteractEvent e) {
if ((e.getAction() == Action.RIGHT_CLICK_BLOCK) && ((e.getClickedBlock().getType() == Material.SIGN)
|| (e.getClickedBlock().getType() == Material.SIGN_POST)
|| (e.getClickedBlock().getType() == Material.WALL_SIGN))) {
Sign sign = (Sign) e.getClickedBlock().getState();
if (sign.getLine(2).equals(ConfigCustom.getString("LinhasDasPlacas.Recraft3").replace("&", "�"))) {
Inventory inv = Bukkit.createInventory(null, 27,
ConfigCustom.getString("NomeDoGui.Recraft").replace("&", "�"));
 
ItemStack Pote = new ItemStack(Material.BOWL, 64);
ItemMeta PoteMeta = Pote.getItemMeta();
PoteMeta.setDisplayName(ConfigCustom.getString("NomeDosItens.Potes").replace("&", "�"));
Pote.setItemMeta(PoteMeta);
for (int i = 0; i < 9; i++) {
inv.setItem(9, Pote);
inv.setItem(10, Pote);
inv.setItem(11, Pote);
inv.setItem(12, Pote);
inv.setItem(13, Pote);
inv.setItem(14, Pote);
inv.setItem(15, Pote);
inv.setItem(16, Pote);
inv.setItem(17, Pote);
 
ItemStack Cogu = new ItemStack(Material.BROWN_MUSHROOM, 64);
ItemMeta pCogu = Cogu.getItemMeta();
pCogu.setDisplayName(ConfigCustom.getString("NomeDosItens.CoguMarron").replace("&", "�"));
Cogu.setItemMeta(pCogu);
inv.setItem(0, Cogu);
inv.setItem(1, Cogu);
inv.setItem(2, Cogu);
inv.setItem(3, Cogu);
inv.setItem(4, Cogu);
inv.setItem(5, Cogu);
inv.setItem(6, Cogu);
inv.setItem(7, Cogu);
inv.setItem(8, Cogu);
 
ItemStack Vermelho = new ItemStack(Material.RED_MUSHROOM, 64);
ItemMeta pVermelho = Vermelho.getItemMeta();
pVermelho.setDisplayName(ConfigCustom.getString("NomeDosItens.CoguVermelho").replace("&", "�"));
Vermelho.setItemMeta(pVermelho);
inv.setItem(18, Vermelho);
inv.setItem(19, Vermelho);
inv.setItem(20, Vermelho);
inv.setItem(21, Vermelho);
inv.setItem(22, Vermelho);
inv.setItem(23, Vermelho);
inv.setItem(24, Vermelho);
inv.setItem(25, Vermelho);
inv.setItem(26, Vermelho);
}
e.getPlayer().openInventory(inv);
return;
}
}
}
 
@EventHandler
public void tentativa(SignChangeEvent e) {
if (e.getLine(0).equalsIgnoreCase(ConfigCustom.getString("Placas.AutoRecraft"))) {
e.setLine(0, ConfigCustom.getString("LinhasDasPlacas.AutoRecraft1").replace("&", "�"));
e.setLine(1, ConfigCustom.getString("LinhasDasPlacas.AutoRecraft2").replace("&", "�"));
e.setLine(2, ConfigCustom.getString("LinhasDasPlacas.AutoRecraft3").replace("&", "�"));
e.setLine(3, ConfigCustom.getString("LinhasDasPlacas.AutoRecraft4").replace("&", "�"));
}
}
 
@EventHandler
public void placaderecraft(PlayerInteractEvent e) {
Player p = e.getPlayer();
if ((e.getAction() == Action.RIGHT_CLICK_BLOCK) && ((e.getClickedBlock().getType() == Material.SIGN)
|| (e.getClickedBlock().getType() == Material.SIGN_POST)
|| (e.getClickedBlock().getType() == Material.WALL_SIGN))) {
Sign sign = (Sign) e.getClickedBlock().getState();
if (sign.getLine(2).equals(ConfigCustom.getString("LinhasDasPlacas.AutoRecraft3").replace("&", "�"))) {
ItemStack Esp = new ItemStack(Material.RED_MUSHROOM, 64);
ItemMeta kEsp = Esp.getItemMeta();
kEsp.setDisplayName(ConfigCustom.getString("NomeDosItens.CoguVermelho").replace("&", "�"));
Esp.setItemMeta(kEsp);
p.getInventory().addItem(new ItemStack[] { Esp });
 
ItemStack scogu = new ItemStack(Material.BROWN_MUSHROOM, 64);
ItemMeta pscogu = scogu.getItemMeta();
pscogu.setDisplayName(ConfigCustom.getString("NomeDosItens.CoguMarron").replace("&", "�"));
scogu.setItemMeta(pscogu);
p.getInventory().addItem(new ItemStack[] { scogu });
 
ItemStack Pote = new ItemStack(Material.BOWL, 64);
ItemMeta kPote = Pote.getItemMeta();
kPote.setDisplayName(ConfigCustom.getString("NomeDosItens.Potes").replace("&", "�"));
Pote.setItemMeta(kPote);
p.getInventory().addItem(new ItemStack[] { Pote });
return;
}
}
}
}
Config do Plugin/ConfigyS:
##################################
#   Plugin PlacaDeSopa Custom    #
#   Criador: yStrikerBr          #
#   Version: 1.0                 #
##################################                                                                                          
##Configuraçao##
                
Placas:                         ##Atençao Maximo De letras e Pontuaçao Nas Placas e 15.##
  Sopa: "[sopas]"               #Aki vc Ponhe o Que Vc Que Escrever na placa. Ex: [sopas]
  Recraft: "[Recraft]"          #Aki vc Ponhe o Que Vc Que Escrever na placa. Ex: [Recraft]
  AutoRecraft: "[AutoRecraft]"  #Aki vc Ponhe o Que Vc Que Escrever na placa. Ex: [Arecraft] 
  
LinhasDasPlacas:                ##Atençao Maximo De letras e Pontuaçao Nas Placas e 15.##
  Sopa1: "&b=-=-()-=-="         #Primeira Linha Da Placa#
  Sopa2: "&4&lSopas"            #Segunda Linha Da Placa#
  Sopa3: "&4&lSopas"            #atençao Terceira Linha Nao Pode Ser Igual Terceira Linha Dos Outros.
  Sopa4: "&c=-=-()-=-="         #Quarta Linha Daa Placa#
  Recraft1: "&c=-=-()-=-="      #Primeira Linha Da Placa#
  Recraft2: "&6&lRecraft"       #Segunda Linha Da Placa#
  Recraft3: "&6&lRecraft"       #atençao Terceira Linha Nao Pode Ser Igual Terceira Linha Dos Outros.
  Recraft4: "&c=-=-()-=-="      #Quarta Linha Daa Placa#
  AutoRecraft1: "&c=-=-()-=-="  #Primeira Linha Da Placa#
  AutoRecraft2: "&6&lARecraft"  #Segunda Linha Da Placa#
  AutoRecraft3: "&6&lARecraft"  #atençao Terceira Linha Nao Pode Ser Igual Terceira Linha Dos Outros.
  AutoRecraft4: "&c=-=-()-=-="  #Quarta Linha Daa Placa#
 
NomeDoGui:                      #Coloque Aki Nomes Dos Gui
  Sopa: "&4&lSopas"             #Nome Do Bau/Inventario Gui De Pegar Sopas#
  Recraft: "&6&lRecraft"        #Nome Do Bau/Inventario Gui De Pegar Itens Para Recraft#
 
NomeDosItens:                   #coloque Nome Que Quizer Em cada Um Dos Itens.Pode Colocar Nome Do Seu Server#
  Sopa: "&4&lSopas"             #Nome Das Sopas#
  Potes: "&6&lPotes"            #Nome Das Potes#
  CoguMarron: "&4&lCogu"        #Nome Das Cogumelo Marron#
  CoguVermelho: "&9&lCogu"      #Nome Das Cogumelo Vermelho#
  
   plugin.yml
name: CustomPlacasDeSopa
version: 1.0
author: yStrikerBr
main: placasdesopa.yStrikerBr.Central
commands: 

 

Link para o comentário
Compartilhar em outros sites

10 respostass a esta questão

Posts Recomendados

Olá @@yStrikerBr!

 

Aqui está o link de uma ótima página de referência à API de Configuração do Bukkit :3

"Configuration API Reference"

 

Mas, só por que eu quero, vou colocar uns métodos aqui..

 

this.reloadConfig(); <-- Recarrega a 'Config

 

this.saveConfig(); <-- Salva a 'Config

 

this.saveDefaultConfig(); <-- Salva a 'Config se não houver (Coloque no OnEnable)

 

event.getPlayer().sendMessage(this.getConfig().getString("mensagem")); <--- Manda como Mensagem, o conteúdo da string da 'config.

 

Espero ter Ajudado! Valeu!

Link para o comentário
Compartilhar em outros sites

onde vou colocar esses metodos em que classe

Se você ainda se sente perdido, sugiro aprender um pouco mais de java antes de entrar de cabeça num plugin digamos ''complexo'' pro seu nível de aprendizado

Não é te desanimando, mas tem alguns conceitos básicos do java que eu diria que são necessários para que você não perca um tempo excessivo perguntando coisas simples..

Link para o comentário
Compartilhar em outros sites

Se Você AINDA SE Sente perdido, sugiro Aprender Um pouco Mais de java Antes de ENTRAR de Cabeça num plug-in digamos '' Complexo '' pro Seu nivel de Aprendizado 
de: Não e te desanimando, mas TEM Alguns Conceitos Básicos do java Que Eu Diria Que São Necessários para quê Você Não Perca hum ritmo excessivo perguntando Coisas simples ..

 

So Quero entender como usa config nao sou o melhor dev mais fiz alguns plugins bem legais pro server do meu amigo mais nao sei usar config em outra classes sem ser main a principal so tenho uma duvida com usa config se tiver um video site algo do tipo manda ai que vou ver com todo prazer pois so to aki por que quero aprender.

Link para o comentário
Compartilhar em outros sites

Coloque isso na main: 

private static Main instance;

	@Override
	public void onEnable(){
		instance = this;
		saveDefaultConfig();
		System.out.println("Olá");
		
	}
	public static Main getInstance(){
		return instance;
	}

 Para usar a config em outras classes, basta usar:

 Main.getInstance().getConfig()

Exemplo:

public String user = Main.getInstance().getConfig().getString("user");

Espero ter ajudado.

Editado por Kami
Link para o comentário
Compartilhar em outros sites

Faça um getMain...

public static Plugin me;

public void onEnable(){
  me = this;
}
public static Plugin getMain() { return me; }

E nas classes importa a main e faça  tipo assim:
Para pegar string:

Main.getMe().getConfig().get("");

Para pegar inteiro:

Main.getMe().getConfig().getInt("");

E assim vai....

Espero ter ajudado.

Não sei se o que fiz esta certo pois fiz pelo pc sem programa aberto

Link para o comentário
Compartilhar em outros sites

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