Update to Minecraft 1.15

By: md_5 <git@md-5.net>
This commit is contained in:
Bukkit/Spigot 2019-12-11 09:00:00 +11:00
parent fb6a646cbc
commit 7887b38ac0
21 changed files with 299 additions and 322 deletions

View file

@ -5,7 +5,7 @@
<groupId>org.bukkit</groupId>
<artifactId>bukkit</artifactId>
<version>1.14.4-R0.1-SNAPSHOT</version>
<version>1.15-R0.1-SNAPSHOT</version>
<packaging>jar</packaging>
<name>Bukkit</name>
@ -74,14 +74,14 @@
<dependency>
<groupId>org.yaml</groupId>
<artifactId>snakeyaml</artifactId>
<version>1.23</version>
<version>1.25</version>
<scope>compile</scope>
</dependency>
<!-- annotations -->
<dependency>
<groupId>org.jetbrains</groupId>
<artifactId>annotations-java5</artifactId>
<version>17.0.0</version>
<version>18.0.0</version>
<scope>provided</scope>
</dependency>
<!-- testing -->
@ -100,7 +100,7 @@
<dependency>
<groupId>org.ow2.asm</groupId>
<artifactId>asm-tree</artifactId>
<version>7.1</version>
<version>7.2</version>
<scope>test</scope>
</dependency>
</dependencies>
@ -110,7 +110,7 @@
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<version>3.8.0</version>
<version>3.8.1</version>
<configuration>
<!-- we use the Eclipse compiler as it doesn't need a JDK -->
<compilerId>eclipse</compilerId>
@ -139,7 +139,7 @@
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-shade-plugin</artifactId>
<version>3.1.1</version>
<version>3.2.1</version>
<executions>
<execution>
<phase>package</phase>
@ -167,7 +167,7 @@
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-checkstyle-plugin</artifactId>
<version>3.0.0</version>
<version>3.1.0</version>
<executions>
<execution>
<phase>process-classes</phase>
@ -184,14 +184,14 @@
<dependency>
<groupId>com.puppycrawl.tools</groupId>
<artifactId>checkstyle</artifactId>
<version>8.19</version>
<version>8.27</version>
</dependency>
</dependencies>
</plugin>
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>animal-sniffer-maven-plugin</artifactId>
<version>1.17</version>
<version>1.18</version>
<executions>
<execution>
<phase>process-classes</phase>

View file

@ -1,75 +0,0 @@
package org.bukkit;
import org.jetbrains.annotations.Nullable;
/**
* Represents an achievement, which may be given to players.
* @deprecated future versions of Minecraft do not have achievements
*/
@Deprecated
public enum Achievement {
OPEN_INVENTORY,
MINE_WOOD (OPEN_INVENTORY),
BUILD_WORKBENCH (MINE_WOOD),
BUILD_PICKAXE (BUILD_WORKBENCH),
BUILD_FURNACE (BUILD_PICKAXE),
ACQUIRE_IRON (BUILD_FURNACE),
BUILD_HOE (BUILD_WORKBENCH),
MAKE_BREAD (BUILD_HOE),
BAKE_CAKE (BUILD_HOE),
BUILD_BETTER_PICKAXE (BUILD_PICKAXE),
COOK_FISH (BUILD_FURNACE),
ON_A_RAIL (ACQUIRE_IRON),
BUILD_SWORD (BUILD_WORKBENCH),
KILL_ENEMY (BUILD_SWORD),
KILL_COW (BUILD_SWORD),
FLY_PIG (KILL_COW),
SNIPE_SKELETON (KILL_ENEMY),
GET_DIAMONDS (ACQUIRE_IRON),
NETHER_PORTAL (GET_DIAMONDS),
GHAST_RETURN (NETHER_PORTAL),
GET_BLAZE_ROD (NETHER_PORTAL),
BREW_POTION (GET_BLAZE_ROD),
END_PORTAL (GET_BLAZE_ROD),
THE_END (END_PORTAL),
ENCHANTMENTS (GET_DIAMONDS),
OVERKILL (ENCHANTMENTS),
BOOKCASE (ENCHANTMENTS),
EXPLORE_ALL_BIOMES (END_PORTAL),
SPAWN_WITHER (THE_END),
KILL_WITHER (SPAWN_WITHER),
FULL_BEACON (KILL_WITHER),
BREED_COW (KILL_COW),
DIAMONDS_TO_YOU (GET_DIAMONDS),
OVERPOWERED (BUILD_BETTER_PICKAXE)
;
private final Achievement parent;
private Achievement() {
parent = null;
}
private Achievement(/*@Nullable*/ Achievement parent) {
this.parent = parent;
}
/**
* Returns whether or not this achievement has a parent achievement.
*
* @return whether the achievement has a parent achievement
*/
public boolean hasParent() {
return parent != null;
}
/**
* Returns the parent achievement of this achievement, or null if none.
*
* @return the parent achievement or null
*/
@Nullable
public Achievement getParent() {
return parent;
}
}

View file

@ -358,12 +358,9 @@ public final class Bukkit {
* <p>
* This method may not return objects for offline players.
*
* @deprecated Use {@link #getPlayer(UUID)} as player names are no longer
* guaranteed to be unique
* @param name the name to look up
* @return a player if one was found, null otherwise
*/
@Deprecated
@Nullable
public static Player getPlayer(@NotNull String name) {
return server.getPlayer(name);
@ -372,12 +369,9 @@ public final class Bukkit {
/**
* Gets the player with the exact given name, case insensitive.
*
* @deprecated Use {@link #getPlayer(UUID)} as player names are no longer
* guaranteed to be unique
* @param name Exact name of the player to retrieve
* @return a player object if one was found, null otherwise
*/
@Deprecated
@Nullable
public static Player getPlayerExact(@NotNull String name) {
return server.getPlayerExact(name);
@ -390,12 +384,9 @@ public final class Bukkit {
* This list is not sorted in any particular order. If an exact match is
* found, the returned list will only contain a single result.
*
* @deprecated Use {@link #getPlayer(UUID)} as player names are no longer
* guaranteed to be unique
* @param name the (partial) name to match
* @return list of all possible players
*/
@Deprecated
@NotNull
public static List<Player> matchPlayer(@NotNull String name) {
return server.matchPlayer(name);

View file

@ -121,6 +121,31 @@ public final class GameRule<T> {
*/
public static final GameRule<Boolean> DISABLE_RAIDS = new GameRule<>("disableRaids", Boolean.class);
/**
* Whether phantoms will appear without sleeping or not.
*/
public static final GameRule<Boolean> DO_INSOMNIA = new GameRule<>("doInsomnia", Boolean.class);
/**
* Whether clients will respawn immediately after death or not.
*/
public static final GameRule<Boolean> DO_IMMEDIATE_RESPAWN = new GameRule<>("doImmediateRespawn", Boolean.class);
/**
* Whether drowning damage is enabled or not.
*/
public static final GameRule<Boolean> DROWNING_DAMAGE = new GameRule<>("drowningDamage", Boolean.class);
/**
* Whether fall damage is enabled or not.
*/
public static final GameRule<Boolean> FALL_DAMAGE = new GameRule<>("fallDamage", Boolean.class);
/**
* Whether fire damage is enabled or not.
*/
public static final GameRule<Boolean> FIRE_DAMAGE = new GameRule<>("fireDamage", Boolean.class);
// Numerical rules
/**
* How often a random block tick occurs (such as plant growth, leaf decay,

View file

@ -22,6 +22,7 @@ import org.bukkit.block.data.Snowable;
import org.bukkit.block.data.Waterlogged;
import org.bukkit.block.data.type.Bamboo;
import org.bukkit.block.data.type.Bed;
import org.bukkit.block.data.type.Beehive;
import org.bukkit.block.data.type.Bell;
import org.bukkit.block.data.type.BrewingStand;
import org.bukkit.block.data.type.BubbleColumn;
@ -190,6 +191,10 @@ public enum Material implements Keyed {
BEACON(6608),
BEDROCK(23130),
BEEF(4803),
/**
* BlockData: {@link Beehive}
*/
BEEHIVE(11830, Beehive.class),
BEETROOT(23305),
/**
* BlockData: {@link Ageable}
@ -197,6 +202,11 @@ public enum Material implements Keyed {
BEETROOTS(22075, Ageable.class),
BEETROOT_SEEDS(21282),
BEETROOT_SOUP(16036, 1),
/**
* BlockData: {@link Beehive}
*/
BEE_NEST(8825, Beehive.class),
BEE_SPAWN_EGG(22924),
/**
* BlockData: {@link Bell}
*/
@ -1010,6 +1020,10 @@ public enum Material implements Keyed {
* BlockData: {@link AnaloguePowerable}
*/
HEAVY_WEIGHTED_PRESSURE_PLATE(16970, AnaloguePowerable.class),
HONEYCOMB(9482),
HONEYCOMB_BLOCK(28780),
HONEY_BLOCK(30615),
HONEY_BOTTLE(22927, 16),
/**
* BlockData: {@link Hopper}
*/
@ -3454,7 +3468,9 @@ public enum Material implements Keyed {
case BARRIER:
case BEACON:
case BEDROCK:
case BEEHIVE:
case BEETROOTS:
case BEE_NEST:
case BELL:
case BIRCH_BUTTON:
case BIRCH_DOOR:
@ -3700,6 +3716,8 @@ public enum Material implements Keyed {
case GRINDSTONE:
case HAY_BLOCK:
case HEAVY_WEIGHTED_PRESSURE_PLATE:
case HONEYCOMB_BLOCK:
case HONEY_BLOCK:
case HOPPER:
case HORN_CORAL:
case HORN_CORAL_BLOCK:
@ -4135,6 +4153,7 @@ public enum Material implements Keyed {
case ENCHANTED_GOLDEN_APPLE:
case GOLDEN_APPLE:
case GOLDEN_CARROT:
case HONEY_BOTTLE:
case MELON_SLICE:
case MUSHROOM_STEW:
case MUTTON:
@ -4333,6 +4352,8 @@ public enum Material implements Keyed {
case BARRIER:
case BEACON:
case BEDROCK:
case BEEHIVE:
case BEE_NEST:
case BELL:
case BIRCH_DOOR:
case BIRCH_FENCE:
@ -4534,6 +4555,8 @@ public enum Material implements Keyed {
case GRINDSTONE:
case HAY_BLOCK:
case HEAVY_WEIGHTED_PRESSURE_PLATE:
case HONEYCOMB_BLOCK:
case HONEY_BLOCK:
case HOPPER:
case HORN_CORAL_BLOCK:
case ICE:
@ -5279,6 +5302,8 @@ public enum Material implements Keyed {
case BAMBOO:
case BAMBOO_SAPLING:
case BARREL:
case BEEHIVE:
case BEE_NEST:
case BIRCH_DOOR:
case BIRCH_FENCE:
case BIRCH_FENCE_GATE:
@ -5549,6 +5574,8 @@ public enum Material implements Keyed {
case ALLIUM:
case AZURE_BLUET:
case BAMBOO:
case BEEHIVE:
case BEE_NEST:
case BIRCH_FENCE:
case BIRCH_FENCE_GATE:
case BIRCH_LEAVES:
@ -5983,6 +6010,8 @@ public enum Material implements Keyed {
case BARREL:
case BARRIER:
case BEDROCK:
case BEEHIVE:
case BEE_NEST:
case BIRCH_LOG:
case BIRCH_PLANKS:
case BIRCH_WOOD:
@ -6076,6 +6105,7 @@ public enum Material implements Keyed {
case GREEN_TERRACOTTA:
case GREEN_WOOL:
case HAY_BLOCK:
case HONEYCOMB_BLOCK:
case HORN_CORAL_BLOCK:
case INFESTED_CHISELED_STONE_BRICKS:
case INFESTED_COBBLESTONE:
@ -6563,6 +6593,8 @@ public enum Material implements Keyed {
case ANVIL:
case BARREL:
case BEACON:
case BEEHIVE:
case BEE_NEST:
case BELL:
case BIRCH_BUTTON:
case BIRCH_DOOR:
@ -6814,6 +6846,7 @@ public enum Material implements Keyed {
case WHITE_BED:
case YELLOW_BED:
return 0.2F;
case BEE_NEST:
case BLACK_STAINED_GLASS:
case BLACK_STAINED_GLASS_PANE:
case BLUE_STAINED_GLASS:
@ -6910,11 +6943,13 @@ public enum Material implements Keyed {
case WHITE_CONCRETE_POWDER:
case YELLOW_CONCRETE_POWDER:
return 0.5F;
case BEEHIVE:
case CLAY:
case COMPOSTER:
case FARMLAND:
case GRASS_BLOCK:
case GRAVEL:
case HONEYCOMB_BLOCK:
case MYCELIUM:
case SPONGE:
case WET_SPONGE:
@ -6935,10 +6970,6 @@ public enum Material implements Keyed {
case CUT_RED_SANDSTONE:
case CUT_SANDSTONE:
case CYAN_WOOL:
case END_STONE_BRICKS:
case END_STONE_BRICK_SLAB:
case END_STONE_BRICK_STAIRS:
case END_STONE_BRICK_WALL:
case GRAY_WOOL:
case GREEN_WOOL:
case LIGHT_BLUE_WOOL:
@ -7278,6 +7309,10 @@ public enum Material implements Keyed {
case DRAGON_EGG:
case EMERALD_ORE:
case END_STONE:
case END_STONE_BRICKS:
case END_STONE_BRICK_SLAB:
case END_STONE_BRICK_STAIRS:
case END_STONE_BRICK_WALL:
case GOLD_BLOCK:
case GOLD_ORE:
case HOPPER:
@ -7393,6 +7428,7 @@ public enum Material implements Keyed {
case WHITE_BED:
case YELLOW_BED:
return 0.2F;
case BEE_NEST:
case BLACK_STAINED_GLASS:
case BLACK_STAINED_GLASS_PANE:
case BLUE_STAINED_GLASS:
@ -7488,11 +7524,13 @@ public enum Material implements Keyed {
case WHITE_CONCRETE_POWDER:
case YELLOW_CONCRETE_POWDER:
return 0.5F;
case BEEHIVE:
case CLAY:
case COMPOSTER:
case FARMLAND:
case GRASS_BLOCK:
case GRAVEL:
case HONEYCOMB_BLOCK:
case MYCELIUM:
case SPONGE:
case WET_SPONGE:
@ -7520,10 +7558,6 @@ public enum Material implements Keyed {
case CUT_RED_SANDSTONE:
case CUT_SANDSTONE:
case CYAN_WOOL:
case END_STONE_BRICKS:
case END_STONE_BRICK_SLAB:
case END_STONE_BRICK_STAIRS:
case END_STONE_BRICK_WALL:
case GRAY_WOOL:
case GREEN_WOOL:
case LIGHT_BLUE_WOOL:
@ -7904,6 +7938,10 @@ public enum Material implements Keyed {
return 6.0F;
case DRAGON_EGG:
case END_STONE:
case END_STONE_BRICKS:
case END_STONE_BRICK_SLAB:
case END_STONE_BRICK_STAIRS:
case END_STONE_BRICK_WALL:
return 9.0F;
case LAVA:
case WATER:

View file

@ -68,6 +68,10 @@ public enum Particle {
FALLING_LAVA,
LANDING_LAVA,
FALLING_WATER,
DRIPPING_HONEY,
FALLING_HONEY,
LANDING_HONEY,
FALLING_NECTAR,
// ----- Legacy Separator -----
LEGACY_BLOCK_CRACK(MaterialData.class),
LEGACY_BLOCK_DUST(MaterialData.class),

View file

@ -299,24 +299,18 @@ public interface Server extends PluginMessageRecipient {
* <p>
* This method may not return objects for offline players.
*
* @deprecated Use {@link #getPlayer(UUID)} as player names are no longer
* guaranteed to be unique
* @param name the name to look up
* @return a player if one was found, null otherwise
*/
@Deprecated
@Nullable
public Player getPlayer(@NotNull String name);
/**
* Gets the player with the exact given name, case insensitive.
*
* @deprecated Use {@link #getPlayer(UUID)} as player names are no longer
* guaranteed to be unique
* @param name Exact name of the player to retrieve
* @return a player object if one was found, null otherwise
*/
@Deprecated
@Nullable
public Player getPlayerExact(@NotNull String name);
@ -327,12 +321,9 @@ public interface Server extends PluginMessageRecipient {
* This list is not sorted in any particular order. If an exact match is
* found, the returned list will only contain a single result.
*
* @deprecated Use {@link #getPlayer(UUID)} as player names are no longer
* guaranteed to be unique
* @param name the (partial) name to match
* @return list of all possible players
*/
@Deprecated
@NotNull
public List<Player> matchPlayer(@NotNull String name);

View file

@ -38,6 +38,11 @@ public enum Sound {
BLOCK_BEACON_AMBIENT,
BLOCK_BEACON_DEACTIVATE,
BLOCK_BEACON_POWER_SELECT,
BLOCK_BEEHIVE_DRIP,
BLOCK_BEEHIVE_ENTER,
BLOCK_BEEHIVE_EXIT,
BLOCK_BEEHIVE_SHEAR,
BLOCK_BEEHIVE_WORK,
BLOCK_BELL_RESONATE,
BLOCK_BELL_USE,
BLOCK_BLASTFURNACE_FIRE_CRACKLE,
@ -99,6 +104,12 @@ public enum Sound {
BLOCK_GRAVEL_PLACE,
BLOCK_GRAVEL_STEP,
BLOCK_GRINDSTONE_USE,
BLOCK_HONEY_BLOCK_BREAK,
BLOCK_HONEY_BLOCK_FALL,
BLOCK_HONEY_BLOCK_HIT,
BLOCK_HONEY_BLOCK_PLACE,
BLOCK_HONEY_BLOCK_SLIDE,
BLOCK_HONEY_BLOCK_STEP,
BLOCK_IRON_DOOR_CLOSE,
BLOCK_IRON_DOOR_OPEN,
BLOCK_IRON_TRAPDOOR_CLOSE,
@ -224,6 +235,12 @@ public enum Sound {
ENTITY_BAT_HURT,
ENTITY_BAT_LOOP,
ENTITY_BAT_TAKEOFF,
ENTITY_BEE_DEATH,
ENTITY_BEE_HURT,
ENTITY_BEE_LOOP,
ENTITY_BEE_LOOP_AGGRESSIVE,
ENTITY_BEE_POLLINATE,
ENTITY_BEE_STING,
ENTITY_BLAZE_AMBIENT,
ENTITY_BLAZE_BURN,
ENTITY_BLAZE_DEATH,
@ -400,8 +417,10 @@ public enum Sound {
ENTITY_ILLUSIONER_PREPARE_BLINDNESS,
ENTITY_ILLUSIONER_PREPARE_MIRROR,
ENTITY_IRON_GOLEM_ATTACK,
ENTITY_IRON_GOLEM_DAMAGE,
ENTITY_IRON_GOLEM_DEATH,
ENTITY_IRON_GOLEM_HURT,
ENTITY_IRON_GOLEM_REPAIR,
ENTITY_IRON_GOLEM_STEP,
ENTITY_ITEM_BREAK,
ENTITY_ITEM_FRAME_ADD_ITEM,
@ -467,7 +486,6 @@ public enum Sound {
ENTITY_PARROT_IMITATE_CREEPER,
ENTITY_PARROT_IMITATE_DROWNED,
ENTITY_PARROT_IMITATE_ELDER_GUARDIAN,
ENTITY_PARROT_IMITATE_ENDERMAN,
ENTITY_PARROT_IMITATE_ENDERMITE,
ENTITY_PARROT_IMITATE_ENDER_DRAGON,
ENTITY_PARROT_IMITATE_EVOKER,
@ -476,10 +494,8 @@ public enum Sound {
ENTITY_PARROT_IMITATE_HUSK,
ENTITY_PARROT_IMITATE_ILLUSIONER,
ENTITY_PARROT_IMITATE_MAGMA_CUBE,
ENTITY_PARROT_IMITATE_PANDA,
ENTITY_PARROT_IMITATE_PHANTOM,
ENTITY_PARROT_IMITATE_PILLAGER,
ENTITY_PARROT_IMITATE_POLAR_BEAR,
ENTITY_PARROT_IMITATE_RAVAGER,
ENTITY_PARROT_IMITATE_SHULKER,
ENTITY_PARROT_IMITATE_SILVERFISH,
@ -492,9 +508,7 @@ public enum Sound {
ENTITY_PARROT_IMITATE_WITCH,
ENTITY_PARROT_IMITATE_WITHER,
ENTITY_PARROT_IMITATE_WITHER_SKELETON,
ENTITY_PARROT_IMITATE_WOLF,
ENTITY_PARROT_IMITATE_ZOMBIE,
ENTITY_PARROT_IMITATE_ZOMBIE_PIGMAN,
ENTITY_PARROT_IMITATE_ZOMBIE_VILLAGER,
ENTITY_PARROT_STEP,
ENTITY_PHANTOM_AMBIENT,
@ -759,6 +773,7 @@ public enum Sound {
ITEM_FIRECHARGE_USE,
ITEM_FLINTANDSTEEL_USE,
ITEM_HOE_TILL,
ITEM_HONEY_BOTTLE_DRINK,
ITEM_NETHER_WART_PLANT,
ITEM_SHIELD_BLOCK,
ITEM_SHIELD_BREAK,

View file

@ -86,7 +86,9 @@ public enum Statistic implements Keyed {
INTERACT_WITH_STONECUTTER,
BELL_RING,
RAID_TRIGGER,
RAID_WIN;
RAID_WIN,
INTERACT_WITH_ANVIL,
INTERACT_WITH_GRINDSTONE;
private final Type type;
private final NamespacedKey key;

View file

@ -158,6 +158,18 @@ public interface Tag<T extends Keyed> extends Keyed {
* Vanilla block tag representing all fences.
*/
Tag<Material> FENCES = Bukkit.getTag(REGISTRY_BLOCKS, NamespacedKey.minecraft("fences"), Material.class);
/**
* Vanilla block tag representing all tall flowers.
*/
Tag<Material> TALL_FLOWERS = Bukkit.getTag(REGISTRY_BLOCKS, NamespacedKey.minecraft("tall_flowers"), Material.class);
/**
* Vanilla block tag representing all flowers.
*/
Tag<Material> FLOWERS = Bukkit.getTag(REGISTRY_BLOCKS, NamespacedKey.minecraft("flowers"), Material.class);
/**
* Vanilla block tag representing all shulker boxes.
*/
Tag<Material> SHULKER_BOXES = Bukkit.getTag(REGISTRY_BLOCKS, NamespacedKey.minecraft("shulker_boxes"), Material.class);
/**
* Vanilla block tag denoting blocks that enderman may pick up and hold.
*/
@ -198,10 +210,6 @@ public interface Tag<T extends Keyed> extends Keyed {
* Vanilla block tag denoting all blocks bamboo may be planted on.
*/
Tag<Material> BAMBOO_PLANTABLE_ON = Bukkit.getTag(REGISTRY_BLOCKS, NamespacedKey.minecraft("bamboo_plantable_on"), Material.class);
/**
* Vanilla block tag denoting dirt like blocks.
*/
Tag<Material> DIRT_LIKE = Bukkit.getTag(REGISTRY_BLOCKS, NamespacedKey.minecraft("dirt_like"), Material.class);
/**
* Vanilla block tag representing all standing signs.
*/
@ -214,6 +222,30 @@ public interface Tag<T extends Keyed> extends Keyed {
* Vanilla block tag representing all signs.
*/
Tag<Material> SIGNS = Bukkit.getTag(REGISTRY_BLOCKS, NamespacedKey.minecraft("signs"), Material.class);
/**
* Vanilla block tag representing all blocks immune to dragons.
*/
Tag<Material> DRAGON_IMMUNE = Bukkit.getTag(REGISTRY_BLOCKS, NamespacedKey.minecraft("dragon_immune"), Material.class);
/**
* Vanilla block tag representing all blocks immune to withers.
*/
Tag<Material> WITHER_IMMUNE = Bukkit.getTag(REGISTRY_BLOCKS, NamespacedKey.minecraft("wither_immune"), Material.class);
/**
* Vanilla block tag representing all beehives.
*/
Tag<Material> BEEHIVES = Bukkit.getTag(REGISTRY_BLOCKS, NamespacedKey.minecraft("beehives"), Material.class);
/**
* Vanilla block tag representing all crops.
*/
Tag<Material> CROPS = Bukkit.getTag(REGISTRY_BLOCKS, NamespacedKey.minecraft("crops"), Material.class);
/**
* Vanilla block tag representing all bee growables.
*/
Tag<Material> BEE_GROWABLES = Bukkit.getTag(REGISTRY_BLOCKS, NamespacedKey.minecraft("bee_growables"), Material.class);
/**
* Vanilla block tag representing all portals.
*/
Tag<Material> PORTALS = Bukkit.getTag(REGISTRY_BLOCKS, NamespacedKey.minecraft("portals"), Material.class);
/**
* Key for the built in item registry.
*/
@ -242,6 +274,10 @@ public interface Tag<T extends Keyed> extends Keyed {
* Vanilla item tag representing all arrow items.
*/
Tag<Material> ITEMS_ARROWS = Bukkit.getTag(REGISTRY_ITEMS, NamespacedKey.minecraft("arrows"), Material.class);
/**
* Vanilla item tag representing all books that may be placed on lecterns.
*/
Tag<Material> ITEMS_LECTERN_BOOKS = Bukkit.getTag(REGISTRY_ITEMS, NamespacedKey.minecraft("lectern_books"), Material.class);
/**
* Returns whether or not this tag has an entry for the specified item.

View file

@ -0,0 +1,25 @@
package org.bukkit.block;
import org.bukkit.Location;
import org.jetbrains.annotations.Nullable;
/**
* Represents a captured state of a bee hive.
*/
public interface Beehive extends TileState {
/**
* Get the hive's flower location.
*
* @return flower location or null
*/
@Nullable
Location getFlower();
/**
* Set the hive's flower location.
*
* @param location or null
*/
void setFlower(@Nullable Location location);
}

View file

@ -1,30 +0,0 @@
package org.bukkit.block;
import org.bukkit.material.MaterialData;
import org.jetbrains.annotations.Nullable;
/**
* Represents a captured state of a flower pot.
* @deprecated not a tile entity in future versions of Minecraft
*/
@Deprecated
public interface FlowerPot extends BlockState {
/**
* Gets the item present in this flower pot.
*
* @return item present, or null for empty.
*/
@Nullable
MaterialData getContents();
/**
* Sets the item present in this flower pot.
*
* NOTE: The Vanilla Minecraft client will currently not refresh this until
* a block update is triggered.
*
* @param item new item, or null for empty.
*/
void setContents(@Nullable MaterialData item);
}

View file

@ -1,84 +0,0 @@
package org.bukkit.block;
import org.bukkit.Instrument;
import org.bukkit.Note;
/**
* Represents a captured state of a note block.
* @deprecated not a tile entity in future versions of Minecraft
*/
@Deprecated
public interface NoteBlock extends BlockState {
/**
* Gets the note.
*
* @return The note.
*/
public Note getNote();
/**
* Gets the note.
*
* @return The note ID.
* @deprecated Magic value
*/
@Deprecated
public byte getRawNote();
/**
* Set the note.
*
* @param note The note.
*/
public void setNote(Note note);
/**
* Set the note.
*
* @param note The note ID.
* @deprecated Magic value
*/
@Deprecated
public void setRawNote(byte note);
/**
* Attempts to play the note at the block.
* <p>
* If the block represented by this block state is no longer a note block,
* this will return false.
*
* @return true if successful, otherwise false
* @throws IllegalStateException if this block state is not placed
*/
public boolean play();
/**
* Plays an arbitrary note with an arbitrary instrument at the block.
* <p>
* If the block represented by this block state is no longer a note block,
* this will return false.
*
* @param instrument Instrument ID
* @param note Note ID
* @return true if successful, otherwise false
* @throws IllegalStateException if this block state is not placed
* @deprecated Magic value
*/
@Deprecated
public boolean play(byte instrument, byte note);
/**
* Plays an arbitrary note with an arbitrary instrument at the block.
* <p>
* If the block represented by this block state is no longer a note block,
* this will return false.
*
* @param instrument The instrument
* @param note The note
* @return true if successful, otherwise false
* @throws IllegalStateException if this block state is not placed
* @see Instrument Note
*/
public boolean play(Instrument instrument, Note note);
}

View file

@ -0,0 +1,30 @@
package org.bukkit.block.data.type;
import org.bukkit.block.data.Directional;
/**
* 'honey_level' represents the amount of honey stored in the hive.
*/
public interface Beehive extends Directional {
/**
* Gets the value of the 'honey_level' property.
*
* @return the 'honey_level' value
*/
int getHoneyLevel();
/**
* Sets the value of the 'honey_level' property.
*
* @param honeyLevel the new 'honey_level' value
*/
void setHoneyLevel(int honeyLevel);
/**
* Gets the maximum allowed value of the 'honey_level' property.
*
* @return the maximum 'honey_level' value
*/
int getMaximumHoneyLevel();
}

View file

@ -41,8 +41,7 @@ public class VersionCommand extends BukkitCommand {
if (args.length == 0) {
sender.sendMessage("This server is running " + Bukkit.getName() + " version " + Bukkit.getVersion() + " (Implementing API version " + Bukkit.getBukkitVersion() + ")");
sender.sendMessage(ChatColor.YELLOW + "This is a final build for 1.14.4. Please see https://www.spigotmc.org/go/1.14.4 for details about upgrading.");
// sendVersion(sender);
sendVersion(sender);
} else {
StringBuilder name = new StringBuilder();

View file

@ -0,0 +1,82 @@
package org.bukkit.entity;
import org.bukkit.Location;
import org.jetbrains.annotations.Nullable;
/**
* Represents a Bee.
*/
public interface Bee extends Animals {
/**
* Get the bee's hive location.
*
* @return hive location or null
*/
@Nullable
Location getHive();
/**
* Set the bee's hive location.
*
* @param location or null
*/
void setHive(@Nullable Location location);
/**
* Get the bee's flower location.
*
* @return flower location or null
*/
@Nullable
Location getFlower();
/**
* Set the bee's flower location.
*
* @param location or null
*/
void setFlower(@Nullable Location location);
/**
* Get if the bee has nectar.
*
* @return nectar
*/
boolean hasNectar();
/**
* Set if the bee has nectar.
*
* @param nectar whether the entity has nectar
*/
void setHasNectar(boolean nectar);
/**
* Get if the bee has stung.
*
* @return has stung
*/
boolean hasStung();
/**
* Set if the bee has stung.
*
* @param stung has stung
*/
void setHasStung(boolean stung);
/**
* Get the bee's anger level.
*
* @return anger level
*/
int getAnger();
/**
* Set the bee's new anger level.
*
* @param anger new anger
*/
void setAnger(int anger);
}

View file

@ -260,6 +260,7 @@ public enum EntityType implements Keyed {
TRADER_LLAMA("trader_llama", TraderLlama.class, -1),
WANDERING_TRADER("wandering_trader", WanderingTrader.class, -1),
FOX("fox", Fox.class, -1),
BEE("bee", Bee.class, -1),
/**
* A fishing line and bobber.
*/

View file

@ -1,7 +1,6 @@
package org.bukkit.entity;
import java.net.InetSocketAddress;
import org.bukkit.Achievement;
import org.bukkit.DyeColor;
import org.bukkit.Effect;
import org.bukkit.GameMode;
@ -452,39 +451,6 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM
@Deprecated
public void updateInventory();
/**
* Awards the given achievement and any parent achievements that the
* player does not have.
*
* @param achievement Achievement to award
* @throws IllegalArgumentException if achievement is null
* @deprecated future versions of Minecraft do not have achievements
*/
@Deprecated
public void awardAchievement(@NotNull Achievement achievement);
/**
* Removes the given achievement and any children achievements that the
* player has.
*
* @param achievement Achievement to remove
* @throws IllegalArgumentException if achievement is null
* @deprecated future versions of Minecraft do not have achievements
*/
@Deprecated
public void removeAchievement(@NotNull Achievement achievement);
/**
* Gets whether this player has the given achievement.
*
* @param achievement the achievement to check
* @return whether the player has the achievement
* @throws IllegalArgumentException if achievement is null
* @deprecated future versions of Minecraft do not have achievements
*/
@Deprecated
public boolean hasAchievement(@NotNull Achievement achievement);
/**
* Increments the given statistic for this player.
* <p>

View file

@ -49,6 +49,7 @@ public final class MemoryKey<T> implements Keyed {
public static final MemoryKey<Location> MEETING_POINT = new MemoryKey<>(NamespacedKey.minecraft("meeting_point"), Location.class);
public static final MemoryKey<Location> JOB_SITE = new MemoryKey<>(NamespacedKey.minecraft("job_site"), Location.class);
public static final MemoryKey<Long> LAST_SLEPT = new MemoryKey<>(NamespacedKey.minecraft("last_slept"), Long.class);
public static final MemoryKey<Long> LAST_WOKEN = new MemoryKey<>(NamespacedKey.minecraft("last_woken"), Long.class);
public static final MemoryKey<Long> LAST_WORKED_AT_POI = new MemoryKey<>(NamespacedKey.minecraft("last_worked_at_poi"), Long.class);
/**

View file

@ -1,52 +0,0 @@
package org.bukkit.event.player;
import org.bukkit.Achievement;
import org.bukkit.entity.Player;
import org.bukkit.event.Cancellable;
import org.bukkit.event.HandlerList;
import org.jetbrains.annotations.NotNull;
/**
* Called when a player earns an achievement.
* @deprecated future versions of Minecraft do not have achievements
*/
@Deprecated
public class PlayerAchievementAwardedEvent extends PlayerEvent implements Cancellable {
private static final HandlerList handlers = new HandlerList();
private final Achievement achievement;
private boolean isCancelled = false;
public PlayerAchievementAwardedEvent(Player player, Achievement achievement) {
super(player);
this.achievement = achievement;
}
/**
* Gets the Achievement being awarded.
*
* @return the achievement being awarded
*/
public Achievement getAchievement() {
return achievement;
}
@Override
public boolean isCancelled() {
return isCancelled;
}
@Override
public void setCancelled(boolean cancel) {
this.isCancelled = cancel;
}
@NotNull
@Override
public HandlerList getHandlers() {
return handlers;
}
public static HandlerList getHandlerList() {
return handlers;
}
}

View file

@ -0,0 +1,12 @@
package org.bukkit.inventory;
import org.bukkit.Keyed;
/**
* Represents a complex recipe which has imperative server-defined behavior, eg
* armor dyeing.
*
* Note: Since a complex recipe has dynamic outputs, {@link #getResult()} will
* sometimes return an AIR ItemStack.
*/
public interface ComplexRecipe extends Recipe, Keyed {}