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 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 Ageable
getAge, getAgeLock, isAdult, setAdult, setAge, setAgeLock, setBabyMethods inherited from interface Animals
getBreedCause, getLoveModeTicks, isBreedItem, isBreedItem, isLoveMode, setBreedCause, setLoveModeTicksMethods inherited from interface Attributable
getAttribute, registerAttributeMethods inherited from interface Audience
clearResourcePacks, clearTitle, closeDialog, 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, showDialog, showTitle, stopSound, stopSoundMethods inherited from interface CommandSender
getName, name, sendMessage, sendMessage, sendMessage, sendMessage, sendMessage, sendMessage, sendMessage, sendPlainMessage, sendRichMessage, sendRichMessageMethods inherited from interface Damageable
damage, damage, damage, getAbsorptionAmount, getHealth, getMaxHealth, heal, heal, resetMaxHealth, setAbsorptionAmount, setHealth, setMaxHealthMethods inherited from interface DataComponentView
getData, getDataOrDefault, hasDataMethods inherited from interface 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, teleportAsync, wouldCollideUsingMethods inherited from interface Frictional
getFrictionState, setFrictionStateMethods inherited from interface HoverEventSource
asHoverEventMethods inherited from interface Leashable
getLeashHolder, isLeashed, setLeashHolderMethods inherited from interface 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, getWaypointColor, getWaypointStyle, 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, setWaypointColor, setWaypointStyle, startUsingItem, swingHand, swingMainHand, swingOffHandMethods inherited from interface Lootable
clearLootTable, getLootTable, getSeed, hasLootTable, setLootTable, setSeedMethods inherited from interface Metadatable
getMetadata, hasMetadata, removeMetadata, setMetadataMethods inherited from interface Mob
getAmbientSound, getDespawnInPeacefulOverride, getEquipment, getHeadRotationSpeed, getMaxHeadPitch, getPathfinder, getPossibleExperienceReward, getTarget, isAggressive, isAware, isInDaylight, isLeftHanded, lookAt, lookAt, lookAt, lookAt, lookAt, lookAt, setAggressive, setAware, setDespawnInPeacefulOverride, setLeftHanded, setLootTable, setTarget, shouldDespawnInPeacefulMethods inherited from interface Nameable
customName, customName, getCustomName, setCustomNameMethods inherited from interface Permissible
addAttachment, addAttachment, addAttachment, addAttachment, getEffectivePermissions, hasPermission, hasPermission, isPermissionSet, isPermissionSet, permissionValue, permissionValue, recalculatePermissions, removeAttachmentMethods inherited from interface PersistentDataHolder
getPersistentDataContainerMethods inherited from interface Pointered
get, getOrDefault, getOrDefaultFrom, pointersMethods inherited from interface ProjectileSource
launchProjectile, launchProjectile, launchProjectileMethods inherited from interface ServerOperator
isOp, setOpMethods inherited from interface 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.