I have a very simple code for testing purpose inside the Plugin instance class
@Listener
public void test(ClientConnectionEvent.Join e, @First Player player) {
getLogger().info(String.valueOf(player));
}
Some of them are working well such as GameAboutToStartServerEvent
@Listener
public void onInitialize(GameAboutToStartServerEvent e) {
/* CommandSpec cs = CommandSpec.builder()
.permission("triggerreactor.admin")
.arguments(GenericArguments.remainingJoinedStrings(Text.of("arguments")))
.executor(new CommandExecutor() {
@Override
public CommandResult execute(CommandSource src, CommandContext args) throws CommandException {
if (src instanceof Player) {
onCommand(new SpongePlayer((Player) src), "triggerreactor",
args.<String>getOne("arguments").get().split(" "));
} else {
onCommand(new SpongeCommandSender(src), "triggerreactor",
args.<String>getOne("arguments").get().split(" "));
}
return CommandResult.success();
}
}).build();
Sponge.getCommandManager().register(this, cs, "trg", "trigger");*/
Sponge.getCommandManager().register(this, new CommandCallable() {
@Override
public CommandResult process(CommandSource src, String args) throws CommandException {
if (src instanceof Player) {
onCommand(new SpongePlayer((Player) src), "triggerreactor",
args.split(" "));
} else {
onCommand(new SpongeCommandSender(src), "triggerreactor",
args.split(" "));
}
return CommandResult.success();
}
@Override
public List<String> getSuggestions(CommandSource source, String arguments, Location<World> targetPosition)
throws CommandException {
return new ArrayList<>();
}
@Override
public boolean testPermission(CommandSource source) {
return source.hasPermission("triggerreactor.admin");
}
@Override
public Optional<Text> getShortDescription(CommandSource source) {
return Optional.of(Text.of("TriggerReactor"));
}
@Override
public Optional<Text> getHelp(CommandSource source) {
return Optional.of(Text.of("/trg for details"));
}
@Override
public Text getUsage(CommandSource source) {
return Text.of("/trg for details");
}
}, "trg", "trigger");
}
This code works well.
And the code is placed right below the Listener for ClientConnectionEvent.Join, so if I didnāt do anything wrong here, it should be called when a player join the server.
But even if I join server several times, the event doesnāt seem to fire at all. I donāt see any message related to the player. Even if player was null (which is not likely happen), it should print null at least.
It happens for events like InteractBlockEvent etc. too.
This is extremely frustrating as Iām porting this plugin, and it might be worth nothing if I canāt hook events properly.
Any idea from anyone?
Thank you
Ā§rĀ§7 MinecraftĀ§rĀ§7: Ā§r1.12.2Ā§r
Ā§rĀ§7 SpongeAPIĀ§rĀ§7: Ā§r7.1.0-SNAPSHOT-d453c3eĀ§r
Ā§rĀ§7 SpongeForgeĀ§rĀ§7: Ā§r1.12.2-2705-7.1.0-BETA-3206Ā§r
Ā§rĀ§7 Minecraft ForgeĀ§rĀ§7: Ā§r14.23.4.2705Ā§r