Ir para conteúdo

Como criar seu plugin Bukkit 3 - Config.yml


Dery

Posts Recomendados

 

Como faço para poder juntar 2 tipo Servername e Msg

p.sendMessage(getConfig().getString("ServerName" + "Msg_Permissao").replace("{Jogador}", p.getName()).replace("&", "§"));

Se eu entendi bem: você pode criar uma variável string com um nome e pegar ServerName pela config, depois pega essa variável e coloca no sendMessage, tipo:

String ServerName = getConfig().getString("ServerName").replace("&", "§");
p.sendMessage(ServerName + getConfig().getString("Msg_Permissao").replace("{Jogador}", p.getName()).replace("&", "§"));

Se for isso mesmo, ficarei grato em ter ajudado :)

Link para o comentário
Compartilhar em outros sites

Se eu entendi bem: você pode criar uma variável string com um nome e pegar ServerName pela config, depois pega essa variável e coloca no sendMessage, tipo:

String ServerName = getConfig().getString("ServerName").replace("&", "§");
p.sendMessage(ServerName + getConfig().getString("Msg_Permissao").replace("{Jogador}", p.getName()).replace("&", "§"));

Se for isso mesmo, ficarei grato em ter ajudado :)

Estou com algum problema pode me ajudar?

 

Erro:

 

 

[20:23:18 WARN]: Unexpected exception while parsing console command "teste"

org.bukkit.command.CommandException: Unhandled exception executing command 'teste' in plugin Teste v1.0

at org.bukkit.command.PluginCommand.execute(PluginCommand.java:46) ~[spigot.jar:git-Spigot-1649]

at org.bukkit.command.SimpleCommandMap.dispatch(SimpleCommandMap.java:181) ~[spigot.jar:git-Spigot-1649]

at org.bukkit.craftbukkit.v1_7_R4.CraftServer.dispatchCommand(CraftServer.java:767) ~[spigot.jar:git-Spigot-1649]

at org.bukkit.craftbukkit.v1_7_R4.CraftServer.dispatchServerCommand(CraftServer.java:753) [spigot.jar:git-Spigot-1649]

at net.minecraft.server.v1_7_R4.DedicatedServer.aB(DedicatedServer.java:326) [spigot.jar:git-Spigot-1649]

at net.minecraft.server.v1_7_R4.DedicatedServer.v(DedicatedServer.java:290) [spigot.jar:git-Spigot-1649]

at net.minecraft.server.v1_7_R4.MinecraftServer.u(MinecraftServer.java:584) [spigot.jar:git-Spigot-1649]

at net.minecraft.server.v1_7_R4.MinecraftServer.run(MinecraftServer.java:490) [spigot.jar:git-Spigot-1649]

at net.minecraft.server.v1_7_R4.ThreadServerApplication.run(SourceFile:628) [spigot.jar:git-Spigot-1649]

Caused by: java.lang.ClassCastException: org.bukkit.craftbukkit.v1_7_R4.command.ColouredConsoleSender cannot be cast to org.bukkit.entity.Player

at me.musicsbass.teste.Main.onCommand(Main.java:22) ~[?:?]

at org.bukkit.command.PluginCommand.execute(PluginCommand.java:44) ~[spigot.jar:git-Spigot-1649]

... 8 more

 

 

 

Codigo:

 

 

 

package me.musicsbass.teste;

import java.io.File;

import org.bukkit.command.Command;
import org.bukkit.command.CommandSender;
import org.bukkit.entity.Player;
import org.bukkit.plugin.java.JavaPlugin;

public class Main extends JavaPlugin{
	public void onEnable(){
		getServer().getConsoleSender().sendMessage("§a[Teste] Ligado. Plugin v1.0 By MusicsBass");
		if(!new File(getDataFolder(), "config.yml").exists()){
			saveDefaultConfig();
			
		}
	}
	public void onDisable(){
		getServer().getConsoleSender().sendMessage("§c[Teste] Desligado. Plugin v1.0 By MusicsBass");
	}
	public boolean onCommand(CommandSender sender, Command cmd, String label, String[] args) {
		Player p = (Player) sender;
		if (cmd.getName().equals("teste")){
			if(!p.hasPermission("teste")){
				String ServerName = getConfig().getString("ServerName").replace("&", "§");
				p.sendMessage(ServerName + getConfig().getString("Msg_Permissao").replace("{Jogador}", p.getName()).replace("&", "§"));
				return true;
			}
			p.sendMessage("§b------------------------------------------\n\n§f           §aPlugin 1.0 By MusicsBass\n\n§b------------------------------------------");
		}
		return false;
		}
}
 

 

 

Link para o comentário
Compartilhar em outros sites

Estou com algum problema pode me ajudar?

 

Erro:

 

 

[20:23:18 WARN]: Unexpected exception while parsing console command "teste"

org.bukkit.command.CommandException: Unhandled exception executing command 'teste' in plugin Teste v1.0

at org.bukkit.command.PluginCommand.execute(PluginCommand.java:46) ~[spigot.jar:git-Spigot-1649]

at org.bukkit.command.SimpleCommandMap.dispatch(SimpleCommandMap.java:181) ~[spigot.jar:git-Spigot-1649]

at org.bukkit.craftbukkit.v1_7_R4.CraftServer.dispatchCommand(CraftServer.java:767) ~[spigot.jar:git-Spigot-1649]

at org.bukkit.craftbukkit.v1_7_R4.CraftServer.dispatchServerCommand(CraftServer.java:753) [spigot.jar:git-Spigot-1649]

at net.minecraft.server.v1_7_R4.DedicatedServer.aB(DedicatedServer.java:326) [spigot.jar:git-Spigot-1649]

at net.minecraft.server.v1_7_R4.DedicatedServer.v(DedicatedServer.java:290) [spigot.jar:git-Spigot-1649]

at net.minecraft.server.v1_7_R4.MinecraftServer.u(MinecraftServer.java:584) [spigot.jar:git-Spigot-1649]

at net.minecraft.server.v1_7_R4.MinecraftServer.run(MinecraftServer.java:490) [spigot.jar:git-Spigot-1649]

at net.minecraft.server.v1_7_R4.ThreadServerApplication.run(SourceFile:628) [spigot.jar:git-Spigot-1649]

Caused by: java.lang.ClassCastException: org.bukkit.craftbukkit.v1_7_R4.command.ColouredConsoleSender cannot be cast to org.bukkit.entity.Player

at me.musicsbass.teste.Main.onCommand(Main.java:22) ~[?:?]

at org.bukkit.command.PluginCommand.execute(PluginCommand.java:44) ~[spigot.jar:git-Spigot-1649]

... 8 more

 

 

 

Codigo:

 

 

 

package me.musicsbass.teste;

import java.io.File;

import org.bukkit.command.Command;
import org.bukkit.command.CommandSender;
import org.bukkit.entity.Player;
import org.bukkit.plugin.java.JavaPlugin;

public class Main extends JavaPlugin{
	public void onEnable(){
		getServer().getConsoleSender().sendMessage("§a[Teste] Ligado. Plugin v1.0 By MusicsBass");
		if(!new File(getDataFolder(), "config.yml").exists()){
			saveDefaultConfig();
			
		}
	}
	public void onDisable(){
		getServer().getConsoleSender().sendMessage("§c[Teste] Desligado. Plugin v1.0 By MusicsBass");
	}
	public boolean onCommand(CommandSender sender, Command cmd, String label, String[] args) {
		Player p = (Player) sender;
		if (cmd.getName().equals("teste")){
			if(!p.hasPermission("teste")){
				String ServerName = getConfig().getString("ServerName").replace("&", "§");
				p.sendMessage(ServerName + getConfig().getString("Msg_Permissao").replace("{Jogador}", p.getName()).replace("&", "§"));
				return true;
			}
			p.sendMessage("§b------------------------------------------\n\n§f           §aPlugin 1.0 By MusicsBass\n\n§b------------------------------------------");
		}
		return false;
		}
}
 

 

 

Você está usando um comando no console, que era pra ser usado pelo player

Link para o comentário
Compartilhar em outros sites

Estou com algum problema pode me ajudar?

 

Erro:

 

 

[20:23:18 WARN]: Unexpected exception while parsing console command "teste"

org.bukkit.command.CommandException: Unhandled exception executing command 'teste' in plugin Teste v1.0

at org.bukkit.command.PluginCommand.execute(PluginCommand.java:46) ~[spigot.jar:git-Spigot-1649]

at org.bukkit.command.SimpleCommandMap.dispatch(SimpleCommandMap.java:181) ~[spigot.jar:git-Spigot-1649]

at org.bukkit.craftbukkit.v1_7_R4.CraftServer.dispatchCommand(CraftServer.java:767) ~[spigot.jar:git-Spigot-1649]

at org.bukkit.craftbukkit.v1_7_R4.CraftServer.dispatchServerCommand(CraftServer.java:753) [spigot.jar:git-Spigot-1649]

at net.minecraft.server.v1_7_R4.DedicatedServer.aB(DedicatedServer.java:326) [spigot.jar:git-Spigot-1649]

at net.minecraft.server.v1_7_R4.DedicatedServer.v(DedicatedServer.java:290) [spigot.jar:git-Spigot-1649]

at net.minecraft.server.v1_7_R4.MinecraftServer.u(MinecraftServer.java:584) [spigot.jar:git-Spigot-1649]

at net.minecraft.server.v1_7_R4.MinecraftServer.run(MinecraftServer.java:490) [spigot.jar:git-Spigot-1649]

at net.minecraft.server.v1_7_R4.ThreadServerApplication.run(SourceFile:628) [spigot.jar:git-Spigot-1649]

Caused by: java.lang.ClassCastException: org.bukkit.craftbukkit.v1_7_R4.command.ColouredConsoleSender cannot be cast to org.bukkit.entity.Player

at me.musicsbass.teste.Main.onCommand(Main.java:22) ~[?:?]

at org.bukkit.command.PluginCommand.execute(PluginCommand.java:44) ~[spigot.jar:git-Spigot-1649]

... 8 more

 

 

 

Codigo:

 

 

 

package me.musicsbass.teste;

import java.io.File;

import org.bukkit.command.Command;
import org.bukkit.command.CommandSender;
import org.bukkit.entity.Player;
import org.bukkit.plugin.java.JavaPlugin;

public class Main extends JavaPlugin{
	public void onEnable(){
		getServer().getConsoleSender().sendMessage("§a[Teste] Ligado. Plugin v1.0 By MusicsBass");
		if(!new File(getDataFolder(), "config.yml").exists()){
			saveDefaultConfig();
			
		}
	}
	public void onDisable(){
		getServer().getConsoleSender().sendMessage("§c[Teste] Desligado. Plugin v1.0 By MusicsBass");
	}
	public boolean onCommand(CommandSender sender, Command cmd, String label, String[] args) {
		Player p = (Player) sender;
		if (cmd.getName().equals("teste")){
			if(!p.hasPermission("teste")){
				String ServerName = getConfig().getString("ServerName").replace("&", "§");
				p.sendMessage(ServerName + getConfig().getString("Msg_Permissao").replace("{Jogador}", p.getName()).replace("&", "§"));
				return true;
			}
			p.sendMessage("§b------------------------------------------\n\n§f           §aPlugin 1.0 By MusicsBass\n\n§b------------------------------------------");
		}
		return false;
		}
}
 

 

 

Você esta utilizando o comando via console, sendo que você declarou que quem vai utilizar o comando será um player, mas é simples resolver isto, só fazer isso :)

 

 

package me.musicsbass.teste;

import java.io.File;

import org.bukkit.command.Command;
import org.bukkit.command.CommandSender;
import org.bukkit.entity.Player;
import org.bukkit.plugin.java.JavaPlugin;

public class Main extends JavaPlugin{

	public void onEnable(){
		getServer().getConsoleSender().sendMessage("§a[Teste] Ligado. Plugin v1.0 By MusicsBass");
		if(!new File(getDataFolder(), "config.yml").exists()){
			saveDefaultConfig();
		}
	}
    
	public void onDisable(){
		getServer().getConsoleSender().sendMessage("§c[Teste] Desligado. Plugin v1.0 By MusicsBass");
	}
    
	public boolean onCommand(CommandSender sender, Command cmd, String label, String[] args) {
		if(sender instanceof Player){
            Player p = (Player) sender;
            if (cmd.getName().equals("teste")){
                if(!p.hasPermission("teste")){
                    String ServerName = getConfig().getString("ServerName").replace("&", "§");
                    p.sendMessage(ServerName + getConfig().getString("Msg_Permissao").replace("{Jogador}", p.getName()).replace("&", "§"));
                    return true;
                }
                p.sendMessage("§b------------------------------------------\n\n§f           §aPlugin 1.0 By MusicsBass\n\n§b------------------------------------------");
            }
        }else{
            if (cmd.getName().equals("teste")){
                sender.sendMessage("§b------------------------------------------\n\n§f           §aPlugin 1.0 By MusicsBass\n\n§b------------------------------------------");
            }
        }
		return false;
	}
} 

 

 

 

Faz uma verificação da parte do "sender instanceof Player", só que não coloca o "!" antes (pode até colocar, mas sem é melhor), aí ficaria assim:

 

 

if(sender instanceof Player){ // Se o utilizador do comando for um player, faça isso:
    Player p = (Player) sender; // Como eu sei que o utilizar será um player, eu posso declarar a variável player!
    // Código Aqui
}else{ // Caso o utilizador não seja um player, faça isso:
    /**
    Nesta parte não se declara uma variável Player, pois se o utilizador não foi um player, obviamente será o console!
    A variável Player deste caso seria a variável do "CommandSender" que você declarou no onCommand, que provavelmente será "sender"!
    Código Aqui!
    */
}

 

 

Link para o comentário
Compartilhar em outros sites

Participe da Conversa

Você pode postar agora e se cadastrar mais tarde. Se você tiver uma conta, a class='ipsType_brandedLink' href='https://gamersboard.com.br/login/' data-ipsDialog data-ipsDialog-size='medium' data-ipsDialog-title='Sign In Now'>acesse agora para postar com sua conta.
Observação: sua postagem exigirá aprovação do moderador antes de ficar visível.

Visitante
Responder

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.

Processando...
×
×
  • Criar Novo...