Skip to content

Commit 81a7b87

Browse files
committed
sponge: Fix command registration on latest API 14
1 parent fba25aa commit 81a7b87

2 files changed

Lines changed: 11 additions & 6 deletions

File tree

sponge/src/main/java/com/convallyria/forcepack/sponge/ForcePackSponge.java

Lines changed: 8 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -38,11 +38,13 @@
3838
import org.spongepowered.api.ResourceKey;
3939
import org.spongepowered.api.Server;
4040
import org.spongepowered.api.Sponge;
41+
import org.spongepowered.api.command.Command;
4142
import org.spongepowered.api.config.ConfigDir;
4243
import org.spongepowered.api.entity.living.player.server.ServerPlayer;
4344
import org.spongepowered.api.event.EventManager;
4445
import org.spongepowered.api.event.Listener;
4546
import org.spongepowered.api.event.lifecycle.RegisterChannelEvent;
47+
import org.spongepowered.api.event.lifecycle.RegisterCommandEvent;
4648
import org.spongepowered.api.event.lifecycle.StartingEngineEvent;
4749
import org.spongepowered.api.network.ServerConnectionState;
4850
import org.spongepowered.api.network.channel.raw.RawDataChannel;
@@ -56,6 +58,7 @@
5658
import java.io.File;
5759
import java.io.FileReader;
5860
import java.io.IOException;
61+
import java.lang.invoke.MethodHandles;
5962
import java.nio.file.FileAlreadyExistsException;
6063
import java.nio.file.Files;
6164
import java.nio.file.Path;
@@ -99,7 +102,6 @@ public ForcePackSponge(PluginContainer pluginContainer, Logger logger, @ConfigDi
99102
this.configDir = configDir;
100103
this.scheduler = new SpongeScheduler(this);
101104
this.loadConfig();
102-
this.registerCommands();
103105
metrics.make(13677);
104106
}
105107

@@ -381,14 +383,15 @@ public void onRegisterChannels(RegisterChannelEvent event) {
381383
private void registerListeners() {
382384
EventManager pm = Sponge.eventManager();
383385

384-
pm.registerListeners(pluginContainer, new ResourcePackListener(this));
385-
pm.registerListeners(pluginContainer, new ExemptionListener(this));
386+
pm.registerListeners(pluginContainer, new ResourcePackListener(this), MethodHandles.lookup());
387+
pm.registerListeners(pluginContainer, new ExemptionListener(this), MethodHandles.lookup());
386388

387389
PacketEvents.getAPI().getEventManager().registerListeners(new PacketListener(this));
388390
}
389391

390-
private void registerCommands() {
391-
new Commands(this);
392+
@Listener
393+
private void onRegisterCommands(final RegisterCommandEvent<Command.Parameterized> event) {
394+
new Commands(this, event.registryHolder());
392395
}
393396

394397
private ConfigurationNode rootNode;

sponge/src/main/java/com/convallyria/forcepack/sponge/command/Commands.java

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,16 +6,18 @@
66
import org.incendo.cloud.execution.ExecutionCoordinator;
77
import org.incendo.cloud.sponge.SpongeCommandManager;
88
import org.spongepowered.api.command.CommandCause;
9+
import org.spongepowered.api.registry.RegistryHolder;
910

1011
public class Commands {
1112

12-
public Commands(ForcePackSponge plugin) {
13+
public Commands(ForcePackSponge plugin, RegistryHolder registryHolder) {
1314

1415
final SpongeCommandManager<CommandCause> manager;
1516
try {
1617
manager = new SpongeCommandManager<>(
1718
plugin.pluginContainer(),
1819
ExecutionCoordinator.simpleCoordinator(),
20+
registryHolder,
1921
SenderMapper.identity()
2022
);
2123
} catch (Exception e) {

0 commit comments

Comments
 (0)