diff options
author | md_5 <git@md-5.net> | 2016-03-01 08:30:03 +1100 |
---|---|---|
committer | md_5 <git@md-5.net> | 2016-03-01 08:30:03 +1100 |
commit | 7898a2a2d2d81308e73e9ed37725f53d7ad37bfc (patch) | |
tree | 6dd32f84e331433ad9b69aaba195189ba64a600e /src/main | |
parent | d5958ff936427a46a833c7ac9354c19ceb371d21 (diff) | |
download | bukkit-7898a2a2d2d81308e73e9ed37725f53d7ad37bfc.tar bukkit-7898a2a2d2d81308e73e9ed37725f53d7ad37bfc.tar.gz bukkit-7898a2a2d2d81308e73e9ed37725f53d7ad37bfc.tar.lz bukkit-7898a2a2d2d81308e73e9ed37725f53d7ad37bfc.tar.xz bukkit-7898a2a2d2d81308e73e9ed37725f53d7ad37bfc.zip |
Add definitions for Minecraft 1.9 gameplay elements
Includes an API for AreaEffectCloud and rework of Sound enum to include new sound values.
Diffstat (limited to 'src/main')
19 files changed, 1062 insertions, 242 deletions
diff --git a/src/main/java/org/bukkit/Material.java b/src/main/java/org/bukkit/Material.java index 0fb26055..41becbe3 100644 --- a/src/main/java/org/bukkit/Material.java +++ b/src/main/java/org/bukkit/Material.java @@ -261,6 +261,21 @@ public enum Material { JUNGLE_DOOR(195, Door.class), ACACIA_DOOR(196, Door.class), DARK_OAK_DOOR(197, Door.class), + END_ROD(198), + CHORUS_PLANT(199), + CHORUS_FLOWER(200), + PURPUR_BLOCK(201), + PURPUR_PILLAR(202), + PURPUR_STAIRS(203, Stairs.class), + PURPUR_DOUBLE_SLAB(204), + PURPUR_SLAB(205), + END_BRICKS(206), + BEETROOT_BLOCK(207, Crops.class), + GRASS_PATH(208), + END_GATEWAY(209), + COMMAND_REPEATING(210), + COMMAND_CHAIN(211), + STRUCTURE_BLOCK(255), // ----- Item Separator ----- IRON_SPADE(256, 1, 250), IRON_PICKAXE(257, 1, 250), @@ -438,11 +453,32 @@ public enum Material { MUTTON(423), COOKED_MUTTON(424), BANNER(425, 16), + END_CRYSTAL(426), SPRUCE_DOOR_ITEM(427), BIRCH_DOOR_ITEM(428), JUNGLE_DOOR_ITEM(429), ACACIA_DOOR_ITEM(430), DARK_OAK_DOOR_ITEM(431), + CHORUS_FRUIT(432), + CHORUS_FRUIT_POPPED(433), + BEETROOT(434), + BEETROOT_SEEDS(435), + BEETROOT_SOUP(436, 1), + DRAGONS_BREATH(437), + SPLASH_POTION(438, 1), + SPECTRAL_ARROW(439), + TIPPED_ARROW(440), + /** + * @see Potion + */ + LINGERING_POTION(441, 1, MaterialData.class), + SHIELD(442, 1), + ELYTRA(443, 1), + BOAT_SPRUCE(444, 1), + BOAT_BIRCH(445, 1), + BOAT_JUNGLE(446, 1), + BOAT_ACACIA(447, 1), + BOAT_DARK_OAK(448, 1), GOLD_RECORD(2256, 1), GREEN_RECORD(2257, 1), RECORD_3(2258, 1), @@ -605,6 +641,9 @@ public enum Material { case RABBIT_STEW: case MUTTON: case COOKED_MUTTON: + case BEETROOT: + case CHORUS_FRUIT: + case BEETROOT_SOUP: return true; default: return false; @@ -850,6 +889,16 @@ public enum Material { case JUNGLE_DOOR: case ACACIA_DOOR: case DARK_OAK_DOOR: + case PURPUR_BLOCK: + case PURPUR_PILLAR: + case PURPUR_STAIRS: + case PURPUR_DOUBLE_SLAB: + case PURPUR_SLAB: + case END_BRICKS: + case GRASS_PATH: + case STRUCTURE_BLOCK: + case COMMAND_REPEATING: + case COMMAND_CHAIN: return true; default: return false; @@ -910,6 +959,11 @@ public enum Material { case ACTIVATOR_RAIL: case CARPET: case DOUBLE_PLANT: + case END_ROD: + case CHORUS_PLANT: + case CHORUS_FLOWER: + case BEETROOT_BLOCK: + case END_GATEWAY: return true; default: return false; @@ -1032,6 +1086,8 @@ public enum Material { case JUNGLE_FENCE: case DARK_OAK_FENCE: case ACACIA_FENCE: + case ACACIA_STAIRS: + case DARK_OAK_STAIRS: return true; default: return false; @@ -1096,7 +1152,6 @@ public enum Material { case MELON_BLOCK: case MYCEL: case NETHER_BRICK: - case ENDER_PORTAL_FRAME: case ENDER_STONE: case REDSTONE_LAMP_OFF: case REDSTONE_LAMP_ON: @@ -1118,6 +1173,13 @@ public enum Material { case PRISMARINE: case RED_SANDSTONE: case DOUBLE_STONE_SLAB2: + case PURPUR_BLOCK: + case PURPUR_PILLAR: + case PURPUR_DOUBLE_SLAB: + case END_BRICKS: + case STRUCTURE_BLOCK: + case COMMAND_REPEATING: + case COMMAND_CHAIN: return true; default: return false; diff --git a/src/main/java/org/bukkit/Server.java b/src/main/java/org/bukkit/Server.java index c2f5de40..60bcec8b 100644 --- a/src/main/java/org/bukkit/Server.java +++ b/src/main/java/org/bukkit/Server.java @@ -13,6 +13,10 @@ import java.util.UUID; import java.util.logging.Logger; import org.bukkit.Warning.WarningState; +import org.bukkit.boss.BarColor; +import org.bukkit.boss.BarFlag; +import org.bukkit.boss.BarStyle; +import org.bukkit.boss.BossBar; import org.bukkit.command.CommandException; import org.bukkit.command.CommandSender; import org.bukkit.command.ConsoleCommandSender; @@ -927,6 +931,18 @@ public interface Server extends PluginMessageRecipient { public ChunkGenerator.ChunkData createChunkData(World world); /** + * Creates a boss bar instance to display to players. The progress + * defaults to 1.0 + * + * @param title the title of the boss bar + * @param color the color of the boss bar + * @param style the style of the boss bar + * @param flags an optional list of flags to set on the boss bar + * @return the created boss bar + */ + BossBar createBossBar(String title, BarColor color, BarStyle style, BarFlag ...flags); + + /** * @see UnsafeValues * @return the unsafe values instance */ diff --git a/src/main/java/org/bukkit/Sound.java b/src/main/java/org/bukkit/Sound.java index 09135300..43d81142 100644 --- a/src/main/java/org/bukkit/Sound.java +++ b/src/main/java/org/bukkit/Sound.java @@ -9,203 +9,447 @@ package org.bukkit; * not depend on the ordinal values of this class. */ public enum Sound { - AMBIENCE_CAVE, - AMBIENCE_RAIN, - AMBIENCE_THUNDER, - ANVIL_BREAK, - ANVIL_LAND, - ANVIL_USE, - ARROW_HIT, - BURP, - CHEST_CLOSE, - CHEST_OPEN, - CLICK, - DOOR_CLOSE, - DOOR_OPEN, - DRINK, - EAT, - EXPLODE, - FALL_BIG, - FALL_SMALL, - FIRE, - FIRE_IGNITE, - FIZZ, - FUSE, - GLASS, - HURT_FLESH, - ITEM_BREAK, - ITEM_PICKUP, - LAVA, - LAVA_POP, - LEVEL_UP, - MINECART_BASE, - MINECART_INSIDE, - NOTE_BASS, - NOTE_PIANO, - NOTE_BASS_DRUM, - NOTE_STICKS, - NOTE_BASS_GUITAR, - NOTE_SNARE_DRUM, - NOTE_PLING, - ORB_PICKUP, - PISTON_EXTEND, - PISTON_RETRACT, - PORTAL, - PORTAL_TRAVEL, - PORTAL_TRIGGER, - SHOOT_ARROW, - SPLASH, - SPLASH2, - STEP_GRASS, - STEP_GRAVEL, - STEP_LADDER, - STEP_SAND, - STEP_SNOW, - STEP_STONE, - STEP_WOOD, - STEP_WOOL, - SWIM, - WATER, - WOOD_CLICK, - // Mob sounds - BAT_DEATH, - BAT_HURT, - BAT_IDLE, - BAT_LOOP, - BAT_TAKEOFF, - BLAZE_BREATH, - BLAZE_DEATH, - BLAZE_HIT, - CAT_HISS, - CAT_HIT, - CAT_MEOW, - CAT_PURR, - CAT_PURREOW, - CHICKEN_IDLE, - CHICKEN_HURT, - CHICKEN_EGG_POP, - CHICKEN_WALK, - COW_IDLE, - COW_HURT, - COW_WALK, - CREEPER_HISS, - CREEPER_DEATH, - ENDERDRAGON_DEATH, - ENDERDRAGON_GROWL, - ENDERDRAGON_HIT, - ENDERDRAGON_WINGS, - ENDERMAN_DEATH, - ENDERMAN_HIT, - ENDERMAN_IDLE, - ENDERMAN_TELEPORT, - ENDERMAN_SCREAM, - ENDERMAN_STARE, - GHAST_SCREAM, - GHAST_SCREAM2, - GHAST_CHARGE, - GHAST_DEATH, - GHAST_FIREBALL, - GHAST_MOAN, - IRONGOLEM_DEATH, - IRONGOLEM_HIT, - IRONGOLEM_THROW, - IRONGOLEM_WALK, - MAGMACUBE_WALK, - MAGMACUBE_WALK2, - MAGMACUBE_JUMP, - PIG_IDLE, - PIG_DEATH, - PIG_WALK, - SHEEP_IDLE, - SHEEP_SHEAR, - SHEEP_WALK, - SILVERFISH_HIT, - SILVERFISH_KILL, - SILVERFISH_IDLE, - SILVERFISH_WALK, - SKELETON_IDLE, - SKELETON_DEATH, - SKELETON_HURT, - SKELETON_WALK, - SLIME_ATTACK, - SLIME_WALK, - SLIME_WALK2, - SPIDER_IDLE, - SPIDER_DEATH, - SPIDER_WALK, - WITHER_DEATH, - WITHER_HURT, - WITHER_IDLE, - WITHER_SHOOT, - WITHER_SPAWN, - WOLF_BARK, - WOLF_DEATH, - WOLF_GROWL, - WOLF_HOWL, - WOLF_HURT, - WOLF_PANT, - WOLF_SHAKE, - WOLF_WALK, - WOLF_WHINE, - ZOMBIE_METAL, - ZOMBIE_WOOD, - ZOMBIE_WOODBREAK, - ZOMBIE_IDLE, - ZOMBIE_DEATH, - ZOMBIE_HURT, - ZOMBIE_INFECT, - ZOMBIE_UNFECT, - ZOMBIE_REMEDY, - ZOMBIE_WALK, - ZOMBIE_PIG_IDLE, - ZOMBIE_PIG_ANGRY, - ZOMBIE_PIG_DEATH, - ZOMBIE_PIG_HURT, - // Dig Sounds - DIG_WOOL, - DIG_GRASS, - DIG_GRAVEL, - DIG_SAND, - DIG_SNOW, - DIG_STONE, - DIG_WOOD, - // Fireworks - FIREWORK_BLAST, - FIREWORK_BLAST2, - FIREWORK_LARGE_BLAST, - FIREWORK_LARGE_BLAST2, - FIREWORK_TWINKLE, - FIREWORK_TWINKLE2, - FIREWORK_LAUNCH, - SUCCESSFUL_HIT, - // Horses - HORSE_ANGRY, - HORSE_ARMOR, - HORSE_BREATHE, - HORSE_DEATH, - HORSE_GALLOP, - HORSE_HIT, - HORSE_IDLE, - HORSE_JUMP, - HORSE_LAND, - HORSE_SADDLE, - HORSE_SOFT, - HORSE_WOOD, - DONKEY_ANGRY, - DONKEY_DEATH, - DONKEY_HIT, - DONKEY_IDLE, - HORSE_SKELETON_DEATH, - HORSE_SKELETON_HIT, - HORSE_SKELETON_IDLE, - HORSE_ZOMBIE_DEATH, - HORSE_ZOMBIE_HIT, - HORSE_ZOMBIE_IDLE, - // Villager - VILLAGER_DEATH, - VILLAGER_HAGGLE, - VILLAGER_HIT, - VILLAGER_IDLE, - VILLAGER_NO, - VILLAGER_YES, + AMBIENT_CAVE, + BLOCK_ANVIL_BREAK, + BLOCK_ANVIL_DESTROY, + BLOCK_ANVIL_FALL, + BLOCK_ANVIL_HIT, + BLOCK_ANVIL_LAND, + BLOCK_ANVIL_PLACE, + BLOCK_ANVIL_STEP, + BLOCK_ANVIL_USE, + BLOCK_BREWING_STAND_BREW, + BLOCK_CHEST_CLOSE, + BLOCK_CHEST_LOCKED, + BLOCK_CHEST_OPEN, + BLOCK_CHORUS_FLOWER_DEATH, + BLOCK_CHORUS_FLOWER_GROW, + BLOCK_CLOTH_BREAK, + BLOCK_CLOTH_FALL, + BLOCK_CLOTH_HIT, + BLOCK_CLOTH_PLACE, + BLOCK_CLOTH_STEP, + BLOCK_COMPARATOR_CLICK, + BLOCK_DISPENSER_DISPENSE, + BLOCK_DISPENSER_FAIL, + BLOCK_DISPENSER_LAUNCH, + BLOCK_ENDERCHEST_CLOSE, + BLOCK_ENDERCHEST_OPEN, + BLOCK_END_GATEWAY_SPAWN, + BLOCK_FENCE_GATE_CLOSE, + BLOCK_FENCE_GATE_OPEN, + BLOCK_FIRE_AMBIENT, + BLOCK_FIRE_EXTINGUISH, + BLOCK_FURNACE_FIRE_CRACKLE, + BLOCK_GLASS_BREAK, + BLOCK_GLASS_FALL, + BLOCK_GLASS_HIT, + BLOCK_GLASS_PLACE, + BLOCK_GLASS_STEP, + BLOCK_GRASS_BREAK, + BLOCK_GRASS_FALL, + BLOCK_GRASS_HIT, + BLOCK_GRASS_PLACE, + BLOCK_GRASS_STEP, + BLOCK_GRAVEL_BREAK, + BLOCK_GRAVEL_FALL, + BLOCK_GRAVEL_HIT, + BLOCK_GRAVEL_PLACE, + BLOCK_GRAVEL_STEP, + BLOCK_IRON_DOOR_CLOSE, + BLOCK_IRON_DOOR_OPEN, + BLOCK_IRON_TRAPDOOR_CLOSE, + BLOCK_IRON_TRAPDOOR_OPEN, + BLOCK_LADDER_BREAK, + BLOCK_LADDER_FALL, + BLOCK_LADDER_HIT, + BLOCK_LADDER_PLACE, + BLOCK_LADDER_STEP, + BLOCK_LAVA_AMBIENT, + BLOCK_LAVA_EXTINGUISH, + BLOCK_LAVA_POP, + BLOCK_LEVER_CLICK, + BLOCK_METAL_BREAK, + BLOCK_METAL_FALL, + BLOCK_METAL_HIT, + BLOCK_METAL_PLACE, + BLOCK_METAL_PRESSUREPLATE_CLICK_OFF, + BLOCK_METAL_PRESSUREPLATE_CLICK_ON, + BLOCK_METAL_STEP, + BLOCK_NOTE_BASEDRUM, + BLOCK_NOTE_BASS, + BLOCK_NOTE_HARP, + BLOCK_NOTE_HAT, + BLOCK_NOTE_PLING, + BLOCK_NOTE_SNARE, + BLOCK_PISTON_CONTRACT, + BLOCK_PISTON_EXTEND, + BLOCK_PORTAL_AMBIENT, + BLOCK_PORTAL_TRAVEL, + BLOCK_PORTAL_TRIGGER, + BLOCK_REDSTONE_TORCH_BURNOUT, + BLOCK_SAND_BREAK, + BLOCK_SAND_FALL, + BLOCK_SAND_HIT, + BLOCK_SAND_PLACE, + BLOCK_SAND_STEP, + BLOCK_SLIME_BREAK, + BLOCK_SLIME_FALL, + BLOCK_SLIME_HIT, + BLOCK_SLIME_PLACE, + BLOCK_SLIME_STEP, + BLOCK_SNOW_BREAK, + BLOCK_SNOW_FALL, + BLOCK_SNOW_HIT, + BLOCK_SNOW_PLACE, + BLOCK_SNOW_STEP, + BLOCK_STONE_BREAK, + BLOCK_STONE_BUTTON_CLICK_OFF, + BLOCK_STONE_BUTTON_CLICK_ON, + BLOCK_STONE_FALL, + BLOCK_STONE_HIT, + BLOCK_STONE_PLACE, + BLOCK_STONE_PRESSUREPLATE_CLICK_OFF, + BLOCK_STONE_PRESSUREPLATE_CLICK_ON, + BLOCK_STONE_STEP, + BLOCK_TRIPWIRE_ATTACH, + BLOCK_TRIPWIRE_CLICK_OFF, + BLOCK_TRIPWIRE_CLICK_ON, + BLOCK_TRIPWIRE_DETACH, + BLOCK_WATERLILY_PLACE, + BLOCK_WATER_AMBIENT, + BLOCK_WOODEN_DOOR_CLOSE, + BLOCK_WOODEN_DOOR_OPEN, + BLOCK_WOODEN_TRAPDOOR_CLOSE, + BLOCK_WOODEN_TRAPDOOR_OPEN, + BLOCK_WOOD_BREAK, + BLOCK_WOOD_BUTTON_CLICK_OFF, + BLOCK_WOOD_BUTTON_CLICK_ON, + BLOCK_WOOD_FALL, + BLOCK_WOOD_HIT, + BLOCK_WOOD_PLACE, + BLOCK_WOOD_PRESSUREPLATE_CLICK_OFF, + BLOCK_WOOD_PRESSUREPLATE_CLICK_ON, + BLOCK_WOOD_STEP, + ENCHANT_THORNS_HIT, + ENTITY_ARMORSTAND_BREAK, + ENTITY_ARMORSTAND_FALL, + ENTITY_ARMORSTAND_HIT, + ENTITY_ARMORSTAND_PLACE, + ENTITY_ARROW_HIT, + ENTITY_ARROW_HIT_PLAYER, + ENTITY_ARROW_SHOOT, + ENTITY_BAT_AMBIENT, + ENTITY_BAT_DEATH, + ENTITY_BAT_HURT, + ENTITY_BAT_LOOP, + ENTITY_BAT_TAKEOFF, + ENTITY_BLAZE_AMBIENT, + ENTITY_BLAZE_BURN, + ENTITY_BLAZE_DEATH, + ENTITY_BLAZE_HURT, + ENTITY_BLAZE_SHOOT, + ENTITY_BOBBER_SPLASH, + ENTITY_BOBBER_THROW, + ENTITY_CAT_AMBIENT, + ENTITY_CAT_DEATH, + ENTITY_CAT_HISS, + ENTITY_CAT_HURT, + ENTITY_CAT_PURR, + ENTITY_CAT_PURREOW, + ENTITY_CHICKEN_AMBIENT, + ENTITY_CHICKEN_DEATH, + ENTITY_CHICKEN_EGG, + ENTITY_CHICKEN_HURT, + ENTITY_CHICKEN_STEP, + ENTITY_COW_AMBIENT, + ENTITY_COW_DEATH, + ENTITY_COW_HURT, + ENTITY_COW_MILK, + ENTITY_COW_STEP, + ENTITY_CREEPER_DEATH, + ENTITY_CREEPER_HURT, + ENTITY_CREEPER_PRIMED, + ENTITY_DONKEY_AMBIENT, + ENTITY_DONKEY_ANGRY, + ENTITY_DONKEY_CHEST, + ENTITY_DONKEY_DEATH, + ENTITY_DONKEY_HURT, + ENTITY_EGG_THROW, + ENTITY_ELDER_GUARDIAN_AMBIENT, + ENTITY_ELDER_GUARDIAN_AMBIENT_LAND, + ENTITY_ELDER_GUARDIAN_CURSE, + ENTITY_ELDER_GUARDIAN_DEATH, + ENTITY_ELDER_GUARDIAN_DEATH_LAND, + ENTITY_ELDER_GUARDIAN_HURT, + ENTITY_ELDER_GUARDIAN_HURT_LAND, + ENTITY_ENDERDRAGON_AMBIENT, + ENTITY_ENDERDRAGON_DEATH, + ENTITY_ENDERDRAGON_FIREBALL_EXPLODE, + ENTITY_ENDERDRAGON_FLAP, + ENTITY_ENDERDRAGON_GROWL, + ENTITY_ENDERDRAGON_HURT, + ENTITY_ENDERDRAGON_SHOOT, + ENTITY_ENDEREYE_LAUNCH, + ENTITY_ENDERMEN_AMBIENT, + ENTITY_ENDERMEN_DEATH, + ENTITY_ENDERMEN_HURT, + ENTITY_ENDERMEN_SCREAM, + ENTITY_ENDERMEN_STARE, + ENTITY_ENDERMEN_TELEPORT, + ENTITY_ENDERMITE_AMBIENT, + ENTITY_ENDERMITE_DEATH, + ENTITY_ENDERMITE_HURT, + ENTITY_ENDERMITE_STEP, + ENTITY_ENDERPEARL_THROW, + ENTITY_EXPERIENCE_BOTTLE_THROW, + ENTITY_EXPERIENCE_ORB_PICKUP, + ENTITY_EXPERIENCE_ORB_TOUCH, + ENTITY_FIREWORK_BLAST, + ENTITY_FIREWORK_BLAST_FAR, + ENTITY_FIREWORK_LARGE_BLAST, + ENTITY_FIREWORK_LARGE_BLAST_FAR, + ENTITY_FIREWORK_LAUNCH, + ENTITY_FIREWORK_SHOOT, + ENTITY_FIREWORK_TWINKLE, + ENTITY_FIREWORK_TWINKLE_FAR, + ENTITY_GENERIC_BIG_FALL, + ENTITY_GENERIC_BURN, + ENTITY_GENERIC_DEATH, + ENTITY_GENERIC_DRINK, + ENTITY_GENERIC_EAT, + ENTITY_GENERIC_EXPLODE, + ENTITY_GENERIC_EXTINGUISH_FIRE, + ENTITY_GENERIC_HURT, + ENTITY_GENERIC_SMALL_FALL, + ENTITY_GENERIC_SPLASH, + ENTITY_GENERIC_SWIM, + ENTITY_GHAST_AMBIENT, + ENTITY_GHAST_DEATH, + ENTITY_GHAST_HURT, + ENTITY_GHAST_SCREAM, + ENTITY_GHAST_SHOOT, + ENTITY_GHAST_WARN, + ENTITY_GUARDIAN_AMBIENT, + ENTITY_GUARDIAN_AMBIENT_LAND, + ENTITY_GUARDIAN_ATTACK, + ENTITY_GUARDIAN_DEATH, + ENTITY_GUARDIAN_DEATH_LAND, + ENTITY_GUARDIAN_FLOP, + ENTITY_GUARDIAN_HURT, + ENTITY_GUARDIAN_HURT_LAND, + ENTITY_HORSE_AMBIENT, + ENTITY_HORSE_ANGRY, + ENTITY_HORSE_ARMOR, + ENTITY_HORSE_BREATHE, + ENTITY_HORSE_DEATH, + ENTITY_HORSE_EAT, + ENTITY_HORSE_GALLOP, + ENTITY_HORSE_HURT, + ENTITY_HORSE_JUMP, + ENTITY_HORSE_LAND, + ENTITY_HORSE_SADDLE, + ENTITY_HORSE_STEP, + ENTITY_HORSE_STEP_WOOD, + ENTITY_HOSTILE_BIG_FALL, + ENTITY_HOSTILE_DEATH, + ENTITY_HOSTILE_HURT, + ENTITY_HOSTILE_SMALL_FALL, + ENTITY_HOSTILE_SPLASH, + ENTITY_HOSTILE_SWIM, + ENTITY_IRONGOLEM_ATTACK, + ENTITY_IRONGOLEM_DEATH, + ENTITY_IRONGOLEM_HURT, + ENTITY_IRONGOLEM_STEP, + ENTITY_ITEMFRAME_ADD_ITEM, + ENTITY_ITEMFRAME_BREAK, + ENTITY_ITEMFRAME_PLACE, + ENTITY_ITEMFRAME_REMOVE_ITEM, + ENTITY_ITEMFRAME_ROTATE_ITEM, + ENTITY_ITEM_BREAK, + ENTITY_ITEM_PICKUP, + ENTITY_LEASHKNOT_BREAK, + ENTITY_LEASHKNOT_PLACE, + ENTITY_LIGHTNING_IMPACT, + ENTITY_LIGHTNING_THUNDER, + ENTITY_LINGERINGPOTION_THROW, + ENTITY_MAGMACUBE_DEATH, + ENTITY_MAGMACUBE_HURT, + ENTITY_MAGMACUBE_JUMP, + ENTITY_MAGMACUBE_SQUISH, + ENTITY_MINECART_INSIDE, + ENTITY_MINECART_RIDING, + ENTITY_MOOSHROOM_SHEAR, + ENTITY_MULE_AMBIENT, + ENTITY_MULE_DEATH, + ENTITY_MULE_HURT, + ENTITY_PAINTING_BREAK, + ENTITY_PAINTING_PLACE, + ENTITY_PIG_AMBIENT, + ENTITY_PIG_DEATH, + ENTITY_PIG_HURT, + ENTITY_PIG_SADDLE, + ENTITY_PIG_STEP, + ENTITY_PLAYER_ATTACK_CRIT, + ENTITY_PLAYER_ATTACK_KNOCKBACK, + ENTITY_PLAYER_ATTACK_NODAMAGE, + ENTITY_PLAYER_ATTACK_STRONG, + ENTITY_PLAYER_ATTACK_SWEEP, + ENTITY_PLAYER_ATTACK_WEAK, + ENTITY_PLAYER_BIG_FALL, + ENTITY_PLAYER_BREATH, + ENTITY_PLAYER_BURP, + ENTITY_PLAYER_DEATH, + ENTITY_PLAYER_HURT, + ENTITY_PLAYER_LEVELUP, + ENTITY_PLAYER_SMALL_FALL, + ENTITY_PLAYER_SPLASH, + ENTITY_PLAYER_SWIM, + ENTITY_RABBIT_AMBIENT, + ENTITY_RABBIT_ATTACK, + ENTITY_RABBIT_DEATH, + ENTITY_RABBIT_HURT, + ENTITY_RABBIT_JUMP, + ENTITY_SHEEP_AMBIENT, + ENTITY_SHEEP_DEATH, + ENTITY_SHEEP_HURT, + ENTITY_SHEEP_SHEAR, + ENTITY_SHEEP_STEP, + ENTITY_SHULKER_AMBIENT, + ENTITY_SHULKER_BULLET_HIT, + ENTITY_SHULKER_BULLET_HURT, + ENTITY_SHULKER_CLOSE, + ENTITY_SHULKER_DEATH, + ENTITY_SHULKER_HURT, + ENTITY_SHULKER_HURT_CLOSED, + ENTITY_SHULKER_OPEN, + ENTITY_SHULKER_SHOOT, + ENTITY_SHULKER_TELEPORT, + ENTITY_SILVERFISH_AMBIENT, + ENTITY_SILVERFISH_DEATH, + ENTITY_SILVERFISH_HURT, + ENTITY_SILVERFISH_STEP, + ENTITY_SKELETON_AMBIENT, + ENTITY_SKELETON_DEATH, + ENTITY_SKELETON_HORSE_AMBIENT, + ENTITY_SKELETON_HORSE_DEATH, + ENTITY_SKELETON_HORSE_HURT, + ENTITY_SKELETON_HURT, + ENTITY_SKELETON_SHOOT, + ENTITY_SKELETON_STEP, + ENTITY_SLIME_ATTACK, + ENTITY_SLIME_DEATH, + ENTITY_SLIME_HURT, + ENTITY_SLIME_JUMP, + ENTITY_SLIME_SQUISH, + ENTITY_SMALL_MAGMACUBE_DEATH, + ENTITY_SMALL_MAGMACUBE_HURT, + ENTITY_SMALL_MAGMACUBE_SQUISH, + ENTITY_SMALL_SLIME_DEATH, + ENTITY_SMALL_SLIME_HURT, + ENTITY_SMALL_SLIME_JUMP, + ENTITY_SMALL_SLIME_SQUISH, + ENTITY_SNOWBALL_THROW, + ENTITY_SNOWMAN_AMBIENT, + ENTITY_SNOWMAN_DEATH, + ENTITY_SNOWMAN_HURT, + ENTITY_SNOWMAN_SHOOT, + ENTITY_SPIDER_AMBIENT, + ENTITY_SPIDER_DEATH, + ENTITY_SPIDER_HURT, + ENTITY_SPIDER_STEP, + ENTITY_SPLASH_POTION_BREAK, + ENTITY_SPLASH_POTION_THROW, + ENTITY_SQUID_AMBIENT, + ENTITY_SQUID_DEATH, + ENTITY_SQUID_HURT, + ENTITY_TNT_PRIMED, + ENTITY_VILLAGER_AMBIENT, + ENTITY_VILLAGER_DEATH, + ENTITY_VILLAGER_HURT, + ENTITY_VILLAGER_NO, + ENTITY_VILLAGER_TRADING, + ENTITY_VILLAGER_YES, + ENTITY_WITCH_AMBIENT, + ENTITY_WITCH_DEATH, + ENTITY_WITCH_DRINK, + ENTITY_WITCH_HURT, + ENTITY_WITCH_THROW, + ENTITY_WITHER_AMBIENT, + ENTITY_WITHER_BREAK_BLOCK, + ENTITY_WITHER_DEATH, + ENTITY_WITHER_HURT, + ENTITY_WITHER_SHOOT, + ENTITY_WITHER_SPAWN, + ENTITY_WOLF_AMBIENT, + ENTITY_WOLF_DEATH, + ENTITY_WOLF_GROWL, + ENTITY_WOLF_HOWL, + ENTITY_WOLF_HURT, + ENTITY_WOLF_PANT, + ENTITY_WOLF_SHAKE, + ENTITY_WOLF_STEP, + ENTITY_WOLF_WHINE, + ENTITY_ZOMBIE_AMBIENT, + ENTITY_ZOMBIE_ATTACK_DOOR_WOOD, + ENTITY_ZOMBIE_ATTACK_IRON_DOOR, + ENTITY_ZOMBIE_BREAK_DOOR_WOOD, + ENTITY_ZOMBIE_DEATH, + ENTITY_ZOMBIE_HORSE_AMBIENT, + ENTITY_ZOMBIE_HORSE_DEATH, + ENTITY_ZOMBIE_HORSE_HURT, + ENTITY_ZOMBIE_HURT, + ENTITY_ZOMBIE_INFECT, + ENTITY_ZOMBIE_PIG_AMBIENT, + ENTITY_ZOMBIE_PIG_ANGRY, + ENTITY_ZOMBIE_PIG_DEATH, + ENTITY_ZOMBIE_PIG_HURT, + ENTITY_ZOMBIE_STEP, + ENTITY_ZOMBIE_VILLAGER_AMBIENT, + ENTITY_ZOMBIE_VILLAGER_CONVERTED, + ENTITY_ZOMBIE_VILLAGER_CURE, + ENTITY_ZOMBIE_VILLAGER_DEATH, + ENTITY_ZOMBIE_VILLAGER_HURT, + ENTITY_ZOMBIE_VILLAGER_STEP, + ITEM_ARMOR_EQUIP_CHAIN, + ITEM_ARMOR_EQUIP_DIAMOND, + ITEM_ARMOR_EQUIP_GENERIC, + ITEM_ARMOR_EQUIP_GOLD, + ITEM_ARMOR_EQUIP_IRON, + ITEM_ARMOR_EQUIP_LEATHER, + ITEM_BOTTLE_FILL, + ITEM_BOTTLE_FILL_DRAGONBREATH, + ITEM_BUCKET_EMPTY, + ITEM_BUCKET_EMPTY_LAVA, + ITEM_BUCKET_FILL, + ITEM_BUCKET_FILL_LAVA, + ITEM_CHORUS_FRUIT_TELEPORT, + ITEM_FIRECHARGE_USE, + ITEM_FLINTANDSTEEL_USE, + ITEM_HOE_TILL, + ITEM_SHIELD_BLOCK, + ITEM_SHIELD_BREAK, + ITEM_SHOVEL_FLATTEN, + MUSIC_CREATIVE, + MUSIC_CREDITS, + MUSIC_DRAGON, + MUSIC_END, + MUSIC_GAME, + MUSIC_MENU, + MUSIC_NETHER, + RECORD_11, + RECORD_13, + RECORD_BLOCKS, + RECORD_CAT, + RECORD_CHIRP, + RECORD_FAR, + RECORD_MALL, + RECORD_MELLOHI, + RECORD_STAL, + RECORD_STRAD, + RECORD_WAIT, + RECORD_WARD, + UI_BUTTON_CLICK, + WEATHER_RAIN, + WEATHER_RAIN_ABOVE, } diff --git a/src/main/java/org/bukkit/Statistic.java b/src/main/java/org/bukkit/Statistic.java index 3764f1f5..3f0ec9f5 100644 --- a/src/main/java/org/bukkit/Statistic.java +++ b/src/main/java/org/bukkit/Statistic.java @@ -15,11 +15,13 @@ public enum Statistic { JUNK_FISHED, LEAVE_GAME, JUMP, - DROP, + DROP(Type.ITEM), + PICKUP(Type.ITEM), PLAY_ONE_TICK, WALK_ONE_CM, SWIM_ONE_CM, FALL_ONE_CM, + SNEAK_TIME, CLIMB_ONE_CM, FLY_ONE_CM, DIVE_ONE_CM, @@ -29,6 +31,7 @@ public enum Statistic { HORSE_ONE_CM, SPRINT_ONE_CM, CROUCH_ONE_CM, + AVIATE_ONE_CM, MINE_BLOCK(Type.BLOCK), USE_ITEM(Type.ITEM), BREAK_ITEM(Type.ITEM), @@ -57,7 +60,8 @@ public enum Statistic { RECORD_PLAYED, FURNACE_INTERACTION, CRAFTING_TABLE_INTERACTION, - CHEST_OPENED; + CHEST_OPENED, + SLEEP_IN_BED; private final Type type; diff --git a/src/main/java/org/bukkit/World.java b/src/main/java/org/bukkit/World.java index 6eb1c0fe..5cc1feca 100644 --- a/src/main/java/org/bukkit/World.java +++ b/src/main/java/org/bukkit/World.java @@ -1167,6 +1167,200 @@ public interface World extends PluginMessageRecipient, Metadatable { public WorldBorder getWorldBorder(); /** + * Spawns the particle (the number of times specified by count) + * at the target location. + * + * @param particle the particle to spawn + * @param location the location to spawn at + * @param count the number of particles + */ + public void spawnParticle(Particle particle, Location location, int count); + + /** + * Spawns the particle (the number of times specified by count) + * at the target location. + * + * @param particle the particle to spawn + * @param x the position on the x axis to spawn at + * @param y the position on the y axis to spawn at + * @param z the position on the z axis to spawn at + * @param count the number of particles + */ + public void spawnParticle(Particle particle, double x, double y, double z, int count); + + /** + * Spawns the particle (the number of times specified by count) + * at the target location. + * + * @param particle the particle to spawn + * @param location the location to spawn at + * @param count the number of particles + * @param data the data to use for the particle or null, + * the type of this depends on {@link Particle#getDataType()} + */ + public <T> void spawnParticle(Particle particle, Location location, int count, T data); + + + /** + * Spawns the particle (the number of times specified by count) + * at the target location. + * + * @param particle the particle to spawn + * @param x the position on the x axis to spawn at + * @param y the position on the y axis to spawn at + * @param z the position on the z axis to spawn at + * @param count the number of particles + * @param data the data to use for the particle or null, + * the type of this depends on {@link Particle#getDataType()} + */ + public <T> void spawnParticle(Particle particle, double x, double y, double z, int count, T data); + + /** + * Spawns the particle (the number of times specified by count) + * at the target location. The position of each particle will be + * randomized positively and negatively by the offset parameters + * on each axis. + * + * @param particle the particle to spawn + * @param location the location to spawn at + * @param count the number of particles + * @param offsetX the maximum random offset on the X axis + * @param offsetY the maximum random offset on the Y axis + * @param offsetZ the maximum random offset on the Z axis + */ + public void spawnParticle(Particle particle, Location location, int count, double offsetX, double offsetY, double offsetZ); + + /** + * Spawns the particle (the number of times specified by count) + * at the target location. The position of each particle will be + * randomized positively and negatively by the offset parameters + * on each axis. + * + * @param particle the particle to spawn + * @param x the position on the x axis to spawn at + * @param y the position on the y axis to spawn at + * @param z the position on the z axis to spawn at + * @param count the number of particles + * @param offsetX the maximum random offset on the X axis + * @param offsetY the maximum random offset on the Y axis + * @param offsetZ the maximum random offset on the Z axis + */ + public void spawnParticle(Particle particle, double x, double y, double z, int count, double offsetX, double offsetY, double offsetZ); + + /** + * Spawns the particle (the number of times specified by count) + * at the target location. The position of each particle will be + * randomized positively and negatively by the offset parameters + * on each axis. + * + * @param particle the particle to spawn + * @param location the location to spawn at + * @param count the number of particles + * @param offsetX the maximum random offset on the X axis + * @param offsetY the maximum random offset on the Y axis + * @param offsetZ the maximum random offset on the Z axis + * @param data the data to use for the particle or null, + * the type of this depends on {@link Particle#getDataType()} + */ + public <T> void spawnParticle(Particle particle, Location location, int count, double offsetX, double offsetY, double offsetZ, T data); + + /** + * Spawns the particle (the number of times specified by count) + * at the target location. The position of each particle will be + * randomized positively and negatively by the offset parameters + * on each axis. + * + * @param particle the particle to spawn + * @param x the position on the x axis to spawn at + * @param y the position on the y axis to spawn at + * @param z the position on the z axis to spawn at + * @param count the number of particles + * @param offsetX the maximum random offset on the X axis + * @param offsetY the maximum random offset on the Y axis + * @param offsetZ the maximum random offset on the Z axis + * @param data the data to use for the particle or null, + * the type of this depends on {@link Particle#getDataType()} + */ + public <T> void spawnParticle(Particle particle, double x, double y, double z, int count, double offsetX, double offsetY, double offsetZ, T data); + + /** + * Spawns the particle (the number of times specified by count) + * at the target location. The position of each particle will be + * randomized positively and negatively by the offset parameters + * on each axis. + * + * @param particle the particle to spawn + * @param location the location to spawn at + * @param count the number of particles + * @param offsetX the maximum random offset on the X axis + * @param offsetY the maximum random offset on the Y axis + * @param offsetZ the maximum random offset on the Z axis + * @param extra the extra data for this particle, depends on the + * particle used (normally speed) + */ + public void spawnParticle(Particle particle, Location location, int count, double offsetX, double offsetY, double offsetZ, double extra); + + /** + * Spawns the particle (the number of times specified by count) + * at the target location. The position of each particle will be + * randomized positively and negatively by the offset parameters + * on each axis. + * + * @param particle the particle to spawn + * @param x the position on the x axis to spawn at + * @param y the position on the y axis to spawn at + * @param z the position on the z axis to spawn at + * @param count the number of particles + * @param offsetX the maximum random offset on the X axis + * @param offsetY the maximum random offset on the Y axis + * @param offsetZ the maximum random offset on the Z axis + * @param extra the extra data for this particle, depends on the + * particle used (normally speed) + */ + public void spawnParticle(Particle particle, double x, double y, double z, int count, double offsetX, double offsetY, double offsetZ, double extra); + + /** + * Spawns the particle (the number of times specified by count) + * at the target location. The position of each particle will be + * randomized positively and negatively by the offset parameters + * on each axis. + * + * @param particle the particle to spawn + * @param location the location to spawn at + * @param count the number of particles + * @param offsetX the maximum random offset on the X axis + * @param offsetY the maximum random offset on the Y axis + * @param offsetZ the maximum random offset on the Z axis + * @param extra the extra data for this particle, depends on the + * particle used (normally speed) + * @param data the data to use for the particle or null, + * the type of this depends on {@link Particle#getDataType()} + */ + public <T> void spawnParticle(Particle particle, Location location, int count, double offsetX, double offsetY, double offsetZ, double extra, T data); + + /** + * Spawns the particle (the number of times specified by count) + * at the target location. The position of each particle will be + * randomized positively and negatively by the offset parameters + * on each axis. + * + * @param particle the particle to spawn + * @param x the position on the x axis to spawn at + * @param y the position on the y axis to spawn at + * @param z the position on the z axis to spawn at + * @param count the number of particles + * @param offsetX the maximum random offset on the X axis + * @param offsetY the maximum random offset on the Y axis + * @param offsetZ the maximum random offset on the Z axis + * @param extra the extra data for this particle, depends on the + * particle used (normally speed) + * @param data the data to use for the particle or null, + * the type of this depends on {@link Particle#getDataType()} + */ + public <T> void spawnParticle(Particle particle, double x, double y, double z, int count, double offsetX, double offsetY, double offsetZ, double extra, T data); + + + /** * Represents various map environment types that a world may be */ public enum Environment { diff --git a/src/main/java/org/bukkit/block/Biome.java b/src/main/java/org/bukkit/block/Biome.java index 8b902f44..9585005f 100644 --- a/src/main/java/org/bukkit/block/Biome.java +++ b/src/main/java/org/bukkit/block/Biome.java @@ -4,27 +4,27 @@ package org.bukkit.block; * Holds all accepted Biomes in the default server */ public enum Biome { - SWAMPLAND, + OCEAN, + PLAINS, + DESERT, + EXTREME_HILLS, FOREST, TAIGA, - DESERT, - PLAINS, + SWAMPLAND, + RIVER, HELL, SKY, - OCEAN, - RIVER, - EXTREME_HILLS, FROZEN_OCEAN, FROZEN_RIVER, - ICE_PLAINS, + ICE_FLATS, ICE_MOUNTAINS, MUSHROOM_ISLAND, - MUSHROOM_SHORE, - BEACH, + MUSHROOM_ISLAND_SHORE, + BEACHES, DESERT_HILLS, FOREST_HILLS, TAIGA_HILLS, - SMALL_MOUNTAINS, + SMALLER_EXTREME_HILLS, JUNGLE, JUNGLE_HILLS, JUNGLE_EDGE, @@ -34,35 +34,36 @@ public enum Biome { BIRCH_FOREST, BIRCH_FOREST_HILLS, ROOFED_FOREST, - COLD_TAIGA, - COLD_TAIGA_HILLS, - MEGA_TAIGA, - MEGA_TAIGA_HILLS, - EXTREME_HILLS_PLUS, + TAIGA_COLD, + TAIGA_COLD_HILLS, + REDWOOD_TAIGA, + REDWOOD_TAIGA_HILLS, + EXTREME_HILLS_WITH_TREES, SAVANNA, - SAVANNA_PLATEAU, + SAVANNA_ROCK, MESA, - MESA_PLATEAU_FOREST, - MESA_PLATEAU, - SUNFLOWER_PLAINS, - DESERT_MOUNTAINS, - FLOWER_FOREST, - TAIGA_MOUNTAINS, - SWAMPLAND_MOUNTAINS, - ICE_PLAINS_SPIKES, - JUNGLE_MOUNTAINS, - JUNGLE_EDGE_MOUNTAINS, - COLD_TAIGA_MOUNTAINS, - SAVANNA_MOUNTAINS, - SAVANNA_PLATEAU_MOUNTAINS, - MESA_BRYCE, - MESA_PLATEAU_FOREST_MOUNTAINS, - MESA_PLATEAU_MOUNTAINS, - BIRCH_FOREST_MOUNTAINS, - BIRCH_FOREST_HILLS_MOUNTAINS, - ROOFED_FOREST_MOUNTAINS, - MEGA_SPRUCE_TAIGA, - EXTREME_HILLS_MOUNTAINS, - EXTREME_HILLS_PLUS_MOUNTAINS, - MEGA_SPRUCE_TAIGA_HILLS, + MESA_ROCK, + MESA_CLEAR_ROCK, + VOID, + MUTATED_PLAINS, + MUTATED_DESERT, + MUTATED_EXTREME_HILLS, + MUTATED_FOREST, + MUTATED_TAIGA, + MUTATED_SWAMPLAND, + MUTATED_ICE_FLATS, + MUTATED_JUNGLE, + MUTATED_JUNGLE_EDGE, + MUTATED_BIRCH_FOREST, + MUTATED_BIRCH_FOREST_HILLS, + MUTATED_ROOFED_FOREST, + MUTATED_TAIGA_COLD, + MUTATED_REDWOOD_TAIGA, + MUTATED_REDWOOD_TAIGA_HILLS, + MUTATED_EXTREME_HILLS_WITH_TREES, + MUTATED_SAVANNA, + MUTATED_SAVANNA_ROCK, + MUTATED_MESA, + MUTATED_MESA_ROCK, + MUTATED_MESA_CLEAR_ROCK } diff --git a/src/main/java/org/bukkit/block/EndGateway.java b/src/main/java/org/bukkit/block/EndGateway.java new file mode 100644 index 00000000..ddbe7779 --- /dev/null +++ b/src/main/java/org/bukkit/block/EndGateway.java @@ -0,0 +1,3 @@ +package org.bukkit.block; + +public interface EndGateway extends BlockState {} diff --git a/src/main/java/org/bukkit/block/Structure.java b/src/main/java/org/bukkit/block/Structure.java new file mode 100644 index 00000000..dd5b8b1e --- /dev/null +++ b/src/main/java/org/bukkit/block/Structure.java @@ -0,0 +1,3 @@ +package org.bukkit.block; + +public interface Structure extends BlockState {} diff --git a/src/main/java/org/bukkit/entity/AreaEffectCloud.java b/src/main/java/org/bukkit/entity/AreaEffectCloud.java new file mode 100644 index 00000000..5b880f4b --- /dev/null +++ b/src/main/java/org/bukkit/entity/AreaEffectCloud.java @@ -0,0 +1,174 @@ +package org.bukkit.entity; + +import java.util.List; +import org.bukkit.Color; +import org.bukkit.Effect; +import org.bukkit.Particle; +import org.bukkit.potion.PotionEffect; + +/** + * Represents an area effect cloud which will imbue a potion effect onto + * entities which enter it. + */ +public interface AreaEffectCloud extends Entity { + + /** + * Gets the duration which this cloud will exist for (in ticks). + * + * @return cloud duration + */ + int getDuration(); + + /** + * Sets the duration which this cloud will exist for (in ticks). + * + * @param duration cloud duration + */ + void setDuration(int duration); + + /** + * Gets the time which an entity has to be exposed to the cloud before the + * effect is applied. + * + * @return wait time + */ + int getWaitTime(); + + /** + * Sets the time which an entity has to be exposed to the cloud before the + * effect is applied. + * + * @param waitTime wait time + */ + void setWaitTime(int waitTime); + + /** + * Gets the time that an entity will be immune from subsequent exposure. + * + * @return reapplication delay + */ + int getReapplicationDelay(); + + /** + * Sets the time that an entity will be immune from subsequent exposure. + * + * @param delay reapplication delay + */ + void setReapplicationDelay(int delay); + + /** + * Gets the amount that the duration of this cloud will decrease by when it + * applies an effect to an entity. + * + * @return duration on use delta + */ + int getDurationOnUse(); + + /** + * Sets the amount that the duration of this cloud will decrease by when it + * applies an effect to an entity. + * + * @param duration duration on use delta + */ + void setDurationOnUse(int duration); + /** + * Gets the initial radius of the cloud. + * + * @return radius + */ + float getRadius(); + + /** + * Sets the initial radius of the cloud. + * + * @param radius radius + */ + void setRadius(float radius); + + /** + * Gets the amount that the radius of this cloud will decrease by when it + * applies an effect to an entity. + * + * @return radius on use delta + */ + float getRadiusOnUse(); + + /** + * Sets the amount that the radius of this cloud will decrease by when it + * applies an effect to an entity. + * + * @param radius radius on use delta + */ + void setRadiusOnUse(float radius); + + /** + * Gets the amount that the radius of this cloud will decrease by each tick. + * + * @return radius per tick delta + */ + float getRadiusPerTick(); + + /** + * Gets the amount that the radius of this cloud will decrease by each tick. + * + * @param radius per tick delta + */ + void setRadiusPerTick(float radius); + + /** + * Gets the particle which this cloud will be composed of + * + * @return particle the set particle type + */ + Particle getParticle(); + + /** + * Sets the particle which this cloud will be composed of + * + * @param particle the new particle type + */ + void setParticle(Particle particle); + + /** + * Get a copy of all effects which can be applied by this cloud. No + * guarantees are made about the nature of the returned list. + * + * @return the list of all effects + */ + List<PotionEffect> getEffects(); + + /** + * Add an effect which can be applied by this cloud. + * + * @param effect the effect to add + */ + void addEffect(PotionEffect effect); + + /** + * Remove an effect from this cloud. + * + * @param effect the effect to remove + */ + void removeEffect(PotionEffect effect); + + /** + * Set the effects of this cloud. Will remove all existing effects. + * + * @param effects the new effects to set + */ + void setEffects(List<PotionEffect> effects); + + /** + * Gets the color of this cloud. Will be applied as a tint to its particles. + * + * @return cloud color + */ + Color getColor(); + + /** + * Sets the color of this cloud. Will be applied as a tint to its particles. + * + * @param color cloud color + */ + void setColor(Color color); +} diff --git a/src/main/java/org/bukkit/entity/DragonFireball.java b/src/main/java/org/bukkit/entity/DragonFireball.java new file mode 100644 index 00000000..6c475a37 --- /dev/null +++ b/src/main/java/org/bukkit/entity/DragonFireball.java @@ -0,0 +1,3 @@ +package org.bukkit.entity; + +public interface DragonFireball extends Fireball {} diff --git a/src/main/java/org/bukkit/entity/EntityType.java b/src/main/java/org/bukkit/entity/EntityType.java index ccc024bf..25b70bf8 100644 --- a/src/main/java/org/bukkit/entity/EntityType.java +++ b/src/main/java/org/bukkit/entity/EntityType.java @@ -13,6 +13,7 @@ import org.bukkit.entity.minecart.StorageMinecart; import org.bukkit.inventory.ItemStack; import org.bukkit.Location; import org.bukkit.World; +import org.bukkit.potion.PotionEffectType; public enum EntityType { @@ -80,7 +81,29 @@ public enum EntityType { * A block that is going to or is about to fall. */ FALLING_BLOCK("FallingSand", FallingBlock.class, 21, false), + /** + * Internal representation of a Firework once it has been launched. + */ FIREWORK("FireworksRocketEntity", Firework.class, 22, false), + /** + * Like {@link #ARROW} but tipped with a specific potion which is applied on contact. + */ + TIPPED_ARROW("TippedArrow", TippedArrow.class, 23), + /** + * Like {@link #TIPPED_ARROW} but causes the {@link PotionEffectType#GLOWING} effect on all team members. + */ + SPECTRAL_ARROW("SpectralArrow", SpectralArrow.class, 24), + /** + * Bullet fired by {@link #SHULKER}. + */ + SHULKER_BULLET("ShulkerBullet", ShulkerBullet.class, 25), + /** + * Like {@link #FIREBALL} but with added effects. + */ + DRAGON_FIREBALL("DragonFireball", DragonFireball.class, 26), + /** + * Mechanical entity with an inventory for placing weapons / armor into. + */ ARMOR_STAND("ArmorStand", ArmorStand.class, 30, false), /** * @see CommandMinecart @@ -133,6 +156,7 @@ public enum EntityType { WITCH("Witch", Witch.class, 66), ENDERMITE("Endermite", Endermite.class, 67), GUARDIAN("Guardian", Guardian.class, 68), + SHULKER("Shulker", Shulker.class, 69), PIG("Pig", Pig.class, 90), SHEEP("Sheep", Sheep.class, 91), COW("Cow", Cow.class, 92), @@ -152,6 +176,7 @@ public enum EntityType { * A flying splash potion. */ SPLASH_POTION(null, ThrownPotion.class, -1, false), + AREA_EFFECT_CLOUD(null, AreaEffectCloud.class, -1), /** * A flying chicken egg. */ diff --git a/src/main/java/org/bukkit/entity/Shulker.java b/src/main/java/org/bukkit/entity/Shulker.java new file mode 100644 index 00000000..92218cd7 --- /dev/null +++ b/src/main/java/org/bukkit/entity/Shulker.java @@ -0,0 +1,3 @@ +package org.bukkit.entity; + +public interface Shulker extends Golem {} diff --git a/src/main/java/org/bukkit/entity/ShulkerBullet.java b/src/main/java/org/bukkit/entity/ShulkerBullet.java new file mode 100644 index 00000000..7e232338 --- /dev/null +++ b/src/main/java/org/bukkit/entity/ShulkerBullet.java @@ -0,0 +1,34 @@ +package org.bukkit.entity; + +import org.bukkit.projectiles.ProjectileSource; + +public interface ShulkerBullet extends Entity { + + /** + * Retrieve the shooter of this bullet. + * + * @return the {@link ProjectileSource} that shot this bullet + */ + ProjectileSource getShooter(); + + /** + * Set the shooter of this bullet. + * + * @param source the {@link ProjectileSource} that shot this bullet + */ + void setShooter(ProjectileSource source); + + /** + * Retrieve the target of this bullet. + * + * @return the targeted entity + */ + Entity getTarget(); + + /** + * Sets the target of this bullet + * + * @param target the entity to target + */ + void setTarget(Entity target); +} diff --git a/src/main/java/org/bukkit/entity/SpectralArrow.java b/src/main/java/org/bukkit/entity/SpectralArrow.java new file mode 100644 index 00000000..58f05128 --- /dev/null +++ b/src/main/java/org/bukkit/entity/SpectralArrow.java @@ -0,0 +1,3 @@ +package org.bukkit.entity; + +public interface SpectralArrow extends Arrow {} diff --git a/src/main/java/org/bukkit/entity/TippedArrow.java b/src/main/java/org/bukkit/entity/TippedArrow.java new file mode 100644 index 00000000..3ef2c783 --- /dev/null +++ b/src/main/java/org/bukkit/entity/TippedArrow.java @@ -0,0 +1,3 @@ +package org.bukkit.entity; + +public interface TippedArrow extends Arrow {} diff --git a/src/main/java/org/bukkit/entity/Zombie.java b/src/main/java/org/bukkit/entity/Zombie.java index 59b52fd3..3bd53e19 100644 --- a/src/main/java/org/bukkit/entity/Zombie.java +++ b/src/main/java/org/bukkit/entity/Zombie.java @@ -30,6 +30,23 @@ public interface Zombie extends Monster { * Sets whether the zombie is a villager * * @param flag Whether the zombie is a villager + * @deprecated Defaults to a basic villager */ + @Deprecated public void setVillager(boolean flag); + + /** + * Sets whether the zombie is a villager + * + * @param profession the profession of the villager or null to clear + */ + public void setVillagerProfession(Villager.Profession profession); + + /** + * Returns the villager profession of the zombie if the + * zombie is a villager + * + * @return the profession or null + */ + public Villager.Profession getVillagerProfession(); } diff --git a/src/main/java/org/bukkit/event/entity/EntityDamageEvent.java b/src/main/java/org/bukkit/event/entity/EntityDamageEvent.java index 9ef48c84..f217a890 100644 --- a/src/main/java/org/bukkit/event/entity/EntityDamageEvent.java +++ b/src/main/java/org/bukkit/event/entity/EntityDamageEvent.java @@ -408,6 +408,12 @@ public class EntityDamageEvent extends EntityEvent implements Cancellable { */ THORNS, /** + * Damage caused by a dragon breathing fire. + * <p> + * Damage: variable + */ + DRAGON_BREATH, + /** * Custom damage. * <p> * Damage: variable diff --git a/src/main/java/org/bukkit/potion/PotionEffectType.java b/src/main/java/org/bukkit/potion/PotionEffectType.java index 4919d59e..c0cae2b5 100644 --- a/src/main/java/org/bukkit/potion/PotionEffectType.java +++ b/src/main/java/org/bukkit/potion/PotionEffectType.java @@ -126,6 +126,26 @@ public abstract class PotionEffectType { */ public static final PotionEffectType SATURATION = new PotionEffectTypeWrapper(23); + /** + * Outlines the entity so that it can be seen from afar. + */ + public static final PotionEffectType GLOWING = new PotionEffectTypeWrapper(24); + + /** + * Causes the entity to float into the air. + */ + public static final PotionEffectType LEVITATION = new PotionEffectTypeWrapper(25); + + /** + * Loot table luck. + */ + public static final PotionEffectType LUCK = new PotionEffectTypeWrapper(26); + + /** + * Loot table unluck. + */ + public static final PotionEffectType UNLUCK = new PotionEffectTypeWrapper(27); + private final int id; protected PotionEffectType(int id) { @@ -202,7 +222,7 @@ public abstract class PotionEffectType { return "PotionEffectType[" + id + ", " + getName() + "]"; } - private static final PotionEffectType[] byId = new PotionEffectType[24]; + private static final PotionEffectType[] byId = new PotionEffectType[28]; private static final Map<String, PotionEffectType> byName = new HashMap<String, PotionEffectType>(); // will break on updates. private static boolean acceptingNew = true; diff --git a/src/main/java/org/bukkit/potion/PotionType.java b/src/main/java/org/bukkit/potion/PotionType.java index 6ad9a91a..29e53ef2 100644 --- a/src/main/java/org/bukkit/potion/PotionType.java +++ b/src/main/java/org/bukkit/potion/PotionType.java @@ -15,6 +15,11 @@ public enum PotionType { INSTANT_DAMAGE(12, PotionEffectType.HARM, 2), WATER_BREATHING(13, PotionEffectType.WATER_BREATHING, 1), INVISIBILITY(14, PotionEffectType.INVISIBILITY, 1), + /** + * @deprecated not representable with a damage value! + */ + @Deprecated + LUCK(-1, PotionEffectType.LUCK, 1), ; private final int damageValue, maxLevel; |