Fix client command registration for Fabric
The dispatcher is not actually available during mod init. So, use the event callback.
This commit is contained in:
@@ -3,13 +3,17 @@ package ca.spottedleaf.moonrise.fabric;
|
|||||||
import ca.spottedleaf.moonrise.patches.command.MoonriseCommand;
|
import ca.spottedleaf.moonrise.patches.command.MoonriseCommand;
|
||||||
import com.mojang.brigadier.CommandDispatcher;
|
import com.mojang.brigadier.CommandDispatcher;
|
||||||
import net.fabricmc.api.ClientModInitializer;
|
import net.fabricmc.api.ClientModInitializer;
|
||||||
import net.fabricmc.fabric.api.client.command.v2.ClientCommandManager;
|
import net.fabricmc.fabric.api.client.command.v2.ClientCommandRegistrationCallback;
|
||||||
|
import net.fabricmc.fabric.api.client.command.v2.FabricClientCommandSource;
|
||||||
|
import net.minecraft.commands.CommandBuildContext;
|
||||||
|
|
||||||
public final class MoonriseFabricClient implements ClientModInitializer {
|
public final class MoonriseFabricClient implements ClientModInitializer {
|
||||||
|
|
||||||
@SuppressWarnings({"rawtypes", "unchecked"})
|
@SuppressWarnings({"rawtypes", "unchecked"})
|
||||||
@Override
|
@Override
|
||||||
public void onInitializeClient() {
|
public void onInitializeClient() {
|
||||||
MoonriseCommand.registerClient((CommandDispatcher) ClientCommandManager.getActiveDispatcher());
|
ClientCommandRegistrationCallback.EVENT.register((final CommandDispatcher<FabricClientCommandSource> commandDispatcher, final CommandBuildContext commandBuildContext) -> {
|
||||||
|
MoonriseCommand.registerClient((CommandDispatcher)commandDispatcher);
|
||||||
|
});
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -22,7 +22,9 @@ import it.unimi.dsi.fastutil.longs.LongArrayFIFOQueue;
|
|||||||
import it.unimi.dsi.fastutil.longs.LongOpenHashSet;
|
import it.unimi.dsi.fastutil.longs.LongOpenHashSet;
|
||||||
import net.minecraft.ChatFormatting;
|
import net.minecraft.ChatFormatting;
|
||||||
import net.minecraft.client.Minecraft;
|
import net.minecraft.client.Minecraft;
|
||||||
|
import net.minecraft.commands.CommandBuildContext;
|
||||||
import net.minecraft.commands.CommandSourceStack;
|
import net.minecraft.commands.CommandSourceStack;
|
||||||
|
import net.minecraft.commands.Commands;
|
||||||
import net.minecraft.network.chat.Component;
|
import net.minecraft.network.chat.Component;
|
||||||
import net.minecraft.server.dedicated.DedicatedServer;
|
import net.minecraft.server.dedicated.DedicatedServer;
|
||||||
import net.minecraft.util.Mth;
|
import net.minecraft.util.Mth;
|
||||||
|
|||||||
@@ -10,6 +10,7 @@ import java.util.ArrayDeque;
|
|||||||
import java.util.ArrayList;
|
import java.util.ArrayList;
|
||||||
import java.util.Arrays;
|
import java.util.Arrays;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
import java.util.Objects;
|
||||||
|
|
||||||
public final class LeafProfiler {
|
public final class LeafProfiler {
|
||||||
|
|
||||||
@@ -41,7 +42,9 @@ public final class LeafProfiler {
|
|||||||
}
|
}
|
||||||
|
|
||||||
private static void add(final long[] dst, final long[] src) {
|
private static void add(final long[] dst, final long[] src) {
|
||||||
for (int i = 0; i < src.length; ++i) {
|
final int srcLen = src.length;
|
||||||
|
Objects.checkFromToIndex(0, srcLen, dst.length);
|
||||||
|
for (int i = 0; i < srcLen; ++i) {
|
||||||
dst[i] += src[i];
|
dst[i] += src[i];
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user