resent-1.8/src/main/java/net/minecraft/client/model/ModelBase.java
2023-01-14 15:56:36 +00:00

79 lines
2.8 KiB
Java

package net.minecraft.client.model;
import com.google.common.collect.Lists;
import com.google.common.collect.Maps;
import java.util.List;
import java.util.Map;
import net.lax1dude.eaglercraft.v1_8.EaglercraftRandom;
import net.minecraft.entity.Entity;
import net.minecraft.entity.EntityLivingBase;
public abstract class ModelBase {
public float swingProgress;
public boolean isRiding;
public boolean isChild = true;
/**+
* This is a list of all the boxes (ModelRenderer.class) in the
* current model.
*/
public List<ModelRenderer> boxList = Lists.newArrayList();
private Map<String, TextureOffset> modelTextureMap = Maps.newHashMap();
public int textureWidth = 64;
public int textureHeight = 32;
/**+
* Sets the models various rotation angles then renders the
* model.
*/
public void render(Entity var1, float var2, float var3, float var4, float var5, float var6, float var7) {}
/**+
* Sets the model's various rotation angles. For bipeds, par1
* and par2 are used for animating the movement of arms and
* legs, where par1 represents the time(so that arms and legs
* swing back and forth) and par2 represents how "far" arms and
* legs can swing at most.
*/
public void setRotationAngles(float var1, float var2, float var3, float var4, float var5, float var6, Entity var7) {}
/**+
* Used for easily adding entity-dependent animations. The
* second and third float params here are the same second and
* third as in the setRotationAngles method.
*/
public void setLivingAnimations(EntityLivingBase var1, float var2, float var3, float var4) {}
public ModelRenderer getRandomModelBox(EaglercraftRandom rand) {
return (ModelRenderer) this.boxList.get(rand.nextInt(this.boxList.size()));
}
protected void setTextureOffset(String partName, int x, int y) {
this.modelTextureMap.put(partName, new TextureOffset(x, y));
}
public TextureOffset getTextureOffset(String partName) {
return (TextureOffset) this.modelTextureMap.get(partName);
}
/**+
* Copies the angles from one object to another. This is used
* when objects should stay aligned with each other, like the
* hair over a players head.
*/
public static void copyModelAngles(ModelRenderer source, ModelRenderer dest) {
dest.rotateAngleX = source.rotateAngleX;
dest.rotateAngleY = source.rotateAngleY;
dest.rotateAngleZ = source.rotateAngleZ;
dest.rotationPointX = source.rotationPointX;
dest.rotationPointY = source.rotationPointY;
dest.rotationPointZ = source.rotationPointZ;
}
public void setModelAttributes(ModelBase modelbase) {
this.swingProgress = modelbase.swingProgress;
this.isRiding = modelbase.isRiding;
this.isChild = modelbase.isChild;
}
}