Package org.bukkit.entity
Interface MushroomCow
- All Superinterfaces:
AbstractCow,Ageable,Animals,Attributable,Audience,Breedable,CommandSender,Creature,Damageable,DataComponentView,Entity,Frictional,HoverEventSource<HoverEvent.ShowEntity>,Leashable,LivingEntity,Lootable,Metadatable,Mob,Nameable,Permissible,PersistentDataHolder,PersistentDataViewHolder,Pointered,ProjectileSource,ServerOperator,Shearable,Sound.Emitter
Represents a mushroom
Cow-
Nested Class Summary
Nested ClassesModifier and TypeInterfaceDescriptionstatic enumRepresents the variant of a cow - ie its color.Nested classes/interfaces inherited from interface org.bukkit.entity.Entity
Entity.Spigot -
Method Summary
Modifier and TypeMethodDescriptionbooleanaddEffectToNextStew(SuspiciousEffectEntry suspiciousEffectEntry, boolean overwrite) Adds a suspicious effect entry to be applied to the next suspicious stew received from milking thisMushroomCow.booleanaddEffectToNextStew(@NotNull PotionEffect effect, boolean overwrite) Deprecated, for removal: This API element is subject to removal in a future version.voidRemoves all custom potion effects to be applied to the next suspicious stew received from milking thisMushroomCow.Gets an immutable list containing all custom potion effects applied to the next suspicious stew received from milking thisMushroomCow.default intDeprecated, for removal: This API element is subject to removal in a future version.Mushroom cows can now hold multiple effects, usegetStewEffects()Returns an immutable collection of the effects applied to stew items for this mushroom cow.default PotionEffectTypeDeprecated, for removal: This API element is subject to removal in a future version.Mushroom cows can now hold multiple effects, usegetStewEffects()Get the variant of this cow.booleanChecks for a specific custom potion effect type to be applied to the next suspicious stew received from milking thisMushroomCow.booleanChecks for the presence of custom potion effects to be applied to the next suspicious stew received from milking thisMushroomCow.booleanRemoves a custom potion effect from being applied to the next suspicious stew received from milking thisMushroomCow.default voidDeprecated, for removal: This API element is subject to removal in a future version.Mushroom cows can now hold multiple effects, usesetStewEffects(java.util.List)default voidsetStewEffectDuration(int duration) Deprecated, for removal: This API element is subject to removal in a future version.Mushroom cows can now hold multiple effects, usesetStewEffects(java.util.List)voidsetStewEffects(@NotNull List<SuspiciousEffectEntry> effects) Sets effects applied to stew items for this mushroom cow.voidsetVariant(@NotNull MushroomCow.Variant variant) Set the variant of this cow.Methods inherited from interface org.bukkit.entity.Ageable
getAge, isAdult, setAdult, setAge, setBabyMethods inherited from interface org.bukkit.entity.Animals
getBreedCause, getLoveModeTicks, isBreedItem, isBreedItem, isLoveMode, setBreedCause, setLoveModeTicksMethods inherited from interface org.bukkit.attribute.Attributable
getAttribute, registerAttributeMethods inherited from interface net.kyori.adventure.audience.Audience
clearResourcePacks, clearTitle, deleteMessage, deleteMessage, filterAudience, forEachAudience, hideBossBar, openBook, openBook, playSound, playSound, playSound, removeResourcePacks, removeResourcePacks, removeResourcePacks, removeResourcePacks, removeResourcePacks, resetTitle, sendActionBar, sendActionBar, sendMessage, sendMessage, sendMessage, sendMessage, sendMessage, sendMessage, sendMessage, sendMessage, sendMessage, sendMessage, sendMessage, sendMessage, sendMessage, sendMessage, sendPlayerListFooter, sendPlayerListFooter, sendPlayerListHeader, sendPlayerListHeader, sendPlayerListHeaderAndFooter, sendPlayerListHeaderAndFooter, sendResourcePacks, sendResourcePacks, sendResourcePacks, sendTitlePart, showBossBar, showTitle, stopSound, stopSoundMethods inherited from interface org.bukkit.entity.Breedable
canBreed, getAgeLock, setAgeLock, setBreedMethods inherited from interface org.bukkit.command.CommandSender
getName, name, sendMessage, sendMessage, sendMessage, sendMessage, sendMessage, sendMessage, sendMessage, sendPlainMessage, sendRichMessage, sendRichMessageMethods inherited from interface org.bukkit.entity.Damageable
damage, damage, damage, getAbsorptionAmount, getHealth, getMaxHealth, heal, heal, resetMaxHealth, setAbsorptionAmount, setHealth, setMaxHealthMethods inherited from interface io.papermc.paper.datacomponent.DataComponentView
getData, getDataOrDefault, hasDataMethods inherited from interface org.bukkit.entity.Entity
addPassenger, addScoreboardTag, asHoverEvent, broadcastHurtAnimation, collidesAt, copy, copy, createSnapshot, eject, fromMobSpawner, getAsString, getBoundingBox, getChunk, getEntityId, getEntitySpawnReason, getFacing, getFallDistance, getFireTicks, getFreezeTicks, getHeight, getLastDamageCause, getLocation, getLocation, getMaxFireTicks, getMaxFreezeTicks, getNearbyEntities, getOrigin, getPassenger, getPassengers, getPickItemStack, getPistonMoveReaction, getPitch, getPortalCooldown, getPose, getScheduler, getScoreboardEntryName, getScoreboardTags, getServer, getSpawnCategory, getSwimHighSpeedSplashSound, getSwimSound, getSwimSplashSound, getTicksLived, getTrackedBy, getTrackedPlayers, getType, getUniqueId, getVehicle, getVelocity, getVisualFire, getWidth, getWorld, getX, getY, getYaw, getZ, hasFixedPose, hasGravity, hasNoPhysics, isCustomNameVisible, isDead, isEmpty, isFreezeTickingLocked, isFrozen, isGlowing, isInBubbleColumn, isInLava, isInPowderedSnow, isInRain, isInsideVehicle, isInvisible, isInvulnerable, isInWater, isInWaterOrBubbleColumn, isInWaterOrRain, isInWaterOrRainOrBubbleColumn, isInWorld, isOnGround, isPersistent, isSilent, isSneaking, isTicking, isTrackedBy, isUnderWater, isValid, isVisibleByDefault, isVisualFire, leaveVehicle, lockFreezeTicks, lookAt, lookAt, playEffect, remove, removePassenger, removeScoreboardTag, setCustomNameVisible, setFallDistance, setFireTicks, setFreezeTicks, setGlowing, setGravity, setInvisible, setInvulnerable, setLastDamageCause, setNoPhysics, setPassenger, setPersistent, setPortalCooldown, setPose, setPose, setRotation, setSilent, setSneaking, setTicksLived, setVelocity, setVisibleByDefault, setVisualFire, setVisualFire, spawnAt, spawnAt, spigot, teamDisplayName, teleport, teleport, teleport, teleport, teleport, teleport, teleportAsync, teleportAsync, teleportAsync, wouldCollideUsingMethods inherited from interface io.papermc.paper.entity.Frictional
getFrictionState, setFrictionStateMethods inherited from interface net.kyori.adventure.text.event.HoverEventSource
asHoverEventMethods inherited from interface io.papermc.paper.entity.Leashable
getLeashHolder, isLeashed, setLeashHolderMethods inherited from interface org.bukkit.entity.LivingEntity
addPotionEffect, addPotionEffect, addPotionEffects, attack, broadcastSlotBreak, broadcastSlotBreak, canBreatheUnderwater, canUseEquipmentSlot, clearActiveItem, clearActivePotionEffects, completeUsingActiveItem, damageItemStack, damageItemStack, getActiveItem, getActiveItemHand, getActiveItemRemainingTime, getActiveItemUsedTime, getActivePotionEffects, getArrowCooldown, getArrowsInBody, getArrowsStuck, getBeeStingerCooldown, getBeeStingersInBody, getBodyYaw, getCanPickupItems, getCategory, getCollidableExemptions, getCombatTracker, getDeathSound, getDrinkingSound, getEatingSound, getEyeHeight, getEyeHeight, getEyeLocation, getFallDamageSound, getFallDamageSoundBig, getFallDamageSoundSmall, getForwardsMovement, getHandRaised, getHandRaisedTime, getHurtDirection, getHurtSound, getItemInUse, getItemInUseTicks, getItemUseRemainingTime, getKiller, getLastDamage, getLastTwoTargetBlocks, getLeashHolder, getLineOfSight, getMaximumAir, getMaximumNoDamageTicks, getMemory, getNextArrowRemoval, getNextBeeStingerRemoval, getNoActionTicks, getNoDamageTicks, getPotionEffect, getRemainingAir, getRemoveWhenFarAway, getShieldBlockingDelay, getSidewaysMovement, getTargetBlock, getTargetBlock, getTargetBlock, getTargetBlockExact, getTargetBlockExact, getTargetBlockFace, getTargetBlockFace, getTargetBlockFace, getTargetBlockInfo, getTargetBlockInfo, getTargetEntity, getTargetEntity, getTargetEntityInfo, getTargetEntityInfo, getUpwardsMovement, hasActiveItem, hasAI, hasLineOfSight, hasLineOfSight, hasPotionEffect, isClimbing, isCollidable, isGliding, isHandRaised, isJumping, isLeashed, isRiptiding, isSleeping, isSwimming, knockback, playHurtAnimation, playPickupItemAnimation, playPickupItemAnimation, rayTraceBlocks, rayTraceBlocks, rayTraceEntities, rayTraceEntities, removePotionEffect, setActiveItemRemainingTime, setAI, setArrowCooldown, setArrowsInBody, setArrowsInBody, setArrowsStuck, setBeeStingerCooldown, setBeeStingersInBody, setBodyYaw, setCanPickupItems, setCollidable, setGliding, setHurtDirection, setItemInUseTicks, setJumping, setKiller, setLastDamage, setLeashHolder, setMaximumAir, setMaximumNoDamageTicks, setMemory, setNextArrowRemoval, setNextBeeStingerRemoval, setNoActionTicks, setNoDamageTicks, setRemainingAir, setRemoveWhenFarAway, setRiptiding, setShieldBlockingDelay, setSwimming, startUsingItem, swingHand, swingMainHand, swingOffHandMethods inherited from interface org.bukkit.loot.Lootable
clearLootTable, getLootTable, getSeed, hasLootTable, setLootTable, setSeedMethods inherited from interface org.bukkit.metadata.Metadatable
getMetadata, hasMetadata, removeMetadata, setMetadataMethods inherited from interface org.bukkit.entity.Mob
getAmbientSound, getEquipment, getHeadRotationSpeed, getMaxHeadPitch, getPathfinder, getPossibleExperienceReward, getTarget, isAggressive, isAware, isInDaylight, isLeftHanded, lookAt, lookAt, lookAt, lookAt, lookAt, lookAt, setAggressive, setAware, setLeftHanded, setLootTable, setTargetMethods inherited from interface org.bukkit.Nameable
customName, customName, getCustomName, setCustomNameMethods inherited from interface org.bukkit.permissions.Permissible
addAttachment, addAttachment, addAttachment, addAttachment, getEffectivePermissions, hasPermission, hasPermission, isPermissionSet, isPermissionSet, permissionValue, permissionValue, recalculatePermissions, removeAttachmentMethods inherited from interface org.bukkit.persistence.PersistentDataHolder
getPersistentDataContainerMethods inherited from interface net.kyori.adventure.pointer.Pointered
get, getOrDefault, getOrDefaultFrom, pointersMethods inherited from interface org.bukkit.projectiles.ProjectileSource
launchProjectile, launchProjectile, launchProjectileMethods inherited from interface org.bukkit.permissions.ServerOperator
isOp, setOpMethods inherited from interface io.papermc.paper.entity.Shearable
readyToBeSheared, shear, shear
-
Method Details
-
hasEffectsForNextStew
boolean hasEffectsForNextStew()Checks for the presence of custom potion effects to be applied to the next suspicious stew received from milking thisMushroomCow.- Returns:
- true if custom potion effects are applied to the stew
-
getEffectsForNextStew
Gets an immutable list containing all custom potion effects applied to the next suspicious stew received from milking thisMushroomCow.Plugins should check that hasCustomEffects() returns true before calling this method.
- Returns:
- an immutable list of custom potion effects
-
addEffectToNextStew
@Deprecated(forRemoval=true, since="1.20.2") boolean addEffectToNextStew(@NotNull @NotNull PotionEffect effect, boolean overwrite) Deprecated, for removal: This API element is subject to removal in a future version.useaddEffectToNextStew(io.papermc.paper.potion.SuspiciousEffectEntry, boolean)as PotionEffect suggests that all attributes are used. In fact, only the PotionEffectType and the duration are used.Adds a custom potion effect to be applied to the next suspicious stew received from milking thisMushroomCow.- Parameters:
effect- the potion effect to addoverwrite- true if any existing effect of the same type should be overwritten- Returns:
- true if the effects to be applied to the suspicious stew changed as a result of this call
-
addEffectToNextStew
boolean addEffectToNextStew(@NotNull SuspiciousEffectEntry suspiciousEffectEntry, boolean overwrite) Adds a suspicious effect entry to be applied to the next suspicious stew received from milking thisMushroomCow.- Parameters:
suspiciousEffectEntry- the suspicious effect entry to addoverwrite- true if any existing effect of the same type should be overwritten- Returns:
- true if the effects to be applied to the suspicious stew changed as a result of this call
-
removeEffectFromNextStew
Removes a custom potion effect from being applied to the next suspicious stew received from milking thisMushroomCow.- Parameters:
type- the potion effect type to remove- Returns:
- true if the effects to be applied to the suspicious stew changed as a result of this call
-
hasEffectForNextStew
Checks for a specific custom potion effect type to be applied to the next suspicious stew received from milking thisMushroomCow.- Parameters:
type- the potion effect type to check for- Returns:
- true if the suspicious stew to be generated has this effect
-
clearEffectsForNextStew
void clearEffectsForNextStew()Removes all custom potion effects to be applied to the next suspicious stew received from milking thisMushroomCow. -
getVariant
Get the variant of this cow.- Returns:
- cow variant
-
setVariant
Set the variant of this cow.- Parameters:
variant- cow variant
-
getStewEffectDuration
@Deprecated(forRemoval=true, since="1.20.2") @Contract("-> fail") default int getStewEffectDuration()Deprecated, for removal: This API element is subject to removal in a future version.Mushroom cows can now hold multiple effects, usegetStewEffects()Gets how long the effect applied to stew from this mushroom cow is.- Returns:
- duration of the effect (in ticks)
-
setStewEffectDuration
@Deprecated(forRemoval=true, since="1.20.2") @Contract("_ -> fail") default void setStewEffectDuration(int duration) Deprecated, for removal: This API element is subject to removal in a future version.Mushroom cows can now hold multiple effects, usesetStewEffects(java.util.List)Sets how long the effect applied to stew from this mushroom cow is.- Parameters:
duration- duration of the effect (in ticks)
-
getStewEffectType
@Deprecated(forRemoval=true, since="1.20.2") @Contract("-> fail") default PotionEffectType getStewEffectType()Deprecated, for removal: This API element is subject to removal in a future version.Mushroom cows can now hold multiple effects, usegetStewEffects()Gets the type of effect applied to stew from this mushroom cow is.- Returns:
- effect type, or null if an effect is currently not set
- Throws:
UnsupportedOperationException
-
setStewEffect
@Deprecated(forRemoval=true, since="1.20.2") @Contract("_ -> fail") default void setStewEffect(@Nullable PotionEffectType type) Deprecated, for removal: This API element is subject to removal in a future version.Mushroom cows can now hold multiple effects, usesetStewEffects(java.util.List)Sets the type of effect applied to stew from this mushroom cow is.- Parameters:
type- new effect type or null if this cow does not give effects- Throws:
UnsupportedOperationException
-
getStewEffects
@NotNull @Unmodifiable List<SuspiciousEffectEntry> getStewEffects()Returns an immutable collection of the effects applied to stew items for this mushroom cow.- Returns:
- immutable effect entry collection
-
setStewEffects
Sets effects applied to stew items for this mushroom cow.- Parameters:
effects- effect entry list
-
addEffectToNextStew(io.papermc.paper.potion.SuspiciousEffectEntry, boolean)as PotionEffect suggests that all attributes are used.