Java 类net.minecraft.client.particle.EntityLavaFX 实例源码

项目:Chisel-1.7.2    文件:GeneralChiselClient.java   
public static void spawnLavastoneFX(World world, BlockLavastone block, int x, int y, int z) {
        if(Chisel.particlesTickrate!=0 && tick++%Chisel.particlesTickrate!=0) return;

        float f = 0.15F;
        double x1 = x + rand.nextDouble() * (block.getBlockBoundsMaxX() - block.getBlockBoundsMinX() - f * 2.0F) + f + block.getBlockBoundsMinX();
        double y1 = y + rand.nextDouble() * (block.getBlockBoundsMaxY() - block.getBlockBoundsMinY() - f * 2.0F) + f + block.getBlockBoundsMinY();
        double z1 = z + rand.nextDouble() * (block.getBlockBoundsMaxZ() - block.getBlockBoundsMinZ() - f * 2.0F) + f + block.getBlockBoundsMinZ();

        switch(rand.nextInt(6)){
        case 0:
            y1 = y + block.getBlockBoundsMinY() - f;
            y--;
            break;
        case 1:
            y1 = y + block.getBlockBoundsMaxY() + f;
            y++;
            break;
        case 2:
            z1 = z + block.getBlockBoundsMinZ() - f;
            z--;
            break;
        case 3:
            z1 = z + block.getBlockBoundsMaxZ() + f;
            z++;
            break;
        case 4:
            x1 = x + block.getBlockBoundsMinX() - f;
            x--;
            break;
        case 5:
            x1 = x + block.getBlockBoundsMaxX() + f;
            x++;
            break;
        }

        if(world.getBlock(x, y, z).isOpaqueCube()) return;

        EntityLavaFX res = new EntityLavaFX(world, x1, y1, z1);
//      res.motionX=x1-x-0.5;
//      res.motionY=y1-y-0.5;
//      res.motionZ=z1-z-0.5;
        double multiplier=0.45;
        res.motionX=-multiplier*(x1-x-0.5);
        res.motionY=multiplier*(y1-y-0.5);
        res.motionZ=-multiplier*(z1-z-0.5);

        Minecraft.getMinecraft().effectRenderer.addEffect(res);
    }
项目:Chisel    文件:GeneralChiselClient.java   
public static void spawnLavastoneFX(World world, BlockLavastone block, int x, int y, int z) {
        if (Chisel.particlesTickrate == -1) return;
        if (Chisel.particlesTickrate != 0 && tick++ % Chisel.particlesTickrate != 0) return;

        float f = 0.15F;
        double x1 = x + rand.nextDouble() * (block.getBlockBoundsMaxX() - block.getBlockBoundsMinX() - f * 2.0F) + f + block.getBlockBoundsMinX();
        double y1 = y + rand.nextDouble() * (block.getBlockBoundsMaxY() - block.getBlockBoundsMinY() - f * 2.0F) + f + block.getBlockBoundsMinY();
        double z1 = z + rand.nextDouble() * (block.getBlockBoundsMaxZ() - block.getBlockBoundsMinZ() - f * 2.0F) + f + block.getBlockBoundsMinZ();

        switch (rand.nextInt(6)) {
            case 0:
                y1 = y + block.getBlockBoundsMinY() - f;
                y--;
                break;
            case 1:
                y1 = y + block.getBlockBoundsMaxY() + f;
                y++;
                break;
            case 2:
                z1 = z + block.getBlockBoundsMinZ() - f;
                z--;
                break;
            case 3:
                z1 = z + block.getBlockBoundsMaxZ() + f;
                z++;
                break;
            case 4:
                x1 = x + block.getBlockBoundsMinX() - f;
                x--;
                break;
            case 5:
                x1 = x + block.getBlockBoundsMaxX() + f;
                x++;
                break;
        }

        if (world.getBlock(x, y, z).isOpaqueCube()) return;

        EntityLavaFX res = new EntityLavaFX(world, x1, y1, z1);
//      res.motionX=x1-x-0.5;
//      res.motionY=y1-y-0.5;
//      res.motionZ=z1-z-0.5;
        double multiplier = 0.45;
        res.motionX = -multiplier * (x1 - x - 0.5);
        res.motionY = multiplier * (y1 - y - 0.5);
        res.motionZ = -multiplier * (z1 - z - 0.5);

        Minecraft.getMinecraft().effectRenderer.addEffect(res);
    }
项目:Chisel-2    文件:GeneralChiselClient.java   
public static void spawnLavastoneFX(World world, BlockLavastone block, int x, int y, int z) {
    if (Configurations.particlesTickrate != 0 && tick++ % Configurations.particlesTickrate != 0 || Minecraft.getMinecraft().gameSettings.particleSetting != 0)
        return;

    float f = 0.15F;
    double x1 = x + rand.nextDouble() * (block.getBlockBoundsMaxX() - block.getBlockBoundsMinX() - f * 2.0F) + f + block.getBlockBoundsMinX();
    double y1 = y + rand.nextDouble() * (block.getBlockBoundsMaxY() - block.getBlockBoundsMinY() - f * 2.0F) + f + block.getBlockBoundsMinY();
    double z1 = z + rand.nextDouble() * (block.getBlockBoundsMaxZ() - block.getBlockBoundsMinZ() - f * 2.0F) + f + block.getBlockBoundsMinZ();

    switch (rand.nextInt(6)) {
    case 0:
        y1 = y + block.getBlockBoundsMinY() - f;
        y--;
        break;
    case 1:
        y1 = y + block.getBlockBoundsMaxY() + f;
        y++;
        break;
    case 2:
        z1 = z + block.getBlockBoundsMinZ() - f;
        z--;
        break;
    case 3:
        z1 = z + block.getBlockBoundsMaxZ() + f;
        z++;
        break;
    case 4:
        x1 = x + block.getBlockBoundsMinX() - f;
        x--;
        break;
    case 5:
        x1 = x + block.getBlockBoundsMaxX() + f;
        x++;
        break;
    }

    if (world.getBlock(x, y, z).isOpaqueCube())
        return;

    EntityLavaFX res = new EntityLavaFX(world, x1, y1, z1);
    double multiplier = 0.45;
    res.motionX = -multiplier * (x1 - x - 0.5);
    res.motionY = multiplier * (y1 - y - 0.5);
    res.motionZ = -multiplier * (z1 - z - 0.5);

    Minecraft.getMinecraft().effectRenderer.addEffect(res);
}