Hi! I am new to the forum and to the Sponge API and I try to make a plugin, but when I open the server the plugin commands don’t work.
I tried similar case solutions in the forum but none worked for me.
Here some photos of my plugin:
build.gradle
Main
package AppForm;
import org.slf4j.Logger;
import org.spongepowered.api.Sponge;
import org.spongepowered.api.command.spec.CommandSpec;
import org.spongepowered.api.event.Listener;
import org.spongepowered.api.event.game.state.GameStartedServerEvent;
import org.spongepowered.api.plugin.Plugin;
import org.spongepowered.api.text.Text;
import com.google.inject.Inject;
@Plugin(id = “sulybanlogin”, name =“LoginBan”, authors = “SulyBan”)
public class Main {
public static Main instance;
@Inject
Logger logger;
@Listener
public void onServerStart(GameStartedServerEvent event) {
logger.info("Succesly running LoginPlugin!!");
CommandSpec command = CommandSpec.builder()
.permission("sulyban.command.base")
.description(Text.of("This commmand is for login o register new players!"))
.executor(new LogIn())
.build();
Sponge.getCommandManager().register(instance, command, "Login","login");
System.out.println("Funciona, repito esto funciona coronel!");
}
}
Command
package AppForm;
import org.spongepowered.api.command.CommandException;
import org.spongepowered.api.command.CommandResult;
import org.spongepowered.api.command.CommandSource;
import org.spongepowered.api.command.args.CommandContext;
import org.spongepowered.api.command.source.CommandBlockSource;
import org.spongepowered.api.command.source.ConsoleSource;
import org.spongepowered.api.command.spec.CommandExecutor;
import org.spongepowered.api.entity.living.player.Player;
import org.spongepowered.api.text.Text;
import org.spongepowered.api.text.format.TextColors;
import org.spongepowered.api.text.serializer.TextSerializers;
public class LogIn implements CommandExecutor {
@Override
public CommandResult execute(CommandSource src, CommandContext args) throws CommandException {
if(src instanceof Player) {
Player player = (Player) src;
Text mensaje = TextSerializers.FORMATTING_CODE.deserialize("§2§k¡Hola §3§l"+player.getName()+"§2§kBienveido a §c§lSurvivalMods!");
player.sendMessage(mensaje);
}
if (src instanceof ConsoleSource) {
src.sendMessage(Text.of(TextColors.DARK_RED,"¡El server no tiene permiso para ejecutar este comando!"));
}
if(src instanceof CommandBlockSource) {
src.sendMessage(Text.of(TextColors.DARK_RED,"¡El Bloque de comandos no tiene permiso para ejecutar este comando!"));
}
return CommandResult.success();
}
}
Thx for read and sorry for my english!