mirror of
https://github.com/MinecraftForge/MinecraftForge.git
synced 2026-11-12 16:27:47 +00:00
Fix PlayerGameModeEventTest and ForgeWorldTypeTest so they don't crash the dedicated server when running forge_test_server in forgedev (#7869)
This commit is contained in:
1 parent
31fb15c88d
commit
d35784eb14
2 files changed
+28
-17
No files matched your search
@@ -20,6 +20,7 @@
|
||||
package net.minecraftforge.debug.entity.player;
|
||||
|
||||
import net.minecraft.world.GameType;
|
||||
import net.minecraftforge.api.distmarker.Dist;
|
||||
import net.minecraftforge.client.event.ClientPlayerChangeGameModeEvent;
|
||||
import net.minecraftforge.event.entity.player.PlayerEvent;
|
||||
import net.minecraftforge.eventbus.api.SubscribeEvent;
|
||||
@@ -43,11 +44,15 @@ public class PlayerGameModeEventTest
|
||||
if (event.getNewGameMode() == GameType.SURVIVAL)
|
||||
event.setCanceled(true);
|
||||
}
|
||||
|
||||
@SubscribeEvent
|
||||
public static void onClientPlayerChangeGameModeEvent(ClientPlayerChangeGameModeEvent event)
|
||||
|
||||
@Mod.EventBusSubscriber(modid="player_game_mode_event_test", value=Dist.CLIENT, bus=Mod.EventBusSubscriber.Bus.FORGE)
|
||||
public static class PlayerGameModeEventTestClientForgeEvents
|
||||
{
|
||||
if (!ENABLE) return;
|
||||
LOGGER.info("Client notified of changed game mode from '{}'. Current GameType: {}. New Game Type: {}", event.getInfo().getProfile(), event.getCurrentGameMode(), event.getNewGameMode());
|
||||
@SubscribeEvent
|
||||
public static void onClientPlayerChangeGameModeEvent(ClientPlayerChangeGameModeEvent event)
|
||||
{
|
||||
if (!ENABLE) return;
|
||||
LOGGER.info("Client notified of changed game mode from '{}'. Current GameType: {}. New Game Type: {}", event.getInfo().getProfile(), event.getCurrentGameMode(), event.getNewGameMode());
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -28,12 +28,14 @@ import net.minecraft.world.biome.Biome;
|
||||
import net.minecraft.world.gen.ChunkGenerator;
|
||||
import net.minecraft.world.gen.DimensionSettings;
|
||||
import net.minecraft.world.gen.settings.DimensionGeneratorSettings;
|
||||
import net.minecraftforge.api.distmarker.Dist;
|
||||
import net.minecraftforge.client.ForgeWorldTypeScreens;
|
||||
import net.minecraftforge.common.world.ForgeWorldType;
|
||||
import net.minecraftforge.event.RegistryEvent;
|
||||
import net.minecraftforge.eventbus.api.SubscribeEvent;
|
||||
import net.minecraftforge.fml.common.Mod;
|
||||
import net.minecraftforge.fml.common.Mod.EventBusSubscriber.Bus;
|
||||
import net.minecraftforge.fml.event.lifecycle.FMLClientSetupEvent;
|
||||
import net.minecraftforge.fml.event.lifecycle.FMLCommonSetupEvent;
|
||||
import net.minecraftforge.fml.javafmlmod.FMLJavaModLoadingContext;
|
||||
import net.minecraftforge.registries.ObjectHolder;
|
||||
|
||||
@@ -46,7 +48,6 @@ public class ForgeWorldTypeTest
|
||||
public ForgeWorldTypeTest()
|
||||
{
|
||||
FMLJavaModLoadingContext.get().getModEventBus().addGenericListener(ForgeWorldType.class, this::registerWorldTypes);
|
||||
FMLJavaModLoadingContext.get().getModEventBus().addListener(this::registerWorldTypeScreenFactories);
|
||||
}
|
||||
|
||||
private void registerWorldTypes(RegistryEvent.Register<ForgeWorldType> event)
|
||||
@@ -64,19 +65,24 @@ public class ForgeWorldTypeTest
|
||||
return DimensionGeneratorSettings.makeDefaultOverworld(biomes, dimensionSettings, seed);
|
||||
}
|
||||
|
||||
private void registerWorldTypeScreenFactories(FMLClientSetupEvent event)
|
||||
@Mod.EventBusSubscriber(modid="forge_world_type_test", value=Dist.CLIENT, bus=Bus.MOD)
|
||||
public static class ForgeWorldTypeTestClientModEvents
|
||||
{
|
||||
ForgeWorldTypeScreens.registerFactory(testWorldType, (returnTo, dimensionGeneratorSettings) -> new Screen(testWorldType.getDisplayName())
|
||||
@SubscribeEvent
|
||||
public static void registerWorldTypeScreenFactories(FMLClientSetupEvent event)
|
||||
{
|
||||
@Override
|
||||
protected void init()
|
||||
ForgeWorldTypeScreens.registerFactory(testWorldType, (returnTo, dimensionGeneratorSettings) -> new Screen(testWorldType.getDisplayName())
|
||||
{
|
||||
super.init();
|
||||
@Override
|
||||
protected void init()
|
||||
{
|
||||
super.init();
|
||||
|
||||
addButton(new Button(0, 0, 120, 20, new StringTextComponent("close"), btn -> {
|
||||
Minecraft.getInstance().setScreen(returnTo);
|
||||
}));
|
||||
}
|
||||
});
|
||||
addButton(new Button(0, 0, 120, 20, new StringTextComponent("close"), btn -> {
|
||||
Minecraft.getInstance().setScreen(returnTo);
|
||||
}));
|
||||
}
|
||||
});
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in new issue
Block a user