Skip to content

Commit

Permalink
Removed DistExecutor
Browse files Browse the repository at this point in the history
  • Loading branch information
Edivad99 committed Aug 19, 2023
1 parent db9c5af commit 6840b68
Show file tree
Hide file tree
Showing 3 changed files with 33 additions and 44 deletions.
6 changes: 4 additions & 2 deletions src/main/java/mods/railcraft/Railcraft.java
Original file line number Diff line number Diff line change
Expand Up @@ -95,11 +95,11 @@
import net.minecraftforge.event.server.ServerStartedEvent;
import net.minecraftforge.event.village.VillagerTradesEvent;
import net.minecraftforge.eventbus.api.SubscribeEvent;
import net.minecraftforge.fml.DistExecutor;
import net.minecraftforge.fml.ModLoadingContext;
import net.minecraftforge.fml.common.Mod;
import net.minecraftforge.fml.event.lifecycle.FMLCommonSetupEvent;
import net.minecraftforge.fml.javafmlmod.FMLJavaModLoadingContext;
import net.minecraftforge.fml.loading.FMLEnvironment;
import net.minecraftforge.network.NetworkDirection;
import net.minecraftforge.registries.ForgeRegistries;

Expand Down Expand Up @@ -132,7 +132,9 @@ public Railcraft() {
modEventBus.addListener(this::buildContents);
modEventBus.addListener(this::handleGatherData);

DistExecutor.unsafeRunWhenOn(Dist.CLIENT, () -> ClientManager::new);
if (FMLEnvironment.dist == Dist.CLIENT) {
ClientManager.init(modEventBus);
}

RailcraftEntityTypes.register(modEventBus);
RailcraftBlocks.register(modEventBus);
Expand Down
69 changes: 28 additions & 41 deletions src/main/java/mods/railcraft/client/ClientManager.java
Original file line number Diff line number Diff line change
Expand Up @@ -64,44 +64,38 @@
import net.minecraftforge.common.MinecraftForge;
import net.minecraftforge.event.TickEvent;
import net.minecraftforge.event.entity.player.ItemTooltipEvent;
import net.minecraftforge.eventbus.api.IEventBus;
import net.minecraftforge.eventbus.api.SubscribeEvent;
import net.minecraftforge.fml.event.lifecycle.FMLClientSetupEvent;
import net.minecraftforge.fml.javafmlmod.FMLJavaModLoadingContext;
import net.minecraftforge.fml.loading.FMLLoader;

public class ClientManager {

private static ClientManager instance;
private final ShuntingAuraRenderer shuntingAuraRenderer;
private static ShuntingAuraRenderer shuntingAuraRenderer;

public ClientManager() {
instance = this;
public static void init(IEventBus modEventBus) {
modEventBus.addListener(ClientManager::handleClientSetup);
modEventBus.addListener(ClientManager::handleItemColors);
modEventBus.addListener(ClientManager::handleBlockColors);
modEventBus.addListener(ClientManager::handleParticleRegistration);
modEventBus.addListener(ClientManager::handleRegisterRenderers);
modEventBus.addListener(ClientManager::handleRegisterLayerDefinitions);
MinecraftForge.EVENT_BUS.register(ClientManager.class);

shuntingAuraRenderer = new ShuntingAuraRenderer();
SignalUtil._setTuningAuraHandler(new TuningAuraHandlerImpl());
EmblemClientUtil._setPackageManager(new EmblemPackageManagerImpl());

var modEventBus = FMLJavaModLoadingContext.get().getModEventBus();
modEventBus.addListener(this::handleClientSetup);
modEventBus.addListener(this::handleItemColors);
modEventBus.addListener(this::handleBlockColors);
modEventBus.addListener(this::handleParticleRegistration);
modEventBus.addListener(this::handleRegisterRenderers);
modEventBus.addListener(this::handleRegisterLayerDefinitions);

MinecraftForge.EVENT_BUS.register(this);

this.shuntingAuraRenderer = new ShuntingAuraRenderer();
}

public ShuntingAuraRenderer getShuntingAuraRenderer() {
return this.shuntingAuraRenderer;
public static ShuntingAuraRenderer getShuntingAuraRenderer() {
return shuntingAuraRenderer;
}

// ================================================================================
// Mod Events
// ================================================================================

private void handleClientSetup(FMLClientSetupEvent event) {
private static void handleClientSetup(FMLClientSetupEvent event) {
// === Menu Screens ===
MenuScreens.register(RailcraftMenuTypes.SOLID_FUELED_STEAM_BOILER.get(),
SolidFueledSteamBoilerScreen::new);
Expand Down Expand Up @@ -137,7 +131,7 @@ private void handleClientSetup(FMLClientSetupEvent event) {
MenuScreens.register(RailcraftMenuTypes.ROUTING_TRACK.get(), RoutingTrackScreen::new);
}

private void handleItemColors(RegisterColorHandlersEvent.Item event) {
private static void handleItemColors(RegisterColorHandlersEvent.Item event) {
event.register((stack, tintIndex) -> switch (tintIndex) {
case 0 -> LocomotiveItem.getPrimaryColor(stack).getMapColor().col;
case 1 -> LocomotiveItem.getSecondaryColor(stack).getMapColor().col;
Expand All @@ -148,7 +142,7 @@ private void handleItemColors(RegisterColorHandlersEvent.Item event) {
RailcraftItems.ELECTRIC_LOCOMOTIVE.get());
}

private void handleBlockColors(RegisterColorHandlersEvent.Block event) {
private static void handleBlockColors(RegisterColorHandlersEvent.Block event) {
event.register((state, level, pos, tintIndex) ->
state.getValue(ForceTrackEmitterBlock.COLOR).getMapColor().col,
RailcraftBlocks.FORCE_TRACK_EMITTER.get());
Expand All @@ -163,7 +157,7 @@ private void handleBlockColors(RegisterColorHandlersEvent.Block event) {
RailcraftBlocks.ABANDONED_TRACK.get());
}

private void handleParticleRegistration(RegisterParticleProvidersEvent event) {
private static void handleParticleRegistration(RegisterParticleProvidersEvent event) {
event.registerSpriteSet(RailcraftParticleTypes.STEAM.get(), SteamParticle.Provider::new);
event.registerSpriteSet(RailcraftParticleTypes.SPARK.get(), SparkParticle.Provider::new);
event.registerSpriteSet(RailcraftParticleTypes.PUMPKIN.get(), PumpkinParticle.Provider::new);
Expand All @@ -175,12 +169,13 @@ private void handleParticleRegistration(RegisterParticleProvidersEvent event) {
ForceSpawnParticle.Provider::new);
}

private void handleRegisterRenderers(EntityRenderersEvent.RegisterRenderers event) {
private static void handleRegisterRenderers(EntityRenderersEvent.RegisterRenderers event) {
RailcraftEntityRenderers.register(event);
RailcraftBlockEntityRenderers.register(event);
}

private void handleRegisterLayerDefinitions(EntityRenderersEvent.RegisterLayerDefinitions event) {
private static void handleRegisterLayerDefinitions(
EntityRenderersEvent.RegisterLayerDefinitions event) {
RailcraftLayerDefinitions.createRoots(event::registerLayerDefinition);
}

Expand All @@ -189,25 +184,25 @@ private void handleRegisterLayerDefinitions(EntityRenderersEvent.RegisterLayerDe
// ================================================================================

@SubscribeEvent
public void handleClientTick(TickEvent.ClientTickEvent event) {
static void handleClientTick(TickEvent.ClientTickEvent event) {
if (event.phase == TickEvent.Phase.START
&& (Minecraft.getInstance().level != null && !Minecraft.getInstance().isPaused())) {
SignalAspect.tickBlinkState();
}
}

@SubscribeEvent
public void handleRenderWorldLast(RenderLevelStageEvent event) {
this.shuntingAuraRenderer.render(event.getPartialTick(), event.getPoseStack());
static void handleRenderWorldLast(RenderLevelStageEvent event) {
shuntingAuraRenderer.render(event.getPartialTick(), event.getPoseStack());
}

@SubscribeEvent
public void handleClientLoggedOut(ClientPlayerNetworkEvent.LoggingOut event) {
this.shuntingAuraRenderer.clearCarts();
static void handleClientLoggedOut(ClientPlayerNetworkEvent.LoggingOut event) {
shuntingAuraRenderer.clearCarts();
}

@SubscribeEvent
public void handleClientLoggedIn(ClientPlayerNetworkEvent.LoggingIn event) {
static void handleClientLoggedIn(ClientPlayerNetworkEvent.LoggingIn event) {
if (!Railcraft.BETA && FMLLoader.isProduction()) {
return;
}
Expand All @@ -233,7 +228,7 @@ public void handleClientLoggedIn(ClientPlayerNetworkEvent.LoggingIn event) {
}

@SubscribeEvent
public void onItemTooltip(ItemTooltipEvent event) {
static void onItemTooltip(ItemTooltipEvent event) {
var itemStack = event.getItemStack();
var tag = itemStack.getTag();
if (tag == null) {
Expand All @@ -242,15 +237,7 @@ public void onItemTooltip(ItemTooltipEvent event) {
if (tag.contains(ManualRollingMachineMenu.CLICK_TO_CRAFT_TAG) &&
tag.getBoolean(ManualRollingMachineMenu.CLICK_TO_CRAFT_TAG)) {
event.getToolTip().add(Component.translatable(Translations.Tips.CLICK_TO_CRAFT)
.withStyle(ChatFormatting.YELLOW));
.withStyle(ChatFormatting.YELLOW));
}
}

// ================================================================================
// Static Methods
// ================================================================================

public static ClientManager instance() {
return instance;
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -22,7 +22,7 @@ public static LinkedCartsMessage decode(FriendlyByteBuf in) {
}

public boolean handle(Supplier<NetworkEvent.Context> context) {
ClientManager.instance().getShuntingAuraRenderer().setLinkedCarts(this.linkedCarts);
ClientManager.getShuntingAuraRenderer().setLinkedCarts(this.linkedCarts);
return true;
}

Expand Down

0 comments on commit 6840b68

Please sign in to comment.