当前位置: 首页>>代码示例>>Java>>正文


Java FMLStateEvent类代码示例

本文整理汇总了Java中cpw.mods.fml.common.event.FMLStateEvent的典型用法代码示例。如果您正苦于以下问题:Java FMLStateEvent类的具体用法?Java FMLStateEvent怎么用?Java FMLStateEvent使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。


FMLStateEvent类属于cpw.mods.fml.common.event包,在下文中一共展示了FMLStateEvent类的5个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Java代码示例。

示例1: doStateCallback

import cpw.mods.fml.common.event.FMLStateEvent; //导入依赖的package包/类
@Subscribe
public void doStateCallback(FMLStateEvent event) {
	synchronized (SevenCommons.class) {
		if (stateCallbacks != null) {
			List<Runnable> list = stateCallbacks.remove(event.getModState());
			if (list != null) {
				for (Runnable runnable : list) {
					runnable.run();
				}
			}
			reachedStates.add(event.getModState());
			if (event.getModState() == LoaderState.ModState.POSTINITIALIZED) {
				stateCallbacks = null;
				reachedStates = null;
			}
		}
	}
}
 
开发者ID:diesieben07,项目名称:SevenCommons,代码行数:19,代码来源:SevenCommons.java

示例2: sendEventToModContainer

import cpw.mods.fml.common.event.FMLStateEvent; //导入依赖的package包/类
private void sendEventToModContainer(FMLEvent stateEvent, ModContainer mc)
{
    String modId = mc.getModId();
    Collection<String> requirements =  Collections2.transform(mc.getRequirements(),new ArtifactVersionNameFunction());
    for (ArtifactVersion av : mc.getDependencies())
    {
        if (av.getLabel()!= null && requirements.contains(av.getLabel()) && modStates.containsEntry(av.getLabel(),ModState.ERRORED))
        {
            FMLLog.log(modId, Level.ERROR, "Skipping event %s and marking errored mod %s since required dependency %s has errored", stateEvent.getEventType(), modId, av.getLabel());
            modStates.put(modId, ModState.ERRORED);
            return;
        }
    }
    activeContainer = mc;
    stateEvent.applyModContainer(activeContainer());
    ThreadContext.put("mod", modId);
    FMLLog.log(modId, Level.TRACE, "Sending event %s to mod %s", stateEvent.getEventType(), modId);
    eventChannels.get(modId).post(stateEvent);
    FMLLog.log(modId, Level.TRACE, "Sent event %s to mod %s", stateEvent.getEventType(), modId);
    ThreadContext.remove("mod");
    activeContainer = null;
    if (stateEvent instanceof FMLStateEvent)
    {
        if (!errors.containsKey(modId))
        {
            modStates.put(modId, ((FMLStateEvent)stateEvent).getModState());
        }
        else
        {
            modStates.put(modId, ModState.ERRORED);
        }
    }
}
 
开发者ID:SchrodingersSpy,项目名称:TRHS_Club_Mod_2016,代码行数:34,代码来源:LoadController.java

示例3: propagate

import cpw.mods.fml.common.event.FMLStateEvent; //导入依赖的package包/类
/**
 * Propagates an FMLStateEvent to all modules
 * @param event The event
 */
public static void propagate(FMLStateEvent event) {
	for (IModule m : modules)
		if (event instanceof FMLPreInitializationEvent)
			m.preInit((FMLPreInitializationEvent) event);
		else if (event instanceof FMLInitializationEvent)
			m.init((FMLInitializationEvent) event);
		else
			m.postInit((FMLPostInitializationEvent) event);
}
 
开发者ID:austinv11,项目名称:CollectiveFramework,代码行数:14,代码来源:Modules.java

示例4: handle

import cpw.mods.fml.common.event.FMLStateEvent; //导入依赖的package包/类
public void handle(FMLStateEvent event) {
  RegisterTime time = RegisterTime.timeFor(event);
  state = time;
  for (Registration r : compatMap.keySet()) {
    if (ArrayUtils.contains(r.times, time) && allModsLoaded(r.modids)) {
      doLoad(compatMap.get(r));
    }
  }
}
 
开发者ID:SleepyTrousers,项目名称:EnderCore,代码行数:10,代码来源:CompatRegistry.java

示例5: sendEventToModContainer

import cpw.mods.fml.common.event.FMLStateEvent; //导入依赖的package包/类
private void sendEventToModContainer(FMLEvent stateEvent, ModContainer mc)
{
    String modId = mc.getModId();
    Collection<String> requirements =  Collections2.transform(mc.getRequirements(),new ArtifactVersionNameFunction());
    for (ArtifactVersion av : mc.getDependencies())
    {
        if (av.getLabel()!= null && requirements.contains(av.getLabel()) && modStates.containsEntry(av.getLabel(),ModState.ERRORED))
        {
            FMLLog.log(modId, Level.SEVERE, "Skipping event %s and marking errored mod %s since required dependency %s has errored", stateEvent.getEventType(), modId, av.getLabel());
            modStates.put(modId, ModState.ERRORED);
            return;
        }
    }
    activeContainer = mc;
    stateEvent.applyModContainer(activeContainer());
    FMLLog.log(modId, Level.FINEST, "Sending event %s to mod %s", stateEvent.getEventType(), modId);
    eventChannels.get(modId).post(stateEvent);
    FMLLog.log(modId, Level.FINEST, "Sent event %s to mod %s", stateEvent.getEventType(), modId);
    activeContainer = null;
    if (stateEvent instanceof FMLStateEvent)
    {
        if (!errors.containsKey(modId))
        {
            modStates.put(modId, ((FMLStateEvent)stateEvent).getModState());
        }
        else
        {
            modStates.put(modId, ModState.ERRORED);
        }
    }
}
 
开发者ID:HATB0T,项目名称:RuneCraftery,代码行数:32,代码来源:LoadController.java


注:本文中的cpw.mods.fml.common.event.FMLStateEvent类示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。