Search in sources :

Example 96 with Vec3

use of net.minecraft.util.Vec3 in project Hyperium by HyperiumClient.

the class ReachDisplay method onAttack.

@InvokeEvent
public void onAttack(PlayerAttackEntityEvent event) {
    if (mc.objectMouseOver != null && mc.objectMouseOver.typeOfHit == MovingObjectPosition.MovingObjectType.ENTITY && mc.objectMouseOver.entityHit.getEntityId() == event.getEntity().getEntityId()) {
        Vec3 vec = mc.getRenderViewEntity().getPositionEyes(1.0f);
        double range = mc.objectMouseOver.hitVec.distanceTo(vec);
        rangeText = new DecimalFormat(".##").format(range) + " blocks";
    } else {
        rangeText = "Not on target?";
    }
    lastAttack = System.currentTimeMillis();
}
Also used : Vec3(net.minecraft.util.Vec3) DecimalFormat(java.text.DecimalFormat) InvokeEvent(cc.hyperium.event.InvokeEvent)

Example 97 with Vec3

use of net.minecraft.util.Vec3 in project Hyperium by HyperiumClient.

the class ParticleAuraHandler method renderPlayer.

@InvokeEvent
public void renderPlayer(RenderPlayerEvent event) {
    if (Minecraft.getMinecraft().isGamePaused())
        return;
    if (event.getEntity().isInvisible())
        return;
    if (Minecraft.getMinecraft().currentScreen instanceof GuiHyperiumScreenIngameMenu)
        return;
    if (Minecraft.getMinecraft().theWorld == null || Minecraft.getMinecraft().thePlayer == null)
        return;
    if (!Settings.SHOW_PARTICLES)
        return;
    AbstractClientPlayer entity = event.getEntity();
    if (!entity.equals(Minecraft.getMinecraft().thePlayer) && (entity.posX != entity.prevPosZ || entity.posY != entity.prevPosY || entity.posZ != entity.prevPosZ)) {
        return;
    }
    ParticleAura particleAura = auras.get(entity.getUniqueID());
    if (particleAura != null && !entity.isInvisible()) {
        double x = entity.prevPosX + (entity.posX - entity.prevPosX) * event.getPartialTicks();
        double y = entity.posY + (entity.posY - entity.prevPosY) * event.getPartialTicks();
        double z = entity.posZ + (entity.posZ - entity.prevPosZ) * event.getPartialTicks();
        List<Vec3> render = particleAura.render(entity, x, y, z);
        render.forEach(vec3 -> {
            IParticle type = particleAura.getType();
            if (type != null) {
                EntityFX entityFX = type.spawn(entity.worldObj, vec3.xCoord, vec3.yCoord, vec3.zCoord);
                int particleMaxAge = particleAura.getParticleMaxAge();
                IMixinEntityFX e = (IMixinEntityFX) entityFX;
                if (particleAura.isChroma()) {
                    int i = Color.HSBtoRGB(System.currentTimeMillis() % 1000L / 1000.0f, 0.8f, 0.8f);
                    Color color = new Color(i);
                    entityFX.setRBGColorF(color.getRed() / 255F, color.getGreen() / 255F, color.getBlue() / 255F);
                } else if (particleAura.isRgb()) {
                    entityFX.setRBGColorF(particleAura.getRed() / 255F, particleAura.getBlue() / 255F, particleAura.getBlue() / 255F);
                }
                e.setParticleGravity(10);
                e.setParticleMaxAge(particleMaxAge);
                Minecraft.getMinecraft().effectRenderer.addEffect(entityFX);
            }
        });
    }
}
Also used : AbstractClientPlayer(net.minecraft.client.entity.AbstractClientPlayer) IMixinEntityFX(cc.hyperium.mixins.client.particle.IMixinEntityFX) GuiHyperiumScreenIngameMenu(cc.hyperium.gui.GuiHyperiumScreenIngameMenu) Vec3(net.minecraft.util.Vec3) IMixinEntityFX(cc.hyperium.mixins.client.particle.IMixinEntityFX) EntityFX(net.minecraft.client.particle.EntityFX) InvokeEvent(cc.hyperium.event.InvokeEvent)

Example 98 with Vec3

use of net.minecraft.util.Vec3 in project Hyperium by HyperiumClient.

the class DoubleTwirlAnimation method render.

@Override
public List<Vec3> render(EntityPlayer player, double x, double y, double z) {
    double l = (System.currentTimeMillis() % 1000) / 1000D;
    l *= Math.PI;
    List<Vec3> list = new ArrayList<>();
    y += 1.5;
    Vec3 vec3 = new Vec3(x, y, z);
    list.add(vec3.addVector(MathHelper.cos((float) l), 0, MathHelper.sin(((float) l))));
    l += Math.PI;
    list.add(vec3.addVector(MathHelper.cos((float) l), 0, MathHelper.sin(((float) l))));
    return list;
}
Also used : Vec3(net.minecraft.util.Vec3) ArrayList(java.util.ArrayList)

Example 99 with Vec3

use of net.minecraft.util.Vec3 in project Hyperium by HyperiumClient.

the class QuadTwirlAnimation method render.

@Override
public List<Vec3> render(EntityPlayer player, double x, double y, double z) {
    double l = (System.currentTimeMillis() % 1000) / 1000D;
    l *= Math.PI / 2;
    List<Vec3> list = new ArrayList<>();
    y += 1.8;
    Vec3 vec3 = new Vec3(x, y, z);
    list.add(vec3.addVector(MathHelper.cos((float) l), 0, MathHelper.sin(((float) l))));
    l += Math.PI / 2;
    list.add(vec3.addVector(MathHelper.cos((float) l), 0, MathHelper.sin(((float) l))));
    l += Math.PI / 2;
    list.add(vec3.addVector(MathHelper.cos((float) l), 0, MathHelper.sin(((float) l))));
    l += Math.PI / 2;
    list.add(vec3.addVector(MathHelper.cos((float) l), 0, MathHelper.sin(((float) l))));
    return list;
}
Also used : Vec3(net.minecraft.util.Vec3) ArrayList(java.util.ArrayList)

Example 100 with Vec3

use of net.minecraft.util.Vec3 in project Hyperium by HyperiumClient.

the class TornadoAnimation method render.

@Override
public List<Vec3> render(EntityPlayer player, double x, double y, double z) {
    ArrayList<Vec3> vec3s = new ArrayList<>();
    Vec3 base = new Vec3(x, y + .2, z);
    double z1 = .2;
    for (int i = 0; i < 20; i++) {
        if (i % 2 == 0)
            continue;
        double v = Math.pow(10, z1 + (i / 10D) - 1) / 5 + .3;
        double period = 5000 * v;
        double v2 = (System.currentTimeMillis() % period) / period;
        v2 *= Math.PI * 2;
        for (int j = 0; j < i; j++) {
            double v1 = Math.PI * 2D * j / ((double) i) + v2;
            vec3s.add(base.addVector(v * MathHelper.sin((float) v1), i / 10D, v * MathHelper.cos((float) v1)));
        }
    }
    return vec3s;
}
Also used : Vec3(net.minecraft.util.Vec3) ArrayList(java.util.ArrayList)

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