Files
Paper/paper-api/src/main/java/org/bukkit/entity/ZombieVillager.java
Aikar 2825ece820 Fix Spigot annotation mistakes
while some of these may of been true, they are extreme cases and cause
a ton of noise to plugin developers.

Use ApiStatus.Internal instead of Deprecated for actual internal API
that continues to have use (internally).

These do not help plugin developers if they bring moise noise than value.
2019-03-24 18:39:01 -04:00

94 lines
2.4 KiB
Java

package org.bukkit.entity;
import org.bukkit.OfflinePlayer;
import org.jetbrains.annotations.NotNull;
import org.jetbrains.annotations.Nullable;
/**
* Represents a {@link Zombie} which was once a {@link Villager}.
*/
public interface ZombieVillager extends Zombie {
/**
* Sets the villager profession of this zombie.
*/
@Override
void setVillagerProfession(@NotNull Villager.Profession profession); // Paper
/**
* Returns the villager profession of this zombie.
*
* @return the profession
*/
@Override
@NotNull // Paper
Villager.Profession getVillagerProfession();
/**
* Gets the current type of this villager.
*
* @return Current type.
*/
@NotNull
public Villager.Type getVillagerType();
/**
* Sets the new type of this villager.
*
* @param type New type.
*/
public void setVillagerType(@NotNull Villager.Type type);
/**
* Get if this entity is in the process of converting to a Villager as a
* result of being cured.
*
* @return conversion status
*/
@Override
boolean isConverting();
/**
* Gets the amount of ticks until this entity will be converted to a
* Villager as a result of being cured.
*
* When this reaches 0, the entity will be converted.
*
* @return conversion time
* @throws IllegalStateException if {@link #isConverting()} is false.
*/
@Override
int getConversionTime();
/**
* Sets the amount of ticks until this entity will be converted to a
* Villager as a result of being cured.
*
* When this reaches 0, the entity will be converted. A value of less than 0
* will stop the current conversion process without converting the current
* entity.
*
* @param time new conversion time
*/
@Override
void setConversionTime(int time);
/**
* Gets the player who initiated the conversion.
*
* @return the player, or <code>null</code> if the player is unknown or the
* entity isn't converting currently
*/
@Nullable
OfflinePlayer getConversionPlayer();
/**
* Sets the player who initiated the conversion.
* <p>
* This has no effect if this entity isn't converting currently.
*
* @param conversionPlayer the player
*/
void setConversionPlayer(@Nullable OfflinePlayer conversionPlayer);
}