mirror of
https://github.com/MinecraftForge/MinecraftForge.git
synced 2026-11-12 16:27:47 +00:00
1 parent
6722e7a428
commit
00013865b0
6 files changed
+67
-15
No files matched your search
@@ -28,6 +28,7 @@ import net.minecraft.world.server.ServerWorld;
|
||||
import net.minecraftforge.common.loot.LootModifierManager;
|
||||
import net.minecraftforge.common.util.FakePlayerFactory;
|
||||
import net.minecraftforge.event.AddReloadListenerEvent;
|
||||
import net.minecraftforge.event.RegisterCommandsEvent;
|
||||
import net.minecraftforge.event.entity.EntityJoinWorldEvent;
|
||||
import net.minecraftforge.event.entity.player.PlayerEvent;
|
||||
import net.minecraftforge.event.world.ChunkEvent;
|
||||
@@ -39,6 +40,8 @@ import net.minecraftforge.event.TickEvent;
|
||||
import net.minecraftforge.event.TickEvent.ClientTickEvent;
|
||||
import net.minecraftforge.event.TickEvent.Phase;
|
||||
import net.minecraftforge.event.TickEvent.ServerTickEvent;
|
||||
import net.minecraftforge.server.command.ForgeCommand;
|
||||
import net.minecraftforge.server.command.ConfigCommand;
|
||||
|
||||
public class ForgeInternalHandler
|
||||
{
|
||||
@@ -112,6 +115,13 @@ public class ForgeInternalHandler
|
||||
ForgeHooks.updateBurns();
|
||||
}
|
||||
|
||||
@SubscribeEvent
|
||||
public void onCommandsRegister(RegisterCommandsEvent event)
|
||||
{
|
||||
new ForgeCommand(event.getDispatcher());
|
||||
ConfigCommand.register(event.getDispatcher());
|
||||
}
|
||||
|
||||
private static LootModifierManager INSTANCE;
|
||||
|
||||
@SubscribeEvent
|
||||
|
||||
@@ -114,7 +114,6 @@ public class ForgeMod implements WorldPersistenceHooks.WorldPersistenceHook
|
||||
modEventBus.addListener(this::gatherData);
|
||||
modEventBus.register(this);
|
||||
ATTRIBUTES.register(modEventBus);
|
||||
MinecraftForge.EVENT_BUS.addListener(this::serverStarting);
|
||||
MinecraftForge.EVENT_BUS.addListener(this::serverStopping);
|
||||
MinecraftForge.EVENT_BUS.addGenericListener(SoundEvent.class, this::missingSoundMapping);
|
||||
ModLoadingContext.get().registerConfig(ModConfig.Type.CLIENT, ForgeConfig.clientSpec);
|
||||
@@ -147,12 +146,6 @@ public class ForgeMod implements WorldPersistenceHooks.WorldPersistenceHook
|
||||
*/
|
||||
}
|
||||
|
||||
public void serverStarting(FMLServerStartingEvent evt)
|
||||
{
|
||||
new ForgeCommand(evt.getCommandDispatcher());
|
||||
ConfigCommand.register(evt.getCommandDispatcher());
|
||||
}
|
||||
|
||||
public void serverStopping(FMLServerStoppingEvent evt)
|
||||
{
|
||||
WorldWorkerManager.clear();
|
||||
|
||||
@@ -27,9 +27,12 @@ import javax.annotation.Nullable;
|
||||
|
||||
import com.mojang.blaze3d.matrix.MatrixStack;
|
||||
|
||||
import com.mojang.brigadier.CommandDispatcher;
|
||||
import net.minecraft.block.NetherPortalBlock;
|
||||
import net.minecraft.block.BlockState;
|
||||
import net.minecraft.client.util.ITooltipFlag;
|
||||
import net.minecraft.command.CommandSource;
|
||||
import net.minecraft.command.Commands;
|
||||
import net.minecraft.entity.Entity;
|
||||
import net.minecraft.entity.MobEntity;
|
||||
import net.minecraft.entity.SpawnReason;
|
||||
@@ -724,4 +727,10 @@ public class ForgeEventFactory
|
||||
MinecraftForge.EVENT_BUS.post(event);
|
||||
return event.getListeners();
|
||||
}
|
||||
|
||||
public static void onCommandRegister(CommandDispatcher<CommandSource> dispatcher, Commands.EnvironmentType environment)
|
||||
{
|
||||
RegisterCommandsEvent event = new RegisterCommandsEvent(dispatcher, environment);
|
||||
MinecraftForge.EVENT_BUS.post(event);
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,36 @@
|
||||
package net.minecraftforge.event;
|
||||
|
||||
import com.mojang.brigadier.CommandDispatcher;
|
||||
import net.minecraft.command.*;
|
||||
import net.minecraft.resources.*;
|
||||
import net.minecraftforge.common.MinecraftForge;
|
||||
import net.minecraftforge.eventbus.api.Event;
|
||||
|
||||
|
||||
/**
|
||||
* Commands are rebuilt whenever {@link DataPackRegistries} is recreated.
|
||||
* You can use this event to register your commands whenever the {@link net.minecraft.command.Commands} class in constructed.
|
||||
*
|
||||
* The event is fired on the {@link MinecraftForge#EVENT_BUS}
|
||||
*/
|
||||
public class RegisterCommandsEvent extends Event
|
||||
{
|
||||
private final CommandDispatcher<CommandSource> dispatcher;
|
||||
private final Commands.EnvironmentType environment;
|
||||
|
||||
public RegisterCommandsEvent(CommandDispatcher<CommandSource> dispatcher, Commands.EnvironmentType environment)
|
||||
{
|
||||
this.dispatcher = dispatcher;
|
||||
this.environment = environment;
|
||||
}
|
||||
|
||||
public CommandDispatcher<CommandSource> getDispatcher()
|
||||
{
|
||||
return dispatcher;
|
||||
}
|
||||
|
||||
public Commands.EnvironmentType getEnvironment()
|
||||
{
|
||||
return environment;
|
||||
}
|
||||
}
|
||||
@@ -19,14 +19,13 @@
|
||||
|
||||
package net.minecraftforge.fml.event.server;
|
||||
|
||||
import com.mojang.brigadier.CommandDispatcher;
|
||||
import net.minecraft.command.CommandSource;
|
||||
import net.minecraft.server.MinecraftServer;
|
||||
|
||||
/**
|
||||
* Called after {@link FMLServerAboutToStartEvent} and before {@link FMLServerStartedEvent}.
|
||||
* This event allows for customizations of the server, such as loading custom commands, perhaps customizing recipes or
|
||||
* other activities.
|
||||
* This event allows for customizations of the server.
|
||||
*
|
||||
* If you need to add commands use {@link net.minecraftforge.event.RegisterCommandsEvent}.
|
||||
*
|
||||
* @author cpw
|
||||
*/
|
||||
@@ -37,7 +36,4 @@ public class FMLServerStartingEvent extends ServerLifecycleEvent
|
||||
super(server);
|
||||
}
|
||||
|
||||
public CommandDispatcher<CommandSource> getCommandDispatcher() {
|
||||
return server.getCommandManager().getDispatcher();
|
||||
}
|
||||
}
|
||||
Reference in new issue
Block a user