use of net.minecraft.entity.passive.EntityLlama in project CumServerPro by MCUmbrella.
the class CraftWorld method createEntity.
@SuppressWarnings("unchecked")
public net.minecraft.entity.Entity createEntity(Location location, Class<? extends Entity> clazz) throws IllegalArgumentException {
if (location == null || clazz == null) {
throw new IllegalArgumentException("Location or entity class cannot be null");
}
net.minecraft.entity.Entity entity = null;
double x = location.getX();
double y = location.getY();
double z = location.getZ();
float pitch = location.getPitch();
float yaw = location.getYaw();
// order is important for some of these
if (Boat.class.isAssignableFrom(clazz)) {
entity = new EntityBoat(world, x, y, z);
entity.setLocationAndAngles(x, y, z, yaw, pitch);
} else if (FallingBlock.class.isAssignableFrom(clazz)) {
entity = new EntityFallingBlock(world, x, y, z, world.getBlockState(new BlockPos(x, y, z)));
} else if (Projectile.class.isAssignableFrom(clazz)) {
if (Snowball.class.isAssignableFrom(clazz)) {
entity = new EntitySnowball(world, x, y, z);
} else if (Egg.class.isAssignableFrom(clazz)) {
entity = new EntityEgg(world, x, y, z);
} else if (Arrow.class.isAssignableFrom(clazz)) {
if (TippedArrow.class.isAssignableFrom(clazz)) {
entity = new EntityTippedArrow(world);
((EntityTippedArrow) entity).setType(CraftPotionUtil.fromBukkit(new PotionData(PotionType.WATER, false, false)));
} else if (SpectralArrow.class.isAssignableFrom(clazz)) {
entity = new EntitySpectralArrow(world);
} else {
entity = new EntityTippedArrow(world);
}
entity.setLocationAndAngles(x, y, z, 0, 0);
} else if (ThrownExpBottle.class.isAssignableFrom(clazz)) {
entity = new EntityExpBottle(world);
entity.setLocationAndAngles(x, y, z, 0, 0);
} else if (EnderPearl.class.isAssignableFrom(clazz)) {
entity = new EntityEnderPearl(world);
entity.setLocationAndAngles(x, y, z, 0, 0);
} else if (ThrownPotion.class.isAssignableFrom(clazz)) {
if (LingeringPotion.class.isAssignableFrom(clazz)) {
entity = new EntityPotion(world, x, y, z, CraftItemStack.asNMSCopy(new ItemStack(org.bukkit.Material.LINGERING_POTION, 1)));
} else {
entity = new EntityPotion(world, x, y, z, CraftItemStack.asNMSCopy(new ItemStack(org.bukkit.Material.SPLASH_POTION, 1)));
}
} else if (Fireball.class.isAssignableFrom(clazz)) {
if (SmallFireball.class.isAssignableFrom(clazz)) {
entity = new EntitySmallFireball(world);
} else if (WitherSkull.class.isAssignableFrom(clazz)) {
entity = new EntityWitherSkull(world);
} else if (DragonFireball.class.isAssignableFrom(clazz)) {
entity = new EntityDragonFireball(world);
} else {
entity = new EntityLargeFireball(world);
}
entity.setLocationAndAngles(x, y, z, yaw, pitch);
Vector direction = location.getDirection().multiply(10);
((EntityFireball) entity).setDirection(direction.getX(), direction.getY(), direction.getZ());
} else if (ShulkerBullet.class.isAssignableFrom(clazz)) {
entity = new EntityShulkerBullet(world);
entity.setLocationAndAngles(x, y, z, yaw, pitch);
} else if (LlamaSpit.class.isAssignableFrom(clazz)) {
entity = new EntityLlamaSpit(world);
entity.setLocationAndAngles(x, y, z, yaw, pitch);
}
} else if (Minecart.class.isAssignableFrom(clazz)) {
if (PoweredMinecart.class.isAssignableFrom(clazz)) {
entity = new EntityMinecartFurnace(world, x, y, z);
} else if (StorageMinecart.class.isAssignableFrom(clazz)) {
entity = new EntityMinecartChest(world, x, y, z);
} else if (ExplosiveMinecart.class.isAssignableFrom(clazz)) {
entity = new EntityMinecartTNT(world, x, y, z);
} else if (HopperMinecart.class.isAssignableFrom(clazz)) {
entity = new EntityMinecartHopper(world, x, y, z);
} else if (SpawnerMinecart.class.isAssignableFrom(clazz)) {
entity = new EntityMinecartMobSpawner(world, x, y, z);
} else if (CommandMinecart.class.isAssignableFrom(clazz)) {
entity = new EntityMinecartCommandBlock(world, x, y, z);
} else {
// Default to rideable minecart for pre-rideable compatibility
entity = new EntityMinecartEmpty(world, x, y, z);
}
} else if (EnderSignal.class.isAssignableFrom(clazz)) {
entity = new EntityEnderEye(world, x, y, z);
} else if (EnderCrystal.class.isAssignableFrom(clazz)) {
entity = new EntityEnderCrystal(world);
entity.setLocationAndAngles(x, y, z, 0, 0);
} else if (LivingEntity.class.isAssignableFrom(clazz)) {
if (Chicken.class.isAssignableFrom(clazz)) {
entity = new EntityChicken(world);
} else if (Cow.class.isAssignableFrom(clazz)) {
if (MushroomCow.class.isAssignableFrom(clazz)) {
entity = new EntityMooshroom(world);
} else {
entity = new EntityCow(world);
}
} else if (Golem.class.isAssignableFrom(clazz)) {
if (Snowman.class.isAssignableFrom(clazz)) {
entity = new EntitySnowman(world);
} else if (IronGolem.class.isAssignableFrom(clazz)) {
entity = new EntityIronGolem(world);
} else if (Shulker.class.isAssignableFrom(clazz)) {
entity = new EntityShulker(world);
}
} else if (Creeper.class.isAssignableFrom(clazz)) {
entity = new EntityCreeper(world);
} else if (Ghast.class.isAssignableFrom(clazz)) {
entity = new EntityGhast(world);
} else if (Pig.class.isAssignableFrom(clazz)) {
entity = new EntityPig(world);
} else if (Player.class.isAssignableFrom(clazz)) {
// need a net server handler for this one
} else if (Sheep.class.isAssignableFrom(clazz)) {
entity = new EntitySheep(world);
} else if (AbstractHorse.class.isAssignableFrom(clazz)) {
if (ChestedHorse.class.isAssignableFrom(clazz)) {
if (Donkey.class.isAssignableFrom(clazz)) {
entity = new EntityDonkey(world);
} else if (Mule.class.isAssignableFrom(clazz)) {
entity = new EntityMule(world);
} else if (Llama.class.isAssignableFrom(clazz)) {
entity = new EntityLlama(world);
}
} else if (SkeletonHorse.class.isAssignableFrom(clazz)) {
entity = new EntitySkeletonHorse(world);
} else if (ZombieHorse.class.isAssignableFrom(clazz)) {
entity = new EntityZombieHorse(world);
} else {
entity = new EntityHorse(world);
}
} else if (Skeleton.class.isAssignableFrom(clazz)) {
if (Stray.class.isAssignableFrom(clazz)) {
entity = new EntityStray(world);
} else if (WitherSkeleton.class.isAssignableFrom(clazz)) {
entity = new EntityWitherSkeleton(world);
} else {
entity = new EntitySkeleton(world);
}
} else if (Slime.class.isAssignableFrom(clazz)) {
if (MagmaCube.class.isAssignableFrom(clazz)) {
entity = new EntityMagmaCube(world);
} else {
entity = new EntitySlime(world);
}
} else if (Spider.class.isAssignableFrom(clazz)) {
if (CaveSpider.class.isAssignableFrom(clazz)) {
entity = new EntityCaveSpider(world);
} else {
entity = new EntitySpider(world);
}
} else if (Squid.class.isAssignableFrom(clazz)) {
entity = new EntitySquid(world);
} else if (Tameable.class.isAssignableFrom(clazz)) {
if (Wolf.class.isAssignableFrom(clazz)) {
entity = new EntityWolf(world);
} else if (Ocelot.class.isAssignableFrom(clazz)) {
entity = new EntityOcelot(world);
} else if (Parrot.class.isAssignableFrom(clazz)) {
entity = new EntityParrot(world);
}
} else if (PigZombie.class.isAssignableFrom(clazz)) {
entity = new EntityPigZombie(world);
} else if (Zombie.class.isAssignableFrom(clazz)) {
if (Husk.class.isAssignableFrom(clazz)) {
entity = new EntityHusk(world);
} else if (ZombieVillager.class.isAssignableFrom(clazz)) {
entity = new EntityZombieVillager(world);
} else {
entity = new EntityZombie(world);
}
} else if (Giant.class.isAssignableFrom(clazz)) {
entity = new EntityGiantZombie(world);
} else if (Silverfish.class.isAssignableFrom(clazz)) {
entity = new EntitySilverfish(world);
} else if (Enderman.class.isAssignableFrom(clazz)) {
entity = new EntityEnderman(world);
} else if (Blaze.class.isAssignableFrom(clazz)) {
entity = new EntityBlaze(world);
} else if (Villager.class.isAssignableFrom(clazz)) {
entity = new EntityVillager(world);
} else if (Witch.class.isAssignableFrom(clazz)) {
entity = new EntityWitch(world);
} else if (Wither.class.isAssignableFrom(clazz)) {
entity = new EntityWither(world);
} else if (ComplexLivingEntity.class.isAssignableFrom(clazz)) {
if (EnderDragon.class.isAssignableFrom(clazz)) {
entity = new EntityDragon(world);
}
} else if (Ambient.class.isAssignableFrom(clazz)) {
if (Bat.class.isAssignableFrom(clazz)) {
entity = new EntityBat(world);
}
} else if (Rabbit.class.isAssignableFrom(clazz)) {
entity = new EntityRabbit(world);
} else if (Endermite.class.isAssignableFrom(clazz)) {
entity = new EntityEndermite(world);
} else if (Guardian.class.isAssignableFrom(clazz)) {
if (ElderGuardian.class.isAssignableFrom(clazz)) {
entity = new EntityElderGuardian(world);
} else {
entity = new EntityGuardian(world);
}
} else if (ArmorStand.class.isAssignableFrom(clazz)) {
entity = new EntityArmorStand(world, x, y, z);
} else if (PolarBear.class.isAssignableFrom(clazz)) {
entity = new EntityPolarBear(world);
} else if (Vex.class.isAssignableFrom(clazz)) {
entity = new EntityVex(world);
} else if (Illager.class.isAssignableFrom(clazz)) {
if (Spellcaster.class.isAssignableFrom(clazz)) {
if (Evoker.class.isAssignableFrom(clazz)) {
entity = new EntityEvoker(world);
} else if (Illusioner.class.isAssignableFrom(clazz)) {
entity = new EntityIllusionIllager(world);
}
} else if (Vindicator.class.isAssignableFrom(clazz)) {
entity = new EntityVindicator(world);
}
}
if (entity != null) {
entity.setPositionAndRotation(x, y, z, yaw, pitch);
// SPIGOT-3587
entity.setRotationYawHead(yaw);
}
} else if (Hanging.class.isAssignableFrom(clazz)) {
Block block = getBlockAt(location);
BlockFace face = BlockFace.SELF;
// 1 full block, also painting smallest size.
int width = 16;
// 1 full block, also painting smallest size.
int height = 16;
if (ItemFrame.class.isAssignableFrom(clazz)) {
width = 12;
height = 12;
} else if (LeashHitch.class.isAssignableFrom(clazz)) {
width = 9;
height = 9;
}
BlockFace[] faces = new BlockFace[] { BlockFace.EAST, BlockFace.NORTH, BlockFace.WEST, BlockFace.SOUTH };
final BlockPos pos = new BlockPos((int) x, (int) y, (int) z);
for (BlockFace dir : faces) {
net.minecraft.block.Block nmsBlock = CraftMagicNumbers.getBlock(block.getRelative(dir));
if (nmsBlock.getDefaultState().getMaterial().isSolid() || BlockRedstoneDiode.isDiode(nmsBlock.getDefaultState())) {
boolean taken = false;
AxisAlignedBB bb = EntityHanging.calculateBoundingBox(null, pos, CraftBlock.blockFaceToNotch(dir).getOpposite(), width, height);
List<net.minecraft.entity.Entity> list = (List<net.minecraft.entity.Entity>) world.getEntitiesWithinAABBExcludingEntity(null, bb);
for (Iterator<net.minecraft.entity.Entity> it = list.iterator(); !taken && it.hasNext(); ) {
net.minecraft.entity.Entity e = it.next();
if (e instanceof EntityHanging) {
// Hanging entities do not like hanging entities which intersect them.
taken = true;
}
}
if (!taken) {
face = dir;
break;
}
}
}
if (LeashHitch.class.isAssignableFrom(clazz)) {
entity = new EntityLeashKnot(world, new BlockPos((int) x, (int) y, (int) z));
entity.forceSpawn = true;
} else {
// No valid face found
Preconditions.checkArgument(face != BlockFace.SELF, "Cannot spawn hanging entity for %s at %s (no free face)", clazz.getName(), location);
EnumFacing dir = CraftBlock.blockFaceToNotch(face).getOpposite();
if (Painting.class.isAssignableFrom(clazz)) {
entity = new EntityPainting(world, new BlockPos((int) x, (int) y, (int) z), dir);
} else if (ItemFrame.class.isAssignableFrom(clazz)) {
entity = new EntityItemFrame(world, new BlockPos((int) x, (int) y, (int) z), dir);
}
}
if (entity != null && !((EntityHanging) entity).onValidSurface()) {
throw new IllegalArgumentException("Cannot spawn hanging entity for " + clazz.getName() + " at " + location);
}
} else if (TNTPrimed.class.isAssignableFrom(clazz)) {
entity = new EntityTNTPrimed(world, x, y, z, null);
} else if (ExperienceOrb.class.isAssignableFrom(clazz)) {
entity = new EntityXPOrb(world, x, y, z, 0);
} else if (Weather.class.isAssignableFrom(clazz)) {
// not sure what this can do
if (LightningStrike.class.isAssignableFrom(clazz)) {
entity = new EntityLightningBolt(world, x, y, z, false);
// what is this, I don't even
}
} else if (Firework.class.isAssignableFrom(clazz)) {
entity = new EntityFireworkRocket(world, x, y, z, net.minecraft.item.ItemStack.EMPTY);
} else if (AreaEffectCloud.class.isAssignableFrom(clazz)) {
entity = new EntityAreaEffectCloud(world, x, y, z);
} else if (EvokerFangs.class.isAssignableFrom(clazz)) {
entity = new EntityEvokerFangs(world, x, y, z, (float) Math.toRadians(yaw), 0, null);
}
if (entity != null) {
return entity;
}
throw new IllegalArgumentException("Cannot spawn an entity for " + clazz.getName());
}
use of net.minecraft.entity.passive.EntityLlama in project CumServerPro by MCUmbrella.
the class EntityAILlamaFollowCaravan method updateTask.
public void updateTask() {
if (this.llama.inCaravan()) {
EntityLlama entityllama = this.llama.getCaravanHead();
double d0 = (double) this.llama.getDistance(entityllama);
float f = 2.0F;
Vec3d vec3d = (new Vec3d(entityllama.posX - this.llama.posX, entityllama.posY - this.llama.posY, entityllama.posZ - this.llama.posZ)).normalize().scale(Math.max(d0 - 2.0D, 0.0D));
this.llama.getNavigator().tryMoveToXYZ(this.llama.posX + vec3d.x, this.llama.posY + vec3d.y, this.llama.posZ + vec3d.z, this.speedModifier);
}
}
use of net.minecraft.entity.passive.EntityLlama in project Minecraft-SlientClient-Hack by YouNeverKnow00.
the class GuiScreenHorseInventory method drawGuiContainerBackgroundLayer.
/**
* Draws the background layer of this container (behind the items).
*/
protected void drawGuiContainerBackgroundLayer(float partialTicks, int mouseX, int mouseY) {
GlStateManager.color(1.0F, 1.0F, 1.0F, 1.0F);
this.mc.getTextureManager().bindTexture(HORSE_GUI_TEXTURES);
int i = (this.width - this.xSize) / 2;
int j = (this.height - this.ySize) / 2;
this.drawTexturedModalRect(i, j, 0, 0, this.xSize, this.ySize);
if (this.horseEntity instanceof AbstractChestHorse) {
AbstractChestHorse abstractchesthorse = (AbstractChestHorse) this.horseEntity;
if (abstractchesthorse.func_190695_dh()) {
this.drawTexturedModalRect(i + 79, j + 17, 0, this.ySize, abstractchesthorse.func_190696_dl() * 18, 54);
}
}
if (this.horseEntity.func_190685_dA()) {
this.drawTexturedModalRect(i + 7, j + 35 - 18, 18, this.ySize + 54, 18, 18);
}
if (this.horseEntity.func_190677_dK()) {
if (this.horseEntity instanceof EntityLlama) {
this.drawTexturedModalRect(i + 7, j + 35, 36, this.ySize + 54, 18, 18);
} else {
this.drawTexturedModalRect(i + 7, j + 35, 0, this.ySize + 54, 18, 18);
}
}
GuiInventory.drawEntityOnScreen(i + 51, j + 60, 17, (float) (i + 51) - this.mousePosx, (float) (j + 75 - 50) - this.mousePosY, this.horseEntity);
}
use of net.minecraft.entity.passive.EntityLlama in project PhoBOSS-1.9.1-public by somesadkidontop.
the class EntityNotifier method onUpdate.
@Override
public void onUpdate() {
if (this.Ghasts.getValue()) {
for (Entity entity : EntityNotifier.mc.world.getLoadedEntityList()) {
if (!(entity instanceof EntityGhast) || this.ghasts.contains(entity))
continue;
if (this.Chat.getValue()) {
Command.sendMessage("Ghast Detected at: " + Math.round(entity.getPosition().getX()) + "x, " + Math.round(entity.getPosition().getY()) + "y, " + Math.round(entity.getPosition().getZ()) + "z.");
}
this.ghasts.add(entity);
if (!this.Desktop.getValue())
continue;
this.icon.displayMessage("Phobos 1.9.1", "I found a ghast at: " + Math.round(entity.getPosition().getX()) + "x, " + Math.round(entity.getPosition().getY()) + "y, " + Math.round(entity.getPosition().getZ()) + "z.", TrayIcon.MessageType.INFO);
if (!this.Sound.getValue())
continue;
EntityNotifier.mc.player.playSound(SoundEvents.BLOCK_ANVIL_DESTROY, 1.0f, 1.0f);
}
}
if (this.Donkeys.getValue()) {
for (Entity entity : EntityNotifier.mc.world.getLoadedEntityList()) {
if (!(entity instanceof EntityDonkey) || this.donkeys.contains(entity))
continue;
if (this.Chat.getValue()) {
Command.sendMessage("Donkey Detected at: " + Math.round(entity.getPosition().getX()) + "x, " + Math.round(entity.getPosition().getY()) + "y, " + Math.round(entity.getPosition().getZ()) + "z.");
}
this.donkeys.add(entity);
if (!this.Desktop.getValue())
continue;
this.icon.displayMessage("Phobos 1.9.1", "I found a donkey at: " + Math.round(entity.getPosition().getX()) + "x, " + Math.round(entity.getPosition().getY()) + "y, " + Math.round(entity.getPosition().getZ()) + "z.", TrayIcon.MessageType.INFO);
if (!this.Sound.getValue())
continue;
EntityNotifier.mc.player.playSound(SoundEvents.BLOCK_ANVIL_DESTROY, 1.0f, 1.0f);
}
}
if (this.Mules.getValue()) {
for (Entity entity : EntityNotifier.mc.world.getLoadedEntityList()) {
if (!(entity instanceof EntityMule) || this.mules.contains(entity))
continue;
if (this.Chat.getValue()) {
Command.sendMessage("Mule Detected at: " + Math.round(entity.getPosition().getX()) + "x, " + Math.round(entity.getPosition().getY()) + "y, " + Math.round(entity.getPosition().getZ()) + "z.");
}
this.mules.add(entity);
if (!this.Desktop.getValue())
continue;
this.icon.displayMessage("Phobos 1.9.1", "I found a mule at: " + Math.round(entity.getPosition().getX()) + "x, " + Math.round(entity.getPosition().getY()) + "y, " + Math.round(entity.getPosition().getZ()) + "z.", TrayIcon.MessageType.INFO);
if (!this.Sound.getValue())
continue;
EntityNotifier.mc.player.playSound(SoundEvents.BLOCK_ANVIL_DESTROY, 1.0f, 1.0f);
}
}
if (this.Llamas.getValue()) {
for (Entity entity : EntityNotifier.mc.world.getLoadedEntityList()) {
if (!(entity instanceof EntityLlama) || this.llamas.contains(entity))
continue;
if (this.Chat.getValue()) {
Command.sendMessage("Llama Detected at: " + Math.round(entity.getPosition().getX()) + "x, " + Math.round(entity.getPosition().getY()) + "y, " + Math.round(entity.getPosition().getZ()) + "z.");
}
this.llamas.add(entity);
if (!this.Desktop.getValue())
continue;
this.icon.displayMessage("Phobos 1.9.1", "I found a llama at: " + Math.round(entity.getPosition().getX()) + "x, " + Math.round(entity.getPosition().getY()) + "y, " + Math.round(entity.getPosition().getZ()) + "z.", TrayIcon.MessageType.INFO);
if (!this.Sound.getValue())
continue;
EntityNotifier.mc.player.playSound(SoundEvents.BLOCK_ANVIL_DESTROY, 1.0f, 1.0f);
}
}
}
use of net.minecraft.entity.passive.EntityLlama in project cosmos by momentumdevelopment.
the class EntitySpeedModule method onUpdate.
@Override
public void onUpdate() {
// make sure we are riding an entity
if (mc.player.isRiding() && mc.player.getRidingEntity() != null) {
// keep yaw consistent
mc.player.getRidingEntity().rotationYaw = mc.player.rotationYaw;
// lololol
if (mc.player.getRidingEntity() instanceof EntityLlama) {
((EntityLlama) mc.player.getRidingEntity()).rotationYawHead = mc.player.rotationYawHead;
}
// make sure the entity is not in a liquid
if (mc.player.getRidingEntity().isInWater() || mc.player.getRidingEntity().isInLava()) {
return;
}
// make sure the entity is not in a web
if (((IEntity) mc.player.getRidingEntity()).getInWeb()) {
return;
}
// make sure the entity can have speed applied
if (mc.player.getRidingEntity().fallDistance > 2) {
return;
}
// current speed
double moveSpeed = speed.getValue();
// the current movement input values of the user
float forward = mc.player.movementInput.moveForward;
float strafe = mc.player.movementInput.moveStrafe;
float yaw = mc.player.rotationYaw;
if (strict.getValue()) {
// send remount packets
if (!mc.gameSettings.keyBindSneak.isKeyDown()) {
mc.player.connection.sendPacket(new CPacketUseEntity(mc.player.getRidingEntity(), EnumHand.MAIN_HAND));
}
}
// if we're not inputting any movements, then we shouldn't be adding any motion
if (!MotionUtil.isMoving()) {
mc.player.getRidingEntity().motionX = 0;
mc.player.getRidingEntity().motionZ = 0;
} else // prevent entity from moving into unloaded chunks
if (mc.world.getChunkFromChunkCoords((int) (mc.player.getRidingEntity().posX + mc.player.getRidingEntity().motionX) >> 4, (int) (mc.player.getRidingEntity().posZ + mc.player.getRidingEntity().motionX) >> 4) instanceof EmptyChunk) {
mc.player.getRidingEntity().motionX = 0;
mc.player.getRidingEntity().motionZ = 0;
} else {
// find the rotations and inputs based on our current movements
if (strafe > 0) {
yaw += forward > 0 ? -45 : 45;
} else if (strafe < 0) {
yaw += forward > 0 ? 45 : -45;
}
strafe = 0;
if (forward > 0) {
forward = 1;
} else if (forward < 0) {
forward = -1;
}
// our facing values, according to movement not rotations
double cos = Math.cos(Math.toRadians(yaw + 90));
double sin = Math.sin(Math.toRadians(yaw + 90));
// update the movements
mc.player.getRidingEntity().motionX = (forward * moveSpeed * cos) + (strafe * moveSpeed * sin);
mc.player.getRidingEntity().motionZ = (forward * moveSpeed * sin) - (strafe * moveSpeed * cos);
// if we're not inputting any movements, then we shouldn't be adding any motion
if (!MotionUtil.isMoving()) {
mc.player.getRidingEntity().motionX = 0;
mc.player.getRidingEntity().motionZ = 0;
}
}
}
}
Aggregations