mirror of
https://github.com/barkeser2002/CatServer.git
synced 2026-09-25 08:39:58 +03:00
145 lines
9.8 KiB
Diff
145 lines
9.8 KiB
Diff
--- ../src-base/minecraft/net/minecraft/entity/passive/EntityParrot.java
|
|
+++ ../src-work/minecraft/net/minecraft/entity/passive/EntityParrot.java
|
|
@@ -1,6 +1,7 @@
|
|
package net.minecraft.entity.passive;
|
|
|
|
import com.google.common.base.Predicate;
|
|
+import com.google.common.collect.Maps;
|
|
import com.google.common.collect.Sets;
|
|
import it.unimi.dsi.fastutil.ints.Int2ObjectMap;
|
|
import it.unimi.dsi.fastutil.ints.Int2ObjectOpenHashMap;
|
|
@@ -89,12 +90,12 @@
|
|
{
|
|
public boolean apply(@Nullable EntityLiving p_apply_1_)
|
|
{
|
|
- return p_apply_1_ != null && EntityParrot.IMITATION_SOUND_EVENTS.containsKey(EntityList.REGISTRY.getIDForObject(p_apply_1_.getClass()));
|
|
+ return p_apply_1_ != null && EntityParrot.MIMIC_SOUNDS.containsKey(p_apply_1_.getClass());
|
|
}
|
|
};
|
|
private static final Item DEADLY_ITEM = Items.COOKIE;
|
|
private static final Set<Item> TAME_ITEMS = Sets.newHashSet(Items.WHEAT_SEEDS, Items.MELON_SEEDS, Items.PUMPKIN_SEEDS, Items.BEETROOT_SEEDS);
|
|
- private static final Int2ObjectMap<SoundEvent> IMITATION_SOUND_EVENTS = new Int2ObjectOpenHashMap<SoundEvent>(32);
|
|
+ private static final java.util.Map<Class<? extends Entity>, SoundEvent> MIMIC_SOUNDS = Maps.newHashMapWithExpectedSize(32);
|
|
public float flap;
|
|
public float flapSpeed;
|
|
public float oFlapSpeed;
|
|
@@ -214,7 +215,7 @@
|
|
|
|
if (!entityliving.isSilent())
|
|
{
|
|
- SoundEvent soundevent = getImitatedSound(EntityList.REGISTRY.getIDForObject(entityliving.getClass()));
|
|
+ SoundEvent soundevent = MIMIC_SOUNDS.get(entityliving.getClass());
|
|
worldIn.playSound((EntityPlayer)null, p_192006_1_.posX, p_192006_1_.posY, p_192006_1_.posZ, soundevent, p_192006_1_.getSoundCategory(), 0.7F, getPitch(worldIn.rand));
|
|
return true;
|
|
}
|
|
@@ -246,7 +247,7 @@
|
|
|
|
if (!this.world.isRemote)
|
|
{
|
|
- if (this.rand.nextInt(10) == 0)
|
|
+ if (this.rand.nextInt(10) == 0 && !net.minecraftforge.event.ForgeEventFactory.onAnimalTame(this, player) && !org.bukkit.craftbukkit.event.CraftEventFactory.callEntityTameEvent(this, player).isCancelled())
|
|
{
|
|
this.setTamedBy(player);
|
|
this.playTameEffect(true);
|
|
@@ -345,8 +346,9 @@
|
|
{
|
|
if (random.nextInt(1000) == 0)
|
|
{
|
|
- List<Integer> list = new ArrayList<Integer>(IMITATION_SOUND_EVENTS.keySet());
|
|
- return getImitatedSound(((Integer)list.get(random.nextInt(list.size()))).intValue());
|
|
+ List<SoundEvent> list = new ArrayList<SoundEvent>(MIMIC_SOUNDS.values());
|
|
+ SoundEvent ret = list.get(random.nextInt(list.size()));
|
|
+ return ret == null ? SoundEvents.ENTITY_PARROT_AMBIENT : ret;
|
|
}
|
|
else
|
|
{
|
|
@@ -354,11 +356,6 @@
|
|
}
|
|
}
|
|
|
|
- public static SoundEvent getImitatedSound(int p_191999_0_)
|
|
- {
|
|
- return IMITATION_SOUND_EVENTS.containsKey(p_191999_0_) ? (SoundEvent)IMITATION_SOUND_EVENTS.get(p_191999_0_) : SoundEvents.ENTITY_PARROT_AMBIENT;
|
|
- }
|
|
-
|
|
protected SoundEvent getHurtSound(DamageSource damageSourceIn)
|
|
{
|
|
return SoundEvents.ENTITY_PARROT_HURT;
|
|
@@ -423,7 +420,8 @@
|
|
{
|
|
if (this.aiSit != null)
|
|
{
|
|
- this.aiSit.setSitting(false);
|
|
+ // CraftBukkit - moved into EntityLiving.damageEntity(DamageSource, float)
|
|
+ // this.aiSit.setSitting(false);
|
|
}
|
|
|
|
return super.attackEntityFrom(source, amount);
|
|
@@ -471,33 +469,38 @@
|
|
|
|
static
|
|
{
|
|
- IMITATION_SOUND_EVENTS.put(EntityList.REGISTRY.getIDForObject(EntityBlaze.class), SoundEvents.E_PARROT_IM_BLAZE);
|
|
- IMITATION_SOUND_EVENTS.put(EntityList.REGISTRY.getIDForObject(EntityCaveSpider.class), SoundEvents.E_PARROT_IM_SPIDER);
|
|
- IMITATION_SOUND_EVENTS.put(EntityList.REGISTRY.getIDForObject(EntityCreeper.class), SoundEvents.E_PARROT_IM_CREEPER);
|
|
- IMITATION_SOUND_EVENTS.put(EntityList.REGISTRY.getIDForObject(EntityElderGuardian.class), SoundEvents.E_PARROT_IM_ELDER_GUARDIAN);
|
|
- IMITATION_SOUND_EVENTS.put(EntityList.REGISTRY.getIDForObject(EntityDragon.class), SoundEvents.E_PARROT_IM_ENDERDRAGON);
|
|
- IMITATION_SOUND_EVENTS.put(EntityList.REGISTRY.getIDForObject(EntityEnderman.class), SoundEvents.E_PARROT_IM_ENDERMAN);
|
|
- IMITATION_SOUND_EVENTS.put(EntityList.REGISTRY.getIDForObject(EntityEndermite.class), SoundEvents.E_PARROT_IM_ENDERMITE);
|
|
- IMITATION_SOUND_EVENTS.put(EntityList.REGISTRY.getIDForObject(EntityEvoker.class), SoundEvents.E_PARROT_IM_EVOCATION_ILLAGER);
|
|
- IMITATION_SOUND_EVENTS.put(EntityList.REGISTRY.getIDForObject(EntityGhast.class), SoundEvents.E_PARROT_IM_GHAST);
|
|
- IMITATION_SOUND_EVENTS.put(EntityList.REGISTRY.getIDForObject(EntityHusk.class), SoundEvents.E_PARROT_IM_HUSK);
|
|
- IMITATION_SOUND_EVENTS.put(EntityList.REGISTRY.getIDForObject(EntityIllusionIllager.class), SoundEvents.E_PARROT_IM_ILLUSION_ILLAGER);
|
|
- IMITATION_SOUND_EVENTS.put(EntityList.REGISTRY.getIDForObject(EntityMagmaCube.class), SoundEvents.E_PARROT_IM_MAGMACUBE);
|
|
- IMITATION_SOUND_EVENTS.put(EntityList.REGISTRY.getIDForObject(EntityPigZombie.class), SoundEvents.E_PARROT_IM_ZOMBIE_PIGMAN);
|
|
- IMITATION_SOUND_EVENTS.put(EntityList.REGISTRY.getIDForObject(EntityPolarBear.class), SoundEvents.E_PARROT_IM_POLAR_BEAR);
|
|
- IMITATION_SOUND_EVENTS.put(EntityList.REGISTRY.getIDForObject(EntityShulker.class), SoundEvents.E_PARROT_IM_SHULKER);
|
|
- IMITATION_SOUND_EVENTS.put(EntityList.REGISTRY.getIDForObject(EntitySilverfish.class), SoundEvents.E_PARROT_IM_SILVERFISH);
|
|
- IMITATION_SOUND_EVENTS.put(EntityList.REGISTRY.getIDForObject(EntitySkeleton.class), SoundEvents.E_PARROT_IM_SKELETON);
|
|
- IMITATION_SOUND_EVENTS.put(EntityList.REGISTRY.getIDForObject(EntitySlime.class), SoundEvents.E_PARROT_IM_SLIME);
|
|
- IMITATION_SOUND_EVENTS.put(EntityList.REGISTRY.getIDForObject(EntitySpider.class), SoundEvents.E_PARROT_IM_SPIDER);
|
|
- IMITATION_SOUND_EVENTS.put(EntityList.REGISTRY.getIDForObject(EntityStray.class), SoundEvents.E_PARROT_IM_STRAY);
|
|
- IMITATION_SOUND_EVENTS.put(EntityList.REGISTRY.getIDForObject(EntityVex.class), SoundEvents.E_PARROT_IM_VEX);
|
|
- IMITATION_SOUND_EVENTS.put(EntityList.REGISTRY.getIDForObject(EntityVindicator.class), SoundEvents.E_PARROT_IM_VINDICATION_ILLAGER);
|
|
- IMITATION_SOUND_EVENTS.put(EntityList.REGISTRY.getIDForObject(EntityWitch.class), SoundEvents.E_PARROT_IM_WITCH);
|
|
- IMITATION_SOUND_EVENTS.put(EntityList.REGISTRY.getIDForObject(EntityWither.class), SoundEvents.E_PARROT_IM_WITHER);
|
|
- IMITATION_SOUND_EVENTS.put(EntityList.REGISTRY.getIDForObject(EntityWitherSkeleton.class), SoundEvents.E_PARROT_IM_WITHER_SKELETON);
|
|
- IMITATION_SOUND_EVENTS.put(EntityList.REGISTRY.getIDForObject(EntityWolf.class), SoundEvents.E_PARROT_IM_WOLF);
|
|
- IMITATION_SOUND_EVENTS.put(EntityList.REGISTRY.getIDForObject(EntityZombie.class), SoundEvents.E_PARROT_IM_ZOMBIE);
|
|
- IMITATION_SOUND_EVENTS.put(EntityList.REGISTRY.getIDForObject(EntityZombieVillager.class), SoundEvents.E_PARROT_IM_ZOMBIE_VILLAGER);
|
|
+ registerMimicSound(EntityBlaze.class, SoundEvents.E_PARROT_IM_BLAZE);
|
|
+ registerMimicSound(EntityCaveSpider.class, SoundEvents.E_PARROT_IM_SPIDER);
|
|
+ registerMimicSound(EntityCreeper.class, SoundEvents.E_PARROT_IM_CREEPER);
|
|
+ registerMimicSound(EntityElderGuardian.class, SoundEvents.E_PARROT_IM_ELDER_GUARDIAN);
|
|
+ registerMimicSound(EntityDragon.class, SoundEvents.E_PARROT_IM_ENDERDRAGON);
|
|
+ registerMimicSound(EntityEnderman.class, SoundEvents.E_PARROT_IM_ENDERMAN);
|
|
+ registerMimicSound(EntityEndermite.class, SoundEvents.E_PARROT_IM_ENDERMITE);
|
|
+ registerMimicSound(EntityEvoker.class, SoundEvents.E_PARROT_IM_EVOCATION_ILLAGER);
|
|
+ registerMimicSound(EntityGhast.class, SoundEvents.E_PARROT_IM_GHAST);
|
|
+ registerMimicSound(EntityHusk.class, SoundEvents.E_PARROT_IM_HUSK);
|
|
+ registerMimicSound(EntityIllusionIllager.class, SoundEvents.E_PARROT_IM_ILLUSION_ILLAGER);
|
|
+ registerMimicSound(EntityMagmaCube.class, SoundEvents.E_PARROT_IM_MAGMACUBE);
|
|
+ registerMimicSound(EntityPigZombie.class, SoundEvents.E_PARROT_IM_ZOMBIE_PIGMAN);
|
|
+ registerMimicSound(EntityPolarBear.class, SoundEvents.E_PARROT_IM_POLAR_BEAR);
|
|
+ registerMimicSound(EntityShulker.class, SoundEvents.E_PARROT_IM_SHULKER);
|
|
+ registerMimicSound(EntitySilverfish.class, SoundEvents.E_PARROT_IM_SILVERFISH);
|
|
+ registerMimicSound(EntitySkeleton.class, SoundEvents.E_PARROT_IM_SKELETON);
|
|
+ registerMimicSound(EntitySlime.class, SoundEvents.E_PARROT_IM_SLIME);
|
|
+ registerMimicSound(EntitySpider.class, SoundEvents.E_PARROT_IM_SPIDER);
|
|
+ registerMimicSound(EntityStray.class, SoundEvents.E_PARROT_IM_STRAY);
|
|
+ registerMimicSound(EntityVex.class, SoundEvents.E_PARROT_IM_VEX);
|
|
+ registerMimicSound(EntityVindicator.class, SoundEvents.E_PARROT_IM_VINDICATION_ILLAGER);
|
|
+ registerMimicSound(EntityWitch.class, SoundEvents.E_PARROT_IM_WITCH);
|
|
+ registerMimicSound(EntityWither.class, SoundEvents.E_PARROT_IM_WITHER);
|
|
+ registerMimicSound(EntityWitherSkeleton.class, SoundEvents.E_PARROT_IM_WITHER_SKELETON);
|
|
+ registerMimicSound(EntityWolf.class, SoundEvents.E_PARROT_IM_WOLF);
|
|
+ registerMimicSound(EntityZombie.class, SoundEvents.E_PARROT_IM_ZOMBIE);
|
|
+ registerMimicSound(EntityZombieVillager.class, SoundEvents.E_PARROT_IM_ZOMBIE_VILLAGER);
|
|
}
|
|
+
|
|
+ public static void registerMimicSound(Class<? extends Entity> cls, SoundEvent sound)
|
|
+ {
|
|
+ MIMIC_SOUNDS.put(cls, sound);
|
|
+ }
|
|
}
|