Search in sources :

Example 76 with Vec3

use of net.minecraft.util.Vec3 in project RFToolsDimensions by McJty.

the class GenericWorldProvider method getSkyColor.

@Override
@SideOnly(Side.CLIENT)
public Vec3 getSkyColor(Entity cameraEntity, float partialTicks) {
    int dim = worldObj.provider.getDimensionId();
    if (System.currentTimeMillis() - lastTime > 1000) {
        lastTime = System.currentTimeMillis();
        RFToolsDimMessages.INSTANCE.sendToServer(new PacketGetDimensionEnergy(dim));
    }
    float factor = calculatePowerBlackout(dim);
    getDimensionInformation();
    float r;
    float g;
    float b;
    if (dimensionInformation == null) {
        r = g = b = 1.0f;
    } else {
        r = dimensionInformation.getSkyDescriptor().getSkyColorFactorR() * factor;
        g = dimensionInformation.getSkyDescriptor().getSkyColorFactorG() * factor;
        b = dimensionInformation.getSkyDescriptor().getSkyColorFactorB() * factor;
    }
    Vec3 skyColor = super.getSkyColor(cameraEntity, partialTicks);
    return new Vec3(skyColor.xCoord * r, skyColor.yCoord * g, skyColor.zCoord * b);
}
Also used : Vec3(net.minecraft.util.Vec3) PacketGetDimensionEnergy(mcjty.rftoolsdim.network.PacketGetDimensionEnergy) SideOnly(net.minecraftforge.fml.relauncher.SideOnly)

Example 77 with Vec3

use of net.minecraft.util.Vec3 in project RFToolsDimensions by McJty.

the class GenericWorldProvider method getFogColor.

@Override
@SideOnly(Side.CLIENT)
public Vec3 getFogColor(float angle, float dt) {
    int dim = worldObj.provider.getDimensionId();
    if (System.currentTimeMillis() - lastFogTime > 1000) {
        lastFogTime = System.currentTimeMillis();
        RFToolsDimMessages.INSTANCE.sendToServer(new PacketGetDimensionEnergy(dim));
    }
    float factor = calculatePowerBlackout(dim);
    getDimensionInformation();
    float r;
    float g;
    float b;
    if (dimensionInformation == null) {
        r = g = b = 1.0f;
    } else {
        r = dimensionInformation.getSkyDescriptor().getFogColorFactorR() * factor;
        g = dimensionInformation.getSkyDescriptor().getFogColorFactorG() * factor;
        b = dimensionInformation.getSkyDescriptor().getFogColorFactorB() * factor;
    }
    Vec3 color = super.getFogColor(angle, dt);
    return new Vec3(color.xCoord * r, color.yCoord * g, color.zCoord * b);
}
Also used : Vec3(net.minecraft.util.Vec3) PacketGetDimensionEnergy(mcjty.rftoolsdim.network.PacketGetDimensionEnergy) SideOnly(net.minecraftforge.fml.relauncher.SideOnly)

Example 78 with Vec3

use of net.minecraft.util.Vec3 in project NyaSamaRailway by NSDN.

the class NSPCT6CRenderer method doRender.

@Override
public void doRender(EntityMinecart minecart, double x, double y, double z, float iYaw, float iPitch) {
    GL11.glPushMatrix();
    this.bindEntityTexture(minecart);
    long id = (long) minecart.getEntityId() * 493286711L;
    id = id * id * 4392167121L + id * 98761L;
    float tx = (((float) (id >> 16 & 7L) + 0.5F) / 8.0F - 0.5F) * 0.004F;
    float ty = (((float) (id >> 20 & 7L) + 0.5F) / 8.0F - 0.5F) * 0.004F;
    float tz = (((float) (id >> 24 & 7L) + 0.5F) / 8.0F - 0.5F) * 0.004F;
    GL11.glTranslatef(tx, ty, tz);
    double vx = minecart.lastTickPosX + (minecart.posX - minecart.lastTickPosX) * (double) iPitch;
    double vy = minecart.lastTickPosY + (minecart.posY - minecart.lastTickPosY) * (double) iPitch;
    double vz = minecart.lastTickPosZ + (minecart.posZ - minecart.lastTickPosZ) * (double) iPitch;
    double par = 0.30000001192092896D;
    Vec3 vec = minecart.func_70489_a(vx, vy, vz);
    float pitch = minecart.prevRotationPitch + (minecart.rotationPitch - minecart.prevRotationPitch) * iPitch;
    if (vec != null) {
        Vec3 vecA = minecart.func_70495_a(vx, vy, vz, par);
        Vec3 vecB = minecart.func_70495_a(vx, vy, vz, -par);
        if (vecA == null) {
            vecA = vec;
        }
        if (vecB == null) {
            vecB = vec;
        }
        x += vec.xCoord - vx;
        y += (vecA.yCoord + vecB.yCoord) / 2.0D - vy;
        z += vec.zCoord - vz;
        Vec3 vecBA = vecB.addVector(-vecA.xCoord, -vecA.yCoord, -vecA.zCoord);
        if (vecBA.lengthVector() != 0.0D) {
            vecBA = vecBA.normalize();
            iYaw = (float) (Math.atan2(vecBA.zCoord, vecBA.xCoord) * 180.0D / 3.141592653589793D);
            pitch = (float) (Math.atan(vecBA.yCoord) * 73.0D);
        }
    }
    GL11.glTranslatef((float) x, (float) y, (float) z);
    GL11.glRotatef(180.0F - iYaw, 0.0F, 1.0F, 0.0F);
    GL11.glRotatef(-pitch, 0.0F, 0.0F, 1.0F);
    float rollA = (float) minecart.getRollingAmplitude() - iPitch;
    float rollB = minecart.getDamage() - iPitch;
    if (rollB < 0.0F) {
        rollB = 0.0F;
    }
    if (rollA > 0.0F) {
        GL11.glRotatef(MathHelper.sin(rollA) * rollA * rollB / 10.0F * (float) minecart.getRollingDirection(), 1.0F, 0.0F, 0.0F);
    }
    int tileOffset = minecart.getDisplayTileOffset();
    Block block = minecart.func_145820_n();
    int tileData = minecart.getDisplayTileData();
    if (block.getRenderType() != -1) {
        GL11.glPushMatrix();
        this.bindTexture(TextureMap.locationBlocksTexture);
        float var30 = 0.75F;
        GL11.glScalef(var30, var30, var30);
        GL11.glTranslatef(0.0F, (float) tileOffset / 16.0F, 0.0F);
        this.func_147910_a(minecart, iPitch, block, tileData);
        GL11.glPopMatrix();
        GL11.glColor4f(1.0F, 1.0F, 1.0F, 1.0F);
        this.bindEntityTexture(minecart);
    }
    if (minecart instanceof NSPCT6C) {
        NSPCT6C cart = (NSPCT6C) minecart;
        GL11.glTranslated(0.0, cart.getShiftYCnt(), 0.0);
        RendererHelper.renderWithResource(modelHead, textureBase);
    } else if (minecart instanceof NSPCT6C.Container) {
        RendererHelper.renderWithResource(modelBase, textureBase);
        RendererHelper.renderWithResource(modelPrint, texturePrint);
    }
    GL11.glPopMatrix();
}
Also used : NSPCT6C(club.nsdn.nyasamarailway.entity.loco.NSPCT6C) Vec3(net.minecraft.util.Vec3) Block(net.minecraft.block.Block)

Example 79 with Vec3

use of net.minecraft.util.Vec3 in project NyaSamaRailway by NSDN.

the class NSPCT6Renderer method doRender.

@Override
public void doRender(EntityMinecart minecart, double x, double y, double z, float Yaw, float p_doRender_9_) {
    GL11.glPushMatrix();
    this.bindEntityTexture(minecart);
    long var10 = (long) minecart.getEntityId() * 493286711L;
    var10 = var10 * var10 * 4392167121L + var10 * 98761L;
    float var12 = (((float) (var10 >> 16 & 7L) + 0.5F) / 8.0F - 0.5F) * 0.004F;
    float var13 = (((float) (var10 >> 20 & 7L) + 0.5F) / 8.0F - 0.5F) * 0.004F;
    float var14 = (((float) (var10 >> 24 & 7L) + 0.5F) / 8.0F - 0.5F) * 0.004F;
    GL11.glTranslatef(var12, var13, var14);
    double var15 = minecart.lastTickPosX + (minecart.posX - minecart.lastTickPosX) * (double) p_doRender_9_;
    double var17 = minecart.lastTickPosY + (minecart.posY - minecart.lastTickPosY) * (double) p_doRender_9_;
    double var19 = minecart.lastTickPosZ + (minecart.posZ - minecart.lastTickPosZ) * (double) p_doRender_9_;
    double var21 = 0.30000001192092896D;
    Vec3 var23 = minecart.func_70489_a(var15, var17, var19);
    float var24 = minecart.prevRotationPitch + (minecart.rotationPitch - minecart.prevRotationPitch) * p_doRender_9_;
    if (var23 != null) {
        Vec3 var25 = minecart.func_70495_a(var15, var17, var19, var21);
        Vec3 var26 = minecart.func_70495_a(var15, var17, var19, -var21);
        if (var25 == null) {
            var25 = var23;
        }
        if (var26 == null) {
            var26 = var23;
        }
        x += var23.xCoord - var15;
        y += (var25.yCoord + var26.yCoord) / 2.0D - var17;
        z += var23.zCoord - var19;
        Vec3 var27 = var26.addVector(-var25.xCoord, -var25.yCoord, -var25.zCoord);
        if (var27.lengthVector() != 0.0D) {
            var27 = var27.normalize();
            Yaw = (float) (Math.atan2(var27.zCoord, var27.xCoord) * 180.0D / 3.141592653589793D);
            var24 = (float) (Math.atan(var27.yCoord) * 73.0D);
        }
    }
    GL11.glTranslatef((float) x, (float) y, (float) z);
    GL11.glRotatef(180.0F - Yaw, 0.0F, 1.0F, 0.0F);
    GL11.glRotatef(-var24, 0.0F, 0.0F, 1.0F);
    float var31 = (float) minecart.getRollingAmplitude() - p_doRender_9_;
    float var32 = minecart.getDamage() - p_doRender_9_;
    if (var32 < 0.0F) {
        var32 = 0.0F;
    }
    if (var31 > 0.0F) {
        GL11.glRotatef(MathHelper.sin(var31) * var31 * var32 / 10.0F * (float) minecart.getRollingDirection(), 1.0F, 0.0F, 0.0F);
    }
    int var33 = minecart.getDisplayTileOffset();
    Block var28 = minecart.func_145820_n();
    int var29 = minecart.getDisplayTileData();
    if (var28.getRenderType() != -1) {
        GL11.glPushMatrix();
        this.bindTexture(TextureMap.locationBlocksTexture);
        float var30 = 0.75F;
        GL11.glScalef(var30, var30, var30);
        GL11.glTranslatef(0.0F, (float) var33 / 16.0F, 0.0F);
        this.func_147910_a(minecart, p_doRender_9_, var28, var29);
        GL11.glPopMatrix();
        GL11.glColor4f(1.0F, 1.0F, 1.0F, 1.0F);
        this.bindEntityTexture(minecart);
    }
    RendererHelper.renderWithResource(modelBase, textureBase);
    RendererHelper.renderWithResource(modelPrint, texturePrint);
    GL11.glPopMatrix();
}
Also used : Vec3(net.minecraft.util.Vec3) Block(net.minecraft.block.Block)

Example 80 with Vec3

use of net.minecraft.util.Vec3 in project NyaSamaRailway by NSDN.

the class NSPCT8WRenderer method doRender.

@Override
public void doRender(EntityMinecart minecart, double x, double y, double z, float iYaw, float iPitch) {
    GL11.glPushMatrix();
    this.bindEntityTexture(minecart);
    long id = (long) minecart.getEntityId() * 493286711L;
    id = id * id * 4392167121L + id * 98761L;
    float tx = (((float) (id >> 16 & 7L) + 0.5F) / 8.0F - 0.5F) * 0.004F;
    float ty = (((float) (id >> 20 & 7L) + 0.5F) / 8.0F - 0.5F) * 0.004F;
    float tz = (((float) (id >> 24 & 7L) + 0.5F) / 8.0F - 0.5F) * 0.004F;
    GL11.glTranslatef(tx, ty, tz);
    double vx = minecart.lastTickPosX + (minecart.posX - minecart.lastTickPosX) * (double) iPitch;
    double vy = minecart.lastTickPosY + (minecart.posY - minecart.lastTickPosY) * (double) iPitch;
    double vz = minecart.lastTickPosZ + (minecart.posZ - minecart.lastTickPosZ) * (double) iPitch;
    double par = 0.30000001192092896D;
    Vec3 vec = minecart.func_70489_a(vx, vy, vz);
    float pitch = minecart.prevRotationPitch + (minecart.rotationPitch - minecart.prevRotationPitch) * iPitch;
    if (vec != null) {
        Vec3 vecA = minecart.func_70495_a(vx, vy, vz, par);
        Vec3 vecB = minecart.func_70495_a(vx, vy, vz, -par);
        if (vecA == null) {
            vecA = vec;
        }
        if (vecB == null) {
            vecB = vec;
        }
        x += vec.xCoord - vx;
        y += (vecA.yCoord + vecB.yCoord) / 2.0D - vy;
        z += vec.zCoord - vz;
        Vec3 vecBA = vecB.addVector(-vecA.xCoord, -vecA.yCoord, -vecA.zCoord);
        if (vecBA.lengthVector() != 0.0D) {
            vecBA = vecBA.normalize();
            iYaw = (float) (Math.atan2(vecBA.zCoord, vecBA.xCoord) * 180.0D / 3.141592653589793D);
            pitch = (float) (Math.atan(vecBA.yCoord) * 73.0D);
        }
    }
    GL11.glTranslatef((float) x, (float) y, (float) z);
    GL11.glRotatef(180.0F - iYaw, 0.0F, 1.0F, 0.0F);
    GL11.glRotatef(-pitch, 0.0F, 0.0F, 1.0F);
    float rollA = (float) minecart.getRollingAmplitude() - iPitch;
    float rollB = minecart.getDamage() - iPitch;
    if (rollB < 0.0F) {
        rollB = 0.0F;
    }
    if (rollA > 0.0F) {
        GL11.glRotatef(MathHelper.sin(rollA) * rollA * rollB / 10.0F * (float) minecart.getRollingDirection(), 1.0F, 0.0F, 0.0F);
    }
    int tileOffset = minecart.getDisplayTileOffset();
    Block block = minecart.func_145820_n();
    int tileData = minecart.getDisplayTileData();
    if (block.getRenderType() != -1) {
        GL11.glPushMatrix();
        this.bindTexture(TextureMap.locationBlocksTexture);
        float var30 = 0.75F;
        GL11.glScalef(var30, var30, var30);
        GL11.glTranslatef(0.0F, (float) tileOffset / 16.0F, 0.0F);
        this.func_147910_a(minecart, iPitch, block, tileData);
        GL11.glPopMatrix();
        GL11.glColor4f(1.0F, 1.0F, 1.0F, 1.0F);
        this.bindEntityTexture(minecart);
    }
    if (minecart instanceof NSPCT8W) {
        NSPCT8W cart = (NSPCT8W) minecart;
        GL11.glTranslated(0.0, cart.getShiftYCnt(), 0.0);
        RendererHelper.renderWithResource(modelHead, textureBase);
    } else if (minecart instanceof NSPCT8W.Container) {
        RendererHelper.renderWithResource(modelBase, textureBase);
        RendererHelper.renderWithResource(modelPrint, texturePrint);
    }
    GL11.glPopMatrix();
}
Also used : NSPCT8W(club.nsdn.nyasamarailway.entity.cart.NSPCT8W) Vec3(net.minecraft.util.Vec3) Block(net.minecraft.block.Block)

Aggregations

Vec3 (net.minecraft.util.Vec3)136 Block (net.minecraft.block.Block)32 MovingObjectPosition (net.minecraft.util.MovingObjectPosition)26 Entity (net.minecraft.entity.Entity)22 EntityPlayer (net.minecraft.entity.player.EntityPlayer)21 AxisAlignedBB (net.minecraft.util.AxisAlignedBB)19 ArrayList (java.util.ArrayList)13 TileEntity (net.minecraft.tileentity.TileEntity)9 ItemToolBase (club.nsdn.nyasamarailway.item.tool.ItemToolBase)8 ItemStack (net.minecraft.item.ItemStack)7 List (java.util.List)6 EntityLivingBase (net.minecraft.entity.EntityLivingBase)6 EntityItem (net.minecraft.entity.item.EntityItem)6 SideOnly (net.minecraftforge.fml.relauncher.SideOnly)6 Random (java.util.Random)5 BlockRailBase (net.minecraft.block.BlockRailBase)5 BlockVec3 (micdoodle8.mods.galacticraft.api.vector.BlockVec3)4 IBlockState (net.minecraft.block.state.IBlockState)4 Tessellator (net.minecraft.client.renderer.Tessellator)4 InvokeEvent (cc.hyperium.event.InvokeEvent)3