13
0
geforkt von Mirrors/Paper

Update to Minecraft 1.17

By: md_5 <git@md-5.net>
Dieser Commit ist enthalten in:
Bukkit/Spigot 2021-06-11 15:00:00 +10:00
Ursprung 2e1a3720cf
Commit 153752dfac
44 geänderte Dateien mit 3379 neuen und 958 gelöschten Zeilen

Datei anzeigen

@ -5,7 +5,7 @@
<groupId>org.bukkit</groupId>
<artifactId>bukkit</artifactId>
<version>1.16.5-R0.1-SNAPSHOT</version>
<version>1.17-R0.1-SNAPSHOT</version>
<packaging>jar</packaging>
<name>Bukkit</name>
@ -54,7 +54,7 @@
<dependency>
<groupId>org.yaml</groupId>
<artifactId>snakeyaml</artifactId>
<version>1.27</version>
<version>1.29</version>
<scope>compile</scope>
</dependency>
<!-- not part of the API proper -->
@ -67,20 +67,20 @@
<dependency>
<groupId>org.apache.maven.resolver</groupId>
<artifactId>maven-resolver-connector-basic</artifactId>
<version>1.6.2</version>
<version>1.7.0</version>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>org.apache.maven.resolver</groupId>
<artifactId>maven-resolver-transport-http</artifactId>
<version>1.6.2</version>
<version>1.7.0</version>
<scope>provided</scope>
</dependency>
<!-- annotations -->
<dependency>
<groupId>org.jetbrains</groupId>
<artifactId>annotations-java5</artifactId>
<version>20.1.0</version>
<version>21.0.1</version>
<scope>provided</scope>
</dependency>
<!-- testing -->

Datei anzeigen

@ -0,0 +1,101 @@
package org.bukkit;
import java.util.Collection;
import java.util.Collections;
import java.util.HashMap;
import java.util.Map;
import org.jetbrains.annotations.NotNull;
import org.jetbrains.annotations.Nullable;
/**
* Represents a generic Mojang game event.
*/
public final class GameEvent implements Keyed {
private static final Map<NamespacedKey, GameEvent> GAME_EVENTS = new HashMap<>();
//
public static final GameEvent BLOCK_ATTACH = getEvent("block_attach");
public static final GameEvent BLOCK_CHANGE = getEvent("block_change");
public static final GameEvent BLOCK_CLOSE = getEvent("block_close");
public static final GameEvent BLOCK_DESTROY = getEvent("block_destroy");
public static final GameEvent BLOCK_DETACH = getEvent("block_detach");
public static final GameEvent BLOCK_OPEN = getEvent("block_open");
public static final GameEvent BLOCK_PLACE = getEvent("block_place");
public static final GameEvent BLOCK_PRESS = getEvent("block_press");
public static final GameEvent BLOCK_SWITCH = getEvent("block_switch");
public static final GameEvent BLOCK_UNPRESS = getEvent("block_unpress");
public static final GameEvent BLOCK_UNSWITCH = getEvent("block_unswitch");
public static final GameEvent CONTAINER_CLOSE = getEvent("container_close");
public static final GameEvent CONTAINER_OPEN = getEvent("container_open");
public static final GameEvent DISPENSE_FAIL = getEvent("dispense_fail");
public static final GameEvent DRINKING_FINISH = getEvent("drinking_finish");
public static final GameEvent EAT = getEvent("eat");
public static final GameEvent ELYTRA_FREE_FALL = getEvent("elytra_free_fall");
public static final GameEvent ENTITY_DAMAGED = getEvent("entity_damaged");
public static final GameEvent ENTITY_KILLED = getEvent("entity_killed");
public static final GameEvent ENTITY_PLACE = getEvent("entity_place");
public static final GameEvent EQUIP = getEvent("equip");
public static final GameEvent EXPLODE = getEvent("explode");
public static final GameEvent FISHING_ROD_CAST = getEvent("fishing_rod_cast");
public static final GameEvent FISHING_ROD_REEL_IN = getEvent("fishing_rod_reel_in");
public static final GameEvent FLAP = getEvent("flap");
public static final GameEvent FLUID_PICKUP = getEvent("fluid_pickup");
public static final GameEvent FLUID_PLACE = getEvent("fluid_place");
public static final GameEvent HIT_GROUND = getEvent("hit_ground");
public static final GameEvent LIGHTNING_STRIKE = getEvent("lightning_strike");
public static final GameEvent MINECART_MOVING = getEvent("minecart_moving");
public static final GameEvent MOB_INTERACT = getEvent("mob_interact");
public static final GameEvent PISTON_CONTRACT = getEvent("piston_contract");
public static final GameEvent PISTON_EXTEND = getEvent("piston_extend");
public static final GameEvent PRIME_FUSE = getEvent("prime_fuse");
public static final GameEvent PROJECTILE_LAND = getEvent("projectile_land");
public static final GameEvent PROJECTILE_SHOOT = getEvent("projectile_shoot");
public static final GameEvent RAVAGER_ROAR = getEvent("ravager_roar");
public static final GameEvent RING_BELL = getEvent("ring_bell");
public static final GameEvent SHEAR = getEvent("shear");
public static final GameEvent SHULKER_CLOSE = getEvent("shulker_close");
public static final GameEvent SHULKER_OPEN = getEvent("shulker_open");
public static final GameEvent SPLASH = getEvent("splash");
public static final GameEvent STEP = getEvent("step");
public static final GameEvent SWIM = getEvent("swim");
public static final GameEvent WOLF_SHAKING = getEvent("wolf_shaking");
//
private final NamespacedKey key;
private GameEvent(NamespacedKey key) {
this.key = key;
GAME_EVENTS.put(key, this);
}
@NotNull
@Override
public NamespacedKey getKey() {
return key;
}
/**
* Returns a {@link GameEvent} by a {@link NamespacedKey}.
*
* @param namespacedKey the key
* @return the event or null
*/
@Nullable
public static GameEvent getByKey(@NotNull NamespacedKey namespacedKey) {
return GAME_EVENTS.get(namespacedKey);
}
/**
* Returns the set of all GameEvents.
*
* @return the memoryKeys
*/
@NotNull
public static Collection<GameEvent> values() {
return Collections.unmodifiableCollection(GAME_EVENTS.values());
}
private static GameEvent getEvent(String vanilla) {
return new GameEvent(NamespacedKey.minecraft(vanilla));
}
}

Datei anzeigen

@ -148,6 +148,11 @@ public final class GameRule<T> {
*/
public static final GameRule<Boolean> FIRE_DAMAGE = new GameRule<>("fireDamage", Boolean.class);
/**
* Whether freeze damage is enabled or not.
*/
public static final GameRule<Boolean> FREEZE_DAMAGE = new GameRule<>("freezeDamage", Boolean.class);
/**
* Whether patrols should naturally spawn.
*/
@ -200,6 +205,12 @@ public final class GameRule<T> {
*/
public static final GameRule<Integer> MAX_COMMAND_CHAIN_LENGTH = new GameRule<>("maxCommandChainLength", Integer.class);
/**
* The percentage of online players which must be sleeping for the night to
* advance.
*/
public static final GameRule<Integer> PLAYERS_SLEEPING_PERCENTAGE = new GameRule<>("playersSleepingPercentage", Integer.class);
// All GameRules instantiated above this for organizational purposes
private final String name;
private final Class<T> type;

Datei-Diff unterdrückt, da er zu groß ist Diff laden

Datei anzeigen

@ -82,6 +82,23 @@ public enum Particle {
LANDING_OBSIDIAN_TEAR,
REVERSE_PORTAL,
WHITE_ASH,
LIGHT,
DUST_COLOR_TRANSITION(DustTransition.class),
VIBRATION(Vibration.class),
FALLING_SPORE_BLOSSOM,
SPORE_BLOSSOM_AIR,
SMALL_FLAME,
SNOWFLAKE,
DRIPPING_DRIPSTONE_LAVA,
FALLING_DRIPSTONE_LAVA,
DRIPPING_DRIPSTONE_WATER,
FALLING_DRIPSTONE_WATER,
GLOW_SQUID_INK,
GLOW,
WAX_ON,
WAX_OFF,
ELECTRIC_SPARK,
SCRAPE,
// ----- Legacy Separator -----
LEGACY_BLOCK_CRACK(MaterialData.class),
LEGACY_BLOCK_DUST(MaterialData.class),
@ -140,4 +157,29 @@ public enum Particle {
return size;
}
}
/**
* Options which can be applied to a color transitioning dust particles.
*/
public static class DustTransition extends DustOptions {
private final Color toColor;
public DustTransition(@NotNull Color fromColor, @NotNull Color toColor, float size) {
super(fromColor, size);
Preconditions.checkArgument(toColor != null, "toColor");
this.toColor = toColor;
}
/**
* The final of the particles to be displayed.
*
* @return final particle color
*/
@NotNull
public Color getToColor() {
return toColor;
}
}
}

Datei anzeigen

@ -170,6 +170,25 @@ public interface Registry<T extends Keyed> extends Iterable<T> {
* @see Fluid
*/
Registry<Fluid> FLUID = new SimpleRegistry<>(Fluid.class);
/**
* Game events.
*
* @see GameEvent
*/
Registry<GameEvent> GAME_EVENT = new Registry<GameEvent>() {
@NotNull
@Override
public Iterator iterator() {
return GameEvent.values().iterator();
}
@Nullable
@Override
public GameEvent get(@NotNull NamespacedKey key) {
return GameEvent.getByKey(key);
}
};
/**
* Get the object by its key.

Datei anzeigen

@ -34,6 +34,17 @@ public enum Sound implements Keyed {
AMBIENT_WARPED_FOREST_ADDITIONS("ambient.warped_forest.additions"),
AMBIENT_WARPED_FOREST_LOOP("ambient.warped_forest.loop"),
AMBIENT_WARPED_FOREST_MOOD("ambient.warped_forest.mood"),
BLOCK_AMETHYST_BLOCK_BREAK("block.amethyst_block.break"),
BLOCK_AMETHYST_BLOCK_CHIME("block.amethyst_block.chime"),
BLOCK_AMETHYST_BLOCK_FALL("block.amethyst_block.fall"),
BLOCK_AMETHYST_BLOCK_HIT("block.amethyst_block.hit"),
BLOCK_AMETHYST_BLOCK_PLACE("block.amethyst_block.place"),
BLOCK_AMETHYST_BLOCK_STEP("block.amethyst_block.step"),
BLOCK_AMETHYST_CLUSTER_BREAK("block.amethyst_cluster.break"),
BLOCK_AMETHYST_CLUSTER_FALL("block.amethyst_cluster.fall"),
BLOCK_AMETHYST_CLUSTER_HIT("block.amethyst_cluster.hit"),
BLOCK_AMETHYST_CLUSTER_PLACE("block.amethyst_cluster.place"),
BLOCK_AMETHYST_CLUSTER_STEP("block.amethyst_cluster.step"),
BLOCK_ANCIENT_DEBRIS_BREAK("block.ancient_debris.break"),
BLOCK_ANCIENT_DEBRIS_FALL("block.ancient_debris.fall"),
BLOCK_ANCIENT_DEBRIS_HIT("block.ancient_debris.hit"),
@ -47,6 +58,16 @@ public enum Sound implements Keyed {
BLOCK_ANVIL_PLACE("block.anvil.place"),
BLOCK_ANVIL_STEP("block.anvil.step"),
BLOCK_ANVIL_USE("block.anvil.use"),
BLOCK_AZALEA_BREAK("block.azalea.break"),
BLOCK_AZALEA_FALL("block.azalea.fall"),
BLOCK_AZALEA_HIT("block.azalea.hit"),
BLOCK_AZALEA_LEAVES_BREAK("block.azalea_leaves.break"),
BLOCK_AZALEA_LEAVES_FALL("block.azalea_leaves.fall"),
BLOCK_AZALEA_LEAVES_HIT("block.azalea_leaves.hit"),
BLOCK_AZALEA_LEAVES_PLACE("block.azalea_leaves.place"),
BLOCK_AZALEA_LEAVES_STEP("block.azalea_leaves.step"),
BLOCK_AZALEA_PLACE("block.azalea.place"),
BLOCK_AZALEA_STEP("block.azalea.step"),
BLOCK_BAMBOO_BREAK("block.bamboo.break"),
BLOCK_BAMBOO_FALL("block.bamboo.fall"),
BLOCK_BAMBOO_HIT("block.bamboo.hit"),
@ -73,6 +94,13 @@ public enum Sound implements Keyed {
BLOCK_BEEHIVE_WORK("block.beehive.work"),
BLOCK_BELL_RESONATE("block.bell.resonate"),
BLOCK_BELL_USE("block.bell.use"),
BLOCK_BIG_DRIPLEAF_BREAK("block.big_dripleaf.break"),
BLOCK_BIG_DRIPLEAF_FALL("block.big_dripleaf.fall"),
BLOCK_BIG_DRIPLEAF_HIT("block.big_dripleaf.hit"),
BLOCK_BIG_DRIPLEAF_PLACE("block.big_dripleaf.place"),
BLOCK_BIG_DRIPLEAF_STEP("block.big_dripleaf.step"),
BLOCK_BIG_DRIPLEAF_TILT_DOWN("block.big_dripleaf.tilt_down"),
BLOCK_BIG_DRIPLEAF_TILT_UP("block.big_dripleaf.tilt_up"),
BLOCK_BLASTFURNACE_FIRE_CRACKLE("block.blastfurnace.fire_crackle"),
BLOCK_BONE_BLOCK_BREAK("block.bone_block.break"),
BLOCK_BONE_BLOCK_FALL("block.bone_block.fall"),
@ -85,7 +113,26 @@ public enum Sound implements Keyed {
BLOCK_BUBBLE_COLUMN_UPWARDS_INSIDE("block.bubble_column.upwards_inside"),
BLOCK_BUBBLE_COLUMN_WHIRLPOOL_AMBIENT("block.bubble_column.whirlpool_ambient"),
BLOCK_BUBBLE_COLUMN_WHIRLPOOL_INSIDE("block.bubble_column.whirlpool_inside"),
BLOCK_CAKE_ADD_CANDLE("block.cake.add_candle"),
BLOCK_CALCITE_BREAK("block.calcite.break"),
BLOCK_CALCITE_FALL("block.calcite.fall"),
BLOCK_CALCITE_HIT("block.calcite.hit"),
BLOCK_CALCITE_PLACE("block.calcite.place"),
BLOCK_CALCITE_STEP("block.calcite.step"),
BLOCK_CAMPFIRE_CRACKLE("block.campfire.crackle"),
BLOCK_CANDLE_AMBIENT("block.candle.ambient"),
BLOCK_CANDLE_BREAK("block.candle.break"),
BLOCK_CANDLE_EXTINGUISH("block.candle.extinguish"),
BLOCK_CANDLE_FALL("block.candle.fall"),
BLOCK_CANDLE_HIT("block.candle.hit"),
BLOCK_CANDLE_PLACE("block.candle.place"),
BLOCK_CANDLE_STEP("block.candle.step"),
BLOCK_CAVE_VINES_BREAK("block.cave_vines.break"),
BLOCK_CAVE_VINES_FALL("block.cave_vines.fall"),
BLOCK_CAVE_VINES_HIT("block.cave_vines.hit"),
BLOCK_CAVE_VINES_PICK_BERRIES("block.cave_vines.pick_berries"),
BLOCK_CAVE_VINES_PLACE("block.cave_vines.place"),
BLOCK_CAVE_VINES_STEP("block.cave_vines.step"),
BLOCK_CHAIN_BREAK("block.chain.break"),
BLOCK_CHAIN_FALL("block.chain.fall"),
BLOCK_CHAIN_HIT("block.chain.hit"),
@ -106,15 +153,40 @@ public enum Sound implements Keyed {
BLOCK_CONDUIT_AMBIENT_SHORT("block.conduit.ambient.short"),
BLOCK_CONDUIT_ATTACK_TARGET("block.conduit.attack.target"),
BLOCK_CONDUIT_DEACTIVATE("block.conduit.deactivate"),
BLOCK_COPPER_BREAK("block.copper.break"),
BLOCK_COPPER_FALL("block.copper.fall"),
BLOCK_COPPER_HIT("block.copper.hit"),
BLOCK_COPPER_PLACE("block.copper.place"),
BLOCK_COPPER_STEP("block.copper.step"),
BLOCK_CORAL_BLOCK_BREAK("block.coral_block.break"),
BLOCK_CORAL_BLOCK_FALL("block.coral_block.fall"),
BLOCK_CORAL_BLOCK_HIT("block.coral_block.hit"),
BLOCK_CORAL_BLOCK_PLACE("block.coral_block.place"),
BLOCK_CORAL_BLOCK_STEP("block.coral_block.step"),
BLOCK_CROP_BREAK("block.crop.break"),
BLOCK_DEEPSLATE_BREAK("block.deepslate.break"),
BLOCK_DEEPSLATE_BRICKS_BREAK("block.deepslate_bricks.break"),
BLOCK_DEEPSLATE_BRICKS_FALL("block.deepslate_bricks.fall"),
BLOCK_DEEPSLATE_BRICKS_HIT("block.deepslate_bricks.hit"),
BLOCK_DEEPSLATE_BRICKS_PLACE("block.deepslate_bricks.place"),
BLOCK_DEEPSLATE_BRICKS_STEP("block.deepslate_bricks.step"),
BLOCK_DEEPSLATE_FALL("block.deepslate.fall"),
BLOCK_DEEPSLATE_HIT("block.deepslate.hit"),
BLOCK_DEEPSLATE_PLACE("block.deepslate.place"),
BLOCK_DEEPSLATE_STEP("block.deepslate.step"),
BLOCK_DEEPSLATE_TILES_BREAK("block.deepslate_tiles.break"),
BLOCK_DEEPSLATE_TILES_FALL("block.deepslate_tiles.fall"),
BLOCK_DEEPSLATE_TILES_HIT("block.deepslate_tiles.hit"),
BLOCK_DEEPSLATE_TILES_PLACE("block.deepslate_tiles.place"),
BLOCK_DEEPSLATE_TILES_STEP("block.deepslate_tiles.step"),
BLOCK_DISPENSER_DISPENSE("block.dispenser.dispense"),
BLOCK_DISPENSER_FAIL("block.dispenser.fail"),
BLOCK_DISPENSER_LAUNCH("block.dispenser.launch"),
BLOCK_DRIPSTONE_BLOCK_BREAK("block.dripstone_block.break"),
BLOCK_DRIPSTONE_BLOCK_FALL("block.dripstone_block.fall"),
BLOCK_DRIPSTONE_BLOCK_HIT("block.dripstone_block.hit"),
BLOCK_DRIPSTONE_BLOCK_PLACE("block.dripstone_block.place"),
BLOCK_DRIPSTONE_BLOCK_STEP("block.dripstone_block.step"),
BLOCK_ENCHANTMENT_TABLE_USE("block.enchantment_table.use"),
BLOCK_ENDER_CHEST_CLOSE("block.ender_chest.close"),
BLOCK_ENDER_CHEST_OPEN("block.ender_chest.open"),
@ -125,6 +197,11 @@ public enum Sound implements Keyed {
BLOCK_FENCE_GATE_OPEN("block.fence_gate.open"),
BLOCK_FIRE_AMBIENT("block.fire.ambient"),
BLOCK_FIRE_EXTINGUISH("block.fire.extinguish"),
BLOCK_FLOWERING_AZALEA_BREAK("block.flowering_azalea.break"),
BLOCK_FLOWERING_AZALEA_FALL("block.flowering_azalea.fall"),
BLOCK_FLOWERING_AZALEA_HIT("block.flowering_azalea.hit"),
BLOCK_FLOWERING_AZALEA_PLACE("block.flowering_azalea.place"),
BLOCK_FLOWERING_AZALEA_STEP("block.flowering_azalea.step"),
BLOCK_FUNGUS_BREAK("block.fungus.break"),
BLOCK_FUNGUS_FALL("block.fungus.fall"),
BLOCK_FUNGUS_HIT("block.fungus.hit"),
@ -152,6 +229,11 @@ public enum Sound implements Keyed {
BLOCK_GRAVEL_PLACE("block.gravel.place"),
BLOCK_GRAVEL_STEP("block.gravel.step"),
BLOCK_GRINDSTONE_USE("block.grindstone.use"),
BLOCK_HANGING_ROOTS_BREAK("block.hanging_roots.break"),
BLOCK_HANGING_ROOTS_FALL("block.hanging_roots.fall"),
BLOCK_HANGING_ROOTS_HIT("block.hanging_roots.hit"),
BLOCK_HANGING_ROOTS_PLACE("block.hanging_roots.place"),
BLOCK_HANGING_ROOTS_STEP("block.hanging_roots.step"),
BLOCK_HONEY_BLOCK_BREAK("block.honey_block.break"),
BLOCK_HONEY_BLOCK_FALL("block.honey_block.fall"),
BLOCK_HONEY_BLOCK_HIT("block.honey_block.hit"),
@ -172,6 +254,8 @@ public enum Sound implements Keyed {
BLOCK_LANTERN_HIT("block.lantern.hit"),
BLOCK_LANTERN_PLACE("block.lantern.place"),
BLOCK_LANTERN_STEP("block.lantern.step"),
BLOCK_LARGE_AMETHYST_BUD_BREAK("block.large_amethyst_bud.break"),
BLOCK_LARGE_AMETHYST_BUD_PLACE("block.large_amethyst_bud.place"),
BLOCK_LAVA_AMBIENT("block.lava.ambient"),
BLOCK_LAVA_EXTINGUISH("block.lava.extinguish"),
BLOCK_LAVA_POP("block.lava.pop"),
@ -182,6 +266,8 @@ public enum Sound implements Keyed {
BLOCK_LODESTONE_HIT("block.lodestone.hit"),
BLOCK_LODESTONE_PLACE("block.lodestone.place"),
BLOCK_LODESTONE_STEP("block.lodestone.step"),
BLOCK_MEDIUM_AMETHYST_BUD_BREAK("block.medium_amethyst_bud.break"),
BLOCK_MEDIUM_AMETHYST_BUD_PLACE("block.medium_amethyst_bud.place"),
BLOCK_METAL_BREAK("block.metal.break"),
BLOCK_METAL_FALL("block.metal.fall"),
BLOCK_METAL_HIT("block.metal.hit"),
@ -189,6 +275,16 @@ public enum Sound implements Keyed {
BLOCK_METAL_PRESSURE_PLATE_CLICK_OFF("block.metal_pressure_plate.click_off"),
BLOCK_METAL_PRESSURE_PLATE_CLICK_ON("block.metal_pressure_plate.click_on"),
BLOCK_METAL_STEP("block.metal.step"),
BLOCK_MOSS_BREAK("block.moss.break"),
BLOCK_MOSS_CARPET_BREAK("block.moss_carpet.break"),
BLOCK_MOSS_CARPET_FALL("block.moss_carpet.fall"),
BLOCK_MOSS_CARPET_HIT("block.moss_carpet.hit"),
BLOCK_MOSS_CARPET_PLACE("block.moss_carpet.place"),
BLOCK_MOSS_CARPET_STEP("block.moss_carpet.step"),
BLOCK_MOSS_FALL("block.moss.fall"),
BLOCK_MOSS_HIT("block.moss.hit"),
BLOCK_MOSS_PLACE("block.moss.place"),
BLOCK_MOSS_STEP("block.moss.step"),
BLOCK_NETHERITE_BLOCK_BREAK("block.netherite_block.break"),
BLOCK_NETHERITE_BLOCK_FALL("block.netherite_block.fall"),
BLOCK_NETHERITE_BLOCK_HIT("block.netherite_block.hit"),
@ -243,15 +339,40 @@ public enum Sound implements Keyed {
BLOCK_NYLIUM_STEP("block.nylium.step"),
BLOCK_PISTON_CONTRACT("block.piston.contract"),
BLOCK_PISTON_EXTEND("block.piston.extend"),
BLOCK_POINTED_DRIPSTONE_BREAK("block.pointed_dripstone.break"),
BLOCK_POINTED_DRIPSTONE_DRIP_LAVA("block.pointed_dripstone.drip_lava"),
BLOCK_POINTED_DRIPSTONE_DRIP_LAVA_INTO_CAULDRON("block.pointed_dripstone.drip_lava_into_cauldron"),
BLOCK_POINTED_DRIPSTONE_DRIP_WATER("block.pointed_dripstone.drip_water"),
BLOCK_POINTED_DRIPSTONE_DRIP_WATER_INTO_CAULDRON("block.pointed_dripstone.drip_water_into_cauldron"),
BLOCK_POINTED_DRIPSTONE_FALL("block.pointed_dripstone.fall"),
BLOCK_POINTED_DRIPSTONE_HIT("block.pointed_dripstone.hit"),
BLOCK_POINTED_DRIPSTONE_LAND("block.pointed_dripstone.land"),
BLOCK_POINTED_DRIPSTONE_PLACE("block.pointed_dripstone.place"),
BLOCK_POINTED_DRIPSTONE_STEP("block.pointed_dripstone.step"),
BLOCK_POLISHED_DEEPSLATE_BREAK("block.polished_deepslate.break"),
BLOCK_POLISHED_DEEPSLATE_FALL("block.polished_deepslate.fall"),
BLOCK_POLISHED_DEEPSLATE_HIT("block.polished_deepslate.hit"),
BLOCK_POLISHED_DEEPSLATE_PLACE("block.polished_deepslate.place"),
BLOCK_POLISHED_DEEPSLATE_STEP("block.polished_deepslate.step"),
BLOCK_PORTAL_AMBIENT("block.portal.ambient"),
BLOCK_PORTAL_TRAVEL("block.portal.travel"),
BLOCK_PORTAL_TRIGGER("block.portal.trigger"),
BLOCK_POWDER_SNOW_BREAK("block.powder_snow.break"),
BLOCK_POWDER_SNOW_FALL("block.powder_snow.fall"),
BLOCK_POWDER_SNOW_HIT("block.powder_snow.hit"),
BLOCK_POWDER_SNOW_PLACE("block.powder_snow.place"),
BLOCK_POWDER_SNOW_STEP("block.powder_snow.step"),
BLOCK_PUMPKIN_CARVE("block.pumpkin.carve"),
BLOCK_REDSTONE_TORCH_BURNOUT("block.redstone_torch.burnout"),
BLOCK_RESPAWN_ANCHOR_AMBIENT("block.respawn_anchor.ambient"),
BLOCK_RESPAWN_ANCHOR_CHARGE("block.respawn_anchor.charge"),
BLOCK_RESPAWN_ANCHOR_DEPLETE("block.respawn_anchor.deplete"),
BLOCK_RESPAWN_ANCHOR_SET_SPAWN("block.respawn_anchor.set_spawn"),
BLOCK_ROOTED_DIRT_BREAK("block.rooted_dirt.break"),
BLOCK_ROOTED_DIRT_FALL("block.rooted_dirt.fall"),
BLOCK_ROOTED_DIRT_HIT("block.rooted_dirt.hit"),
BLOCK_ROOTED_DIRT_PLACE("block.rooted_dirt.place"),
BLOCK_ROOTED_DIRT_STEP("block.rooted_dirt.step"),
BLOCK_ROOTS_BREAK("block.roots.break"),
BLOCK_ROOTS_FALL("block.roots.fall"),
BLOCK_ROOTS_HIT("block.roots.hit"),
@ -267,6 +388,13 @@ public enum Sound implements Keyed {
BLOCK_SCAFFOLDING_HIT("block.scaffolding.hit"),
BLOCK_SCAFFOLDING_PLACE("block.scaffolding.place"),
BLOCK_SCAFFOLDING_STEP("block.scaffolding.step"),
BLOCK_SCULK_SENSOR_BREAK("block.sculk_sensor.break"),
BLOCK_SCULK_SENSOR_CLICKING("block.sculk_sensor.clicking"),
BLOCK_SCULK_SENSOR_CLICKING_STOP("block.sculk_sensor.clicking_stop"),
BLOCK_SCULK_SENSOR_FALL("block.sculk_sensor.fall"),
BLOCK_SCULK_SENSOR_HIT("block.sculk_sensor.hit"),
BLOCK_SCULK_SENSOR_PLACE("block.sculk_sensor.place"),
BLOCK_SCULK_SENSOR_STEP("block.sculk_sensor.step"),
BLOCK_SHROOMLIGHT_BREAK("block.shroomlight.break"),
BLOCK_SHROOMLIGHT_FALL("block.shroomlight.fall"),
BLOCK_SHROOMLIGHT_HIT("block.shroomlight.hit"),
@ -279,6 +407,13 @@ public enum Sound implements Keyed {
BLOCK_SLIME_BLOCK_HIT("block.slime_block.hit"),
BLOCK_SLIME_BLOCK_PLACE("block.slime_block.place"),
BLOCK_SLIME_BLOCK_STEP("block.slime_block.step"),
BLOCK_SMALL_AMETHYST_BUD_BREAK("block.small_amethyst_bud.break"),
BLOCK_SMALL_AMETHYST_BUD_PLACE("block.small_amethyst_bud.place"),
BLOCK_SMALL_DRIPLEAF_BREAK("block.small_dripleaf.break"),
BLOCK_SMALL_DRIPLEAF_FALL("block.small_dripleaf.fall"),
BLOCK_SMALL_DRIPLEAF_HIT("block.small_dripleaf.hit"),
BLOCK_SMALL_DRIPLEAF_PLACE("block.small_dripleaf.place"),
BLOCK_SMALL_DRIPLEAF_STEP("block.small_dripleaf.step"),
BLOCK_SMITHING_TABLE_USE("block.smithing_table.use"),
BLOCK_SMOKER_SMOKE("block.smoker.smoke"),
BLOCK_SNOW_BREAK("block.snow.break"),
@ -296,6 +431,11 @@ public enum Sound implements Keyed {
BLOCK_SOUL_SOIL_HIT("block.soul_soil.hit"),
BLOCK_SOUL_SOIL_PLACE("block.soul_soil.place"),
BLOCK_SOUL_SOIL_STEP("block.soul_soil.step"),
BLOCK_SPORE_BLOSSOM_BREAK("block.spore_blossom.break"),
BLOCK_SPORE_BLOSSOM_FALL("block.spore_blossom.fall"),
BLOCK_SPORE_BLOSSOM_HIT("block.spore_blossom.hit"),
BLOCK_SPORE_BLOSSOM_PLACE("block.spore_blossom.place"),
BLOCK_SPORE_BLOSSOM_STEP("block.spore_blossom.step"),
BLOCK_STEM_BREAK("block.stem.break"),
BLOCK_STEM_FALL("block.stem.fall"),
BLOCK_STEM_HIT("block.stem.hit"),
@ -311,11 +451,21 @@ public enum Sound implements Keyed {
BLOCK_STONE_PRESSURE_PLATE_CLICK_ON("block.stone_pressure_plate.click_on"),
BLOCK_STONE_STEP("block.stone.step"),
BLOCK_SWEET_BERRY_BUSH_BREAK("block.sweet_berry_bush.break"),
BLOCK_SWEET_BERRY_BUSH_PICK_BERRIES("block.sweet_berry_bush.pick_berries"),
BLOCK_SWEET_BERRY_BUSH_PLACE("block.sweet_berry_bush.place"),
BLOCK_TRIPWIRE_ATTACH("block.tripwire.attach"),
BLOCK_TRIPWIRE_CLICK_OFF("block.tripwire.click_off"),
BLOCK_TRIPWIRE_CLICK_ON("block.tripwire.click_on"),
BLOCK_TRIPWIRE_DETACH("block.tripwire.detach"),
BLOCK_TUFF_BREAK("block.tuff.break"),
BLOCK_TUFF_FALL("block.tuff.fall"),
BLOCK_TUFF_HIT("block.tuff.hit"),
BLOCK_TUFF_PLACE("block.tuff.place"),
BLOCK_TUFF_STEP("block.tuff.step"),
BLOCK_VINE_BREAK("block.vine.break"),
BLOCK_VINE_FALL("block.vine.fall"),
BLOCK_VINE_HIT("block.vine.hit"),
BLOCK_VINE_PLACE("block.vine.place"),
BLOCK_VINE_STEP("block.vine.step"),
BLOCK_WART_BLOCK_BREAK("block.wart_block.break"),
BLOCK_WART_BLOCK_FALL("block.wart_block.fall"),
@ -359,6 +509,13 @@ public enum Sound implements Keyed {
ENTITY_ARROW_HIT("entity.arrow.hit"),
ENTITY_ARROW_HIT_PLAYER("entity.arrow.hit_player"),
ENTITY_ARROW_SHOOT("entity.arrow.shoot"),
ENTITY_AXOLOTL_ATTACK("entity.axolotl.attack"),
ENTITY_AXOLOTL_DEATH("entity.axolotl.death"),
ENTITY_AXOLOTL_HURT("entity.axolotl.hurt"),
ENTITY_AXOLOTL_IDLE_AIR("entity.axolotl.idle_air"),
ENTITY_AXOLOTL_IDLE_WATER("entity.axolotl.idle_water"),
ENTITY_AXOLOTL_SPLASH("entity.axolotl.splash"),
ENTITY_AXOLOTL_SWIM("entity.axolotl.swim"),
ENTITY_BAT_AMBIENT("entity.bat.ambient"),
ENTITY_BAT_DEATH("entity.bat.death"),
ENTITY_BAT_HURT("entity.bat.hurt"),
@ -508,6 +665,32 @@ public enum Sound implements Keyed {
ENTITY_GHAST_SCREAM("entity.ghast.scream"),
ENTITY_GHAST_SHOOT("entity.ghast.shoot"),
ENTITY_GHAST_WARN("entity.ghast.warn"),
ENTITY_GLOW_ITEM_FRAME_ADD_ITEM("entity.glow_item_frame.add_item"),
ENTITY_GLOW_ITEM_FRAME_BREAK("entity.glow_item_frame.break"),
ENTITY_GLOW_ITEM_FRAME_PLACE("entity.glow_item_frame.place"),
ENTITY_GLOW_ITEM_FRAME_REMOVE_ITEM("entity.glow_item_frame.remove_item"),
ENTITY_GLOW_ITEM_FRAME_ROTATE_ITEM("entity.glow_item_frame.rotate_item"),
ENTITY_GLOW_SQUID_AMBIENT("entity.glow_squid.ambient"),
ENTITY_GLOW_SQUID_DEATH("entity.glow_squid.death"),
ENTITY_GLOW_SQUID_HURT("entity.glow_squid.hurt"),
ENTITY_GLOW_SQUID_SQUIRT("entity.glow_squid.squirt"),
ENTITY_GOAT_AMBIENT("entity.goat.ambient"),
ENTITY_GOAT_DEATH("entity.goat.death"),
ENTITY_GOAT_EAT("entity.goat.eat"),
ENTITY_GOAT_HURT("entity.goat.hurt"),
ENTITY_GOAT_LONG_JUMP("entity.goat.long_jump"),
ENTITY_GOAT_MILK("entity.goat.milk"),
ENTITY_GOAT_PREPARE_RAM("entity.goat.prepare_ram"),
ENTITY_GOAT_RAM_IMPACT("entity.goat.ram_impact"),
ENTITY_GOAT_SCREAMING_AMBIENT("entity.goat.screaming.ambient"),
ENTITY_GOAT_SCREAMING_DEATH("entity.goat.screaming.death"),
ENTITY_GOAT_SCREAMING_EAT("entity.goat.screaming.eat"),
ENTITY_GOAT_SCREAMING_HURT("entity.goat.screaming.hurt"),
ENTITY_GOAT_SCREAMING_LONG_JUMP("entity.goat.screaming.long_jump"),
ENTITY_GOAT_SCREAMING_MILK("entity.goat.screaming.milk"),
ENTITY_GOAT_SCREAMING_PREPARE_RAM("entity.goat.screaming.prepare_ram"),
ENTITY_GOAT_SCREAMING_RAM_IMPACT("entity.goat.screaming.ram_impact"),
ENTITY_GOAT_STEP("entity.goat.step"),
ENTITY_GUARDIAN_AMBIENT("entity.guardian.ambient"),
ENTITY_GUARDIAN_AMBIENT_LAND("entity.guardian.ambient_land"),
ENTITY_GUARDIAN_ATTACK("entity.guardian.attack"),
@ -590,6 +773,7 @@ public enum Sound implements Keyed {
ENTITY_MAGMA_CUBE_SQUISH("entity.magma_cube.squish"),
ENTITY_MAGMA_CUBE_SQUISH_SMALL("entity.magma_cube.squish_small"),
ENTITY_MINECART_INSIDE("entity.minecart.inside"),
ENTITY_MINECART_INSIDE_UNDERWATER("entity.minecart.inside.underwater"),
ENTITY_MINECART_RIDING("entity.minecart.riding"),
ENTITY_MOOSHROOM_CONVERT("entity.mooshroom.convert"),
ENTITY_MOOSHROOM_EAT("entity.mooshroom.eat"),
@ -699,6 +883,7 @@ public enum Sound implements Keyed {
ENTITY_PLAYER_DEATH("entity.player.death"),
ENTITY_PLAYER_HURT("entity.player.hurt"),
ENTITY_PLAYER_HURT_DROWN("entity.player.hurt_drown"),
ENTITY_PLAYER_HURT_FREEZE("entity.player.hurt_freeze"),
ENTITY_PLAYER_HURT_ON_FIRE("entity.player.hurt_on_fire"),
ENTITY_PLAYER_HURT_SWEET_BERRY_BUSH("entity.player.hurt_sweet_berry_bush"),
ENTITY_PLAYER_LEVELUP("entity.player.levelup"),
@ -756,6 +941,7 @@ public enum Sound implements Keyed {
ENTITY_SILVERFISH_HURT("entity.silverfish.hurt"),
ENTITY_SILVERFISH_STEP("entity.silverfish.step"),
ENTITY_SKELETON_AMBIENT("entity.skeleton.ambient"),
ENTITY_SKELETON_CONVERTED_TO_STRAY("entity.skeleton.converted_to_stray"),
ENTITY_SKELETON_DEATH("entity.skeleton.death"),
ENTITY_SKELETON_HORSE_AMBIENT("entity.skeleton_horse.ambient"),
ENTITY_SKELETON_HORSE_AMBIENT_WATER("entity.skeleton_horse.ambient_water"),
@ -925,18 +1111,25 @@ public enum Sound implements Keyed {
ITEM_ARMOR_EQUIP_LEATHER("item.armor.equip_leather"),
ITEM_ARMOR_EQUIP_NETHERITE("item.armor.equip_netherite"),
ITEM_ARMOR_EQUIP_TURTLE("item.armor.equip_turtle"),
ITEM_AXE_SCRAPE("item.axe.scrape"),
ITEM_AXE_STRIP("item.axe.strip"),
ITEM_AXE_WAX_OFF("item.axe.wax_off"),
ITEM_BONE_MEAL_USE("item.bone_meal.use"),
ITEM_BOOK_PAGE_TURN("item.book.page_turn"),
ITEM_BOOK_PUT("item.book.put"),
ITEM_BOTTLE_EMPTY("item.bottle.empty"),
ITEM_BOTTLE_FILL("item.bottle.fill"),
ITEM_BOTTLE_FILL_DRAGONBREATH("item.bottle.fill_dragonbreath"),
ITEM_BUCKET_EMPTY("item.bucket.empty"),
ITEM_BUCKET_EMPTY_AXOLOTL("item.bucket.empty_axolotl"),
ITEM_BUCKET_EMPTY_FISH("item.bucket.empty_fish"),
ITEM_BUCKET_EMPTY_LAVA("item.bucket.empty_lava"),
ITEM_BUCKET_EMPTY_POWDER_SNOW("item.bucket.empty_powder_snow"),
ITEM_BUCKET_FILL("item.bucket.fill"),
ITEM_BUCKET_FILL_AXOLOTL("item.bucket.fill_axolotl"),
ITEM_BUCKET_FILL_FISH("item.bucket.fill_fish"),
ITEM_BUCKET_FILL_LAVA("item.bucket.fill_lava"),
ITEM_BUCKET_FILL_POWDER_SNOW("item.bucket.fill_powder_snow"),
ITEM_CHORUS_FRUIT_TELEPORT("item.chorus_fruit.teleport"),
ITEM_CROP_PLANT("item.crop.plant"),
ITEM_CROSSBOW_HIT("item.crossbow.hit"),
@ -947,17 +1140,22 @@ public enum Sound implements Keyed {
ITEM_CROSSBOW_QUICK_CHARGE_2("item.crossbow.quick_charge_2"),
ITEM_CROSSBOW_QUICK_CHARGE_3("item.crossbow.quick_charge_3"),
ITEM_CROSSBOW_SHOOT("item.crossbow.shoot"),
ITEM_DYE_USE("item.dye.use"),
ITEM_ELYTRA_FLYING("item.elytra.flying"),
ITEM_FIRECHARGE_USE("item.firecharge.use"),
ITEM_FLINTANDSTEEL_USE("item.flintandsteel.use"),
ITEM_GLOW_INK_SAC_USE("item.glow_ink_sac.use"),
ITEM_HOE_TILL("item.hoe.till"),
ITEM_HONEYCOMB_WAX_ON("item.honeycomb.wax_on"),
ITEM_HONEY_BOTTLE_DRINK("item.honey_bottle.drink"),
ITEM_INK_SAC_USE("item.ink_sac.use"),
ITEM_LODESTONE_COMPASS_LOCK("item.lodestone_compass.lock"),
ITEM_NETHER_WART_PLANT("item.nether_wart.plant"),
ITEM_SHIELD_BLOCK("item.shield.block"),
ITEM_SHIELD_BREAK("item.shield.break"),
ITEM_SHOVEL_FLATTEN("item.shovel.flatten"),
ITEM_SWEET_BERRIES_PICK_FROM_BUSH("item.sweet_berries.pick_from_bush"),
ITEM_SPYGLASS_STOP_USING("item.spyglass.stop_using"),
ITEM_SPYGLASS_USE("item.spyglass.use"),
ITEM_TOTEM_USE("item.totem.use"),
ITEM_TRIDENT_HIT("item.trident.hit"),
ITEM_TRIDENT_HIT_GROUND("item.trident.hit_ground"),

Datei anzeigen

@ -23,6 +23,7 @@ public enum Statistic implements Keyed {
* Name is misleading, actually records ticks played.
*/
PLAY_ONE_MINUTE,
TOTAL_WORLD_TIME,
WALK_ONE_CM,
WALK_ON_WATER_ONE_CM,
FALL_ONE_CM,

Datei anzeigen

@ -194,10 +194,46 @@ public interface Tag<T extends Keyed> extends Keyed {
* Vanilla block tag representing all gold ores.
*/
Tag<Material> GOLD_ORES = Bukkit.getTag(REGISTRY_BLOCKS, NamespacedKey.minecraft("gold_ores"), Material.class);
/**
* Vanilla block tag representing all iron ores.
*/
Tag<Material> IRON_ORES = Bukkit.getTag(REGISTRY_BLOCKS, NamespacedKey.minecraft("iron_ores"), Material.class);
/**
* Vanilla block tag representing all diamond ores.
*/
Tag<Material> DIAMOND_ORES = Bukkit.getTag(REGISTRY_BLOCKS, NamespacedKey.minecraft("diamond_ores"), Material.class);
/**
* Vanilla block tag representing all redstone ores.
*/
Tag<Material> REDSTONE_ORES = Bukkit.getTag(REGISTRY_BLOCKS, NamespacedKey.minecraft("redstone_ores"), Material.class);
/**
* Vanilla block tag representing all lapis ores.
*/
Tag<Material> LAPIS_ORES = Bukkit.getTag(REGISTRY_BLOCKS, NamespacedKey.minecraft("lapis_ores"), Material.class);
/**
* Vanilla block tag representing all coal ores.
*/
Tag<Material> COAL_ORES = Bukkit.getTag(REGISTRY_BLOCKS, NamespacedKey.minecraft("coal_ores"), Material.class);
/**
* Vanilla block tag representing all emerald ores.
*/
Tag<Material> EMERALD_ORES = Bukkit.getTag(REGISTRY_BLOCKS, NamespacedKey.minecraft("emerald_ores"), Material.class);
/**
* Vanilla block tag representing all copper ores.
*/
Tag<Material> COPPER_ORES = Bukkit.getTag(REGISTRY_BLOCKS, NamespacedKey.minecraft("copper_ores"), Material.class);
/**
* Vanilla block tag representing all non flammable wood.
*/
Tag<Material> NON_FLAMMABLE_WOOD = Bukkit.getTag(REGISTRY_BLOCKS, NamespacedKey.minecraft("non_flammable_wood"), Material.class);
/**
* Vanilla block tag representing all candles.
*/
Tag<Material> CANDLES = Bukkit.getTag(REGISTRY_BLOCKS, NamespacedKey.minecraft("candles"), Material.class);
/**
* Vanilla block tag representing all dirt.
*/
Tag<Material> DIRT = Bukkit.getTag(REGISTRY_BLOCKS, NamespacedKey.minecraft("dirt"), Material.class);
/**
* Vanilla block tag denoting blocks that enderman may pick up and hold.
*/
@ -343,6 +379,8 @@ public interface Tag<T extends Keyed> extends Keyed {
* Vanilla block tag representing all unstable bottom center blocks.
*/
Tag<Material> UNSTABLE_BOTTOM_CENTER = Bukkit.getTag(REGISTRY_BLOCKS, NamespacedKey.minecraft("unstable_bottom_center"), Material.class);
Tag<Material> MUSHROOM_GROW_BLOCK = Bukkit.getTag(REGISTRY_BLOCKS, NamespacedKey.minecraft("mushroom_grow_block"), Material.class);
/**
* Vanilla block tag representing all blocks that burn forever in the
* overworld.
@ -357,6 +395,106 @@ public interface Tag<T extends Keyed> extends Keyed {
* Vanilla block tag representing all blocks that burn forever in the end.
*/
Tag<Material> INFINIBURN_END = Bukkit.getTag(REGISTRY_BLOCKS, NamespacedKey.minecraft("infiniburn_end"), Material.class);
/**
* Vanilla block tag representing the overworld base material.
*/
Tag<Material> BASE_STONE_OVERWORLD = Bukkit.getTag(REGISTRY_BLOCKS, NamespacedKey.minecraft("base_stone_overworld"), Material.class);
/**
* Vanilla block tag representing all blocks that may be replaced by ores.
*/
Tag<Material> STONE_ORE_REPLACEABLES = Bukkit.getTag(REGISTRY_BLOCKS, NamespacedKey.minecraft("stone_ore_replaceables"), Material.class);
/**
* Vanilla block tag representing all blocks that may be replaced by deepslate ores.
*/
Tag<Material> DEEPSLATE_ORE_REPLACEABLES = Bukkit.getTag(REGISTRY_BLOCKS, NamespacedKey.minecraft("deepslate_ore_replaceables"), Material.class);
/**
* Vanilla block tag representing the nether base material.
*/
Tag<Material> BASE_STONE_NETHER = Bukkit.getTag(REGISTRY_BLOCKS, NamespacedKey.minecraft("base_stone_nether"), Material.class);
/**
* Vanilla block tag representing all candle cakes.
*/
Tag<Material> CANDLE_CAKES = Bukkit.getTag(REGISTRY_BLOCKS, NamespacedKey.minecraft("candle_cakes"), Material.class);
/**
* Vanilla block tag representing all cauldrons.
*/
Tag<Material> CAULDRONS = Bukkit.getTag(REGISTRY_BLOCKS, NamespacedKey.minecraft("cauldrons"), Material.class);
/**
* Vanilla block tag representing all blocks that make cryustal sounds.
*/
Tag<Material> CRYSTAL_SOUND_BLOCKS = Bukkit.getTag(REGISTRY_BLOCKS, NamespacedKey.minecraft("crystal_sound_blocks"), Material.class);
/**
* Vanilla block tag representing all blocks that play muffled step sounds.
*/
Tag<Material> INSIDE_STEP_SOUND_BLOCKS = Bukkit.getTag(REGISTRY_BLOCKS, NamespacedKey.minecraft("inside_step_sound_blocks"), Material.class);
/**
* Vanilla block tag representing all blocks that block vibration signals.
*/
Tag<Material> OCCLUDES_VIBRATION_SIGNALS = Bukkit.getTag(REGISTRY_BLOCKS, NamespacedKey.minecraft("occludes_vibration_signals"), Material.class);
/**
* Vanilla block tag representing all blocks that are replaceable by dripstone.
*/
Tag<Material> DRIPSTONE_REPLACEABLE = Bukkit.getTag(REGISTRY_BLOCKS, NamespacedKey.minecraft("dripstone_replaceable_blocks"), Material.class);
/**
* Vanilla block tag representing all cave vines.
*/
Tag<Material> CAVE_VINES = Bukkit.getTag(REGISTRY_BLOCKS, NamespacedKey.minecraft("cave_vines"), Material.class);
/**
* Vanilla block tag representing all blocks replaceable by moss.
*/
Tag<Material> MOSS_REPLACEABLE = Bukkit.getTag(REGISTRY_BLOCKS, NamespacedKey.minecraft("moss_replaceable"), Material.class);
/**
* Vanilla block tag representing all blocks replaceable by lush ground.
*/
Tag<Material> LUSH_GROUND_REPLACEABLE = Bukkit.getTag(REGISTRY_BLOCKS, NamespacedKey.minecraft("lush_ground_replaceable"), Material.class);
/**
* Vanilla block tag representing all blocks which small dripleaf can be placed on.
*/
Tag<Material> SMALL_DRIPLEAF_PLACEABLE = Bukkit.getTag(REGISTRY_BLOCKS, NamespacedKey.minecraft("small_dripleaf_placeable"), Material.class);
/**
* Vanilla block tag representing all snow blocks.
*/
Tag<Material> SNOW = Bukkit.getTag(REGISTRY_BLOCKS, NamespacedKey.minecraft("snow"), Material.class);
/**
* Vanilla block tag representing all blocks mineable with an axe.
*/
Tag<Material> MINEABLE_AXE = Bukkit.getTag(REGISTRY_BLOCKS, NamespacedKey.minecraft("mineable/axe"), Material.class);
/**
* Vanilla block tag representing all blocks mineable with a hoe.
*/
Tag<Material> MINEABLE_HOE = Bukkit.getTag(REGISTRY_BLOCKS, NamespacedKey.minecraft("mineable/hoe"), Material.class);
/**
* Vanilla block tag representing all blocks mineable with a pickaxe.
*/
Tag<Material> MINEABLE_PICKAXE = Bukkit.getTag(REGISTRY_BLOCKS, NamespacedKey.minecraft("mineable/pickaxe"), Material.class);
/**
* Vanilla block tag representing all blocks mineable with a shovel.
*/
Tag<Material> MINEABLE_SHOVEL = Bukkit.getTag(REGISTRY_BLOCKS, NamespacedKey.minecraft("mineable/shovel"), Material.class);
/**
* Vanilla block tag representing all blocks which require a diamond tool.
*/
Tag<Material> NEEDS_DIAMOND_TOOL = Bukkit.getTag(REGISTRY_BLOCKS, NamespacedKey.minecraft("needs_diamond_tool"), Material.class);
/**
* Vanilla block tag representing all blocks which require an iron tool.
*/
Tag<Material> NEEDS_IRON_TOOL = Bukkit.getTag(REGISTRY_BLOCKS, NamespacedKey.minecraft("needs_iron_tool"), Material.class);
/**
* Vanilla block tag representing all blocks which require a stone tool.
*/
Tag<Material> NEEDS_STONE_TOOL = Bukkit.getTag(REGISTRY_BLOCKS, NamespacedKey.minecraft("needs_stone_tool"), Material.class);
/**
* Vanilla block tag representing all blocks which will not be replaced by world generation features.
*/
Tag<Material> FEATURES_CANNOT_REPLACE = Bukkit.getTag(REGISTRY_BLOCKS, NamespacedKey.minecraft("features_cannot_replace"), Material.class);
/**
* Vanilla block tag representing all blocks which lava pools will not replace.
*/
Tag<Material> LAVA_POOL_STONE_CANNOT_REPLACE = Bukkit.getTag(REGISTRY_BLOCKS, NamespacedKey.minecraft("lava_pool_stone_replaceables"), Material.class);
/**
* Vanilla block tag representing all blocks which geodes will not spawn in.
*/
Tag<Material> GEODE_INVALID_BLOCKS = Bukkit.getTag(REGISTRY_BLOCKS, NamespacedKey.minecraft("geode_invalid_blocks"), Material.class);
/**
* Key for the built in item registry.
*/
@ -365,6 +503,18 @@ public interface Tag<T extends Keyed> extends Keyed {
* Vanilla item tag representing all items loved by piglins.
*/
Tag<Material> ITEMS_PIGLIN_LOVED = Bukkit.getTag(REGISTRY_ITEMS, NamespacedKey.minecraft("piglin_loved"), Material.class);
/**
* Vanilla item tag representing all items ignored by piglin babies.
*/
Tag<Material> IGNORED_BY_PIGLIN_BABIES = Bukkit.getTag(REGISTRY_ITEMS, NamespacedKey.minecraft("ignored_by_piglin_babies"), Material.class);
/**
* Vanilla item tag representing all piglin food.
*/
Tag<Material> PIGLIN_FOOD = Bukkit.getTag(REGISTRY_ITEMS, NamespacedKey.minecraft("piglin_food"), Material.class);
/**
* Vanilla item tag representing all fox food.
*/
Tag<Material> FOX_FOOD = Bukkit.getTag(REGISTRY_ITEMS, NamespacedKey.minecraft("fox_food"), Material.class);
/**
* Vanilla item tag representing all banner items.
*/
@ -409,6 +559,20 @@ public interface Tag<T extends Keyed> extends Keyed {
* Vanilla item tag representing all furnace materials.
*/
Tag<Material> ITEMS_FURNACE_MATERIALS = Bukkit.getTag(REGISTRY_ITEMS, NamespacedKey.minecraft("furnace_materials"), Material.class);
/**
* Vanilla item tag representing all items that confer freeze immunity on
* the wearer.
*/
Tag<Material> FREEZE_IMMUNE_WEARABLES = Bukkit.getTag(REGISTRY_ITEMS, NamespacedKey.minecraft("freeze_immune_wearables"), Material.class);
/**
* Vanilla item tag representing all items which tempt axolotls.
*/
Tag<Material> AXOLOTL_TEMPT_ITEMS = Bukkit.getTag(REGISTRY_ITEMS, NamespacedKey.minecraft("axolotl_tempt_items"), Material.class);
/**
* Vanilla item tag representing all items which are preferred for
* harvesting clusters (unused).
*/
Tag<Material> CLUSTER_MAX_HARVESTABLES = Bukkit.getTag(REGISTRY_ITEMS, NamespacedKey.minecraft("cluster_max_harvestables"), Material.class);
/**
* Key for the built in fluid registry.
*/

Datei anzeigen

@ -80,5 +80,9 @@ public enum TreeType {
/**
* Large warped fungus native to the nether
*/
WARPED_FUNGUS
WARPED_FUNGUS,
/**
* Tree with large roots which grows above lush caves
*/
AZALEA
}

Datei anzeigen

@ -0,0 +1,90 @@
package org.bukkit;
import org.bukkit.block.Block;
import org.bukkit.entity.Entity;
import org.jetbrains.annotations.NotNull;
/**
* Represents a vibration from a Skulk sensor.
*/
public class Vibration {
private final Location origin;
private final Destination destination;
private final int arrivalTime;
public Vibration(@NotNull Location origin, @NotNull Destination destination, @NotNull int arrivalTime) {
this.origin = origin;
this.destination = destination;
this.arrivalTime = arrivalTime;
}
/**
* Get the origin of the vibration.
*
* @return origin
*/
@NotNull
public Location getOrigin() {
return origin;
}
/**
* Get the vibration destination.
*
* @return destination
*/
@NotNull
public Destination getDestination() {
return destination;
}
/**
* Get the vibration arrival time in ticks.
*
* @return arrival time
*/
public int getArrivalTime() {
return arrivalTime;
}
public interface Destination {
public static class EntityDestination implements Destination {
private final Entity entity;
public EntityDestination(@NotNull Entity entity) {
this.entity = entity;
}
@NotNull
public Entity getEntity() {
return entity;
}
}
public static class BlockDestination implements Destination {
private final Location block;
public BlockDestination(@NotNull Location block) {
this.block = block;
}
public BlockDestination(@NotNull Block block) {
this(block.getLocation());
}
@NotNull
public Location getLocation() {
return block;
}
@NotNull
public Block getBlock() {
return block.getBlock();
}
}
}
}

Datei anzeigen

@ -88,6 +88,8 @@ public enum Biome implements Keyed {
CRIMSON_FOREST,
WARPED_FOREST,
BASALT_DELTAS,
DRIPSTONE_CAVES,
LUSH_CAVES,
/**
* Represents a custom Biome
*/

Datei anzeigen

@ -0,0 +1,27 @@
package org.bukkit.block;
/**
* Represents a captured state of a sculk sensor
*/
public interface SculkSensor extends TileState {
/**
* Gets the last vibration frequency of this sensor.
*
* Different activities detected by the sensor will produce different
* frequencies and dictate the output of connected comparators.
*
* @return frequency between 0-15.
*/
int getLastVibrationFrequency();
/**
* Sets the last vibration frequency of this sensor.
*
* Different activities detected by the sensor will produce different
* frequencies and dictate the output of connected comparators.
*
* @param lastVibrationFrequency frequency between 0-15.
*/
void setLastVibrationFrequency(int lastVibrationFrequency);
}

Datei anzeigen

@ -61,4 +61,18 @@ public interface Sign extends TileState, Colorable {
* @param editable if this sign is currently editable
*/
public void setEditable(boolean editable);
/**
* Gets whether this sign has glowing text.
*
* @return if this sign has glowing text
*/
public boolean isGlowingText();
/**
* Sets whether this sign has glowing text.
*
* @param glowing if this sign has glowing text
*/
public void setGlowingText(boolean glowing);
}

Datei anzeigen

@ -9,7 +9,7 @@ import org.jetbrains.annotations.NotNull;
* Some types of rail may not be able to be laid out in all shapes, use
* {@link #getShapes()} to get those applicable to this block.
*/
public interface Rail extends BlockData {
public interface Rail extends Waterlogged {
/**
* Gets the value of the 'shape' property.

Datei anzeigen

@ -0,0 +1,7 @@
package org.bukkit.block.data.type;
import org.bukkit.block.data.Directional;
import org.bukkit.block.data.Waterlogged;
public interface AmethystCluster extends Directional, Waterlogged {
}

Datei anzeigen

@ -0,0 +1,46 @@
package org.bukkit.block.data.type;
import org.jetbrains.annotations.NotNull;
/**
* 'tilt' indicates how far the leaf is tilted.
*/
public interface BigDripleaf extends Dripleaf {
/**
* Gets the value of the 'tilt' property.
*
* @return the 'tilt' value
*/
@NotNull
Tilt getTilt();
/**
* Sets the value of the 'tilt' property.
*
* @param tilt the new 'tilt' value
*/
void setTilt(@NotNull Tilt tilt);
/**
* The tilt of a leaf.
*/
public enum Tilt {
/**
* No tilt.
*/
NONE,
/**
* Unstable tilt.
*/
UNSTABLE,
/**
* Partial tilt.
*/
PARTIAL,
/**
* Pinball.
*/
FULL;
}
}

Datei anzeigen

@ -0,0 +1,31 @@
package org.bukkit.block.data.type;
import org.bukkit.block.data.Lightable;
import org.bukkit.block.data.Waterlogged;
/**
* 'candles' represents the number of candles which are present.
*/
public interface Candle extends Lightable, Waterlogged {
/**
* Gets the value of the 'candles' property.
*
* @return the 'candles' value
*/
int getCandles();
/**
* Sets the value of the 'candles' property.
*
* @param candles the new 'candles' value
*/
void setCandles(int candles);
/**
* Gets the maximum allowed value of the 'candles' property.
*
* @return the maximum 'candles' value
*/
int getMaximumCandles();
}

Datei anzeigen

@ -0,0 +1,6 @@
package org.bukkit.block.data.type;
import org.bukkit.block.data.Ageable;
public interface CaveVines extends Ageable, CaveVinesPlant {
}

Datei anzeigen

@ -0,0 +1,21 @@
package org.bukkit.block.data.type;
/**
* 'berries' indicates whether the block has berries.
*/
public interface CaveVinesPlant {
/**
* Gets the value of the 'berries' property.
*
* @return the 'berries' value
*/
boolean isBerries();
/**
* Sets the value of the 'berries' property.
*
* @param berries the new 'berries' value
*/
void setBerries(boolean berries);
}

Datei anzeigen

@ -0,0 +1,7 @@
package org.bukkit.block.data.type;
import org.bukkit.block.data.Directional;
import org.bukkit.block.data.Waterlogged;
public interface Dripleaf extends Directional, Waterlogged {
}

Datei anzeigen

@ -0,0 +1,7 @@
package org.bukkit.block.data.type;
import org.bukkit.block.data.MultipleFacing;
import org.bukkit.block.data.Waterlogged;
public interface GlowLichen extends MultipleFacing, Waterlogged {
}

Datei anzeigen

@ -0,0 +1,7 @@
package org.bukkit.block.data.type;
import org.bukkit.block.data.Levelled;
import org.bukkit.block.data.Waterlogged;
public interface Light extends Levelled, Waterlogged {
}

Datei anzeigen

@ -0,0 +1,8 @@
package org.bukkit.block.data.type;
import org.bukkit.block.data.Directional;
import org.bukkit.block.data.Powerable;
import org.bukkit.block.data.Waterlogged;
public interface LightningRod extends Directional, Powerable, Waterlogged {
}

Datei anzeigen

@ -0,0 +1,83 @@
package org.bukkit.block.data.type;
import java.util.Set;
import org.bukkit.block.BlockFace;
import org.bukkit.block.data.Waterlogged;
import org.jetbrains.annotations.NotNull;
/**
* 'thickness' represents the dripstone thickness.
* <br>
* 'vertical_direction' represents the dripstone orientation.
* <br>
* Some blocks may not be able to face in all directions, use
* {@link #getVerticalDirections()} to get all possible directions for this
* block.
*/
public interface PointedDripstone extends Waterlogged {
/**
* Gets the value of the 'vertical_direction' property.
*
* @return the 'vertical_direction' value
*/
@NotNull
BlockFace getVerticalDirection();
/**
* Sets the value of the 'vertical_direction' property.
*
* @param direction the new 'vertical_direction' value
*/
void setVerticalDirection(@NotNull BlockFace direction);
/**
* Gets the faces which are applicable to this block.
*
* @return the allowed 'vertical_direction' values
*/
@NotNull
Set<BlockFace> getVerticalDirections();
/**
* Gets the value of the 'thickness' property.
*
* @return the 'thickness' value
*/
@NotNull
Thickness getThickness();
/**
* Sets the value of the 'thickness' property.
*
* @param thickness the new 'thickness' value
*/
void setThickness(@NotNull Thickness thickness);
/**
* Represents the thickness of the dripstone, corresponding to its position
* within a multi-block dripstone formation.
*/
public enum Thickness {
/**
* Extended tip.
*/
TIP_MERGE,
/**
* Just the tip.
*/
TIP,
/**
* Top section.
*/
FRUSTUM,
/**
* Middle section.
*/
MIDDLE,
/**
* Base.
*/
BASE;
}
}

Datei anzeigen

@ -0,0 +1,45 @@
package org.bukkit.block.data.type;
import org.bukkit.block.data.AnaloguePowerable;
import org.bukkit.block.data.Waterlogged;
import org.jetbrains.annotations.NotNull;
/**
* 'sculk_sensor_phase' indicates the current operational phase of the sensor.
*/
public interface SculkSensor extends AnaloguePowerable, Waterlogged {
/**
* Gets the value of the 'sculk_sensor_phase' property.
*
* @return the 'sculk_sensor_phase' value
*/
@NotNull
Phase getPhase();
/**
* Sets the value of the 'sculk_sensor_phase' property.
*
* @param phase the new 'sculk_sensor_phase' value
*/
void setPhase(@NotNull Phase phase);
/**
* The Phase of the sensor.
*/
public enum Phase {
/**
* The sensor is inactive.
*/
INACTIVE,
/**
* The sensor is active.
*/
ACTIVE,
/**
* The sensor is cooling down.
*/
COOLDOWN;
}
}

Datei anzeigen

@ -0,0 +1,69 @@
package org.bukkit.entity;
import org.jetbrains.annotations.NotNull;
/**
* An Axolotl.
*/
public interface Axolotl extends Animals {
/**
* Gets if this axolotl is playing dead.
*
* An axolotl may play dead when it is damaged underwater.
*
* @return playing dead status
*/
boolean isPlayingDead();
/**
* Sets if this axolotl is playing dead.
*
* An axolotl may play dead when it is damaged underwater.
*
* @param playingDead playing dead status
*/
void setPlayingDead(boolean playingDead);
/**
* Get the variant of this axolotl.
*
* @return axolotl variant
*/
@NotNull
Variant getVariant();
/**
* Set the variant of this axolotl.
*
* @param variant axolotl variant
*/
void setVariant(@NotNull Variant variant);
/**
* Represents the variant of a axolotl - ie its color.
*/
public enum Variant {
/**
* Leucistic (pink) axolotl.
*/
LUCY,
/**
* Brown axolotl.
*/
WILD,
/**
* Gold axolotl.
*/
GOLD,
/**
* Cyan axolotl.
*/
CYAN,
/**
* Blue axolotl.
*/
BLUE;
}
}

Datei anzeigen

@ -8,7 +8,9 @@ public interface Endermite extends Monster {
* An Endermite spawned by a player will be attacked by nearby Enderman.
*
* @return player spawned status
* @deprecated this functionality no longer exists
*/
@Deprecated
boolean isPlayerSpawned();
/**
@ -17,6 +19,8 @@ public interface Endermite extends Monster {
* An Endermite spawned by a player will be attacked by nearby Enderman.
*
* @param playerSpawned player spawned status
* @deprecated this functionality no longer exists
*/
@Deprecated
void setPlayerSpawned(boolean playerSpawned);
}

Datei anzeigen

@ -204,6 +204,52 @@ public interface Entity extends Metadatable, CommandSender, Nameable, Persistent
*/
public void setFireTicks(int ticks);
/**
* Gets if the entity has visual fire (it will always appear to be on fire).
*
* @param fire whether visual fire is enabled
*/
void setVisualFire(boolean fire);
/**
* Sets if the entity has visual fire (it will always appear to be on fire).
*
* @return whether visual fire is enabled
*/
boolean isVisualFire();
/**
* Returns the entity's current freeze ticks (amount of ticks the entity has
* been in powdered snow).
*
* @return int freeze ticks
*/
int getFreezeTicks();
/**
* Returns the entity's maximum freeze ticks (amount of ticks before it will
* be fully frozen)
*
* @return int max freeze ticks
*/
int getMaxFreezeTicks();
/**
* Sets the entity's current freeze ticks (amount of ticks the entity has
* been in powdered snow).
*
* @param ticks Current ticks
*/
void setFreezeTicks(int ticks);
/**
* Gets if the entity is fully frozen (it has been in powdered snow for max
* freeze ticks).
*
* @return freeze status
*/
boolean isFrozen();
/**
* Mark the entity's removal.
*/

Datei anzeigen

@ -266,6 +266,11 @@ public enum EntityType implements Keyed {
STRIDER("strider", Strider.class, -1),
ZOGLIN("zoglin", Zoglin.class, -1),
PIGLIN_BRUTE("piglin_brute", PiglinBrute.class, -1),
AXOLOTL("axolotl", Axolotl.class, -1),
GLOW_ITEM_FRAME("glow_item_frame", GlowItemFrame.class, -1),
GLOW_SQUID("glow_squid", GlowSquid.class, -1),
GOAT("goat", Goat.class, -1),
MARKER("marker", Marker.class, -1),
/**
* A fishing line and bobber.
*/

Datei anzeigen

@ -0,0 +1,7 @@
package org.bukkit.entity;
/**
* A Glow Item Frame.
*/
public interface GlowItemFrame extends ItemFrame {
}

Datei anzeigen

@ -0,0 +1,25 @@
package org.bukkit.entity;
/**
* A Glow Squid.
*/
public interface GlowSquid extends Squid {
/**
* Get the number of dark ticks remaining for this squid.
*
* Bravo Six will go dark for 100 ticks (5 seconds) if damaged.
*
* @return dark ticks remaining
*/
int getDarkTicksRemaining();
/**
* Sets the number of dark ticks remaining for this squid.
*
* Bravo Six will go dark for 100 ticks (5 seconds) if damaged.
*
* @param darkTicksRemaining dark ticks remaining
*/
void setDarkTicksRemaining(int darkTicksRemaining);
}

Datei anzeigen

@ -0,0 +1,27 @@
package org.bukkit.entity;
/**
* A Goat.
*/
public interface Goat extends Animals {
/**
* Gets if this is a screaming goat.
*
* A screaming goat makes screaming sounds and rams more often. They do not
* offer home loans.
*
* @return screaming status
*/
boolean isScreaming();
/**
* Sets if this is a screaming goat.
*
* A screaming goat makes screaming sounds and rams more often. They do not
* offer home loans.
*
* @param screaming screaming status
*/
void setScreaming(boolean screaming);
}

Datei anzeigen

@ -0,0 +1,7 @@
package org.bukkit.entity;
/**
* A Marker entity, exists only on the server.
*/
public interface Marker extends Entity {
}

Datei anzeigen

@ -30,6 +30,10 @@ public enum Pose {
* Entity is sneaking.
*/
SNEAKING,
/**
* Entity is long jumping.
*/
LONG_JUMPING,
/**
* Entity is dead.
*/

Datei anzeigen

@ -59,6 +59,12 @@ public final class MemoryKey<T> implements Keyed {
public static final MemoryKey<Boolean> ADMIRING_ITEM = new MemoryKey<>(NamespacedKey.minecraft("admiring_item"), Boolean.class);
public static final MemoryKey<Boolean> ADMIRING_DISABLED = new MemoryKey<>(NamespacedKey.minecraft("admiring_disabled"), Boolean.class);
public static final MemoryKey<Boolean> HUNTED_RECENTLY = new MemoryKey<>(NamespacedKey.minecraft("hunted_recently"), Boolean.class);
public static final MemoryKey<Integer> PLAY_DEAD_TICKS = new MemoryKey<>(NamespacedKey.minecraft("play_dead_ticks"), Integer.class);
public static final MemoryKey<Integer> TEMPTATION_COOLDOWN_TICKS = new MemoryKey<>(NamespacedKey.minecraft("temptation_cooldown_ticks"), Integer.class);
public static final MemoryKey<Boolean> IS_TEMPTED = new MemoryKey<>(NamespacedKey.minecraft("is_tempted"), Boolean.class);
public static final MemoryKey<Integer> LONG_JUMP_COOLING_DOWN = new MemoryKey<>(NamespacedKey.minecraft("long_jump_cooling_down"), Integer.class);
public static final MemoryKey<Boolean> HAS_HUNTING_COOLDOWN = new MemoryKey<>(NamespacedKey.minecraft("has_hunting_cooldown"), Boolean.class);
public static final MemoryKey<Integer> RAM_COOLDOWN_TICKS = new MemoryKey<>(NamespacedKey.minecraft("ram_cooldown_ticks"), Integer.class);
/**
* Returns a {@link MemoryKey} by a {@link NamespacedKey}.

Datei anzeigen

@ -1,7 +1,11 @@
package org.bukkit.event.block;
import com.google.common.base.Preconditions;
import org.bukkit.Material;
import org.bukkit.block.Block;
import org.bukkit.block.BlockState;
import org.bukkit.block.data.BlockData;
import org.bukkit.block.data.Levelled;
import org.bukkit.entity.Entity;
import org.bukkit.event.Cancellable;
import org.bukkit.event.HandlerList;
@ -15,15 +19,13 @@ public class CauldronLevelChangeEvent extends BlockEvent implements Cancellable
//
private final Entity entity;
private final ChangeReason reason;
private final int oldLevel;
private int newLevel;
private final BlockState newState;
public CauldronLevelChangeEvent(@NotNull Block block, @Nullable Entity entity, @NotNull ChangeReason reason, int oldLevel, int newLevel) {
public CauldronLevelChangeEvent(@NotNull Block block, @Nullable Entity entity, @NotNull ChangeReason reason, @NotNull BlockState newBlock) {
super(block);
this.entity = entity;
this.reason = reason;
this.oldLevel = oldLevel;
this.newLevel = newLevel;
this.newState = newBlock;
}
/**
@ -41,17 +43,59 @@ public class CauldronLevelChangeEvent extends BlockEvent implements Cancellable
return reason;
}
/**
* Gets the new state of the cauldron.
*
* @return The block state of the block that will be changed
*/
@NotNull
public BlockState getNewState() {
return newState;
}
/**
* Gets the old level of the cauldron.
*
* @return old level
* @deprecated not all cauldron contents are Levelled
* @see #getBlock()
*/
@Deprecated
public int getOldLevel() {
return oldLevel;
BlockData oldBlock = getBlock().getBlockData();
return (oldBlock instanceof Levelled) ? ((Levelled) oldBlock).getLevel() : ((oldBlock.getMaterial() == Material.CAULDRON) ? 0 : 3);
}
/**
* Gets the new level of the cauldron.
*
* @return new level
* @deprecated not all cauldron contents are Levelled
* @see #getNewState()
*/
@Deprecated
public int getNewLevel() {
return newLevel;
BlockData newBlock = newState.getBlockData();
return (newBlock instanceof Levelled) ? ((Levelled) newBlock).getLevel() : ((newBlock.getMaterial() == Material.CAULDRON) ? 0 : 3);
}
/**
* Sets the new level of the cauldron.
*
* @param newLevel new level
* @deprecated not all cauldron contents are Levelled
* @see #getNewState()
*/
@Deprecated
public void setNewLevel(int newLevel) {
Preconditions.checkArgument(0 <= newLevel && newLevel <= 3, "Cauldron level out of bounds 0 <= %s <= 3", newLevel);
this.newLevel = newLevel;
if (newLevel == 0) {
newState.setType(Material.CAULDRON);
} else if (newState.getBlockData() instanceof Levelled) {
((Levelled) newState.getBlockData()).setLevel(newLevel);
} else {
// Error, non-levellable block
}
}
@Override
@ -100,6 +144,10 @@ public class CauldronLevelChangeEvent extends BlockEvent implements Cancellable
* Player cleaning their armor.
*/
ARMOR_WASH,
/**
* Player cleaning a shulker box.
*/
SHULKER_WASH,
/**
* Entity being extinguished.
*/
@ -108,6 +156,10 @@ public class CauldronLevelChangeEvent extends BlockEvent implements Cancellable
* Evaporating due to biome dryness.
*/
EVAPORATE,
/**
* Filling due to natural fluid sources, eg rain.
*/
NATURAL_FILL,
/**
* Unknown.
*/

Datei anzeigen

@ -429,6 +429,12 @@ public class EntityDamageEvent extends EntityEvent implements Cancellable {
* <p>
* Damage: 1
*/
DRYOUT
DRYOUT,
/**
* Damage caused from freezing.
* <p>
* Damage: 1 or 5
*/
FREEZE;
}
}

Datei anzeigen

@ -170,6 +170,10 @@ public class EntityPotionEffectEvent extends EntityEvent implements Cancellable
* attack (e.g. a cave spider or a shulker bullet).
*/
ATTACK,
/**
* When an entity gets the effect from an axolotl.
*/
AXOLOTL,
/**
* When beacon effects get applied due to the entity being nearby.
*/

Datei anzeigen

@ -0,0 +1,103 @@
package org.bukkit.event.world;
import com.google.common.base.Preconditions;
import org.bukkit.GameEvent;
import org.bukkit.Location;
import org.bukkit.entity.Entity;
import org.bukkit.event.Cancellable;
import org.bukkit.event.HandlerList;
import org.jetbrains.annotations.NotNull;
import org.jetbrains.annotations.Nullable;
/**
* Represents a generic Mojang game event.
*
* Specific Bukkit events should be used where possible, this event is mainly
* used internally by Sculk sensors.
*/
public class GenericGameEvent extends WorldEvent implements Cancellable {
private static final HandlerList handlers = new HandlerList();
private final GameEvent event;
private final Location location;
private final Entity entity;
private int radius;
private boolean cancelled;
public GenericGameEvent(@NotNull GameEvent event, @NotNull Location location, @Nullable Entity entity, int radius) {
super(location.getWorld());
this.event = event;
this.location = location;
this.entity = entity;
}
/**
* Get the underlying event.
*
* @return the event
*/
@NotNull
public GameEvent getEvent() {
return event;
}
/**
* Get the location where the event occurred.
*
* @return event location
*/
@NotNull
public Location getLocation() {
return location;
}
/**
* Get the entity which triggered this event, if present.
*
* @return triggering entity or null
*/
@Nullable
public Entity getEntity() {
return entity;
}
/**
* Get the block radius to which this event will be broadcast.
*
* @return broadcast radius
*/
public int getRadius() {
return radius;
}
/**
* Set the radius to which the event should be broadcast.
*
* @param radius radius, must be greater than or equal to 0
*/
public void setRadius(int radius) {
Preconditions.checkArgument(radius >= 0, "Radius must be >= 0");
this.radius = radius;
}
@Override
public void setCancelled(boolean cancel) {
this.cancelled = cancel;
}
@Override
public boolean isCancelled() {
return cancelled;
}
@NotNull
@Override
public HandlerList getHandlers() {
return handlers;
}
@NotNull
public static HandlerList getHandlerList() {
return handlers;
}
}

Datei anzeigen

@ -231,6 +231,15 @@ public abstract class ChunkGenerator {
* Data for a Chunk.
*/
public static interface ChunkData {
/**
* Get the minimum height for the chunk.
*
* Setting blocks below this height will do nothing.
*
* @return the minimum height
*/
public int getMinHeight();
/**
* Get the maximum height for the chunk.
*
@ -246,7 +255,7 @@ public abstract class ChunkGenerator {
* Note: setting blocks outside the chunk's bounds does nothing.
*
* @param x the x location in the chunk from 0-15 inclusive
* @param y the y location in the chunk from 0 (inclusive) - maxHeight (exclusive)
* @param y the y location in the chunk from minHeight (inclusive) - maxHeight (exclusive)
* @param z the z location in the chunk from 0-15 inclusive
* @param material the type to set the block to
*/
@ -258,7 +267,7 @@ public abstract class ChunkGenerator {
* Setting blocks outside the chunk's bounds does nothing.
*
* @param x the x location in the chunk from 0-15 inclusive
* @param y the y location in the chunk from 0 (inclusive) - maxHeight (exclusive)
* @param y the y location in the chunk from minHeight (inclusive) - maxHeight (exclusive)
* @param z the z location in the chunk from 0-15 inclusive
* @param material the type to set the block to
*/
@ -270,7 +279,7 @@ public abstract class ChunkGenerator {
* Setting blocks outside the chunk's bounds does nothing.
*
* @param x the x location in the chunk from 0-15 inclusive
* @param y the y location in the chunk from 0 (inclusive) - maxHeight (exclusive)
* @param y the y location in the chunk from minHeight (inclusive) - maxHeight (exclusive)
* @param z the z location in the chunk from 0-15 inclusive
* @param blockData the type to set the block to
*/
@ -330,7 +339,7 @@ public abstract class ChunkGenerator {
* Getting blocks outside the chunk's bounds returns air.
*
* @param x the x location in the chunk from 0-15 inclusive
* @param y the y location in the chunk from 0 (inclusive) - maxHeight (exclusive)
* @param y the y location in the chunk from minHeight (inclusive) - maxHeight (exclusive)
* @param z the z location in the chunk from 0-15 inclusive
* @return the type of the block or Material.AIR if x, y or z are outside the chunk's bounds
*/
@ -343,7 +352,7 @@ public abstract class ChunkGenerator {
* Getting blocks outside the chunk's bounds returns air.
*
* @param x the x location in the chunk from 0-15 inclusive
* @param y the y location in the chunk from 0 (inclusive) - maxHeight (exclusive)
* @param y the y location in the chunk from minHeight (inclusive) - maxHeight (exclusive)
* @param z the z location in the chunk from 0-15 inclusive
* @return the type and data of the block or the MaterialData for air if x, y or z are outside the chunk's bounds
*/
@ -356,7 +365,7 @@ public abstract class ChunkGenerator {
* Getting blocks outside the chunk's bounds returns air.
*
* @param x the x location in the chunk from 0-15 inclusive
* @param y the y location in the chunk from 0 (inclusive) - maxHeight (exclusive)
* @param y the y location in the chunk from minHeight (inclusive) - maxHeight (exclusive)
* @param z the z location in the chunk from 0-15 inclusive
* @return the data of the block or the BlockData for air if x, y or z are outside the chunk's bounds
*/
@ -369,7 +378,7 @@ public abstract class ChunkGenerator {
* Getting blocks outside the chunk's bounds returns 0.
*
* @param x the x location in the chunk from 0-15 inclusive
* @param y the y location in the chunk from 0 (inclusive) - maxHeight (exclusive)
* @param y the y location in the chunk from minHeight (inclusive) - maxHeight (exclusive)
* @param z the z location in the chunk from 0-15 inclusive
* @return the block data value or air if x, y or z are outside the chunk's bounds
* @deprecated Uses magic values

Datei anzeigen

@ -0,0 +1,40 @@
package org.bukkit.inventory.meta;
import java.util.List;
import org.bukkit.inventory.ItemStack;
import org.jetbrains.annotations.NotNull;
import org.jetbrains.annotations.Nullable;
public interface BundleMeta extends ItemMeta {
/**
* Returns whether the item has any items.
*
* @return whether items are present
*/
boolean hasItems();
/**
* Returns an immutable list of the items stored in this item.
*
* @return items
*/
@NotNull
List<ItemStack> getItems();
/**
* Sets the items stored in this item.
*
* Removes all items when given null.
*
* @param items the items to set
*/
void setItems(@Nullable List<ItemStack> items);
/**
* Adds an item to this item.
*
* @param item item to add
*/
void addItem(@NotNull ItemStack item);
}

Datei anzeigen

@ -60,6 +60,7 @@ public enum LootTables implements Keyed {
WOODLAND_MANSION("chests/woodland_mansion"),
// Entities
ARMOR_STAND("entities/armor_stand"),
AXOLOTL("entities/axolotl"),
BAT("entities/bat"),
BEE("entities/bee"),
BLAZE("entities/blaze"),
@ -73,13 +74,15 @@ public enum LootTables implements Keyed {
DONKEY("entities/donkey"),
DROWNED("entities/drowned"),
ELDER_GUARDIAN("entities/elder_guardian"),
ENDER_DRAGON("entities/ender_dragon"),
ENDERMAN("entities/enderman"),
ENDERMITE("entities/endermite"),
ENDER_DRAGON("entities/ender_dragon"),
EVOKER("entities/evoker"),
FOX("entities/fox"),
GHAST("entities/ghast"),
GIANT("entities/giant"),
GLOW_SQUID("entities/glow_squid"),
GOAT("entities/goat"),
GUARDIAN("entities/guardian"),
HOGLIN("entities/hoglin"),
HORSE("entities/horse"),

Datei anzeigen

@ -93,7 +93,10 @@ public final class MapPalette {
c(15, 88, 94), c(18, 108, 115), c(22, 126, 134), c(11, 66, 70),
c(40, 100, 98), c(50, 122, 120), c(58, 142, 140), c(30, 75, 74),
c(60, 31, 43), c(74, 37, 53), c(86, 44, 62), c(45, 23, 32),
c(14, 127, 93), c(17, 155, 114), c(20, 180, 133), c(10, 95, 70)
c(14, 127, 93), c(17, 155, 114), c(20, 180, 133), c(10, 95, 70),
c(70, 70, 70), c(86, 86, 86), c(100, 100, 100), c(52, 52, 52),
c(152, 123, 103), c(186, 150, 126), c(216, 175, 147), c(114, 92, 77),
c(89, 117, 105), c(109, 144, 129), c(127, 167, 150), c(67, 88, 79)
};
// Interface