Java 类net.minecraft.potion.Potion 实例源码

项目:ProgressiveDifficulty    文件:PotionCloudModifier.java   
private static void constructFromConfig(String ID,
                             Potion effect,
                             String enableKey,
                             String enableComment,
                             int maxLevelDefault,
                             int defaultDifficultyCost,
                             double defaultWeight,
                             List<DifficultyModifier> returns,
                             Configuration config) {
    Property modifierEnabledProp = config.get(ID,
            enableKey, true, enableComment);
    boolean modifierEnabled = modifierEnabledProp.getBoolean();
    Property MaxLevelProp = config.get(ID,
            "ModifierMaxLevel", maxLevelDefault, "Maximum level of this effect added to the target player when entering the cloud.");
    int maxLevel = MaxLevelProp.getInt();
    Property difficultyCostPerLevelProp = config.get(ID,
            "DifficultyCostPerLevel", defaultDifficultyCost, "Cost of each level of the effect applied to the target player.");
    int diffCostPerLevel = difficultyCostPerLevelProp.getInt();
    Property selectionWeightProp = config.get(ID,
            "ModifierWeight", defaultWeight, "Weight that affects how often this modifier is selected.");
    double selectionWeight = selectionWeightProp.getDouble();
    if (modifierEnabled && maxLevel > 0 && diffCostPerLevel > 0 && selectionWeight > 0) {
        returns.add(new PotionCloudModifier(effect, maxLevel, diffCostPerLevel, selectionWeight, ID));
    }
}
项目:needtobreath    文件:PotionEffectConfig.java   
public PotionEffectConfig(String desc) {
    String[] split = StringUtils.split(desc, ',');
    if (split.length < 2) {
        throw new RuntimeException("Expected <poison>,<effect[@<amplitude>]>");
    }
    poisonThresshold = Integer.parseInt(split[0]);
    if (split[1].contains("@")) {
        split = StringUtils.split(split[1], '@');
        potion = Potion.REGISTRY.getObject(new ResourceLocation(split[0]));
        amplitude = Integer.parseInt(split[1]);
    } else {
        potion = Potion.REGISTRY.getObject(new ResourceLocation(split[1]));
        amplitude = 0;
    }
    if (potion == null) {
        throw new RuntimeException("Invalid potion descriptor: " + desc);
    }
}
项目:Backmemed    文件:CustomColors.java   
private static int getMaxPotionId()
{
    int i = 0;

    for (ResourceLocation resourcelocation : Potion.REGISTRY.getKeys())
    {
        Potion potion = (Potion)Potion.REGISTRY.getObject(resourcelocation);
        int j = Potion.getIdFromPotion(potion);

        if (j > i)
        {
            i = j;
        }
    }

    return i;
}
项目:Backmemed    文件:NetHandlerPlayClient.java   
public void handleEntityEffect(SPacketEntityEffect packetIn)
{
    PacketThreadUtil.checkThreadAndEnqueue(packetIn, this, this.gameController);
    Entity entity = this.clientWorldController.getEntityByID(packetIn.getEntityId());

    if (entity instanceof EntityLivingBase)
    {
        Potion potion = Potion.getPotionById(packetIn.getEffectId());

        if (potion != null)
        {
            PotionEffect potioneffect = new PotionEffect(potion, packetIn.getDuration(), packetIn.getAmplifier(), packetIn.getIsAmbient(), packetIn.doesShowParticles());
            potioneffect.setPotionDurationMax(packetIn.isMaxDuration());
            ((EntityLivingBase)entity).addPotionEffect(potioneffect);
        }
    }
}
项目:BaseClient    文件:EntitySkeleton.java   
public boolean attackEntityAsMob(Entity entityIn)
{
    if (super.attackEntityAsMob(entityIn))
    {
        if (this.getSkeletonType() == 1 && entityIn instanceof EntityLivingBase)
        {
            ((EntityLivingBase)entityIn).addPotionEffect(new PotionEffect(Potion.wither.id, 200));
        }

        return true;
    }
    else
    {
        return false;
    }
}
项目:Zombe-Modpack    文件:NetHandlerPlayClient.java   
public void handleEntityEffect(SPacketEntityEffect packetIn)
{
    PacketThreadUtil.checkThreadAndEnqueue(packetIn, this, this.gameController);
    Entity entity = this.clientWorldController.getEntityByID(packetIn.getEntityId());

    if (entity instanceof EntityLivingBase)
    {
        Potion potion = Potion.getPotionById(packetIn.getEffectId());

        if (potion != null)
        {
            PotionEffect potioneffect = new PotionEffect(potion, packetIn.getDuration(), packetIn.getAmplifier(), packetIn.getIsAmbient(), packetIn.doesShowParticles());
            potioneffect.setPotionDurationMax(packetIn.isMaxDuration());
            ((EntityLivingBase)entity).addPotionEffect(potioneffect);
        }
    }
}
项目:SerenityCE    文件:StatusEffects.java   
public StatusEffects() {
    super("Status Effects", 0xAEDEFF, ModuleCategory.OVERLAY);
    setHidden(true);

    OverlayContextManager.INSTANCE.register(OverlayArea.BOTTOM_RIGHT, 1000, ctx -> {
        for (final Potion potion : Potion.potionTypes) {
            if (potion == null)
                continue;

            final PotionEffect effect = mc.thePlayer.getActivePotionEffect(potion);
            if (effect == null)
                continue;

            StringBuilder builder = new StringBuilder(I18n.format(potion.getName(), new Object[0]));
            builder.append(" (");
            if (effect.getAmplifier() > 0) {
                builder.append(effect.getAmplifier() + 1);
                builder.append(" : ");
            }
            builder.append(Potion.getDurationString(effect));
            builder.append(")");
            ctx.drawString(builder.toString(), potion.getLiquidColor(), true);
        }
    }, this::isEnabled, () -> !mc.gameSettings.showDebugInfo);
}
项目:DecompiledMinecraft    文件:EntityLivingBase.java   
/**
 * Causes this entity to do an upwards motion (jumping).
 */
protected void jump()
{
    this.motionY = (double)this.getJumpUpwardsMotion();

    if (this.isPotionActive(Potion.jump))
    {
        this.motionY += (double)((float)(this.getActivePotionEffect(Potion.jump).getAmplifier() + 1) * 0.1F);
    }

    if (this.isSprinting())
    {
        float f = this.rotationYaw * 0.017453292F;
        this.motionX -= (double)(MathHelper.sin(f) * 0.2F);
        this.motionZ += (double)(MathHelper.cos(f) * 0.2F);
    }

    this.isAirBorne = true;
}
项目:CustomWorldGen    文件:InventoryEffectRenderer.java   
protected void updateActivePotionEffects()
{
    boolean hasVisibleEffect = false;
    for(PotionEffect potioneffect : this.mc.thePlayer.getActivePotionEffects()) {
        Potion potion = potioneffect.getPotion();
        if(potion.shouldRender(potioneffect)) { hasVisibleEffect = true; break; }
    }
    if (this.mc.thePlayer.getActivePotionEffects().isEmpty() || !hasVisibleEffect)
    {
        this.guiLeft = (this.width - this.xSize) / 2;
        this.hasActivePotionEffects = false;
    }
    else
    {
        if (net.minecraftforge.common.MinecraftForge.EVENT_BUS.post(new net.minecraftforge.client.event.GuiScreenEvent.PotionShiftEvent(this))) this.guiLeft = (this.width - this.xSize) / 2; else
        this.guiLeft = 160 + (this.width - this.xSize - 200) / 2;
        this.hasActivePotionEffects = true;
    }
}
项目:BaseClient    文件:EntityLivingBase.java   
/**
 * Clears potion metadata values if the entity has no potion effects. Otherwise, updates potion effect color,
 * ambience, and invisibility metadata values
 */
protected void updatePotionMetadata()
{
    if (this.activePotionsMap.isEmpty())
    {
        this.resetPotionEffectMetadata();
        this.setInvisible(false);
    }
    else
    {
        int i = PotionHelper.calcPotionLiquidColor(this.activePotionsMap.values());
        this.dataWatcher.updateObject(8, Byte.valueOf((byte)(PotionHelper.getAreAmbient(this.activePotionsMap.values()) ? 1 : 0)));
        this.dataWatcher.updateObject(7, Integer.valueOf(i));
        this.setInvisible(this.isPotionActive(Potion.invisibility.id));
    }
}
项目:BaseClient    文件:EntityLivingBase.java   
/**
 * Clears potion metadata values if the entity has no potion effects. Otherwise, updates potion effect color,
 * ambience, and invisibility metadata values
 */
protected void updatePotionMetadata()
{
    if (this.activePotionsMap.isEmpty())
    {
        this.resetPotionEffectMetadata();
        this.setInvisible(false);
    }
    else
    {
        int i = PotionHelper.calcPotionLiquidColor(this.activePotionsMap.values());
        this.dataWatcher.updateObject(8, Byte.valueOf((byte)(PotionHelper.getAreAmbient(this.activePotionsMap.values()) ? 1 : 0)));
        this.dataWatcher.updateObject(7, Integer.valueOf(i));
        this.setInvisible(this.isPotionActive(Potion.invisibility.id));
    }
}
项目:DecompiledMinecraft    文件:EntitySpider.java   
public void func_111104_a(Random rand)
{
    int i = rand.nextInt(5);

    if (i <= 1)
    {
        this.potionEffectId = Potion.moveSpeed.id;
    }
    else if (i <= 2)
    {
        this.potionEffectId = Potion.damageBoost.id;
    }
    else if (i <= 3)
    {
        this.potionEffectId = Potion.regeneration.id;
    }
    else if (i <= 4)
    {
        this.potionEffectId = Potion.invisibility.id;
    }
}
项目:connor41-etfuturum2    文件:RabbitFoot.java   
@SuppressWarnings("unchecked")
public RabbitFoot() {
    setTextureName("rabbit_foot");
    setUnlocalizedName(Utils.getUnlocalisedName("rabbit_foot"));
    setCreativeTab(EtFuturum.enableRabbit ? EtFuturum.creativeTab : null);

    if (EtFuturum.enableRabbit)
        try {
            Field f = ReflectionHelper.findField(PotionHelper.class, "potionRequirements", "field_77927_l");
            f.setAccessible(true);
            HashMap<Integer, String> potionRequirements = (HashMap<Integer, String>) f.get(null);
            potionRequirements.put(Potion.jump.getId(), "0 & 1 & !2 & 3");

            Field f2 = ReflectionHelper.findField(PotionHelper.class, "potionAmplifiers", "field_77928_m");
            f2.setAccessible(true);
            HashMap<Integer, String> potionAmplifiers = (HashMap<Integer, String>) f2.get(null);
            potionAmplifiers.put(Potion.jump.getId(), "5");

            Field f3 = ReflectionHelper.findField(Potion.class, "liquidColor", "field_76414_N");
            f3.setAccessible(true);
            f3.set(Potion.jump, 0x22FF4C);
        } catch (Exception e) {
        }
}
项目:BaseClient    文件:EntityLivingBase.java   
/**
 * Causes this entity to do an upwards motion (jumping).
 */
protected void jump()
{
    this.motionY = (double)this.getJumpUpwardsMotion();

    if (this.isPotionActive(Potion.jump))
    {
        this.motionY += (double)((float)(this.getActivePotionEffect(Potion.jump).getAmplifier() + 1) * 0.1F);
    }

    if (this.isSprinting())
    {
        float f = this.rotationYaw * 0.017453292F;
        this.motionX -= (double)(MathHelper.sin(f) * 0.2F);
        this.motionZ += (double)(MathHelper.cos(f) * 0.2F);
    }

    this.isAirBorne = true;
}
项目:BaseClient    文件:AutoPot.java   
private int getPotionFromInventory() {
    int pot = -1;
    int counter = 0;
    int i = 1;
    while (i < 45) {
        ItemStack is;
        ItemPotion potion;
        Item item;
        if (this.mc.thePlayer.inventoryContainer.getSlot(i).getHasStack() && (item = (is = this.mc.thePlayer.inventoryContainer.getSlot(i).getStack()).getItem()) instanceof ItemPotion && (potion = (ItemPotion)item).getEffects(is) != null) {
            for (Object o : potion.getEffects(is)) {
                PotionEffect effect = (PotionEffect)o;
                if (effect.getPotionID() != Potion.heal.id || !ItemPotion.isSplash((int)is.getItemDamage())) continue;
                ++counter;
                pot = i;
            }
        }
        ++i;
    }
    Character colorFormatCharacter = new Character('\u00a7');
    this.suffix = OptionManager.getOption((String)"Hyphen", (Module)ModuleManager.getModule(HUD.class)).value ? colorFormatCharacter + "7 - " + counter : colorFormatCharacter + "7 " + counter;
    return pot;
}
项目:connor41-etfuturum2    文件:EntityZombieVillager.java   
@Override
protected void convertToVillager() {
    EntityVillager villager = new EntityVillager(worldObj);
    villager.copyLocationAndAnglesFrom(this);
    villager.onSpawnWithEgg((IEntityLivingData) null);
    villager.setLookingForHome();
    villager.setProfession(getType());

    if (isChild())
        villager.setGrowingAge(-24000);

    worldObj.removeEntity(this);
    worldObj.spawnEntityInWorld(villager);
    villager.addPotionEffect(new PotionEffect(Potion.confusion.id, 200, 0));
    worldObj.playAuxSFXAtEntity(null, 1017, (int) posX, (int) posY, (int) posZ, 0);
}
项目:DecompiledMinecraft    文件:EntitySkeleton.java   
public boolean attackEntityAsMob(Entity entityIn)
{
    if (super.attackEntityAsMob(entityIn))
    {
        if (this.getSkeletonType() == 1 && entityIn instanceof EntityLivingBase)
        {
            ((EntityLivingBase)entityIn).addPotionEffect(new PotionEffect(Potion.wither.id, 200));
        }

        return true;
    }
    else
    {
        return false;
    }
}
项目:Backmemed    文件:TileEntityBeacon.java   
public int getField(int id)
{
    switch (id)
    {
        case 0:
            return this.levels;

        case 1:
            return Potion.getIdFromPotion(this.primaryEffect);

        case 2:
            return Potion.getIdFromPotion(this.secondaryEffect);

        default:
            return 0;
    }
}
项目:Backmemed    文件:Bootstrap.java   
/**
 * Registers blocks, items, stats, etc.
 */
public static void register()
{
    if (!alreadyRegistered)
    {
        alreadyRegistered = true;
        redirectOutputToLog();
        SoundEvent.registerSounds();
        Block.registerBlocks();
        BlockFire.init();
        Potion.registerPotions();
        Enchantment.registerEnchantments();
        Item.registerItems();
        PotionType.registerPotionTypes();
        PotionHelper.init();
        EntityList.init();
        StatList.init();
        Biome.registerBiomes();
        registerDispenserBehaviors();
    }
}
项目:Soot    文件:Registry.java   
@SubscribeEvent
public static void registerPotions(RegistryEvent.Register<Potion> event) {
    event.getRegistry().register(new PotionAle().setRegistryName(Soot.MODID,"ale"));
    event.getRegistry().register(new PotionStoutness().setRegistryName(Soot.MODID,"stoutness"));
    event.getRegistry().register(new PotionInnerFire().setRegistryName(Soot.MODID,"inner_fire"));
    event.getRegistry().register(new PotionFireLung().setRegistryName(Soot.MODID,"fire_lung"));
}
项目:ProgressiveDifficulty    文件:OnHitEffectModifier.java   
public OnHitEffectModifier(Potion effect, int duration, int maxInstances, int costPerLevel, double selectionWeight, String identifier){
    this.maxInstances = maxInstances;
    this.costPerLevel = costPerLevel;
    this.selectionWeight = selectionWeight;
    this.effect = effect;
    this.duration = duration;
    this.identifier = identifier;
}
项目:JustJunk    文件:ItemSurstromming.java   
public ItemStack onItemUseFinish(ItemStack stack, World worldIn, EntityLivingBase entityLiving)
{
    super.onItemUseFinish(stack, worldIn, entityLiving);
    entityLiving.addPotionEffect((new PotionEffect(Potion.getPotionById(30), 50, 0))); // Sick
    entityLiving.addPotionEffect((new PotionEffect(Potion.getPotionById(9), 300, 0))); // Nausea
    entityLiving.addPotionEffect((new PotionEffect(Potion.getPotionById(17), 160, 0))); // Hunger
    return new ItemStack(ModItems.emptysurstrommingcan);
}
项目:BaseClient    文件:ItemFishFood.java   
protected void onFoodEaten(ItemStack stack, World worldIn, EntityPlayer player)
{
    ItemFishFood.FishType itemfishfood$fishtype = ItemFishFood.FishType.byItemStack(stack);

    if (itemfishfood$fishtype == ItemFishFood.FishType.PUFFERFISH)
    {
        player.addPotionEffect(new PotionEffect(Potion.poison.id, 1200, 3));
        player.addPotionEffect(new PotionEffect(Potion.hunger.id, 300, 2));
        player.addPotionEffect(new PotionEffect(Potion.confusion.id, 300, 1));
    }

    super.onFoodEaten(stack, worldIn, player);
}
项目:BaseClient    文件:GuiBeacon.java   
public void drawButtonForegroundLayer(int mouseX, int mouseY)
{
    String s = I18n.format(Potion.potionTypes[this.field_146149_p].getName(), new Object[0]);

    if (this.field_146148_q >= 3 && this.field_146149_p != Potion.regeneration.id)
    {
        s = s + " II";
    }

    GuiBeacon.this.drawCreativeTabHoveringText(s, mouseX, mouseY);
}
项目:BaseClient    文件:EntityGuardian.java   
protected void updateAITasks()
{
    super.updateAITasks();

    if (this.isElder())
    {
        int i = 1200;
        int j = 1200;
        int k = 6000;
        int l = 2;

        if ((this.ticksExisted + this.getEntityId()) % 1200 == 0)
        {
            Potion potion = Potion.digSlowdown;

            for (EntityPlayerMP entityplayermp : this.worldObj.getPlayers(EntityPlayerMP.class, new Predicate<EntityPlayerMP>()
        {
            public boolean apply(EntityPlayerMP p_apply_1_)
                {
                    return EntityGuardian.this.getDistanceSqToEntity(p_apply_1_) < 2500.0D && p_apply_1_.theItemInWorldManager.survivalOrAdventure();
                }
            }))
            {
                if (!entityplayermp.isPotionActive(potion) || entityplayermp.getActivePotionEffect(potion).getAmplifier() < 2 || entityplayermp.getActivePotionEffect(potion).getDuration() < 1200)
                {
                    entityplayermp.playerNetServerHandler.sendPacket(new S2BPacketChangeGameState(10, 0.0F));
                    entityplayermp.addPotionEffect(new PotionEffect(potion.id, 6000, 2));
                }
            }
        }

        if (!this.hasHome())
        {
            this.setHomePosAndDistance(new BlockPos(this), 16);
        }
    }
}
项目:Backmemed    文件:Fullbright.java   
@Override
public void onUpdate(EntityPlayerSP player) {
    if(isEnabled()) {
        if(player != null && !player.isPotionActive(Potion.getPotionById(16))) {
            PotionEffect nightVision = new PotionEffect(Potion.getPotionById(16), Integer.MAX_VALUE, 0);
            nightVision.setPotionDurationMax(true);
            player.addPotionEffect(nightVision);
        }
    }
}
项目:Backmemed    文件:EntityElderGuardian.java   
protected void updateAITasks()
{
    super.updateAITasks();
    int i = 1200;

    if ((this.ticksExisted + this.getEntityId()) % 1200 == 0)
    {
        Potion potion = MobEffects.MINING_FATIGUE;
        List<EntityPlayerMP> list = this.world.<EntityPlayerMP>getPlayers(EntityPlayerMP.class, new Predicate<EntityPlayerMP>()
        {
            public boolean apply(@Nullable EntityPlayerMP p_apply_1_)
            {
                return EntityElderGuardian.this.getDistanceSqToEntity(p_apply_1_) < 2500.0D && p_apply_1_.interactionManager.survivalOrAdventure();
            }
        });
        int j = 2;
        int k = 6000;
        int l = 1200;

        for (EntityPlayerMP entityplayermp : list)
        {
            if (!entityplayermp.isPotionActive(potion) || entityplayermp.getActivePotionEffect(potion).getAmplifier() < 2 || entityplayermp.getActivePotionEffect(potion).getDuration() < 1200)
            {
                entityplayermp.connection.sendPacket(new SPacketChangeGameState(10, 0.0F));
                entityplayermp.addPotionEffect(new PotionEffect(potion, 6000, 2));
            }
        }
    }

    if (!this.hasHome())
    {
        this.setHomePosAndDistance(new BlockPos(this), 16);
    }
}
项目:bit-client    文件:ModuleFullbright.java   
@Override
protected void onDisable() {
    if (Wrapper.thePlayer().func_70644_a(Potion.field_76439_r))
        Wrapper.thePlayer().func_82170_o(Potion.field_76439_r.field_76415_H);

    super.onDisable();
}
项目:BaseClient    文件:ItemFishFood.java   
protected void onFoodEaten(ItemStack stack, World worldIn, EntityPlayer player)
{
    ItemFishFood.FishType itemfishfood$fishtype = ItemFishFood.FishType.byItemStack(stack);

    if (itemfishfood$fishtype == ItemFishFood.FishType.PUFFERFISH)
    {
        player.addPotionEffect(new PotionEffect(Potion.poison.id, 1200, 3));
        player.addPotionEffect(new PotionEffect(Potion.hunger.id, 300, 2));
        player.addPotionEffect(new PotionEffect(Potion.confusion.id, 300, 1));
    }

    super.onFoodEaten(stack, worldIn, player);
}
项目:DecompiledMinecraft    文件:EntityLivingBase.java   
public boolean isPotionApplicable(PotionEffect potioneffectIn)
{
    if (this.getCreatureAttribute() == EnumCreatureAttribute.UNDEAD)
    {
        int i = potioneffectIn.getPotionID();

        if (i == Potion.regeneration.id || i == Potion.poison.id)
        {
            return false;
        }
    }

    return true;
}
项目:DecompiledMinecraft    文件:EntityLivingBase.java   
protected void onFinishedPotionEffect(PotionEffect p_70688_1_)
{
    this.potionsNeedUpdate = true;

    if (!this.worldObj.isRemote)
    {
        Potion.potionTypes[p_70688_1_.getPotionID()].removeAttributesModifiersFromEntity(this, this.getAttributeMap(), p_70688_1_.getAmplifier());
    }
}
项目:Wurst-MC-1.12    文件:InventoryUtils.java   
public static boolean hasEffect(ItemStack stack, Potion potion)
{
    for(PotionEffect effect : PotionUtils.getEffectsFromStack(stack))
        if(effect.getPotion() == potion)
            return true;

    return false;
}
项目:DecompiledMinecraft    文件:EntityZombie.java   
/**
 * Called when a player interacts with a mob. e.g. gets milk from a cow, gets into the saddle on a pig.
 */
public boolean interact(EntityPlayer player)
{
    ItemStack itemstack = player.getCurrentEquippedItem();

    if (itemstack != null && itemstack.getItem() == Items.golden_apple && itemstack.getMetadata() == 0 && this.isVillager() && this.isPotionActive(Potion.weakness))
    {
        if (!player.capabilities.isCreativeMode)
        {
            --itemstack.stackSize;
        }

        if (itemstack.stackSize <= 0)
        {
            player.inventory.setInventorySlotContents(player.inventory.currentItem, (ItemStack)null);
        }

        if (!this.worldObj.isRemote)
        {
            this.startConversion(this.rand.nextInt(2401) + 3600);
        }

        return true;
    }
    else
    {
        return false;
    }
}
项目:DecompiledMinecraft    文件:EntityZombie.java   
/**
 * Starts converting this zombie into a villager. The zombie converts into a villager after the specified time in
 * ticks.
 */
protected void startConversion(int ticks)
{
    this.conversionTime = ticks;
    this.getDataWatcher().updateObject(14, Byte.valueOf((byte)1));
    this.removePotionEffect(Potion.weakness.id);
    this.addPotionEffect(new PotionEffect(Potion.damageBoost.id, ticks, Math.min(this.worldObj.getDifficulty().getDifficultyId() - 1, 0)));
    this.worldObj.setEntityState(this, (byte)16);
}
项目:BaseClient    文件:EntityWitch.java   
/**
 * Attack the specified entity using a ranged attack.
 */
public void attackEntityWithRangedAttack(EntityLivingBase p_82196_1_, float p_82196_2_)
{
    if (!this.getAggressive())
    {
        EntityPotion entitypotion = new EntityPotion(this.worldObj, this, 32732);
        double d0 = p_82196_1_.posY + (double)p_82196_1_.getEyeHeight() - 1.100000023841858D;
        entitypotion.rotationPitch -= -20.0F;
        double d1 = p_82196_1_.posX + p_82196_1_.motionX - this.posX;
        double d2 = d0 - this.posY;
        double d3 = p_82196_1_.posZ + p_82196_1_.motionZ - this.posZ;
        float f = MathHelper.sqrt_double(d1 * d1 + d3 * d3);

        if (f >= 8.0F && !p_82196_1_.isPotionActive(Potion.moveSlowdown))
        {
            entitypotion.setPotionDamage(32698);
        }
        else if (p_82196_1_.getHealth() >= 8.0F && !p_82196_1_.isPotionActive(Potion.poison))
        {
            entitypotion.setPotionDamage(32660);
        }
        else if (f <= 3.0F && !p_82196_1_.isPotionActive(Potion.weakness) && this.rand.nextFloat() < 0.25F)
        {
            entitypotion.setPotionDamage(32696);
        }

        entitypotion.setThrowableHeading(d1, d2 + (double)(f * 0.2F), d3, 0.75F, 8.0F);
        this.worldObj.spawnEntityInWorld(entitypotion);
    }
}
项目:UniversalRemote    文件:EntityPlayerMPProxy.java   
@Override
public PotionEffect getActivePotionEffect(Potion potionIn) {
    if (m_realPlayer == null) {
        return super.getActivePotionEffect(potionIn);
    } else {
        syncToRealPlayer();
        return syncPublicFieldsFromRealAndReturn(m_realPlayer.getActivePotionEffect(potionIn));
    }
}
项目:UniversalRemote    文件:EntityPlayerProxy.java   
@Override
public Map<Potion, PotionEffect> getActivePotionMap() {
    if (m_realPlayer == null) {
        return super.getActivePotionMap();
    } else {
        return m_realPlayer.getActivePotionMap();
    }
}
项目:BaseClient    文件:EntityLivingBase.java   
protected void onChangedPotionEffect(PotionEffect id, boolean p_70695_2_)
{
    this.potionsNeedUpdate = true;

    if (p_70695_2_ && !this.worldObj.isRemote)
    {
        Potion.potionTypes[id.getPotionID()].removeAttributesModifiersFromEntity(this, this.getAttributeMap(), id.getAmplifier());
        Potion.potionTypes[id.getPotionID()].applyAttributesModifiersToEntity(this, this.getAttributeMap(), id.getAmplifier());
    }
}
项目:UniversalRemote    文件:EntityPlayerMPProxy.java   
@Override
public void removePotionEffect(Potion potionIn) {
    if (m_realPlayer == null) {
        super.removePotionEffect(potionIn);
    } else {
        syncToRealPlayer();
        m_realPlayer.removePotionEffect(potionIn);
        syncPublicFieldsFromReal();
    }
}
项目:Thermionics    文件:ItemMistcloak.java   
public ItemMistcloak() {
    super("cloak");
    this.setHasSubtypes(true);
    this.setMaxDamage(0);
    this.setMaxStackSize(1);
    this.setCreativeTab(Thermionics.TAB_THERMIONICS);

    POTION_INVIS = Potion.getPotionFromResourceLocation("minecraft:invisibility");
}