當前位置: 首頁>>代碼示例>>Java>>正文


Java AttachCapabilitiesEvent類代碼示例

本文整理匯總了Java中net.minecraftforge.event.AttachCapabilitiesEvent的典型用法代碼示例。如果您正苦於以下問題:Java AttachCapabilitiesEvent類的具體用法?Java AttachCapabilitiesEvent怎麽用?Java AttachCapabilitiesEvent使用的例子?那麽, 這裏精選的類代碼示例或許可以為您提供幫助。


AttachCapabilitiesEvent類屬於net.minecraftforge.event包,在下文中一共展示了AttachCapabilitiesEvent類的15個代碼示例,這些例子默認根據受歡迎程度排序。您可以為喜歡或者感覺有用的代碼點讚,您的評價將有助於係統推薦出更棒的Java代碼示例。

示例1: registerCapability

import net.minecraftforge.event.AttachCapabilitiesEvent; //導入依賴的package包/類
@SubscribeEvent
public static void registerCapability(AttachCapabilitiesEvent<Entity> event) {
    Entity obj = event.getObject();
    if (obj instanceof EntityPlayer && !(obj instanceof FakePlayer)) {
        EntityPlayer player = (EntityPlayer) obj;
        AbstractPlayerDamageModel damageModel;
        if (player.world.isRemote)
            damageModel = FirstAid.activeDamageConfig == null ? PlayerDamageModel.createTemp() : PlayerDamageModel.create();
        else {
            FirstAid.activeDamageConfig = FirstAidConfig.damageSystem;
            FirstAid.activeHealingConfig = FirstAidConfig.externalHealing;
            FirstAid.scaleMaxHealth = FirstAidConfig.scaleMaxHealth;
            damageModel = PlayerDamageModel.create();
        }
        event.addCapability(CapProvider.IDENTIFIER, new CapProvider(player, damageModel));
        //replace the data manager with our wrapper to grab absorption
        player.dataManager = new DataManagerWrapper(player, player.dataManager);
    }
}
 
開發者ID:ichttt,項目名稱:FirstAid,代碼行數:20,代碼來源:EventHandler.java

示例2: onAttach

import net.minecraftforge.event.AttachCapabilitiesEvent; //導入依賴的package包/類
@SubscribeEvent
public void onAttach(AttachCapabilitiesEvent event)
{
	Map<ResourceLocation, ICapabilityProvider> map = Maps.newHashMap();
	if (event instanceof AttachCapabilitiesEvent.Item)
		handle(map, event.getObject(), ((AttachCapabilitiesEvent.Item) event).getItemStack());
	else if (event instanceof AttachCapabilitiesEvent.Entity)
		handle(map, event.getObject(), ((AttachCapabilitiesEvent.Entity) event).getEntity());
	else if (event instanceof AttachCapabilitiesEvent.TileEntity)
		handle(map, event.getObject(), ((AttachCapabilitiesEvent.TileEntity) event).getTileEntity());
	else
		handle(map, event.getObject(), event.getObject());
	for (ICapabilityProvider iCapabilityProvider : event.getCapabilities().values())
		handle(map, iCapabilityProvider, event.getObject());
	for (Map.Entry<ResourceLocation, ICapabilityProvider> entry : map.entrySet())
		event.addCapability(entry.getKey(), entry.getValue());
}
 
開發者ID:InfinityStudio,項目名稱:InspiringWorld,代碼行數:18,代碼來源:CapabilityInterfaceInject.java

示例3: onTELoad

import net.minecraftforge.event.AttachCapabilitiesEvent; //導入依賴的package包/類
@SubscribeEvent
public void onTELoad(AttachCapabilitiesEvent.TileEntity event) {
    TileEntity tile = event.getTileEntity();
    if (tile instanceof IEnergyReceiver || tile instanceof IEnergyProvider || tile instanceof IEnergyHandler) {
        //This is where we need EnumFacing.UNKNOWN
        try{
            if(tile.hasCapability(CapabilityEnergy.ENERGY, EnumFacing.NORTH)){
                return;
            }
        }catch (Exception e){
            return;
        }

        event.addCapability(new ResourceLocation("rfbridge:forgeEnergy"), new FECapabilityProvider(tile));
    }
}
 
開發者ID:modmuss50,項目名稱:RF-Bridge,代碼行數:17,代碼來源:RFBridge.java

示例4: playerCapabilities

import net.minecraftforge.event.AttachCapabilitiesEvent; //導入依賴的package包/類
/** Attaches ICapPlayer to the Player. */
@SubscribeEvent
public void playerCapabilities(AttachCapabilitiesEvent<Entity> event) {

    if (!(event.getObject() instanceof EntityPlayer)) {

        return;
    }

    EntityPlayer player = (EntityPlayer) event.getObject();
    
    if (!(player.hasCapability(GeoCaps.CAP_PLAYER, null))) {

        event.addCapability(GeoCaps.CAP_PLAYER_ID,
                new ProviderCapPlayer(new DefaultCapPlayer(player)));
    }
}
 
開發者ID:JayAvery,項目名稱:geomastery,代碼行數:18,代碼來源:PlayerEvents.java

示例5: attachCapability

import net.minecraftforge.event.AttachCapabilitiesEvent; //導入依賴的package包/類
@SubscribeEvent
public static void attachCapability(AttachCapabilitiesEvent<Entity> event)
{
    //Attach our capabilities to all players
    Entity entity = event.getObject();
    if(entity instanceof EntityPlayer)
    {
        for(Capability cap : MHCapabilities.getCapabilities())
        {
            ICapability icap = getDefaultICapability(cap);
            if(icap == null) continue;
            if(!entity.hasCapability(cap, null))
                event.addCapability(icap.getKey(), icap.getProvider());
        }
    }
}
 
開發者ID:alxnns1,項目名稱:MobHunter,代碼行數:17,代碼來源:CapabilityHandler.java

示例6: onAddCapabilitiesEntity

import net.minecraftforge.event.AttachCapabilitiesEvent; //導入依賴的package包/類
@SubscribeEvent
public void onAddCapabilitiesEntity(AttachCapabilitiesEvent<Entity> event) {
    if (canHaveAttributes(event.getObject())) {
        EntityLivingBase ent = (EntityLivingBase) event.getObject();
        if (ent instanceof EntityPlayer) {
            event.addCapability(new ResourceLocation(main.MODID + ":radiation_capability"), new RadsFactoryProvider());
            event.addCapability(new ResourceLocation(main.MODID + ":water_capability"), new WaterFactoryProvider());
            event.addCapability(new ResourceLocation(main.MODID + ":spechial_capability"), new SpechialFactoryProvider());
            event.addCapability(new ResourceLocation(main.MODID + ":skills_capability"), new SkillsFactoryProvider());
            event.addCapability(new ResourceLocation(main.MODID + ":level_capability"), new LevelFactoryProvider());
            event.addCapability(new ResourceLocation(main.MODID + ":ftj_capability"), new FTJFactoryProvider());
            event.addCapability(new ResourceLocation(main.MODID + ":adv_inv_capability"), new IAdvProvider());
            event.addCapability(new ResourceLocation(main.MODID + ":trigger_cap"), new ITrigger_item_Provider());

        }
    }
}
 
開發者ID:Hoijima,項目名稱:Fallout_Equestria,代碼行數:18,代碼來源:EventHandlerPre.java

示例7: onTileEntityCapabilityAttachEvent

import net.minecraftforge.event.AttachCapabilitiesEvent; //導入依賴的package包/類
public void onTileEntityCapabilityAttachEvent(AttachCapabilitiesEvent<TileEntity> event){
    ICapabilityProvider provider = new CapabilityDestinationProvider.Provider();
    boolean requiresCap = false;

    CapabilityDestinationProvider cap = provider.getCapability(CapabilityDestinationProvider.INSTANCE, null);
    for(IDestinationProvider destinationProvider : destinationProviders) {
        if(destinationProvider.isTileEntityApplicable(event.getObject())) {
            try {
                cap.addDestinationProvider(destinationProvider.getClass().newInstance());
                if(!requiresCap) {
                    requiresCap = true;
                    event.addCapability(new ResourceLocation(Constants.MOD_ID, "destinationProviderCapability"), provider);
                }
            } catch(Exception e) {
                e.printStackTrace();
            }
        }
    }
}
 
開發者ID:MineMaarten,項目名稱:Signals,代碼行數:20,代碼來源:RailManager.java

示例8: onEntityCapabilityAttach

import net.minecraftforge.event.AttachCapabilitiesEvent; //導入依賴的package包/類
@SubscribeEvent
public void onEntityCapabilityAttach(AttachCapabilitiesEvent<Entity> event)
{
    Entity entity = event.getObject();
    if(entity instanceof EntityPlayer)
    {
        if(!entity.hasCapability(TEMPORAL_TOOLBELT, EnumFacing.DOWN))
        {
            event.addCapability(new ResourceLocation(Reference.MOD_ID + ":temporal_toolbelt"), new CapabilityTemporalToolbelt.TemporalToolbeltGenericProvider());
        }
        else if(!entity.hasCapability(STASIS_CAPABILITY, EnumFacing.DOWN))
        {
            event.addCapability(new ResourceLocation(Reference.MOD_ID + ":stasis"), new CapabilityStasis.StasisGenericProvider());
        }
    }
    else if(entity instanceof EntityLiving)
    {
        if(!entity.hasCapability(CUSTOM_BEHAVIOR, EnumFacing.DOWN))
        {
            event.addCapability(new ResourceLocation(Reference.MOD_ID + ":customBehavior"), new CapabilityStasis.StasisGenericProvider());
        }
    }
}
 
開發者ID:Lumaceon,項目名稱:ClockworkPhase2,代碼行數:24,代碼來源:CapabilityAttachHandler.java

示例9: attachCapabilities

import net.minecraftforge.event.AttachCapabilitiesEvent; //導入依賴的package包/類
@SubscribeEvent
public void attachCapabilities(AttachCapabilitiesEvent<Entity> event) 
{
	if (event.getObject() instanceof EntityMob) 
	{
		final EnemyLevel enemyLevel = new EnemyLevel((EntityMob) event.getObject());
		event.addCapability(ID, createProvider(enemyLevel));
	}
}
 
開發者ID:TheXFactor117,項目名稱:Loot-Slash-Conquer,代碼行數:10,代碼來源:CapabilityEnemyLevel.java

示例10: attachCapabilities

import net.minecraftforge.event.AttachCapabilitiesEvent; //導入依賴的package包/類
@SubscribeEvent
public void attachCapabilities(AttachCapabilitiesEvent<Entity> event) 
{
	if (event.getObject() instanceof EntityPlayer) 
	{
		final Stats stats = new Stats((EntityPlayer) event.getObject());
		
		event.addCapability(ID, createProvider(stats));
	}
}
 
開發者ID:TheXFactor117,項目名稱:Loot-Slash-Conquer,代碼行數:11,代碼來源:CapabilityPlayerStats.java

示例11: attachCapabilities

import net.minecraftforge.event.AttachCapabilitiesEvent; //導入依賴的package包/類
@SubscribeEvent
public void attachCapabilities(AttachCapabilitiesEvent<Entity> event) 
{
	if (event.getObject() instanceof EntityPlayer) 
	{
		final PlayerInformation playerInfo = new PlayerInformation((EntityPlayer) event.getObject());
		
		event.addCapability(ID, createProvider(playerInfo));
	}
}
 
開發者ID:TheXFactor117,項目名稱:Loot-Slash-Conquer,代碼行數:11,代碼來源:CapabilityPlayerInformation.java

示例12: attachCapabilities

import net.minecraftforge.event.AttachCapabilitiesEvent; //導入依賴的package包/類
@SubscribeEvent
public void attachCapabilities(AttachCapabilitiesEvent<Entity> event) 
{
	if (event.getObject() instanceof EntityPlayer) 
	{
		final CurrentAbilities currentAbilities = new CurrentAbilities((EntityPlayer) event.getObject());
		
		event.addCapability(ID, createProvider(currentAbilities));
	}
}
 
開發者ID:TheXFactor117,項目名稱:Loot-Slash-Conquer,代碼行數:11,代碼來源:CapabilityCurrentAbilities.java

示例13: onAttachCapability

import net.minecraftforge.event.AttachCapabilitiesEvent; //導入依賴的package包/類
@SubscribeEvent
public void onAttachCapability(AttachCapabilitiesEvent<TileEntity> e) {
    if (!enabled) return;

    TileEntity tile = e.getObject();
    if (tile instanceof IMultipartTE) {
        register(e, ((IMultipartTE) tile).getMultipartId());
    }
}
 
開發者ID:TeamPneumatic,項目名稱:pnc-repressurized,代碼行數:10,代碼來源:PneumaticMultiPart.java

示例14: attachCapability

import net.minecraftforge.event.AttachCapabilitiesEvent; //導入依賴的package包/類
@SubscribeEvent
public void attachCapability(AttachCapabilitiesEvent.Entity e) {
   if (e.getEntity() instanceof EntityPlayer
         && !e.getEntity().hasCapability(XP_CAPABILITY, null))
      e.addCapability(new ResourceLocation(MODID, "xpCapability"),
            new XPCapability.Provider());
}
 
開發者ID:arucil,項目名稱:mc-XPBox,代碼行數:8,代碼來源:XPBox.java

示例15: onAttachCapability

import net.minecraftforge.event.AttachCapabilitiesEvent; //導入依賴的package包/類
@SubscribeEvent
public static void onAttachCapability(AttachCapabilitiesEvent<Entity> ev)
{
	if (ev.getObject() instanceof EntityPlayer)
	{
		ev.addCapability(new ResourceLocation(ArcaneMagic.MODID, "notebook_storage"), new NotebookInfo());
	}
}
 
開發者ID:raphydaphy,項目名稱:ArcaneMagic,代碼行數:9,代碼來源:ModEvents.java


注:本文中的net.minecraftforge.event.AttachCapabilitiesEvent類示例由純淨天空整理自Github/MSDocs等開源代碼及文檔管理平台,相關代碼片段篩選自各路編程大神貢獻的開源項目,源碼版權歸原作者所有,傳播和使用請參考對應項目的License;未經允許,請勿轉載。