001 package net.minecraft.entity; 002 003 import net.minecraft.block.material.Material; 004 import net.minecraft.entity.monster.IMob; 005 import net.minecraft.entity.passive.EntityAmbientCreature; 006 import net.minecraft.entity.passive.EntityAnimal; 007 import net.minecraft.entity.passive.EntityWaterMob; 008 009 public enum EnumCreatureType 010 { 011 monster(IMob.class, 70, Material.air, false, false), 012 creature(EntityAnimal.class, 10, Material.air, true, true), 013 ambient(EntityAmbientCreature.class, 15, Material.air, true, false), 014 waterCreature(EntityWaterMob.class, 5, Material.water, true, false); 015 016 /** 017 * The root class of creatures associated with this EnumCreatureType (IMobs for aggressive creatures, EntityAnimals 018 * for friendly ones) 019 */ 020 private final Class creatureClass; 021 private final int maxNumberOfCreature; 022 private final Material creatureMaterial; 023 024 /** A flag indicating whether this creature type is peaceful. */ 025 private final boolean isPeacefulCreature; 026 027 /** Whether this creature type is an animal. */ 028 private final boolean isAnimal; 029 030 private EnumCreatureType(Class par3Class, int par4, Material par5Material, boolean par6, boolean par7) 031 { 032 this.creatureClass = par3Class; 033 this.maxNumberOfCreature = par4; 034 this.creatureMaterial = par5Material; 035 this.isPeacefulCreature = par6; 036 this.isAnimal = par7; 037 } 038 039 public Class getCreatureClass() 040 { 041 return this.creatureClass; 042 } 043 044 public int getMaxNumberOfCreature() 045 { 046 return this.maxNumberOfCreature; 047 } 048 049 public Material getCreatureMaterial() 050 { 051 return this.creatureMaterial; 052 } 053 054 /** 055 * Gets whether or not this creature type is peaceful. 056 */ 057 public boolean getPeacefulCreature() 058 { 059 return this.isPeacefulCreature; 060 } 061 062 /** 063 * Return whether this creature type is an animal. 064 */ 065 public boolean getAnimal() 066 { 067 return this.isAnimal; 068 } 069 }