本文整理汇总了Java中net.minecraft.entity.player.EntityPlayer.getEyeHeight方法的典型用法代码示例。如果您正苦于以下问题:Java EntityPlayer.getEyeHeight方法的具体用法?Java EntityPlayer.getEyeHeight怎么用?Java EntityPlayer.getEyeHeight使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类net.minecraft.entity.player.EntityPlayer
的用法示例。
在下文中一共展示了EntityPlayer.getEyeHeight方法的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Java代码示例。
示例1: shouldAttackPlayer
import net.minecraft.entity.player.EntityPlayer; //导入方法依赖的package包/类
/**
* Checks to see if this enderman should be attacking this player
*/
private boolean shouldAttackPlayer(EntityPlayer player)
{
ItemStack itemstack = player.inventory.armorInventory[3];
if (itemstack != null && itemstack.getItem() == Item.getItemFromBlock(Blocks.pumpkin))
{
return false;
}
else
{
Vec3 vec3 = player.getLook(1.0F).normalize();
Vec3 vec31 = new Vec3(this.posX - player.posX, this.getEntityBoundingBox().minY + (double)(this.height / 2.0F) - (player.posY + (double)player.getEyeHeight()), this.posZ - player.posZ);
double d0 = vec31.lengthVector();
vec31 = vec31.normalize();
double d1 = vec3.dotProduct(vec31);
return d1 > 1.0D - 0.025D / d0 ? player.canEntityBeSeen(this) : false;
}
}
示例2: rayTrace
import net.minecraft.entity.player.EntityPlayer; //导入方法依赖的package包/类
protected RayTraceResult rayTrace(World worldIn, EntityPlayer playerIn, boolean useLiquids)
{
float f = playerIn.rotationPitch;
float f1 = playerIn.rotationYaw;
double d0 = playerIn.posX;
double d1 = playerIn.posY + (double)playerIn.getEyeHeight();
double d2 = playerIn.posZ;
Vec3d vec3d = new Vec3d(d0, d1, d2);
float f2 = MathHelper.cos(-f1 * 0.017453292F - (float)Math.PI);
float f3 = MathHelper.sin(-f1 * 0.017453292F - (float)Math.PI);
float f4 = -MathHelper.cos(-f * 0.017453292F);
float f5 = MathHelper.sin(-f * 0.017453292F);
float f6 = f3 * f4;
float f7 = f2 * f4;
double d3 = 5.0D;
if (playerIn instanceof net.minecraft.entity.player.EntityPlayerMP)
{
d3 = ((net.minecraft.entity.player.EntityPlayerMP)playerIn).interactionManager.getBlockReachDistance();
}
Vec3d vec3d1 = vec3d.addVector((double)f6 * d3, (double)f5 * d3, (double)f7 * d3);
return worldIn.rayTraceBlocks(vec3d, vec3d1, useLiquids, !useLiquids, false);
}
示例3: onCastTick
import net.minecraft.entity.player.EntityPlayer; //导入方法依赖的package包/类
@Override
public void onCastTick(World world, EntityPlayer player, ItemStack stack) {
if (!world.isRemote) {
if (player.getItemInUseCount() % 2 == 0 && consumePower(player)) {
Vec3d lookVec = player.getLookVec();
double x = player.posX + lookVec.xCoord;
double y = player.posY + lookVec.yCoord + player.getEyeHeight();
double z = player.posZ + lookVec.zCoord;
EntityFireBreath fireBreath = new EntityFireBreath(world, player, 5);
fireBreath.setPosition(x, y, z);
fireBreath.setAim(player, player.rotationPitch, player.rotationYaw, 1F, 0.1F);
world.spawnEntity(fireBreath);
}
}
}
示例4: getMovingObjectPositionFromPlayer
import net.minecraft.entity.player.EntityPlayer; //导入方法依赖的package包/类
public static MovingObjectPosition getMovingObjectPositionFromPlayer(World world, EntityPlayer player, double targetingDistance)
{
float f = 1.0F;
float f1 = player.prevRotationPitch + (player.rotationPitch - player.prevRotationPitch) * f;
float f2 = player.prevRotationYaw + (player.rotationYaw - player.prevRotationYaw) * f;
double playerX = player.prevPosX + (player.posX - player.prevPosX) * f;
double playerY = player.prevPosY + (player.posY - player.prevPosY) * f + (world.isRemote ? player.getEyeHeight() - player.getDefaultEyeHeight() : player.getEyeHeight()); // isRemote check to revert changes to ray trace position due to adding the eye height clientside and player yOffset differences
double playerZ = player.prevPosZ + (player.posZ - player.prevPosZ) * f;
Vec3 vecPlayer = Vec3.createVectorHelper(playerX, playerY, playerZ);
float f3 = MathHelper.cos(-f2 * 0.017453292F - (float)Math.PI);
float f4 = MathHelper.sin(-f2 * 0.017453292F - (float)Math.PI);
float f5 = -MathHelper.cos(-f1 * 0.017453292F);
float f6 = MathHelper.sin(-f1 * 0.017453292F);
float f7 = f4 * f5;
float f8 = f3 * f5;
double maxDistance = targetingDistance;
Vec3 vecTarget = vecPlayer.addVector(f7 * maxDistance, f6 * maxDistance, f8 * maxDistance);
return world.func_147447_a(vecPlayer, vecTarget, false, false, true); // false, true, false
}
示例5: rayTrace
import net.minecraft.entity.player.EntityPlayer; //导入方法依赖的package包/类
protected RayTraceResult rayTrace(World worldIn, EntityPlayer playerIn, boolean useLiquids)
{
float f = playerIn.rotationPitch;
float f1 = playerIn.rotationYaw;
double d0 = playerIn.posX;
double d1 = playerIn.posY + (double)playerIn.getEyeHeight();
double d2 = playerIn.posZ;
Vec3d vec3d = new Vec3d(d0, d1, d2);
float f2 = MathHelper.cos(-f1 * 0.017453292F - (float)Math.PI);
float f3 = MathHelper.sin(-f1 * 0.017453292F - (float)Math.PI);
float f4 = -MathHelper.cos(-f * 0.017453292F);
float f5 = MathHelper.sin(-f * 0.017453292F);
float f6 = f3 * f4;
float f7 = f2 * f4;
double d3 = 5.0D;
Vec3d vec3d1 = vec3d.addVector((double)f6 * 5.0D, (double)f5 * 5.0D, (double)f7 * 5.0D);
return worldIn.rayTraceBlocks(vec3d, vec3d1, useLiquids, !useLiquids, false);
}
示例6: getMovingObjectPositionFromPlayer
import net.minecraft.entity.player.EntityPlayer; //导入方法依赖的package包/类
protected MovingObjectPosition getMovingObjectPositionFromPlayer(World worldIn, EntityPlayer playerIn, boolean useLiquids)
{
float f = playerIn.rotationPitch;
float f1 = playerIn.rotationYaw;
double d0 = playerIn.posX;
double d1 = playerIn.posY + (double)playerIn.getEyeHeight();
double d2 = playerIn.posZ;
Vec3 vec3 = new Vec3(d0, d1, d2);
float f2 = MathHelper.cos(-f1 * 0.017453292F - (float)Math.PI);
float f3 = MathHelper.sin(-f1 * 0.017453292F - (float)Math.PI);
float f4 = -MathHelper.cos(-f * 0.017453292F);
float f5 = MathHelper.sin(-f * 0.017453292F);
float f6 = f3 * f4;
float f7 = f2 * f4;
double d3 = 5.0D;
Vec3 vec31 = vec3.addVector((double)f6 * d3, (double)f5 * d3, (double)f7 * d3);
return worldIn.rayTraceBlocks(vec3, vec31, useLiquids, !useLiquids, false);
}
示例7: shouldAttackPlayer
import net.minecraft.entity.player.EntityPlayer; //导入方法依赖的package包/类
/**
* Checks to see if this enderman should be attacking this player
*/
private boolean shouldAttackPlayer(EntityPlayer player)
{
ItemStack itemstack = (ItemStack)player.inventory.armorInventory.get(3);
if (itemstack.getItem() == Item.getItemFromBlock(Blocks.PUMPKIN))
{
return false;
}
else
{
Vec3d vec3d = player.getLook(1.0F).normalize();
Vec3d vec3d1 = new Vec3d(this.posX - player.posX, this.getEntityBoundingBox().minY + (double)this.getEyeHeight() - (player.posY + (double)player.getEyeHeight()), this.posZ - player.posZ);
double d0 = vec3d1.lengthVector();
vec3d1 = vec3d1.normalize();
double d1 = vec3d.dotProduct(vec3d1);
return d1 > 1.0D - 0.025D / d0 ? player.canEntityBeSeen(this) : false;
}
}
示例8: shouldAttackPlayer
import net.minecraft.entity.player.EntityPlayer; //导入方法依赖的package包/类
/**
* Checks to see if this enderman should be attacking this player
*/
private boolean shouldAttackPlayer(EntityPlayer player)
{
ItemStack itemstack = player.inventory.armorInventory[3];
if (itemstack != null && itemstack.getItem() == Item.getItemFromBlock(Blocks.PUMPKIN))
{
return false;
}
else
{
Vec3d vec3d = player.getLook(1.0F).normalize();
Vec3d vec3d1 = new Vec3d(this.posX - player.posX, this.getEntityBoundingBox().minY + (double)this.getEyeHeight() - (player.posY + (double)player.getEyeHeight()), this.posZ - player.posZ);
double d0 = vec3d1.lengthVector();
vec3d1 = vec3d1.normalize();
double d1 = vec3d.dotProduct(vec3d1);
return d1 > 1.0D - 0.025D / d0 ? player.canEntityBeSeen(this) : false;
}
}
示例9: isPlayerLookingAtTarget
import net.minecraft.entity.player.EntityPlayer; //导入方法依赖的package包/类
private boolean isPlayerLookingAtTarget() {
// code used from the Enderman player looking code.
EntityPlayer player = FMLClientHandler.instance().getClient().player;
World world = FMLClientHandler.instance().getClient().world;
Vec3d vec3 = player.getLook(1.0F).normalize();
Vec3d vec31 = new Vec3d(entity.posX - player.posX, entity.getEntityBoundingBox().minY + entity.height / 2.0F - (player.posY + player.getEyeHeight()), entity.posZ - player.posZ);
double d0 = vec31.lengthVector();
vec31 = vec31.normalize();
double d1 = vec3.dotProduct(vec31);
return d1 > 1.0D - 0.050D / d0;
}
示例10: onExecutionStart
import net.minecraft.entity.player.EntityPlayer; //导入方法依赖的package包/类
@Override
public void onExecutionStart(EntityPlayer player)
{
ItemStack is = player.getHeldItemMainhand().isEmpty() ? player.getHeldItemOffhand() : player.getHeldItemMainhand();
EnumWeaponWeight weight = EnumWeaponWeight.getWeaponWeight(is);
player.world.playSound(player, player.getPosition(), SoundEvents.ENTITY_PLAYER_ATTACK_NODAMAGE, SoundCategory.PLAYERS, 1, 1F);
Vec3d look = player.getLookVec().scale(6);
Vec3d pos = player.getPositionVector();
List<EntityLivingBase> targets = Helpers.rayTraceEntities(player.world, pos.addVector(0, player.getEyeHeight(), 0), look, Optional.of(e -> e != player), EntityLivingBase.class);
for (EntityLivingBase target : targets)
{
Vec3d targetPos = target.getPositionVector();
target.knockBack(player, 3, pos.x - targetPos.x, pos.z - targetPos.z);
double distance = Math.max(0.3, targetPos.distanceTo(pos));
target.attackEntityFrom(DamageSource.causePlayerDamage(player), (float) (player.getEntityAttribute(SharedMonsterAttributes.ATTACK_DAMAGE).getAttributeValue() * (1 - (distance / 6))));
player.world.playSound(player, target.getPosition(), SoundEvents.ENTITY_PLAYER_ATTACK_KNOCKBACK, SoundCategory.PLAYERS, 1, 2F);
if (!player.world.isRemote && weight == EnumWeaponWeight.HEAVY && player.world.rand.nextDouble() <= 0.25)
{
target.addPotionEffect(new PotionEffect(ExPPotions.stunned, 100, 0, false, false));
}
}
player.motionX += look.x / 5;
player.motionZ += look.z / 5;
for (int i = 0; i < 50; ++i)
{
double randomMagnitude = player.world.rand.nextDouble();
Vec3d at = new Vec3d(pos.x + look.x * randomMagnitude, pos.y + player.getEyeHeight() - 0.25 + look.y * randomMagnitude, pos.z + look.z * randomMagnitude);
player.world.spawnParticle(EnumParticleTypes.CRIT, at.x, at.y, at.z, 0, 0, 0);
}
}
示例11: getFluidCostBlink
import net.minecraft.entity.player.EntityPlayer; //导入方法依赖的package包/类
public static int getFluidCostBlink(World world, EntityPlayer player, int distance) {
Vec3d eye = new Vec3d(player.posX, player.posY + player.getEyeHeight(), + player.posZ);
Vec3d look = player.getLookVec();
Vec3d end = eye.add(new Vec3d(look.x * distance, look.y * distance, look.z * distance));
RayTraceResult res = world.rayTraceBlocks(eye, end, false, true, false);
if(res == null) {
return 0;
}
else {
return ItemTransporter.teleportFluidBlinkCost;
}
}
示例12: shouldAttackPlayer
import net.minecraft.entity.player.EntityPlayer; //导入方法依赖的package包/类
private boolean shouldAttackPlayer(EntityPlayer player) {
ItemStack itemstack = player.inventory.armorInventory.get(3);
if (itemstack.getItem() == Item.getItemFromBlock(Blocks.PUMPKIN) || itemstack.getItem() instanceof ItemSkullBase) {
return false;
}
else {
Vec3d vec3d = player.getLook(1.0F).normalize();
Vec3d vec3d1 = new Vec3d(posX - player.posX, getEntityBoundingBox().minY + getEyeHeight() - (player.posY + player.getEyeHeight()), posZ - player.posZ);
double d0 = vec3d1.lengthVector();
vec3d1 = vec3d1.normalize();
double d1 = vec3d.dotProduct(vec3d1);
return d1 > 1.0D - 0.025D / d0 ? player.canEntityBeSeen(this) : false;
}
}
示例13: renderOverlays
import net.minecraft.entity.player.EntityPlayer; //导入方法依赖的package包/类
/**
* Renders the overlays.
*/
public void renderOverlays(float partialTicks)
{
GlStateManager.disableAlpha();
if (this.mc.thePlayer.isEntityInsideOpaqueBlock())
{
IBlockState iblockstate = this.mc.theWorld.getBlockState(new BlockPos(this.mc.thePlayer));
BlockPos overlayPos = new BlockPos(this.mc.thePlayer);
EntityPlayer entityplayer = this.mc.thePlayer;
for (int i = 0; i < 8; ++i)
{
double d0 = entityplayer.posX + (double)(((float)((i >> 0) % 2) - 0.5F) * entityplayer.width * 0.8F);
double d1 = entityplayer.posY + (double)(((float)((i >> 1) % 2) - 0.5F) * 0.1F);
double d2 = entityplayer.posZ + (double)(((float)((i >> 2) % 2) - 0.5F) * entityplayer.width * 0.8F);
BlockPos blockpos = new BlockPos(d0, d1 + (double)entityplayer.getEyeHeight(), d2);
IBlockState iblockstate1 = this.mc.theWorld.getBlockState(blockpos);
if (iblockstate1.getBlock().isVisuallyOpaque())
{
iblockstate = iblockstate1;
overlayPos = blockpos;
}
}
if (iblockstate.getRenderType() != EnumBlockRenderType.INVISIBLE)
{
if (!net.minecraftforge.event.ForgeEventFactory.renderBlockOverlay(mc.thePlayer, partialTicks, net.minecraftforge.client.event.RenderBlockOverlayEvent.OverlayType.BLOCK, iblockstate, overlayPos))
this.renderBlockInHand(partialTicks, this.mc.getBlockRendererDispatcher().getBlockModelShapes().getTexture(iblockstate));
}
}
if (!this.mc.thePlayer.isSpectator())
{
if (this.mc.thePlayer.isInsideOfMaterial(Material.WATER))
{
if (!net.minecraftforge.event.ForgeEventFactory.renderWaterOverlay(mc.thePlayer, partialTicks))
this.renderWaterOverlayTexture(partialTicks);
}
if (this.mc.thePlayer.isBurning())
{
if (!net.minecraftforge.event.ForgeEventFactory.renderFireOverlay(mc.thePlayer, partialTicks))
this.renderFireInFirstPerson(partialTicks);
}
}
GlStateManager.enableAlpha();
}
示例14: onReceived
import net.minecraft.entity.player.EntityPlayer; //导入方法依赖的package包/类
@Override
public void onReceived(MessagePacketRingUpdate message, EntityPlayer player) {
if(message.ringType < 2)
{
ArrayList<Item> ringTypeItem = new ArrayList<Item>();
ringTypeItem.add(HarshenItems.TELERING);
ringTypeItem.add(HarshenItems.MINERING);
if(HarshenUtils.containsItem(player,ringTypeItem.get(message.ringType)))
{
World world = player.world;
Vec3d vec = new Vec3d(player.posX + (player.getLookVec().x * 4f),
player.posY + (player.getLookVec().y * 4f), player.posZ + (player.getLookVec().z* 4f));
BlockPos blockpos = message.ringType == 0? HarshenUtils.getTopBlock(world, vec) : HarshenUtils.getBottomBlockAir(world, vec);
Vec3d vecPos = new Vec3d(blockpos).addVector(0.5, 0, 0.5);
if(blockpos.getY() != -1 && player.getFoodStats().getFoodLevel() > 0)
{
((EntityPlayerMP)player).velocityChanged = true;
((EntityPlayerMP)player).fallDistance = 0;
HarshenNetwork.sendToPlayer(player, new MessagePacketPlayerTeleportEffects(vecPos));
((EntityPlayerMP)player).setPositionAndUpdate(vecPos.x, vecPos.y, vecPos.z);
world.playSound((EntityPlayer)null, player.posX, player.posY, player.posZ, SoundEvents.ITEM_CHORUS_FRUIT_TELEPORT, SoundCategory.PLAYERS, 1.0F, 1.0F);
player.playSound(SoundEvents.ITEM_CHORUS_FRUIT_TELEPORT, 1.0F, 1.0F);
player.addExhaustion(0.5F);
HarshenUtils.damageFirstOccuringItem(player, ringTypeItem.get(message.ringType));
}
}
}
else if(message.ringType == 2 && HarshenUtils.containsItem(player, HarshenItems.COMBAT_PENDANT))
{
EntityLivingBase entityToAttack = HarshenUtils.getFirstEntityInDirection(player.world, player.getPositionVector(), player.getLookVec().normalize(), 5, EntityLivingBase.class);
if(entityToAttack == null)
{
List<EntityLivingBase> list = player.world.getEntitiesWithinAABB(EntityLivingBase.class, new AxisAlignedBB(player.posX - 4d, player.posY - 4d, player.posZ - 4d, player.posX + 4d, player.posY + 4d, player.posZ + 4d));
if(!list.isEmpty())
entityToAttack = list.get(0);
}
if(!player.equals(entityToAttack) && (entityToAttack != null || (entityToAttack instanceof EntityPlayerMP && player.canAttackPlayer((EntityPlayerMP)entityToAttack)
&& HarshenUtils.toArray(GameType.SURVIVAL, GameType.ADVENTURE).contains(((EntityPlayerMP)entityToAttack).interactionManager.getGameType()))))
{
Vec3d position = entityToAttack.getPositionVector();
Vec3d playerPosNoY = position.addVector(movePos(), 0, movePos());
Vec3d pos = new Vec3d(playerPosNoY.x, HarshenUtils.getTopBlock(player.world, new BlockPos(playerPosNoY)).getY(), playerPosNoY.z);
double d0 = position.x - pos.x;
double d1 = position.y - (pos.y + (double)player.getEyeHeight() - entityToAttack.height / 2f + 0.1f);
double d2 = position.z - pos.z;
double d3 = (double)MathHelper.sqrt(d0 * d0 + d2 * d2);
float yaw = (float)(MathHelper.atan2(d2, d0) * (180D / Math.PI)) - 90.0F;
float pitch = (float)(-(MathHelper.atan2(d1, d3) * (180D / Math.PI)));
((EntityPlayerMP)player).velocityChanged = true;
((EntityPlayerMP)player).connection.setPlayerLocation(pos.x, pos.y, pos.z, yaw, pitch);
}
}
}
示例15: projectileTrajectoryHitsEntity
import net.minecraft.entity.player.EntityPlayer; //导入方法依赖的package包/类
/**
* Will simulate a shot made from an angle to see if it hits our target
*/
public static boolean projectileTrajectoryHitsEntity(Entity target, Vec3d shootPos, Vec3d targetPos, ProjectileTraceResult result) {
// gg fps
EntityPlayer localPlayer = MC.player;
Vec3d selfPos = localPlayer.getPositionVector();
ItemStack heldItem = localPlayer.getHeldItemMainhand();
// work backwards
// this is actually just a coincidence that the
// sequence and min value are same
// im just abusing it so that I can get it to work with other projectile items
double min = getMinForce(heldItem);
double max = getMaxForce(heldItem);
for(double force = max; force >= min; force -= min) {
Angle angle = getShootAngle(heldItem, shootPos, targetPos, force);
if(angle == null)
continue;
Angle initAngle = new Angle(-angle.getPitch(), angle.getYaw() + 90.D, 0.D);
double fixX = Math.cos(initAngle.getYaw(true) - Math.PI / 2.0) * 0.16;
double fixY = ProjectileUtils.PROJECTILE_SHOOTPOS_OFFSET;
double fixZ = Math.sin(initAngle.getYaw(true) - Math.PI / 2.0) * 0.16;
Vec3d initPos = new Vec3d(-fixX, localPlayer.getEyeHeight() - fixY, -fixZ);
Vec3d acceleration = ProjectileUtils.getGravity(heldItem);
Vec3d airResistance = ProjectileUtils.getAirResistance(heldItem);
// convert polar coords to cartesian coords
Vec3d velocity = initAngle.getCartesianCoords().normalize().scale(force);
Vec3d startPos = initPos;
Vec3d endPos = startPos;
for (int i = 0; i < 100; i++) {
// add velocity
startPos = startPos.add(velocity);
// add air resistance
velocity = VectorUtils.multiplyBy(velocity, airResistance);
// add gravity (acceleration)
velocity = velocity.add(acceleration);
Vec3d wrlStart = selfPos.add(startPos), wrlEnd = selfPos.add(endPos);
RayTraceResult tr = getWorld().rayTraceBlocks(wrlStart, wrlEnd);
// if we have hit a block
if (tr != null &&
!getWorld().getBlockState(tr.getBlockPos()).getBlock().isPassable(getWorld(), tr.getBlockPos())) {
break;
}
// if we have hit our target
tr = target.getEntityBoundingBox().calculateIntercept(wrlStart, wrlEnd);
if (tr != null) {
if(result != null) {
result.maxForce = force;
result.shootAngle = angle;
}
return true;
}
endPos = startPos;
}
}
return false;
}