Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- package fr.nathan.hub.customentities;
- import java.lang.reflect.Field;
- import java.util.ArrayList;
- import java.util.List;
- import java.util.Map;
- import org.bukkit.entity.EntityType;
- import org.bukkit.entity.Player;
- import net.minecraft.server.v1_8_R3.BiomeBase;
- import net.minecraft.server.v1_8_R3.BiomeBase.BiomeMeta;
- import net.minecraft.server.v1_8_R3.EntityCaveSpider;
- import net.minecraft.server.v1_8_R3.EntityChicken;
- import net.minecraft.server.v1_8_R3.EntityCow;
- import net.minecraft.server.v1_8_R3.EntityCreeper;
- import net.minecraft.server.v1_8_R3.EntityEnderman;
- import net.minecraft.server.v1_8_R3.EntityHorse;
- import net.minecraft.server.v1_8_R3.EntityHuman;
- import net.minecraft.server.v1_8_R3.EntityInsentient;
- import net.minecraft.server.v1_8_R3.EntityIronGolem;
- import net.minecraft.server.v1_8_R3.EntityLiving;
- import net.minecraft.server.v1_8_R3.EntityMagmaCube;
- import net.minecraft.server.v1_8_R3.EntityMushroomCow;
- import net.minecraft.server.v1_8_R3.EntityOcelot;
- import net.minecraft.server.v1_8_R3.EntityPig;
- import net.minecraft.server.v1_8_R3.EntityPigZombie;
- import net.minecraft.server.v1_8_R3.EntitySheep;
- import net.minecraft.server.v1_8_R3.EntitySilverfish;
- import net.minecraft.server.v1_8_R3.EntitySkeleton;
- import net.minecraft.server.v1_8_R3.EntitySlime;
- import net.minecraft.server.v1_8_R3.EntitySpider;
- import net.minecraft.server.v1_8_R3.EntityTypes;
- import net.minecraft.server.v1_8_R3.EntityWitch;
- import net.minecraft.server.v1_8_R3.EntityWolf;
- import net.minecraft.server.v1_8_R3.EntityZombie;
- public enum CustomEntityType
- {
- SILVERFISH("§eSilverfish", 60, EntityType.SILVERFISH, (Class<? extends EntityInsentient>)EntitySilverfish.class, (Class<? extends EntityInsentient>)CustomEntitySilverfish.class),
- SLIME("§eSlime", 55, EntityType.SLIME, (Class<? extends EntityInsentient>)EntitySlime.class, (Class<? extends EntityInsentient>)CustomEntitySlime.class),
- ZOMBIE_PIGMAN("§eZombie PigMan", 57, EntityType.PIG_ZOMBIE, (Class<? extends EntityInsentient>)EntityPigZombie.class, (Class<? extends EntityInsentient>)CustomEntityPigZombie.class),
- WITCH("§eSorcière", 66, EntityType.WITCH, (Class<? extends EntityInsentient>)EntityWitch.class, (Class<? extends EntityInsentient>)CustomEntityWitch.class),
- SKELETON("§eSkelette", 51, EntityType.SKELETON, (Class<? extends EntityInsentient>)EntitySkeleton.class, (Class<? extends EntityInsentient>)CustomEntitySkeleton.class),
- CREEPER("§eCreeper", 50, EntityType.CREEPER, (Class<? extends EntityInsentient>)EntityCreeper.class, (Class<? extends EntityInsentient>)CustomEntityCreeper.class),
- MAGMA_CUBE("§eMagma Cube", 62, EntityType.MAGMA_CUBE, (Class<? extends EntityInsentient>)EntityMagmaCube.class, (Class<? extends EntityInsentient>)CustomEntityMagmaCube.class),
- ENDERMAN("§eEnderman", 58, EntityType.ENDERMAN, (Class<? extends EntityInsentient>)EntityEnderman.class, (Class<? extends EntityInsentient>)CustomEntityEnderman.class),
- OCELOT("§eOcelot", 98, EntityType.OCELOT, (Class<? extends EntityInsentient>)EntityOcelot.class, (Class<? extends EntityInsentient>)CustomEntityOcelot.class),
- IRONGOLEM("§eGolden de fer", 99, EntityType.IRON_GOLEM, (Class<? extends EntityInsentient>)EntityIronGolem.class, (Class<? extends EntityInsentient>)CustomEntityIronGolem.class),
- ZOMBIE_HORSE("§eCheval Zombie", 100, EntityType.HORSE, (Class<? extends EntityInsentient>)EntityHorse.class, (Class<? extends EntityInsentient>)CustomEntityZombieHorse.class),
- UNDEAD_HORSE("§eCheval Mort-Vivant", 100, EntityType.HORSE, (Class<? extends EntityInsentient>)EntityHorse.class, (Class<? extends EntityInsentient>)CustomEntityUndeadHorse.class),
- HORSE("§eCheval", 100, EntityType.HORSE, (Class<? extends EntityInsentient>)EntityHorse.class, (Class<? extends EntityInsentient>)CustomEntityHorse.class),
- COW("§eVache", 92, EntityType.COW, (Class<? extends EntityInsentient>)EntityCow.class, (Class<? extends EntityInsentient>)CustomEntityCow.class),
- SHEEP("§eMouton", 91, EntityType.SHEEP, (Class<? extends EntityInsentient>)EntitySheep.class, (Class<? extends EntityInsentient>)CustomEntitySheep.class),
- PIG("§eCochon", 90, EntityType.PIG, (Class<? extends EntityInsentient>)EntityPig.class, (Class<? extends EntityInsentient>)CustomEntityPig.class),
- SPIDER("§eAraigniée", 52, EntityType.SPIDER, (Class<? extends EntityInsentient>)EntitySpider.class, (Class<? extends EntityInsentient>)CustomEntitySpider.class),
- CAVE_SPIDER("§eAraignée des caves", 59, EntityType.CAVE_SPIDER, (Class<? extends EntityInsentient>)EntityCaveSpider.class, (Class<? extends EntityInsentient>)CustomEntityCaveSpider.class),
- DISCO_SHEEP("§eDiscoSheep", 91, EntityType.SHEEP, (Class<? extends EntityInsentient>)EntitySheep.class, (Class<? extends EntityInsentient>)CustomEntityDiscoSheep.class),
- ZOMBIE("§eZombie", 54, EntityType.ZOMBIE, (Class<? extends EntityInsentient>)EntityZombie.class, (Class<? extends EntityInsentient>)CustomEntityZombie.class),
- CHICKEN("§ePoulet", 93, EntityType.CHICKEN, (Class<? extends EntityInsentient>)EntityChicken.class, (Class<? extends EntityInsentient>)CustomEntityChicken.class),
- WOLF("§eLoup", 95, EntityType.WOLF, (Class<? extends EntityInsentient>)EntityWolf.class, (Class<? extends EntityInsentient>)CustomEntityWolf.class),
- MUSHROOM_COW("§eVache Champi", 96, EntityType.MUSHROOM_COW, (Class<? extends EntityInsentient>)EntityMushroomCow.class, (Class<? extends EntityInsentient>)CustomEntityMushroomCow.class);
- private String name;
- private int id;
- private EntityType entityType;
- private Class<? extends EntityInsentient> nmsClass;
- private Class<? extends EntityInsentient> customClass;
- private CustomEntityType(final String name, final int id, final EntityType entityType, final Class<? extends EntityInsentient> nmsClass, final Class<? extends EntityInsentient> customClass) {
- this.name = name;
- this.id = id;
- this.entityType = entityType;
- this.nmsClass = nmsClass;
- this.customClass = customClass;
- }
- public String getName() {
- return this.name;
- }
- public int getID() {
- return this.id;
- }
- public EntityType getEntityType() {
- return this.entityType;
- }
- public Class<? extends EntityInsentient> getNMSClass() {
- return this.nmsClass;
- }
- public Class<? extends EntityInsentient> getCustomClass() {
- return this.customClass;
- }
- public static void registerEntities() {
- CustomEntityType[] var3;
- for (int var2 = (var3 = values()).length, var4 = 0; var4 < var2; ++var4) {
- final CustomEntityType var5 = var3[var4];
- a(var5.getCustomClass(), var5.getName(), var5.getID());
- }
- BiomeBase[] var6;
- try {
- var6 = (BiomeBase[])getPrivateStatic(BiomeBase.class, "biomes");
- }
- catch (Exception var19) {
- return;
- }
- final BiomeBase[] var7 = var6;
- for (int var8 = var6.length, var2 = 0; var2 < var8; ++var2) {
- final BiomeBase var9 = var7[var2];
- if (var9 == null) {
- break;
- }
- String[] var11;
- for (int var10 = (var11 = new String[] { "at", "au", "av", "aw" }).length, var12 = 0; var12 < var10; ++var12) {
- final String field = var11[var12];
- try {
- final Field var13 = BiomeBase.class.getDeclaredField(field);
- var13.setAccessible(true);
- final List<BiomeMeta> mobList = new ArrayList<BiomeMeta>();
- for (final BiomeBase.BiomeMeta meta : mobList) {
- CustomEntityType[] var16;
- for (int var15 = (var16 = values()).length, var17 = 0; var17 < var15; ++var17) {
- final CustomEntityType entity = var16[var17];
- if (entity.getNMSClass().equals(meta.b)) {
- meta.b = entity.getCustomClass();
- }
- }
- }
- }
- catch (Exception var18) {
- var18.printStackTrace();
- }
- }
- }
- }
- public static void unregisterEntities() {
- CustomEntityType[] var3;
- for (int var2 = (var3 = values()).length, biomeBase = 0; biomeBase < var2; ++biomeBase) {
- final CustomEntityType biomes = var3[biomeBase];
- try {
- ((Map)getPrivateStatic(EntityTypes.class, "d")).remove(biomes.getCustomClass());
- }
- catch (Exception var4) {
- var4.printStackTrace();
- }
- try {
- ((Map)getPrivateStatic(EntityTypes.class, "f")).remove(biomes.getCustomClass());
- }
- catch (Exception var5) {
- var5.printStackTrace();
- }
- }
- for (int var2 = (var3 = values()).length, biomeBase = 0; biomeBase < var2; ++biomeBase) {
- final CustomEntityType biomes = var3[biomeBase];
- try {
- a(biomes.getNMSClass(), biomes.getName(), biomes.getID());
- }
- catch (Exception var6) {
- var6.printStackTrace();
- }
- }
- BiomeBase[] var7;
- try {
- var7 = (BiomeBase[])getPrivateStatic(BiomeBase.class, "biomes");
- }
- catch (Exception var19) {
- return;
- }
- final BiomeBase[] e = var7;
- for (int var8 = var7.length, var2 = 0; var2 < var8; ++var2) {
- final BiomeBase var9 = e[var2];
- if (var9 == null) {
- break;
- }
- String[] var11;
- for (int var10 = (var11 = new String[] { "at", "au", "av", "aw" }).length, var12 = 0; var12 < var10; ++var12) {
- final String field = var11[var12];
- try {
- final Field var13 = BiomeBase.class.getDeclaredField(field);
- var13.setAccessible(true);
- final List<BiomeMeta> mobList = new ArrayList<BiomeMeta>();
- for (final BiomeBase.BiomeMeta meta : mobList) {
- CustomEntityType[] var16;
- for (int var15 = (var16 = values()).length, var17 = 0; var17 < var15; ++var17) {
- final CustomEntityType entity = var16[var17];
- if (entity.getCustomClass().equals(meta.b)) {
- meta.b = entity.getNMSClass();
- }
- }
- }
- }
- catch (Exception var18) {
- var18.printStackTrace();
- }
- }
- }
- }
- private static Object getPrivateStatic(final Class clazz, final String f) throws Exception {
- final Field field = clazz.getDeclaredField(f);
- field.setAccessible(true);
- return field.get(null);
- }
- private static void a(final Class paramClass, final String paramString, final int paramInt) {
- try {
- ((Map)getPrivateStatic(EntityTypes.class, "c")).put(paramString, paramClass);
- ((Map)getPrivateStatic(EntityTypes.class, "d")).put(paramClass, paramString);
- ((Map)getPrivateStatic(EntityTypes.class, "e")).put(paramInt, paramClass);
- ((Map)getPrivateStatic(EntityTypes.class, "f")).put(paramClass, paramInt);
- ((Map)getPrivateStatic(EntityTypes.class, "g")).put(paramString, paramInt);
- }
- catch (Exception ex) {}
- }
- public static boolean shouldDie(final EntityLiving mount, final Player player) {
- if (mount.passenger != null && mount.passenger instanceof EntityHuman) {
- return false;
- }
- mount.die();
- return true;
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement