Minecraft 1.12-pre2 API Changes

By: md_5 <git@md-5.net>
This commit is contained in:
Bukkit/Spigot
2017-05-14 12:00:00 +10:00
parent 05d2efaa86
commit 75a18fd5ad
29 changed files with 785 additions and 36 deletions

View File

@@ -165,6 +165,10 @@ public enum EntityType {
* @see Vindicator
*/
VINDICATOR("vindication_illager", Vindicator.class, 36),
/**
* @see Illusioner
*/
ILLUSIONER("illusion_illager", Illusioner.class, 37),
/**
* @see CommandMinecart
*/
@@ -232,6 +236,7 @@ public enum EntityType {
POLAR_BEAR("polar_bear", PolarBear.class, 102),
LLAMA("llama", Llama.class, 103),
LLAMA_SPIT("llama_spit", LlamaSpit.class, 104),
PARROT("parrot", Parrot.class, 105),
VILLAGER("villager", Villager.class, 120),
ENDER_CRYSTAL("ender_crystal", EnderCrystal.class, 200),
// These don't have an entity ID in nms.EntityTypes.

View File

@@ -1,9 +1,9 @@
package org.bukkit.entity;
/**
* Represents an Evoker.
* Represents an Evoker "Illager".
*/
public interface Evoker extends Monster {
public interface Evoker extends Spellcaster {
/**
* Represents the current spell the Evoker is using.
@@ -29,7 +29,15 @@ public interface Evoker extends Monster {
/**
* The "wololo" spell.
*/
WOLOLO;
WOLOLO,
/**
* The spell that makes the casting entity invisible.
*/
DISAPPEAR,
/**
* The spell that makes the target blind.
*/
BLINDNESS;
}
/**

View File

@@ -255,4 +255,66 @@ public interface HumanEntity extends LivingEntity, AnimalTamer, Permissible, Inv
* @return Experience required to level up
*/
public int getExpToLevel();
/**
* Gets the entity currently perched on the left shoulder or null if no
* entity.
* <br>
* The returned entity will not be spawned within the world, so most
* operations are invalid unless the entity is first spawned in.
*
* @return left shoulder entity
* @deprecated There are currently no well defined semantics regarding
* serialized entities in Bukkit. Use with care.
*/
@Deprecated
public Entity getShoulderEntityLeft();
/**
* Sets the entity currently perched on the left shoulder, or null to
* remove. This method will remove the entity from the world.
* <br>
* Note that only a copy of the entity will be set to display on the
* shoulder.
* <br>
* Also note that the client will currently only render {@link Parrot}
* entities.
*
* @param entity left shoulder entity
* @deprecated There are currently no well defined semantics regarding
* serialized entities in Bukkit. Use with care.
*/
@Deprecated
public void setShoulderEntityLeft(Entity entity);
/**
* Gets the entity currently perched on the right shoulder or null if no
* entity.
* <br>
* The returned entity will not be spawned within the world, so most
* operations are invalid unless the entity is first spawned in.
*
* @return right shoulder entity
* @deprecated There are currently no well defined semantics regarding
* serialized entities in Bukkit. Use with care.
*/
@Deprecated
public Entity getShoulderEntityRight();
/**
* Sets the entity currently perched on the right shoulder, or null to
* remove. This method will remove the entity from the world.
* <br>
* Note that only a copy of the entity will be set to display on the
* shoulder.
* <br>
* Also note that the client will currently only render {@link Parrot}
* entities.
*
* @param entity right shoulder entity
* @deprecated There are currently no well defined semantics regarding
* serialized entities in Bukkit. Use with care.
*/
@Deprecated
public void setShoulderEntityRight(Entity entity);
}

View File

@@ -0,0 +1,6 @@
package org.bukkit.entity;
/**
* Represents a type of "Illager".
*/
public interface Illager extends Monster { }

View File

@@ -0,0 +1,6 @@
package org.bukkit.entity;
/**
* Represents an Illusioner "Illager".
*/
public interface Illusioner extends Spellcaster { }

View File

@@ -0,0 +1,47 @@
package org.bukkit.entity;
/**
* Represents a Parrot.
*/
public interface Parrot extends Animals, Tameable {
/**
* Get the variant of this parrot.
*
* @return parrot variant
*/
public Variant getVariant();
/**
* Set the variant of this parrot.
*
* @param variant parrot variant
*/
public void setVariant(Variant variant);
/**
* Represents the variant of a parrot - ie its color.
*/
public enum Variant {
/**
* Classic parrot - red with colored wingtips.
*/
RED,
/**
* Royal blue colored parrot.
*/
BLUE,
/**
* Green colored parrot.
*/
GREEN,
/**
* Cyan colored parrot.
*/
CYAN,
/**
* Gray colored parrot.
*/
GRAY;
}
}

View File

@@ -16,6 +16,8 @@ import org.bukkit.Sound;
import org.bukkit.SoundCategory;
import org.bukkit.Statistic;
import org.bukkit.WeatherType;
import org.bukkit.advancement.Advancement;
import org.bukkit.advancement.AdvancementProgress;
import org.bukkit.command.CommandSender;
import org.bukkit.conversations.Conversable;
import org.bukkit.event.player.PlayerResourcePackStatusEvent;
@@ -1388,4 +1390,11 @@ public interface Player extends HumanEntity, Conversable, CommandSender, Offline
*/
public <T> void spawnParticle(Particle particle, double x, double y, double z, int count, double offsetX, double offsetY, double offsetZ, double extra, T data);
/**
* Return the player's progression on the specified advancement.
*
* @param advancement advancement
* @return object detailing the player's progress
*/
public AdvancementProgress getAdvancementProgress(Advancement advancement);
}

View File

@@ -0,0 +1,52 @@
package org.bukkit.entity;
/**
* Represents a spell casting "Illager".
*/
public interface Spellcaster extends Illager {
/**
* Represents the current spell the entity is using.
*/
public enum Spell {
/**
* No spell is being used..
*/
NONE,
/**
* The spell that summons Vexes.
*/
SUMMON_VEX,
/**
* The spell that summons Fangs.
*/
FANGS,
/**
* The "wololo" spell.
*/
WOLOLO,
/**
* The spell that makes the casting entity invisible.
*/
DISAPPEAR,
/**
* The spell that makes the target blind.
*/
BLINDNESS;
}
/**
* Gets the {@link Spell} the entity is currently using.
*
* @return the current spell
*/
Spell getSpell();
/**
* Sets the {@link Spell} the entity is currently using.
*
* @param spell the spell the entity should be using
*/
void setSpell(Spell spell);
}

View File

@@ -3,4 +3,4 @@ package org.bukkit.entity;
/**
* Represents a Vindicator.
*/
public interface Vindicator extends Monster { }
public interface Vindicator extends Illager { }