java类cpw.mods.fml.common.eventhandler.SubscribeEvent的实例源码

EventHandlerUnderdark.java 文件源码 项目:ExtraUtilities 阅读 24 收藏 0 点赞 0 评论 0
@SubscribeEvent
public void noMobs(final LivingSpawnEvent.CheckSpawn event) {
    if (event.getResult() == Event.Result.DEFAULT && event.world.provider.dimensionId == ExtraUtils.underdarkDimID && event.entity instanceof EntityMob) {
        if (EventHandlerUnderdark.rand.nextDouble() < Math.min(0.95, event.entity.posY / 80.0)) {
            event.setResult(Event.Result.DENY);
        }
        else {
            IAttributeInstance t = ((EntityMob)event.entity).getEntityAttribute(SharedMonsterAttributes.maxHealth);
            t.setBaseValue(t.getBaseValue() * 2.0);
            ((EntityMob)event.entity).heal((float)t.getAttributeValue());
            t = ((EntityMob)event.entity).getEntityAttribute(SharedMonsterAttributes.attackDamage);
            t.setBaseValue(t.getBaseValue() * 2.0);
            if (!EventHandlerServer.isInRangeOfTorch(event.entity) && event.entityLiving.worldObj.checkNoEntityCollision(event.entityLiving.boundingBox) && event.entityLiving.worldObj.getCollidingBoundingBoxes((Entity)event.entityLiving, event.entityLiving.boundingBox).isEmpty() && !event.entityLiving.worldObj.isAnyLiquid(event.entityLiving.boundingBox)) {
                event.setResult(Event.Result.ALLOW);
            }
        }
    }
}
TransmitterNetworkRegistry.java 文件源码 项目:4Space-5 阅读 22 收藏 0 点赞 0 评论 0
@SubscribeEvent
public void onChunkLoad(ChunkEvent.Load event)
{
    if(event.getChunk() != null && !event.world.isRemote)
    {
        int x = event.getChunk().xPosition;
        int z = event.getChunk().zPosition;

        IChunkProvider cProvider = event.getChunk().worldObj.getChunkProvider();
        Chunk[] neighbors = new Chunk[5];

        neighbors[0] = event.getChunk();

        if(cProvider.chunkExists(x + 1, z)) neighbors[1] = cProvider.provideChunk(x + 1, z);
        if(cProvider.chunkExists(x - 1, z)) neighbors[2] = cProvider.provideChunk(x - 1, z);
        if(cProvider.chunkExists(x, z + 1)) neighbors[3] = cProvider.provideChunk(x, z + 1);
        if(cProvider.chunkExists(x, z - 1)) neighbors[4] = cProvider.provideChunk(x, z - 1);

        for(Chunk c : neighbors)
        {
            refreshChunk(c);
        }
    }
}
EventHandlerGC.java 文件源码 项目:4Space-5 阅读 24 收藏 0 点赞 0 评论 0
@SubscribeEvent
public void onZombieSummonAid(SummonAidEvent event)
{
    if (event.entity instanceof EntityEvolvedZombie)
    {
        event.customSummonedAid = new EntityEvolvedZombie(event.world);

        if (((EntityLivingBase) event.entity).getRNG().nextFloat() < ((EntityEvolvedZombie) event.entity).getEntityAttribute(((EntityEvolvedZombie) event.entity).getReinforcementsAttribute()).getAttributeValue())
        {
            event.setResult(Result.ALLOW);
        }
        else
        {
            event.setResult(Result.DENY);
        }
    }
}
MarsModuleClient.java 文件源码 项目:4Space-5 阅读 26 收藏 0 点赞 0 评论 0
@SideOnly(Side.CLIENT)
@SubscribeEvent
public void onClientTick(ClientTickEvent event)
{
    final Minecraft minecraft = FMLClientHandler.instance().getClient();

    final WorldClient world = minecraft.theWorld;

    if (world != null)
    {
        if (world.provider instanceof WorldProviderMars)
        {
            if (world.provider.getSkyRenderer() == null)
            {
                world.provider.setSkyRenderer(new SkyProviderMars((IGalacticraftWorldProvider) world.provider));
            }

            if (world.provider.getCloudRenderer() == null)
            {
                world.provider.setCloudRenderer(new CloudRenderer());
            }
        }
    }
}
EventHandlerMars.java 文件源码 项目:4Space-5 阅读 20 收藏 0 点赞 0 评论 0
@SubscribeEvent
public void onPlanetDecorated(GCCoreEventPopulate.Post event)
{
    if (this.eggGenerator == null)
    {
        this.eggGenerator = new WorldGenEggs(MarsBlocks.rock);
    }

    if (event.worldObj.provider instanceof WorldProviderMars)
    {
        int eggsPerChunk = 2;
        int x;
        int y;
        int z;

        for (int eggCount = 0; eggCount < eggsPerChunk; ++eggCount)
        {
            x = event.chunkX + event.rand.nextInt(16) + 8;
            y = event.rand.nextInt(128);
            z = event.chunkZ + event.rand.nextInt(16) + 8;
            this.eggGenerator.generate(event.worldObj, event.rand, x, y, z);
        }
    }
}
ConnectionEvents.java 文件源码 项目:4Space-5 阅读 27 收藏 0 点赞 0 评论 0
@SubscribeEvent
public void onConnectionReceived(ServerConnectionFromClientEvent event)
{
    if (ConfigManagerCore.enableDebug)
    {
        Integer[] idList = (Integer[]) WorldUtil.getPlanetList().get(0);
        String ids = "";
        for (int j = 0; j < idList.length; j++)
        {
            ids+=idList[j].toString()+" ";
        }
        GCLog.info("Galacticraft server sending dimension IDs to connecting client: "+ ids);
    }
    event.manager.scheduleOutboundPacket(ConnectionPacket.createDimPacket(WorldUtil.getPlanetListInts()));
    event.manager.scheduleOutboundPacket(ConnectionPacket.createSSPacket(WorldUtil.getSpaceStationListInts()));
    event.manager.scheduleOutboundPacket(ConnectionPacket.createConfigPacket(ConfigManagerCore.getServerConfigOverride()));
}
EventHandler.java 文件源码 项目:RFUtilities 阅读 22 收藏 0 点赞 0 评论 0
@SubscribeEvent
public void entityEvent(LivingEvent.LivingUpdateEvent event)
{
    if (event.entity instanceof EntityPlayer)
    {
        if (((EntityPlayer) event.entity).getCurrentEquippedItem() != null)
        {
            canItemShowTess =
                    (RFUtilities.TE_LOADED && (((EntityPlayer) event.entity).getCurrentEquippedItem().getItem() instanceof ItemToolBase ||
                    ((EntityPlayer) event.entity).getCurrentEquippedItem().getItem() instanceof ItemMultimeter)) ||
                    ((EntityPlayer) event.entity).getCurrentEquippedItem().getItem() instanceof ItemDialer;
        }
        else
        {
            canItemShowTess = false;
        }
    }
}
MEventHandler.java 文件源码 项目:PAYDAY 阅读 33 收藏 0 点赞 0 评论 0
@SubscribeEvent
public void onPlayerCloned(PlayerEvent.Clone e) {
    NBTTagCompound nbt = new NBTTagCompound();

    PlayerData.get(e.original).saveReviveRelevantNBTData(nbt, e.wasDeath);
    PlayerData.get(e.entityPlayer).loadNBTData(nbt);
}
MEventHandler.java 文件源码 项目:PAYDAY 阅读 31 收藏 0 点赞 0 评论 0
@SubscribeEvent
public void onBlockBreak(BlockEvent.BreakEvent evt) {
    /*
    if (evt.block instanceof LobbyBlock) {
        // RESETS DATA AND CANCELS EVENT
        LobbyTileEntity t = (LobbyTileEntity) evt.world.getTileEntity(evt.x, evt.y, evt.z);

        if (t != null) {
            PlayerData data;

            for (EntityPlayer p : UUIDUtil.getPlayersFromProfileUUIDs(evt.world, t.players)) {
                data = PlayerData.get(p);

                data.setReady(false);
                data.setInLobby(false);

                if (evt.world.isRemote)
                    data.sendToServer();

                t.removePlayer(p);

                //PAYDAY.INSTANCE.sendToServer(new LobbyPlayerActionPacket(evt.x, evt.y, evt.z, true));
            }
        }
        //evt.setCanceled(true);
    }*/
}
FMLEventHandler.java 文件源码 项目:nei-lotr 阅读 21 收藏 0 点赞 0 评论 0
@SubscribeEvent
public void onPlayerLoggedIn(PlayerLoggedInEvent event) {
    if (mod.getConfig().isUseVersionChecker() && mod.getVersionChecker().isNewVersionAvaible()) {
        if (mod.getVersionChecker().getNewestVersion() != null) {
            event.player.addChatComponentMessage(mod.getVersionChecker().getNewestVersion().getFormattedChatText());
        }
    }

}


问题


面经


文章

微信
公众号

扫码关注公众号