/
alexmakov
/
Minecraft_Java
Обзор
Документация
Войти
/
alexmakov
/
Minecraft_Java
Код
Запросы
0
Задачи
Вики
Пакеты
0
Релизы
0
Аналитика
Безопасность
master
src/main/java/com/mojang/minecraft/mob/Sheep.java
113 строк
4 KB
Oliver Yasuna
Fixed walking on water. Close #2.
04 окт 2012, 00:19
04 окт 2012, 00:19
17a47fc
Код
Авторство
О чём код?
package com.mojang.minecraft.mob; import com.mojang.minecraft.Entity; import com.mojang.minecraft.item.Item; import com.mojang.minecraft.level.Level; import com.mojang.minecraft.level.tile.Block; import com.mojang.minecraft.mob.QuadrupedMob; import com.mojang.minecraft.mob.Sheep$1; import com.mojang.minecraft.model.AnimalModel; import com.mojang.minecraft.player.Player; import com.mojang.minecraft.render.TextureManager; import org.lwjgl.opengl.GL11; public class Sheep extends QuadrupedMob { public static final long serialVersionUID = 0L; public boolean hasFur = true; public boolean grazing = false; public int grazingTime = 0; public float graze; public float grazeO; public Sheep(Level var1, float var2, float var3, float var4) { super(var1, var2, var3, var4); this.setSize(1.4F, 1.72F); this.setPos(var2, var3, var4); this.heightOffset = 1.72F; this.modelName = "sheep"; this.textureName = "/mob/sheep.png"; this.ai = new Sheep$1(this); } public void aiStep() { super.aiStep(); this.grazeO = this.graze; if(this.grazing) { this.graze += 0.2F; } else { this.graze -= 0.2F; } if(this.graze < 0.0F) { this.graze = 0.0F; } if(this.graze > 1.0F) { this.graze = 1.0F; } } public void die(Entity var1) { if(var1 != null) { var1.awardKillScore(this, 10); } int var2 = (int)(Math.random() + Math.random() + 1.0D); for(int var3 = 0; var3 < var2; ++var3) { this.level.addEntity(new Item(this.level, this.x, this.y, this.z, Block.BROWN_MUSHROOM.id)); } super.die(var1); } public void hurt(Entity var1, int var2) { if(this.hasFur && var1 instanceof Player) { this.hasFur = false; int var3 = (int)(Math.random() * 3.0D + 1.0D); for(var2 = 0; var2 < var3; ++var2) { this.level.addEntity(new Item(this.level, this.x, this.y, this.z, Block.WHITE_WOOL.id)); } } else { super.hurt(var1, var2); } } public void renderModel(TextureManager var1, float var2, float var3, float var4, float var5, float var6, float var7) { AnimalModel var8; float var9 = (var8 = (AnimalModel)modelCache.getModel(this.modelName)).head.y; float var10 = var8.head.z; var8.head.y += (this.grazeO + (this.graze - this.grazeO) * var3) * 8.0F; var8.head.z -= this.grazeO + (this.graze - this.grazeO) * var3; super.renderModel(var1, var2, var3, var4, var5, var6, var7); if(this.hasFur) { GL11.glBindTexture(3553, var1.load("/mob/sheep_fur.png")); GL11.glDisable(2884); AnimalModel var11; (var11 = (AnimalModel)modelCache.getModel("sheep.fur")).head.yaw = var8.head.yaw; var11.head.pitch = var8.head.pitch; var11.head.y = var8.head.y; var11.head.x = var8.head.x; var11.body.yaw = var8.body.yaw; var11.body.pitch = var8.body.pitch; var11.leg1.pitch = var8.leg1.pitch; var11.leg2.pitch = var8.leg2.pitch; var11.leg3.pitch = var8.leg3.pitch; var11.leg4.pitch = var8.leg4.pitch; var11.head.render(var7); var11.body.render(var7); var11.leg1.render(var7); var11.leg2.render(var7); var11.leg3.render(var7); var11.leg4.render(var7); } var8.head.y = var9; var8.head.z = var10; } }