Java 类net.minecraft.util.Direction 实例源码

项目:TickDynamic    文件:Entity.java   
/**
 * Called by portal blocks when an entity is within it.
 */
public void setInPortal()
{
    if (this.timeUntilPortal > 0)
    {
        this.timeUntilPortal = this.getPortalCooldown();
    }
    else
    {
        double d0 = this.prevPosX - this.posX;
        double d1 = this.prevPosZ - this.posZ;

        if (!this.worldObj.isRemote && !this.inPortal)
        {
            this.teleportDirection = Direction.getMovementDirection(d0, d1);
        }

        this.inPortal = true;
    }
}
项目:HitchhikersGuideToMinecraft    文件:BlockTowel.java   
/**
 * Gets the block's texture. Args: side, meta
 */
@SideOnly(Side.CLIENT)
public IIcon getIcon(int side, int meta)
{
    if (side == 0)
    {
        return Blocks.planks.getBlockTextureFromSide(side);
    }
    else
    {
        int k = getDirection(meta);
        int l = Direction.bedDirection[k][side];
        int i1 = isBlockHeadOfBed(meta) ? 1 : 0;
        return (i1 != 1 || l != 2) && (i1 != 0 || l != 3) ? (l != 5 && l != 4 ? this.topTexture[i1] : this.sideTexture[i1]) : this.endTexture[i1];
    }
}
项目:qcraft-mod    文件:BlockQuantumComputer.java   
@Override
public IIcon getIcon( IBlockAccess world, int i, int j, int k, int side )
{
    if( side == 0 || side == 1 )
    {
        return Icons.Top;
    }

    int metadata = world.getBlockMetadata( i, j, k );
    int direction = Direction.directionToFacing[ getDirection( metadata ) ];
    if( side == direction )
    {
        return Icons.Front;
    }

    return Icons.Side;
}
项目:Resilience-Client-Source    文件:WorldGenVines.java   
public boolean generate(World par1World, Random par2Random, int par3, int par4, int par5)
{
    int var6 = par3;

    for (int var7 = par5; par4 < 128; ++par4)
    {
        if (par1World.isAirBlock(par3, par4, par5))
        {
            for (int var8 = 2; var8 <= 5; ++var8)
            {
                if (Blocks.vine.canPlaceBlockOnSide(par1World, par3, par4, par5, var8))
                {
                    par1World.setBlock(par3, par4, par5, Blocks.vine, 1 << Direction.facingToDirection[Facing.oppositeSide[var8]], 2);
                    break;
                }
            }
        }
        else
        {
            par3 = var6 + par2Random.nextInt(4) - par2Random.nextInt(4);
            par5 = var7 + par2Random.nextInt(4) - par2Random.nextInt(4);
        }
    }

    return true;
}
项目:Resilience-Client-Source    文件:World.java   
public void func_147453_f(int p_147453_1_, int p_147453_2_, int p_147453_3_, Block p_147453_4_)
{
    for (int var5 = 0; var5 < 4; ++var5)
    {
        int var6 = p_147453_1_ + Direction.offsetX[var5];
        int var7 = p_147453_3_ + Direction.offsetZ[var5];
        Block var8 = this.getBlock(var6, p_147453_2_, var7);

        if (Blocks.unpowered_comparator.func_149907_e(var8))
        {
            var8.onNeighborBlockChange(this, var6, p_147453_2_, var7, p_147453_4_);
        }
        else if (var8.isNormalCube())
        {
            var6 += Direction.offsetX[var5];
            var7 += Direction.offsetZ[var5];
            Block var9 = this.getBlock(var6, p_147453_2_, var7);

            if (Blocks.unpowered_comparator.func_149907_e(var9))
            {
                var9.onNeighborBlockChange(this, var6, p_147453_2_, var7, p_147453_4_);
            }
        }
    }
}
项目:Resilience-Client-Source    文件:Entity.java   
/**
 * Called by portal blocks when an entity is within it.
 */
public void setInPortal()
{
    if (this.timeUntilPortal > 0)
    {
        this.timeUntilPortal = this.getPortalCooldown();
    }
    else
    {
        double var1 = this.prevPosX - this.posX;
        double var3 = this.prevPosZ - this.posZ;

        if (!this.worldObj.isClient && !this.inPortal)
        {
            this.teleportDirection = Direction.getMovementDirection(var1, var3);
        }

        this.inPortal = true;
    }
}
项目:Resilience-Client-Source    文件:BlockRedstoneWire.java   
public static boolean func_150174_f(IBlockAccess p_150174_0_, int p_150174_1_, int p_150174_2_, int p_150174_3_, int p_150174_4_)
{
    Block var5 = p_150174_0_.getBlock(p_150174_1_, p_150174_2_, p_150174_3_);

    if (var5 == Blocks.redstone_wire)
    {
        return true;
    }
    else if (!Blocks.unpowered_repeater.func_149907_e(var5))
    {
        return var5.canProvidePower() && p_150174_4_ != -1;
    }
    else
    {
        int var6 = p_150174_0_.getBlockMetadata(p_150174_1_, p_150174_2_, p_150174_3_);
        return p_150174_4_ == (var6 & 3) || p_150174_4_ == Direction.rotateOpposite[var6 & 3];
    }
}
项目:Resilience-Client-Source    文件:BlockTripWire.java   
public static boolean func_150139_a(IBlockAccess p_150139_0_, int p_150139_1_, int p_150139_2_, int p_150139_3_, int p_150139_4_, int p_150139_5_)
{
    int var6 = p_150139_1_ + Direction.offsetX[p_150139_5_];
    int var8 = p_150139_3_ + Direction.offsetZ[p_150139_5_];
    Block var9 = p_150139_0_.getBlock(var6, p_150139_2_, var8);
    boolean var10 = (p_150139_4_ & 2) == 2;
    int var11;

    if (var9 == Blocks.tripwire_hook)
    {
        var11 = p_150139_0_.getBlockMetadata(var6, p_150139_2_, var8);
        int var13 = var11 & 3;
        return var13 == Direction.rotateOpposite[p_150139_5_];
    }
    else if (var9 == Blocks.tripwire)
    {
        var11 = p_150139_0_.getBlockMetadata(var6, p_150139_2_, var8);
        boolean var12 = (var11 & 2) == 2;
        return var10 == var12;
    }
    else
    {
        return false;
    }
}
项目:Resilience-Client-Source    文件:BlockRedstoneComparator.java   
protected int func_149903_h(World p_149903_1_, int p_149903_2_, int p_149903_3_, int p_149903_4_, int p_149903_5_)
{
    int var6 = super.func_149903_h(p_149903_1_, p_149903_2_, p_149903_3_, p_149903_4_, p_149903_5_);
    int var7 = func_149895_l(p_149903_5_);
    int var8 = p_149903_2_ + Direction.offsetX[var7];
    int var9 = p_149903_4_ + Direction.offsetZ[var7];
    Block var10 = p_149903_1_.getBlock(var8, p_149903_3_, var9);

    if (var10.hasComparatorInputOverride())
    {
        var6 = var10.getComparatorInputOverride(p_149903_1_, var8, p_149903_3_, var9, Direction.rotateOpposite[var7]);
    }
    else if (var6 < 15 && var10.isNormalCube())
    {
        var8 += Direction.offsetX[var7];
        var9 += Direction.offsetZ[var7];
        var10 = p_149903_1_.getBlock(var8, p_149903_3_, var9);

        if (var10.hasComparatorInputOverride())
        {
            var6 = var10.getComparatorInputOverride(p_149903_1_, var8, p_149903_3_, var9, Direction.rotateOpposite[var7]);
        }
    }

    return var6;
}
项目:Resilience-Client-Source    文件:RenderItemFrame.java   
/**
 * Actually renders the given argument. This is a synthetic bridge method, always casting down its argument and then
 * handing it off to a worker function which does the actual work. In all probabilty, the class Render is generic
 * (Render<T extends Entity) and this method has signature public void doRender(T entity, double d, double d1,
 * double d2, float f, float f1). But JAD is pre 1.5 so doesn't do that.
 */
public void doRender(EntityItemFrame par1EntityItemFrame, double par2, double par4, double par6, float par8, float par9)
{
    GL11.glPushMatrix();
    double var10 = par1EntityItemFrame.posX - par2 - 0.5D;
    double var12 = par1EntityItemFrame.posY - par4 - 0.5D;
    double var14 = par1EntityItemFrame.posZ - par6 - 0.5D;
    int var16 = par1EntityItemFrame.field_146063_b + Direction.offsetX[par1EntityItemFrame.hangingDirection];
    int var17 = par1EntityItemFrame.field_146064_c;
    int var18 = par1EntityItemFrame.field_146062_d + Direction.offsetZ[par1EntityItemFrame.hangingDirection];
    GL11.glTranslated((double)var16 - var10, (double)var17 - var12, (double)var18 - var14);

    if (par1EntityItemFrame.getDisplayedItem() != null && par1EntityItemFrame.getDisplayedItem().getItem() == Items.filled_map)
    {
        this.func_147915_b(par1EntityItemFrame);
    }
    else
    {
        this.renderFrameItemAsBlock(par1EntityItemFrame);
    }

    this.func_82402_b(par1EntityItemFrame);
    GL11.glPopMatrix();
    this.func_147914_a(par1EntityItemFrame, par2 + (double)((float)Direction.offsetX[par1EntityItemFrame.hangingDirection] * 0.3F), par4 - 0.25D, par6 + (double)((float)Direction.offsetZ[par1EntityItemFrame.hangingDirection] * 0.3F));
}
项目:GuestBeds    文件:BlockGuestBed.java   
@SideOnly(Side.CLIENT)

    /**
     * From the specified side and block metadata retrieves the blocks texture. Args: side, metadata
     */
    public Icon getIcon(int par1, int par2) {
        if (par1 == 0) {
            return Block.planks.getBlockTextureFromSide(par1);
        }
        else {
            int k = getDirection(par2);
            int l = Direction.bedDirection[k][par1];
            int i1 = isBlockHeadOfBed(par2) ? 1 : 0;
            return (i1 != 1 || l != 2) && (i1 != 0 || l != 3) ? (l != 5 && l != 4 ? this.bedTopIcons[i1] : this.bedSideIcons[i1]) : this.bedEndIcons[i1];
        }
    }
项目:RTM    文件:BlockRedstoneWireBlockWIP.java   
/**
 * Returns true if redstone wire can connect to the specified block. Params: World, X, Y, Z, side (not a normal
 * notch-side, this can be 0, 1, 2, 3 or -1)
 */
public static boolean isPowerProviderOrWire(IBlockAccess p_150174_0_, int p_150174_1_, int p_150174_2_, int p_150174_3_, int p_150174_4_)
{
    Block block = p_150174_0_.getBlock(p_150174_1_, p_150174_2_, p_150174_3_);

    if (block == Blocks.redstone_wire)
    {
        return true;
    }
    else if (!Blocks.unpowered_repeater.func_149907_e(block))
    {
        return block.canConnectRedstone(p_150174_0_, p_150174_1_, p_150174_2_, p_150174_3_, p_150174_4_);
    }
    else
    {
        int i1 = p_150174_0_.getBlockMetadata(p_150174_1_, p_150174_2_, p_150174_3_);
        return p_150174_4_ == (i1 & 3) || p_150174_4_ == Direction.rotateOpposite[i1 & 3];
    }
}
项目:SecurityCraft    文件:BlockEMPedWire.java   
/**
 * Returns true if redstone wire can connect to the specified block. Params: World, X, Y, Z, side (not a normal
 * notch-side, this can be 0, 1, 2, 3 or -1)
 */
public static boolean isPowerProviderOrWire(IBlockAccess par1IBlockAccess, int par2, int par3, int par4, int par5)
{
    Block block = par1IBlockAccess.getBlock(par2, par3, par4);

    if (block == Blocks.redstone_wire)
    {
        return true;
    }
    else if (!Blocks.unpowered_repeater.func_149907_e(block))
    {
        return block.canConnectRedstone(par1IBlockAccess, par2, par3, par4, par5);
    }
    else
    {
        int i1 = par1IBlockAccess.getBlockMetadata(par2, par3, par4);
        return par5 == (i1 & 3) || par5 == Direction.rotateOpposite[i1 & 3];
    }
}
项目:GardenCollection    文件:BlockIvy.java   
private boolean isBlockStateValid (World world, int x, int y, int z) {
    int meta = world.getBlockMetadata(x, y, z);
    int mask = meta;

    if (meta > 0) {
        for (int i = 0; i <= 3; i++) {
            int bit = 1 << i;
            int opSide = Direction.directionToFacing[Direction.rotateOpposite[i]];
            if ((meta & bit) != 0 && !canPlaceOnBlock(world, x + Direction.offsetX[i], y, z + Direction.offsetZ[i], opSide)
                && (world.getBlock(x, y + 1, z) != this || (world.getBlockMetadata(x, y + 1, z) & bit) == 0))
                mask &= ~bit;
        }
    }

    if (mask == 0)
        return false;

    if (mask != meta)
        world.setBlockMetadataWithNotify(x, y, z, mask, 2);

    return true;
}
项目:Cauldron    文件:WorldGenVines.java   
public boolean generate(World p_76484_1_, Random p_76484_2_, int p_76484_3_, int p_76484_4_, int p_76484_5_)
{
    int l = p_76484_3_;

    for (int i1 = p_76484_5_; p_76484_4_ < 128; ++p_76484_4_)
    {
        if (p_76484_1_.isAirBlock(p_76484_3_, p_76484_4_, p_76484_5_))
        {
            for (int j1 = 2; j1 <= 5; ++j1)
            {
                if (Blocks.vine.canPlaceBlockOnSide(p_76484_1_, p_76484_3_, p_76484_4_, p_76484_5_, j1))
                {
                    p_76484_1_.setBlock(p_76484_3_, p_76484_4_, p_76484_5_, Blocks.vine, 1 << Direction.facingToDirection[Facing.oppositeSide[j1]], 2);
                    break;
                }
            }
        }
        else
        {
            p_76484_3_ = l + p_76484_2_.nextInt(4) - p_76484_2_.nextInt(4);
            p_76484_5_ = i1 + p_76484_2_.nextInt(4) - p_76484_2_.nextInt(4);
        }
    }

    return true;
}
项目:Cauldron    文件:Entity.java   
public void setInPortal()
{
    if (this.timeUntilPortal > 0)
    {
        this.timeUntilPortal = this.getPortalCooldown();
    }
    else
    {
        double d0 = this.prevPosX - this.posX;
        double d1 = this.prevPosZ - this.posZ;

        if (!this.worldObj.isRemote && !this.inPortal)
        {
            this.teleportDirection = Direction.getMovementDirection(d0, d1);
        }

        this.inPortal = true;
    }
}
项目:Cauldron    文件:BlockRedstoneWire.java   
public static boolean isPowerProviderOrWire(IBlockAccess p_150174_0_, int p_150174_1_, int p_150174_2_, int p_150174_3_, int p_150174_4_)
{
    Block block = p_150174_0_.getBlock(p_150174_1_, p_150174_2_, p_150174_3_);

    if (block == Blocks.redstone_wire)
    {
        return true;
    }
    else if (!Blocks.unpowered_repeater.func_149907_e(block))
    {
        return block.canConnectRedstone(p_150174_0_, p_150174_1_, p_150174_2_, p_150174_3_, p_150174_4_);
    }
    else
    {
        int i1 = p_150174_0_.getBlockMetadata(p_150174_1_, p_150174_2_, p_150174_3_);
        return p_150174_4_ == (i1 & 3) || p_150174_4_ == Direction.rotateOpposite[i1 & 3];
    }
}
项目:Cauldron    文件:BlockTripWire.java   
@SideOnly(Side.CLIENT)
public static boolean func_150139_a(IBlockAccess p_150139_0_, int p_150139_1_, int p_150139_2_, int p_150139_3_, int p_150139_4_, int p_150139_5_)
{
    int j1 = p_150139_1_ + Direction.offsetX[p_150139_5_];
    int k1 = p_150139_3_ + Direction.offsetZ[p_150139_5_];
    Block block = p_150139_0_.getBlock(j1, p_150139_2_, k1);
    boolean flag = (p_150139_4_ & 2) == 2;
    int l1;

    if (block == Blocks.tripwire_hook)
    {
        l1 = p_150139_0_.getBlockMetadata(j1, p_150139_2_, k1);
        int i2 = l1 & 3;
        return i2 == Direction.rotateOpposite[p_150139_5_];
    }
    else if (block == Blocks.tripwire)
    {
        l1 = p_150139_0_.getBlockMetadata(j1, p_150139_2_, k1);
        boolean flag1 = (l1 & 2) == 2;
        return flag == flag1;
    }
    else
    {
        return false;
    }
}
项目:Cauldron    文件:BlockRedstoneComparator.java   
protected int getInputStrength(World p_149903_1_, int p_149903_2_, int p_149903_3_, int p_149903_4_, int p_149903_5_)
{
    int i1 = super.getInputStrength(p_149903_1_, p_149903_2_, p_149903_3_, p_149903_4_, p_149903_5_);
    int j1 = getDirection(p_149903_5_);
    int k1 = p_149903_2_ + Direction.offsetX[j1];
    int l1 = p_149903_4_ + Direction.offsetZ[j1];
    Block block = p_149903_1_.getBlock(k1, p_149903_3_, l1);

    if (block.hasComparatorInputOverride())
    {
        i1 = block.getComparatorInputOverride(p_149903_1_, k1, p_149903_3_, l1, Direction.rotateOpposite[j1]);
    }
    else if (i1 < 15 && block.isNormalCube())
    {
        k1 += Direction.offsetX[j1];
        l1 += Direction.offsetZ[j1];
        block = p_149903_1_.getBlock(k1, p_149903_3_, l1);

        if (block.hasComparatorInputOverride())
        {
            i1 = block.getComparatorInputOverride(p_149903_1_, k1, p_149903_3_, l1, Direction.rotateOpposite[j1]);
        }
    }

    return i1;
}
项目:Cauldron    文件:RenderItemFrame.java   
public void doRender(EntityItemFrame p_76986_1_, double p_76986_2_, double p_76986_4_, double p_76986_6_, float p_76986_8_, float p_76986_9_)
{
    GL11.glPushMatrix();
    double d3 = p_76986_1_.posX - p_76986_2_ - 0.5D;
    double d4 = p_76986_1_.posY - p_76986_4_ - 0.5D;
    double d5 = p_76986_1_.posZ - p_76986_6_ - 0.5D;
    int i = p_76986_1_.field_146063_b + Direction.offsetX[p_76986_1_.hangingDirection];
    int j = p_76986_1_.field_146064_c;
    int k = p_76986_1_.field_146062_d + Direction.offsetZ[p_76986_1_.hangingDirection];
    GL11.glTranslated((double)i - d3, (double)j - d4, (double)k - d5);

    if (p_76986_1_.getDisplayedItem() != null && p_76986_1_.getDisplayedItem().getItem() == Items.filled_map)
    {
        this.func_147915_b(p_76986_1_);
    }
    else
    {
        this.renderFrameItemAsBlock(p_76986_1_);
    }

    this.func_82402_b(p_76986_1_);
    GL11.glPopMatrix();
    this.func_147914_a(p_76986_1_, p_76986_2_ + (double)((float)Direction.offsetX[p_76986_1_.hangingDirection] * 0.3F), p_76986_4_ - 0.25D, p_76986_6_ + (double)((float)Direction.offsetZ[p_76986_1_.hangingDirection] * 0.3F));
}
项目:Cauldron    文件:WorldGenVines.java   
public boolean generate(World p_76484_1_, Random p_76484_2_, int p_76484_3_, int p_76484_4_, int p_76484_5_)
{
    int l = p_76484_3_;

    for (int i1 = p_76484_5_; p_76484_4_ < 128; ++p_76484_4_)
    {
        if (p_76484_1_.isAirBlock(p_76484_3_, p_76484_4_, p_76484_5_))
        {
            for (int j1 = 2; j1 <= 5; ++j1)
            {
                if (Blocks.vine.canPlaceBlockOnSide(p_76484_1_, p_76484_3_, p_76484_4_, p_76484_5_, j1))
                {
                    p_76484_1_.setBlock(p_76484_3_, p_76484_4_, p_76484_5_, Blocks.vine, 1 << Direction.facingToDirection[Facing.oppositeSide[j1]], 2);
                    break;
                }
            }
        }
        else
        {
            p_76484_3_ = l + p_76484_2_.nextInt(4) - p_76484_2_.nextInt(4);
            p_76484_5_ = i1 + p_76484_2_.nextInt(4) - p_76484_2_.nextInt(4);
        }
    }

    return true;
}
项目:Cauldron    文件:Entity.java   
public void setInPortal()
{
    if (this.timeUntilPortal > 0)
    {
        this.timeUntilPortal = this.getPortalCooldown();
    }
    else
    {
        double d0 = this.prevPosX - this.posX;
        double d1 = this.prevPosZ - this.posZ;

        if (!this.worldObj.isRemote && !this.inPortal)
        {
            this.teleportDirection = Direction.getMovementDirection(d0, d1);
        }

        this.inPortal = true;
    }
}
项目:Cauldron    文件:BlockRedstoneWire.java   
public static boolean isPowerProviderOrWire(IBlockAccess p_150174_0_, int p_150174_1_, int p_150174_2_, int p_150174_3_, int p_150174_4_)
{
    Block block = p_150174_0_.getBlock(p_150174_1_, p_150174_2_, p_150174_3_);

    if (block == Blocks.redstone_wire)
    {
        return true;
    }
    else if (!Blocks.unpowered_repeater.func_149907_e(block))
    {
        return block.canConnectRedstone(p_150174_0_, p_150174_1_, p_150174_2_, p_150174_3_, p_150174_4_);
    }
    else
    {
        int i1 = p_150174_0_.getBlockMetadata(p_150174_1_, p_150174_2_, p_150174_3_);
        return p_150174_4_ == (i1 & 3) || p_150174_4_ == Direction.rotateOpposite[i1 & 3];
    }
}
项目:Cauldron    文件:BlockTripWire.java   
@SideOnly(Side.CLIENT)
public static boolean func_150139_a(IBlockAccess p_150139_0_, int p_150139_1_, int p_150139_2_, int p_150139_3_, int p_150139_4_, int p_150139_5_)
{
    int j1 = p_150139_1_ + Direction.offsetX[p_150139_5_];
    int k1 = p_150139_3_ + Direction.offsetZ[p_150139_5_];
    Block block = p_150139_0_.getBlock(j1, p_150139_2_, k1);
    boolean flag = (p_150139_4_ & 2) == 2;
    int l1;

    if (block == Blocks.tripwire_hook)
    {
        l1 = p_150139_0_.getBlockMetadata(j1, p_150139_2_, k1);
        int i2 = l1 & 3;
        return i2 == Direction.rotateOpposite[p_150139_5_];
    }
    else if (block == Blocks.tripwire)
    {
        l1 = p_150139_0_.getBlockMetadata(j1, p_150139_2_, k1);
        boolean flag1 = (l1 & 2) == 2;
        return flag == flag1;
    }
    else
    {
        return false;
    }
}
项目:Cauldron    文件:BlockRedstoneComparator.java   
protected int getInputStrength(World p_149903_1_, int p_149903_2_, int p_149903_3_, int p_149903_4_, int p_149903_5_)
{
    int i1 = super.getInputStrength(p_149903_1_, p_149903_2_, p_149903_3_, p_149903_4_, p_149903_5_);
    int j1 = getDirection(p_149903_5_);
    int k1 = p_149903_2_ + Direction.offsetX[j1];
    int l1 = p_149903_4_ + Direction.offsetZ[j1];
    Block block = p_149903_1_.getBlock(k1, p_149903_3_, l1);

    if (block.hasComparatorInputOverride())
    {
        i1 = block.getComparatorInputOverride(p_149903_1_, k1, p_149903_3_, l1, Direction.rotateOpposite[j1]);
    }
    else if (i1 < 15 && block.isNormalCube())
    {
        k1 += Direction.offsetX[j1];
        l1 += Direction.offsetZ[j1];
        block = p_149903_1_.getBlock(k1, p_149903_3_, l1);

        if (block.hasComparatorInputOverride())
        {
            i1 = block.getComparatorInputOverride(p_149903_1_, k1, p_149903_3_, l1, Direction.rotateOpposite[j1]);
        }
    }

    return i1;
}
项目:Cauldron    文件:RenderItemFrame.java   
public void doRender(EntityItemFrame p_76986_1_, double p_76986_2_, double p_76986_4_, double p_76986_6_, float p_76986_8_, float p_76986_9_)
{
    GL11.glPushMatrix();
    double d3 = p_76986_1_.posX - p_76986_2_ - 0.5D;
    double d4 = p_76986_1_.posY - p_76986_4_ - 0.5D;
    double d5 = p_76986_1_.posZ - p_76986_6_ - 0.5D;
    int i = p_76986_1_.field_146063_b + Direction.offsetX[p_76986_1_.hangingDirection];
    int j = p_76986_1_.field_146064_c;
    int k = p_76986_1_.field_146062_d + Direction.offsetZ[p_76986_1_.hangingDirection];
    GL11.glTranslated((double)i - d3, (double)j - d4, (double)k - d5);

    if (p_76986_1_.getDisplayedItem() != null && p_76986_1_.getDisplayedItem().getItem() == Items.filled_map)
    {
        this.func_147915_b(p_76986_1_);
    }
    else
    {
        this.renderFrameItemAsBlock(p_76986_1_);
    }

    this.func_82402_b(p_76986_1_);
    GL11.glPopMatrix();
    this.func_147914_a(p_76986_1_, p_76986_2_ + (double)((float)Direction.offsetX[p_76986_1_.hangingDirection] * 0.3F), p_76986_4_ - 0.25D, p_76986_6_ + (double)((float)Direction.offsetZ[p_76986_1_.hangingDirection] * 0.3F));
}
项目:QmunityLib    文件:FMPCompat.java   
@Override
public boolean canConnectRedstone(World world, Vec3i location, ForgeDirection side, ForgeDirection face) {

    if (!isMultipart(world, location))
        return false;

    int s = Direction.getMovementDirection(side.offsetX, side.offsetZ);

    TileMultipart tmp = TileMultipart.getOrConvertTile(world, new BlockCoord(location.getX(), location.getY(), location.getZ()));

    if (face == ForgeDirection.UNKNOWN)
        return tmp.canConnectRedstone(s);

    TMultiPart slotPart = tmp.partMap(side.ordinal());
    if (slotPart != null) {
        if (slotPart instanceof IRedstonePart)
            return ((IRedstonePart) slotPart).canConnectRedstone(side.ordinal());
        return false;
    }

    for (TMultiPart p : tmp.jPartList())
        if (p instanceof IRedstonePart && ((IRedstonePart) p).canConnectRedstone(s))
            return true;

    return false;
}
项目:QmunityLib    文件:RedstoneHelper.java   
public static boolean canConnect(World world, BlockPos pos, ForgeDirection side, ForgeDirection face) {

        Vec3i location = new Vec3i(pos);

        if (isVanillaBlock(world, pos))
            return canConnectVanilla(world, pos, side, face);

        for (MultipartSystem s : MultipartSystem.getAvailableSystems()) {
            IMultipartCompat compat = s.getCompat();
            if (compat.isMultipart(world, location))
                return compat.canConnectRedstone(world, location, side, face);
        }

        try {
            return world.getBlock(pos.getX(), pos.getY(), pos.getZ()).canConnectRedstone(world, pos.getX(), pos.getY(), pos.getZ(), Direction.getMovementDirection(side.offsetX, side.offsetZ));
        } catch (Exception ex) {
            // ex.printStackTrace();
        }
        return false;
    }
项目:Rediscovered-Mod-1.6.4    文件:BlockDreamBed.java   
@SideOnly(Side.CLIENT)

    /**
     * From the specified side and block metadata retrieves the blocks texture. Args: side, metadata
     */
    public Icon getIcon(int par1, int par2)
    {
        if (par1 == 0)
        {
            return Block.planks.getBlockTextureFromSide(par1);
        }
        else
        {
            int k = getDirection(par2);
            int l = Direction.bedDirection[k][par1];
            int i1 = isBlockHeadOfBed(par2) ? 1 : 0;
            return (i1 != 1 || l != 2) && (i1 != 0 || l != 3) ? (l != 5 && l != 4 ? this.bedTopIcons[i1] : this.bedSideIcons[i1]) : this.field_94472_b[i1];
        }
    }
项目:RealChop2    文件:RenderFallingTree.java   
public void doRenderFallingTree(EntityFallingTree parEntityFallingTree, double parX, double parY, double parZ, float parYaw, float partialTickTime) {
World world = parEntityFallingTree.getWorld();
      Block block = Block.blocksList[parEntityFallingTree.blockID];

      if (world.getBlockId(MathHelper.floor_double(parEntityFallingTree.posX), MathHelper.floor_double(parEntityFallingTree.posY), MathHelper.floor_double(parEntityFallingTree.posZ)) != parEntityFallingTree.blockID)
      {
          GL11.glPushMatrix();
          GL11.glTranslatef((float)parX, (float)parY, (float)parZ);
          GL11.glRotatef(parYaw, Direction.offsetZ[parEntityFallingTree.direction],0 , -Direction.offsetX[parEntityFallingTree.direction]);
          this.bindEntityTexture(parEntityFallingTree);
          GL11.glDisable(GL11.GL_LIGHTING);
          Tessellator tessellator;

          if (block != null)
          {
              this.renderTreeBlocks.setRenderBoundsFromBlock(block);
              this.renderTreeBlocks.renderFallingTreeBlock(block, world, MathHelper.floor_double(parEntityFallingTree.posX), MathHelper.floor_double(parEntityFallingTree.posY), MathHelper.floor_double(parEntityFallingTree.posZ), parEntityFallingTree.metadata);
          }
          GL11.glEnable(GL11.GL_LIGHTING);
          GL11.glPopMatrix();
      }
  }
项目:RuneCraftery    文件:WorldGenVines.java   
public boolean func_76484_a(World p_76484_1_, Random p_76484_2_, int p_76484_3_, int p_76484_4_, int p_76484_5_) {
   int var6 = p_76484_3_;

   for(int var7 = p_76484_5_; p_76484_4_ < 128; ++p_76484_4_) {
      if(p_76484_1_.func_72799_c(p_76484_3_, p_76484_4_, p_76484_5_)) {
         for(int var8 = 2; var8 <= 5; ++var8) {
            if(Block.field_71998_bu.func_71850_a_(p_76484_1_, p_76484_3_, p_76484_4_, p_76484_5_, var8)) {
               p_76484_1_.func_72832_d(p_76484_3_, p_76484_4_, p_76484_5_, Block.field_71998_bu.field_71990_ca, 1 << Direction.field_71579_d[Facing.field_71588_a[var8]], 2);
               break;
            }
         }
      } else {
         p_76484_3_ = var6 + p_76484_2_.nextInt(4) - p_76484_2_.nextInt(4);
         p_76484_5_ = var7 + p_76484_2_.nextInt(4) - p_76484_2_.nextInt(4);
      }
   }

   return true;
}
项目:RuneCraftery    文件:World.java   
public void func_96440_m(int p_96440_1_, int p_96440_2_, int p_96440_3_, int p_96440_4_) {
   for(int var5 = 0; var5 < 4; ++var5) {
      int var6 = p_96440_1_ + Direction.field_71583_a[var5];
      int var7 = p_96440_3_ + Direction.field_71581_b[var5];
      int var8 = this.func_72798_a(var6, p_96440_2_, var7);
      if(var8 != 0) {
         Block var9 = Block.field_71973_m[var8];
         if(Block.field_94346_cn.func_94487_f(var8)) {
            var9.func_71863_a(this, var6, p_96440_2_, var7, p_96440_4_);
         } else if(Block.func_71932_i(var8)) {
            var6 += Direction.field_71583_a[var5];
            var7 += Direction.field_71581_b[var5];
            var8 = this.func_72798_a(var6, p_96440_2_, var7);
            var9 = Block.field_71973_m[var8];
            if(Block.field_94346_cn.func_94487_f(var8)) {
               var9.func_71863_a(this, var6, p_96440_2_, var7, p_96440_4_);
            }
         }
      }
   }

}
项目:RuneCraftery    文件:ItemHangingEntity.java   
public boolean func_77648_a(ItemStack p_77648_1_, EntityPlayer p_77648_2_, World p_77648_3_, int p_77648_4_, int p_77648_5_, int p_77648_6_, int p_77648_7_, float p_77648_8_, float p_77648_9_, float p_77648_10_) {
   if(p_77648_7_ == 0) {
      return false;
   } else if(p_77648_7_ == 1) {
      return false;
   } else {
      int var11 = Direction.field_71579_d[p_77648_7_];
      EntityHanging var12 = this.func_82810_a(p_77648_3_, p_77648_4_, p_77648_5_, p_77648_6_, var11);
      if(!p_77648_2_.func_82247_a(p_77648_4_, p_77648_5_, p_77648_6_, p_77648_7_, p_77648_1_)) {
         return false;
      } else {
         if(var12 != null && var12.func_70518_d()) {
            if(!p_77648_3_.field_72995_K) {
               p_77648_3_.func_72838_d(var12);
            }

            --p_77648_1_.field_77994_a;
         }

         return true;
      }
   }
}
项目:RuneCraftery    文件:BlockTripWire.java   
@SideOnly(Side.CLIENT)
public static boolean func_72148_a(IBlockAccess p_72148_0_, int p_72148_1_, int p_72148_2_, int p_72148_3_, int p_72148_4_, int p_72148_5_) {
   int var6 = p_72148_1_ + Direction.field_71583_a[p_72148_5_];
   int var8 = p_72148_3_ + Direction.field_71581_b[p_72148_5_];
   int var9 = p_72148_0_.func_72798_a(var6, p_72148_2_, var8);
   boolean var10 = (p_72148_4_ & 2) == 2;
   int var11;
   if(var9 == Block.field_72064_bT.field_71990_ca) {
      var11 = p_72148_0_.func_72805_g(var6, p_72148_2_, var8);
      int var13 = var11 & 3;
      return var13 == Direction.field_71580_e[p_72148_5_];
   } else if(var9 == Block.field_72062_bU.field_71990_ca) {
      var11 = p_72148_0_.func_72805_g(var6, p_72148_2_, var8);
      boolean var12 = (var11 & 2) == 2;
      return var10 == var12;
   } else {
      return false;
   }
}
项目:RuneCraftery    文件:BlockVine.java   
private boolean func_72150_l(World p_72150_1_, int p_72150_2_, int p_72150_3_, int p_72150_4_) {
   int var5 = p_72150_1_.func_72805_g(p_72150_2_, p_72150_3_, p_72150_4_);
   int var6 = var5;
   if(var5 > 0) {
      for(int var7 = 0; var7 <= 3; ++var7) {
         int var8 = 1 << var7;
         if((var5 & var8) != 0 && !this.func_72151_e(p_72150_1_.func_72798_a(p_72150_2_ + Direction.field_71583_a[var7], p_72150_3_, p_72150_4_ + Direction.field_71581_b[var7])) && (p_72150_1_.func_72798_a(p_72150_2_, p_72150_3_ + 1, p_72150_4_) != this.field_71990_ca || (p_72150_1_.func_72805_g(p_72150_2_, p_72150_3_ + 1, p_72150_4_) & var8) == 0)) {
            var6 &= ~var8;
         }
      }
   }

   if(var6 == 0 && !this.func_72151_e(p_72150_1_.func_72798_a(p_72150_2_, p_72150_3_ + 1, p_72150_4_))) {
      return false;
   } else {
      if(var6 != var5) {
         p_72150_1_.func_72921_c(p_72150_2_, p_72150_3_, p_72150_4_, var6, 2);
      }

      return true;
   }
}
项目:RuneCraftery    文件:BlockComparator.java   
protected int func_72220_e(World p_72220_1_, int p_72220_2_, int p_72220_3_, int p_72220_4_, int p_72220_5_) {
   int var6 = super.func_72220_e(p_72220_1_, p_72220_2_, p_72220_3_, p_72220_4_, p_72220_5_);
   int var7 = func_72217_d(p_72220_5_);
   int var8 = p_72220_2_ + Direction.field_71583_a[var7];
   int var9 = p_72220_4_ + Direction.field_71581_b[var7];
   int var10 = p_72220_1_.func_72798_a(var8, p_72220_3_, var9);
   if(var10 > 0) {
      if(Block.field_71973_m[var10].func_96468_q_()) {
         var6 = Block.field_71973_m[var10].func_94328_b_(p_72220_1_, var8, p_72220_3_, var9, Direction.field_71580_e[var7]);
      } else if(var6 < 15 && Block.func_71932_i(var10)) {
         var8 += Direction.field_71583_a[var7];
         var9 += Direction.field_71581_b[var7];
         var10 = p_72220_1_.func_72798_a(var8, p_72220_3_, var9);
         if(var10 > 0 && Block.field_71973_m[var10].func_96468_q_()) {
            var6 = Block.field_71973_m[var10].func_94328_b_(p_72220_1_, var8, p_72220_3_, var9, Direction.field_71580_e[var7]);
         }
      }
   }

   return var6;
}
项目:RuneCraftery    文件:WorldGenVines.java   
public boolean generate(World par1World, Random par2Random, int par3, int par4, int par5)
{
    int l = par3;

    for (int i1 = par5; par4 < 128; ++par4)
    {
        if (par1World.isAirBlock(par3, par4, par5))
        {
            for (int j1 = 2; j1 <= 5; ++j1)
            {
                if (Block.vine.canPlaceBlockOnSide(par1World, par3, par4, par5, j1))
                {
                    par1World.setBlock(par3, par4, par5, Block.vine.blockID, 1 << Direction.facingToDirection[Facing.oppositeSide[j1]], 2);
                    break;
                }
            }
        }
        else
        {
            par3 = l + par2Random.nextInt(4) - par2Random.nextInt(4);
            par5 = i1 + par2Random.nextInt(4) - par2Random.nextInt(4);
        }
    }

    return true;
}
项目:RuneCraftery    文件:Entity.java   
/**
 * Called by portal blocks when an entity is within it.
 */
public void setInPortal()
{
    if (this.timeUntilPortal > 0)
    {
        this.timeUntilPortal = this.getPortalCooldown();
    }
    else
    {
        double d0 = this.prevPosX - this.posX;
        double d1 = this.prevPosZ - this.posZ;

        if (!this.worldObj.isRemote && !this.inPortal)
        {
            this.teleportDirection = Direction.getMovementDirection(d0, d1);
        }

        this.inPortal = true;
    }
}
项目:RuneCraftery    文件:BlockRedstoneWire.java   
/**
 * Returns true if redstone wire can connect to the specified block. Params: World, X, Y, Z, side (not a normal
 * notch-side, this can be 0, 1, 2, 3 or -1)
 */
public static boolean isPowerProviderOrWire(IBlockAccess par0IBlockAccess, int par1, int par2, int par3, int par4)
{
    int i1 = par0IBlockAccess.getBlockId(par1, par2, par3);

    if (i1 == Block.redstoneWire.blockID)
    {
        return true;
    }
    else if (i1 == 0)
    {
        return false;
    }
    else if (!Block.redstoneRepeaterIdle.func_94487_f(i1))
    {
        return (Block.blocksList[i1] != null && Block.blocksList[i1].canConnectRedstone(par0IBlockAccess, par1, par2, par3, par4));
    }
    else
    {
        int j1 = par0IBlockAccess.getBlockMetadata(par1, par2, par3);
        return par4 == (j1 & 3) || par4 == Direction.rotateOpposite[j1 & 3];
    }
}
项目:RuneCraftery    文件:BlockTripWire.java   
@SideOnly(Side.CLIENT)
public static boolean func_72148_a(IBlockAccess par0IBlockAccess, int par1, int par2, int par3, int par4, int par5)
{
    int j1 = par1 + Direction.offsetX[par5];
    int k1 = par3 + Direction.offsetZ[par5];
    int l1 = par0IBlockAccess.getBlockId(j1, par2, k1);
    boolean flag = (par4 & 2) == 2;
    int i2;

    if (l1 == Block.tripWireSource.blockID)
    {
        i2 = par0IBlockAccess.getBlockMetadata(j1, par2, k1);
        int j2 = i2 & 3;
        return j2 == Direction.rotateOpposite[par5];
    }
    else if (l1 == Block.tripWire.blockID)
    {
        i2 = par0IBlockAccess.getBlockMetadata(j1, par2, k1);
        boolean flag1 = (i2 & 2) == 2;
        return flag == flag1;
    }
    else
    {
        return false;
    }
}