Package org.bukkit.entity
Interface MushroomCow
- All Superinterfaces:
Ageable
,Animals
,Attributable
,Audience
,Breedable
,CommandSender
,Cow
,Creature
,Damageable
,Entity
,Frictional
,HoverEventSource<HoverEvent.ShowEntity>
,LivingEntity
,Lootable
,Metadatable
,Mob
,Nameable
,Permissible
,PersistentDataHolder
,Pointered
,ProjectileSource
,ServerOperator
,Shearable
,Sound.Emitter
Represents a mushroom
Cow
-
Nested Class Summary
Modifier and TypeInterfaceDescriptionstatic enum
Represents the variant of a cow - ie its color.Nested classes/interfaces inherited from interface org.bukkit.entity.Entity
Entity.Spigot
-
Method Summary
Modifier and TypeMethodDescriptionboolean
addEffectToNextStew
(SuspiciousEffectEntry suspiciousEffectEntry, boolean overwrite) Adds a suspicious effect entry to be applied to the next suspicious stew received from milking thisMushroomCow
.boolean
addEffectToNextStew
(@NotNull PotionEffect effect, boolean overwrite) Deprecated, for removal: This API element is subject to removal in a future version.void
Removes 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 int
Deprecated, 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 PotionEffectType
Deprecated, 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.boolean
Checks for a specific custom potion effect type to be applied to the next suspicious stew received from milking thisMushroomCow
.boolean
Checks for the presence of custom potion effects to be applied to the next suspicious stew received from milking thisMushroomCow
.boolean
Removes a custom potion effect from being applied to the next suspicious stew received from milking thisMushroomCow
.default void
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)
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)
void
setStewEffects
(@NotNull List<SuspiciousEffectEntry> effects) Sets effects applied to stew items for this mushroom cow.void
setVariant
(@NotNull MushroomCow.Variant variant) Set the variant of this cow.Methods inherited from interface org.bukkit.entity.Ageable
getAge, isAdult, setAdult, setAge, setBaby
Methods inherited from interface org.bukkit.entity.Animals
getBreedCause, getLoveModeTicks, isBreedItem, isBreedItem, isLoveMode, setBreedCause, setLoveModeTicks
Methods inherited from interface org.bukkit.attribute.Attributable
getAttribute, registerAttribute
Methods 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, stopSound
Methods inherited from interface org.bukkit.entity.Breedable
canBreed, getAgeLock, setAgeLock, setBreed
Methods inherited from interface org.bukkit.command.CommandSender
getName, name, sendMessage, sendMessage, sendMessage, sendMessage, sendMessage, sendMessage, sendMessage, sendPlainMessage, sendRichMessage, sendRichMessage
Methods inherited from interface org.bukkit.entity.Damageable
damage, damage, damage, getAbsorptionAmount, getHealth, getMaxHealth, heal, heal, resetMaxHealth, setAbsorptionAmount, setHealth, setMaxHealth
Methods inherited from interface org.bukkit.entity.Entity
addPassenger, addScoreboardTag, asHoverEvent, 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, getPistonMoveReaction, getPitch, getPortalCooldown, getPose, getScheduler, getScoreboardEntryName, getScoreboardTags, getServer, getSpawnCategory, getSwimHighSpeedSplashSound, getSwimSound, getSwimSplashSound, getTicksLived, getTrackedBy, getTrackedPlayers, getType, getUniqueId, getVehicle, getVelocity, getWidth, getWorld, getX, getY, getYaw, getZ, hasFixedPose, hasGravity, hasNoPhysics, isCustomNameVisible, isDead, isEmpty, isFreezeTickingLocked, isFrozen, isGlowing, isInBubbleColumn, isInLava, isInPowderedSnow, isInRain, isInsideVehicle, isInvulnerable, isInWater, isInWaterOrBubbleColumn, isInWaterOrRain, isInWaterOrRainOrBubbleColumn, isInWorld, isOnGround, isPersistent, isSilent, isSneaking, isTicking, isUnderWater, isValid, isVisibleByDefault, isVisualFire, leaveVehicle, lockFreezeTicks, playEffect, remove, removePassenger, removeScoreboardTag, setCustomNameVisible, setFallDistance, setFireTicks, setFreezeTicks, setGlowing, setGravity, setInvulnerable, setLastDamageCause, setNoPhysics, setPassenger, setPersistent, setPortalCooldown, setPose, setPose, setRotation, setSilent, setSneaking, setTicksLived, setVelocity, setVisibleByDefault, setVisualFire, spawnAt, spawnAt, spigot, teamDisplayName, teleport, teleport, teleport, teleport, teleport, teleport, teleportAsync, teleportAsync, teleportAsync, wouldCollideUsing
Methods inherited from interface io.papermc.paper.entity.Frictional
getFrictionState, setFrictionState
Methods inherited from interface net.kyori.adventure.text.event.HoverEventSource
asHoverEvent
Methods 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, 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, isInvisible, 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, setInvisible, setItemInUseTicks, setJumping, setKiller, setLastDamage, setLeashHolder, setMaximumAir, setMaximumNoDamageTicks, setMemory, setNextArrowRemoval, setNextBeeStingerRemoval, setNoActionTicks, setNoDamageTicks, setRemainingAir, setRemoveWhenFarAway, setShieldBlockingDelay, setSwimming, startUsingItem, swingHand, swingMainHand, swingOffHand
Methods inherited from interface org.bukkit.loot.Lootable
clearLootTable, getLootTable, getSeed, hasLootTable, setLootTable, setSeed
Methods inherited from interface org.bukkit.metadata.Metadatable
getMetadata, hasMetadata, removeMetadata, setMetadata
Methods 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, setTarget
Methods inherited from interface org.bukkit.Nameable
customName, customName, getCustomName, setCustomName
Methods inherited from interface org.bukkit.permissions.Permissible
addAttachment, addAttachment, addAttachment, addAttachment, getEffectivePermissions, hasPermission, hasPermission, isPermissionSet, isPermissionSet, permissionValue, permissionValue, recalculatePermissions, removeAttachment
Methods inherited from interface org.bukkit.persistence.PersistentDataHolder
getPersistentDataContainer
Methods inherited from interface net.kyori.adventure.pointer.Pointered
get, getOrDefault, getOrDefaultFrom, pointers
Methods inherited from interface org.bukkit.projectiles.ProjectileSource
launchProjectile, launchProjectile, launchProjectile
Methods inherited from interface org.bukkit.permissions.ServerOperator
isOp, setOp
Methods 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.