java类net.minecraft.entity.player.EntityPlayer.EnumStatus的实例源码

TileEntityCryogenicChamber.java 文件源码 项目:4Space-5 阅读 19 收藏 0 点赞 0 评论 0
@Override
public boolean onActivated(EntityPlayer entityPlayer)
{
    if (this.worldObj.isRemote)
    {
        return false;
    }

    EnumStatus enumstatus = this.sleepInBedAt(entityPlayer, this.xCoord, this.yCoord, this.zCoord);

    switch (enumstatus)
    {
    case OK:
        ((EntityPlayerMP) entityPlayer).playerNetServerHandler.setPlayerLocation(entityPlayer.posX, entityPlayer.posY, entityPlayer.posZ, entityPlayer.rotationYaw, entityPlayer.rotationPitch);
        GalacticraftCore.packetPipeline.sendTo(new PacketSimpleMars(EnumSimplePacketMars.C_BEGIN_CRYOGENIC_SLEEP, new Object[] { this.xCoord, this.yCoord, this.zCoord }), (EntityPlayerMP) entityPlayer);
        return true;
    case NOT_POSSIBLE_NOW:
        entityPlayer.addChatMessage(new ChatComponentText(GCCoreUtil.translateWithFormat("gui.cryogenic.chat.cantUse", GCPlayerStats.get((EntityPlayerMP) entityPlayer).cryogenicChamberCooldown / 20)));
        return false;
    default:
        return false;
    }
}
EventHandler.java 文件源码 项目:Morph 阅读 21 收藏 0 点赞 0 评论 0
@SubscribeEvent
public void onPlayerSleep(PlayerSleepInBedEvent event)
{
    EntityPlayer player = (EntityPlayer)event.entityPlayer;
    EnumStatus stats = EnumStatus.OTHER_PROBLEM;
    if(Morph.config.getSessionInt("canSleepMorphed") == 0)
    {
        if(FMLCommonHandler.instance().getEffectiveSide().isServer() && Morph.proxy.tickHandlerServer.getPlayerMorphInfo(player) != null)
        {
            event.result = stats;
            player.addChatMessage(new ChatComponentTranslation("morph.denySleep"));
        }
        else if(FMLCommonHandler.instance().getEffectiveSide().isClient() && Morph.proxy.tickHandlerClient.playerMorphInfo.containsKey(player.getCommandSenderName()))
        {
            event.result = stats;
        }
    }
}
TileEntityCryogenicChamber.java 文件源码 项目:4Space-5 阅读 21 收藏 0 点赞 0 评论 0
public EnumStatus sleepInBedAt(EntityPlayer entityPlayer, int par1, int par2, int par3)
{
    if (!this.worldObj.isRemote)
    {
        if (entityPlayer.isPlayerSleeping() || !entityPlayer.isEntityAlive())
        {
            return EnumStatus.OTHER_PROBLEM;
        }

        if (this.worldObj.getBiomeGenForCoords(par1, par3) == BiomeGenBase.hell)
        {
            return EnumStatus.NOT_POSSIBLE_HERE;
        }

        if (GCPlayerStats.get((EntityPlayerMP) entityPlayer).cryogenicChamberCooldown > 0)
        {
            return EnumStatus.NOT_POSSIBLE_NOW;
        }
    }

    if (entityPlayer.isRiding())
    {
        entityPlayer.mountEntity((Entity) null);
    }

    entityPlayer.setPosition(this.xCoord + 0.5F, this.yCoord + 1.9F, this.zCoord + 0.5F);

    entityPlayer.sleeping = true;
    entityPlayer.sleepTimer = 0;
    entityPlayer.playerLocation = new ChunkCoordinates(this.xCoord, this.yCoord, this.zCoord);
    entityPlayer.motionX = entityPlayer.motionZ = entityPlayer.motionY = 0.0D;

    if (!this.worldObj.isRemote)
    {
        this.worldObj.updateAllPlayersSleepingFlag();
    }

    return EnumStatus.OK;
}
EventHandlerMars.java 文件源码 项目:4Space-5 阅读 22 收藏 0 点赞 0 评论 0
@SubscribeEvent
public void onPlayerWakeUp(EventWakePlayer event)
{
    ChunkCoordinates c = event.entityPlayer.playerLocation;
    Block blockID = event.entityPlayer.worldObj.getBlock(c.posX, c.posY, c.posZ);
    int metadata = event.entityPlayer.worldObj.getBlockMetadata(c.posX, c.posY, c.posZ);

    if (blockID == MarsBlocks.machine && metadata >= BlockMachineMars.CRYOGENIC_CHAMBER_METADATA)
    {
        if (!event.flag1 && event.flag2 && event.flag3)
        {
            event.result = EnumStatus.NOT_POSSIBLE_HERE;

            if (event.entityPlayer.worldObj.isRemote && event.bypassed && event.entityPlayer instanceof EntityClientPlayerMP)
            {
                GalacticraftCore.packetPipeline.sendToServer(new PacketSimpleMars(EnumSimplePacketMars.S_WAKE_PLAYER, new Object[] { }));
            }
        }
        else if (!event.flag1 && !event.flag2 && event.flag3)
        {
            if (!event.entityPlayer.worldObj.isRemote)
            {
                event.entityPlayer.heal(5.0F);
                GCPlayerStats.get((EntityPlayerMP) event.entityPlayer).cryogenicChamberCooldown = 6000;

                for (WorldServer worldServer : MinecraftServer.getServer().worldServers)
                {
                    worldServer.setWorldTime(0);
                }
            }
        }
    }
}
PlanetEventHandler.java 文件源码 项目:AdvancedRocketry 阅读 24 收藏 0 点赞 0 评论 0
@SubscribeEvent
public void sleepEvent(PlayerSleepInBedEvent event) {

    if(event.entity.worldObj.provider instanceof WorldProviderPlanet && 
            AtmosphereHandler.hasAtmosphereHandler(event.entity.worldObj.provider.dimensionId) && !AtmosphereHandler.getOxygenHandler(event.entity.worldObj.provider.dimensionId).getAtmosphereType(event.x, event.y, event.z).isBreathable()) {
        event.result = EnumStatus.OTHER_PROBLEM;
    }
}
EnumHelper.java 文件源码 项目:TRHS_Club_Mod_2016 阅读 21 收藏 0 点赞 0 评论 0
public static EnumStatus addStatus(String name)
{
    return addEnum(EnumStatus.class, name);
}
EnumHelper.java 文件源码 项目:CauldronGit 阅读 20 收藏 0 点赞 0 评论 0
public static EnumStatus addStatus(String name)
{
    return addEnum(EnumStatus.class, name);
}
EnumHelper.java 文件源码 项目:Cauldron 阅读 22 收藏 0 点赞 0 评论 0
public static EnumStatus addStatus(String name)
{
    return addEnum(EnumStatus.class, name);
}
EnumHelper.java 文件源码 项目:Cauldron 阅读 19 收藏 0 点赞 0 评论 0
public static EnumStatus addStatus(String name)
{
    return addEnum(EnumStatus.class, name);
}
EnumHelper.java 文件源码 项目:Cauldron 阅读 25 收藏 0 点赞 0 评论 0
public static EnumStatus addStatus(String name)
{
    return addEnum(EnumStatus.class, name);
}
BlockCarpentersBed.java 文件源码 项目:carpentersblocks 阅读 17 收藏 0 点赞 0 评论 0
@Override
/**
 * Called upon block activation (right click on the block.)
 */
protected void postOnBlockActivated(TEBase TE, EntityPlayer entityPlayer, int side, float hitX, float hitY, float hitZ, ActionResult actionResult)
{
    actionResult.setAltered();
    World world = TE.getWorldObj();

    int x = TE.xCoord;
    int y = TE.yCoord;
    int z = TE.zCoord;

    if (!Bed.isHeadOfBed(TE)) {

        TEBase TE_opp = Bed.getOppositeTE(TE);

        if (TE_opp != null) {
            x = TE_opp.xCoord;
            z = TE_opp.zCoord;
        } else {
            return;
        }

    }

    if (world.provider.canRespawnHere() && world.getBiomeGenForCoords(x, z) != BiomeGenBase.hell) {

        if (Bed.isOccupied(TE)) {

            EntityPlayer entityPlayer1 = null;
            Iterator iterator = world.playerEntities.iterator();

            while (iterator.hasNext()) {

                EntityPlayer entityPlayer2 = (EntityPlayer)iterator.next();

                if (entityPlayer2.isPlayerSleeping()) {

                    ChunkCoordinates chunkCoordinates = entityPlayer2.playerLocation;

                    if (chunkCoordinates.posX == x && chunkCoordinates.posY == y && chunkCoordinates.posZ == z) {
                        entityPlayer1 = entityPlayer2;
                    }

                }

            }

            if (entityPlayer1 != null) {
                ChatHandler.sendMessageToPlayer("tile.bed.occupied", entityPlayer, false);
                return;
            }

            setBedOccupied(world, x, y, z, entityPlayer, false);

        }

        EnumStatus enumstatus = entityPlayer.sleepInBedAt(x, y, z);

        if (enumstatus == EnumStatus.OK) {

            setBedOccupied(world, x, y, z, entityPlayer, true);

        } else {

            if (enumstatus == EnumStatus.NOT_POSSIBLE_NOW) {
                ChatHandler.sendMessageToPlayer("tile.bed.noSleep", entityPlayer, false);
            } else if (enumstatus == EnumStatus.NOT_SAFE) {
                ChatHandler.sendMessageToPlayer("tile.bed.notSafe", entityPlayer, false);
            }

        }

    } else {

        destroyBlock(world, x, y, z, false);
        world.newExplosion((Entity)null, x + 0.5F, y + 0.5F, z + 0.5F, 5.0F, true, true);

    }
}


问题


面经


文章

微信
公众号

扫码关注公众号