diff --git a/packages/bukkit/src/typings/index.ts b/packages/bukkit/src/typings/index.ts
new file mode 100644
index 00000000..9d413ff4
--- /dev/null
+++ b/packages/bukkit/src/typings/index.ts
@@ -0,0 +1,958 @@
+///
+ * This ignores underscores and capitalization + */ + public static getByName(name: string): org.bukkit.Art; + } + } +} diff --git a/packages/bukkit/src/typings/org.bukkit.Axis.ts b/packages/bukkit/src/typings/org.bukkit.Axis.ts new file mode 100644 index 00000000..7e45aeb3 --- /dev/null +++ b/packages/bukkit/src/typings/org.bukkit.Axis.ts @@ -0,0 +1,11 @@ +declare namespace org { + namespace bukkit { + class Axis { + public static X: org.bukkit.Axis; + public static Y: org.bukkit.Axis; + public static Z: org.bukkit.Axis; + public static values(): org.bukkit.Axis[]; + public static valueOf(name: string): org.bukkit.Axis; + } + } +} diff --git a/packages/bukkit/src/typings/org.bukkit.BanEntry.ts b/packages/bukkit/src/typings/org.bukkit.BanEntry.ts new file mode 100644 index 00000000..d558503b --- /dev/null +++ b/packages/bukkit/src/typings/org.bukkit.BanEntry.ts @@ -0,0 +1,57 @@ +declare namespace org { + namespace bukkit { + class BanEntry { + /** + * Gets the target involved. This may be in the form of an IP or a player + * name. + */ + public getTarget(): string; + /** + * Gets the date this ban entry was created. + */ + public getCreated(): any /*java.util.Date*/; + /** + * Sets the date this ban entry was created. + */ + public setCreated(created: any /*java.util.Date*/): void; + /** + * Gets the source of this ban. + *
+ * Note: A source is considered any String, although this is generally a + * player name. + */ + public getSource(): string; + /** + * Sets the source of this ban. + *
+ * Note: A source is considered any String, although this is generally a + * player name. + */ + public setSource(source: string): void; + /** + * Gets the date this ban expires on, or null for no defined end date. + */ + public getExpiration(): any /*java.util.Date*/; + /** + * Sets the date this ban expires on. Null values are considered + * "infinite" bans. + */ + public setExpiration(expiration: any /*java.util.Date*/): void; + /** + * Gets the reason for this ban. + */ + public getReason(): string; + /** + * Sets the reason for this ban. Reasons must not be null. + */ + public setReason(reason: string): void; + /** + * Saves the ban entry, overwriting any previous data in the ban list. + *
+ * Saving the ban entry of an unbanned player will cause the player to be + * banned once again. + */ + public save(): void; + } + } +} diff --git a/packages/bukkit/src/typings/org.bukkit.BanList.Type.ts b/packages/bukkit/src/typings/org.bukkit.BanList.Type.ts new file mode 100644 index 00000000..e60db8eb --- /dev/null +++ b/packages/bukkit/src/typings/org.bukkit.BanList.Type.ts @@ -0,0 +1,12 @@ +declare namespace org { + namespace bukkit { + namespace BanList { + class Type { + public static NAME: org.bukkit.BanList.Type; + public static IP: org.bukkit.BanList.Type; + public static values(): org.bukkit.BanList.Type[]; + public static valueOf(name: string): org.bukkit.BanList.Type; + } + } + } +} diff --git a/packages/bukkit/src/typings/org.bukkit.BanList.ts b/packages/bukkit/src/typings/org.bukkit.BanList.ts new file mode 100644 index 00000000..f39ffd03 --- /dev/null +++ b/packages/bukkit/src/typings/org.bukkit.BanList.ts @@ -0,0 +1,29 @@ +declare namespace org { + namespace bukkit { + class BanList { + /** + * Gets a {@link BanEntry} by target. + */ + public getBanEntry(target: string): org.bukkit.BanEntry; + /** + * Adds a ban to the this list. If a previous ban exists, this will + * update the previous entry. + */ + public addBan(target: string, reason: string, expires: any /*java.util.Date*/, source: string): org.bukkit.BanEntry; + /** + * Gets a set containing every {@link BanEntry} in this list. + */ + public getBanEntries(): any[] /*java.util.Set*/; + /** + * Gets if a {@link BanEntry} exists for the target, indicating an active + * ban status. + */ + public isBanned(target: string): boolean; + /** + * Removes the specified target from this list, therefore indicating a + * "not banned" status. + */ + public pardon(target: string): void; + } + } +} diff --git a/packages/bukkit/src/typings/org.bukkit.BlockChangeDelegate.ts b/packages/bukkit/src/typings/org.bukkit.BlockChangeDelegate.ts new file mode 100644 index 00000000..9bf0fed0 --- /dev/null +++ b/packages/bukkit/src/typings/org.bukkit.BlockChangeDelegate.ts @@ -0,0 +1,22 @@ +declare namespace org { + namespace bukkit { + class BlockChangeDelegate { + /** + * Set a block data at the specified coordinates. + */ + public setBlockData(x: number, y: number, z: number, blockData: org.bukkit.block.data.BlockData): boolean; + /** + * Get the block data at the location. + */ + public getBlockData(x: number, y: number, z: number): org.bukkit.block.data.BlockData; + /** + * Gets the height of the world. + */ + public getHeight(): number; + /** + * Checks if the specified block is empty (air) or not. + */ + public isEmpty(x: number, y: number, z: number): boolean; + } + } +} diff --git a/packages/bukkit/src/typings/org.bukkit.Bukkit.ts b/packages/bukkit/src/typings/org.bukkit.Bukkit.ts new file mode 100644 index 00000000..48666d40 --- /dev/null +++ b/packages/bukkit/src/typings/org.bukkit.Bukkit.ts @@ -0,0 +1,657 @@ +declare namespace org { + namespace bukkit { + class Bukkit { + /** + * Gets the current {@link Server} singleton + */ + public static getServer(): org.bukkit.Server; + /** + * Attempts to set the {@link Server} singleton. + *
+ * This cannot be done if the Server is already set. + */ + public static setServer(server: org.bukkit.Server): void; + /** + * Gets the name of this server implementation. + */ + public static getName(): string; + /** + * Gets the version string of this server implementation. + */ + public static getVersion(): string; + /** + * Gets the Bukkit version that this server is running. + */ + public static getBukkitVersion(): string; + /** + * Gets a view of all currently logged in players. This {@linkplain + * Collections#unmodifiableCollection(Collection) view} is a reused + * object, making some operations like {@link Collection#size()} + * zero-allocation. + *
+ * The collection is a view backed by the internal representation, such + * that, changes to the internal state of the server will be reflected + * immediately. However, the reuse of the returned collection (identity) + * is not strictly guaranteed for future or all implementations. Casting + * the collection, or relying on interface implementations (like {@link + * Serializable} or {@link List}), is deprecated. + *
+ * Iteration behavior is undefined outside of self-contained main-thread + * uses. Normal and immediate iterator use without consequences that + * affect the collection are fully supported. The effects following + * (non-exhaustive) {@link Entity#teleport(Location) teleportation}, + * {@link Player#setHealth(double) death}, and {@link Player#kickPlayer( + * String) kicking} are undefined. Any use of this collection from + * asynchronous threads is unsafe. + *
+ * For safe consequential iteration or mimicking the old array behavior, + * using {@link Collection#toArray(Object[])} is recommended. For making + * snapshots, {@link ImmutableList#copyOf(Collection)} is recommended. + */ + public static getOnlinePlayers(): any[] /*java.util.Collection*/; + /** + * Get the maximum amount of players which can login to this server. + */ + public static getMaxPlayers(): number; + /** + * Get the game port that the server runs on. + */ + public static getPort(): number; + /** + * Get the view distance from this server. + */ + public static getViewDistance(): number; + /** + * Get the IP that this server is bound to, or empty string if not + * specified. + */ + public static getIp(): string; + /** + * Get world type (level-type setting) for default world. + */ + public static getWorldType(): string; + /** + * Get generate-structures setting. + */ + public static getGenerateStructures(): boolean; + /** + * Gets whether this server allows the End or not. + */ + public static getAllowEnd(): boolean; + /** + * Gets whether this server allows the Nether or not. + */ + public static getAllowNether(): boolean; + /** + * Gets whether this server has a whitelist or not. + */ + public static hasWhitelist(): boolean; + /** + * Sets if the server is whitelisted. + */ + public static setWhitelist(value: boolean): void; + /** + * Gets a list of whitelisted players. + */ + public static getWhitelistedPlayers(): any[] /*java.util.Set*/; + /** + * Reloads the whitelist from disk. + */ + public static reloadWhitelist(): void; + /** + * Broadcast a message to all players. + *
+ * This is the same as calling {@link #broadcast(java.lang.String, + * java.lang.String)} to {@link Server#BROADCAST_CHANNEL_USERS} + */ + public static broadcastMessage(message: string): number; + /** + * Gets the name of the update folder. The update folder is used to safely + * update plugins at the right moment on a plugin load. + *
+ * The update folder name is relative to the plugins folder. + */ + public static getUpdateFolder(): string; + /** + * Gets the update folder. The update folder is used to safely update + * plugins at the right moment on a plugin load. + */ + public static getUpdateFolderFile(): any; + /** + * Gets the value of the connection throttle setting. + */ + public static getConnectionThrottle(): number; + /** + * Gets default ticks per animal spawns value. + *
+ * Example Usage: + *
+ * Note: If set to 0, animal spawning will be disabled. We + * recommend using spawn-animals to control this instead. + *
+ * Minecraft default: 400. + */ + public static getTicksPerAnimalSpawns(): number; + /** + * Gets the default ticks per monster spawns value. + *
+ * Example Usage: + *
+ * Note: If set to 0, monsters spawning will be disabled. We + * recommend using spawn-monsters to control this instead. + *
+ * Minecraft default: 1. + */ + public static getTicksPerMonsterSpawns(): number; + /** + * Gets a player object by the given username. + *
+ * This method may not return objects for offline players. + */ + public static getPlayer(name: string): org.bukkit.entity.Player; + /** + * Gets the player with the exact given name, case insensitive. + */ + public static getPlayerExact(name: string): org.bukkit.entity.Player; + /** + * Attempts to match any players with the given name, and returns a list + * of all possibly matches. + *
+ * This list is not sorted in any particular order. If an exact match is + * found, the returned list will only contain a single result. + */ + public static matchPlayer(name: string): any[] /*java.util.List*/; + /** + * Gets the player with the given UUID. + */ + public static getPlayer(id: any): org.bukkit.entity.Player; + /** + * Gets the plugin manager for interfacing with plugins. + */ + public static getPluginManager(): org.bukkit.plugin.PluginManager; + /** + * Gets the scheduler for managing scheduled events. + */ + public static getScheduler(): org.bukkit.scheduler.BukkitScheduler; + /** + * Gets a services manager. + */ + public static getServicesManager(): org.bukkit.plugin.ServicesManager; + /** + * Gets a list of all worlds on this server. + */ + public static getWorlds(): any[] /*java.util.List*/; + /** + * Creates or loads a world with the given name using the specified + * options. + *
+ * If the world is already loaded, it will just return the equivalent of
+ * getWorld(creator.name()).
+ */
+ public static createWorld(creator: org.bukkit.WorldCreator): org.bukkit.World;
+ /**
+ * Unloads a world with the given name.
+ */
+ public static unloadWorld(name: string, save: boolean): boolean;
+ /**
+ * Unloads the given world.
+ */
+ public static unloadWorld(world: org.bukkit.World, save: boolean): boolean;
+ /**
+ * Gets the world with the given name.
+ */
+ public static getWorld(name: string): org.bukkit.World;
+ /**
+ * Gets the world from the given Unique ID.
+ */
+ public static getWorld(uid: any): org.bukkit.World;
+ /**
+ * Gets the map from the given item ID.
+ */
+ public static getMap(id: number): org.bukkit.map.MapView;
+ /**
+ * Create a new map with an automatically assigned ID.
+ */
+ public static createMap(world: org.bukkit.World): org.bukkit.map.MapView;
+ /**
+ * Create a new explorer map targeting the closest nearby structure of a
+ * given {@link StructureType}.
+ *
+ * This method may involve a blocking web request to get the UUID for the
+ * given name.
+ *
+ * This will return an object even if the player does not exist. To this
+ * method, all players will exist.
+ */
+ public static getOfflinePlayer(name: string): org.bukkit.OfflinePlayer;
+ /**
+ * Gets the player by the given UUID, regardless if they are offline or
+ * online.
+ *
+ * This will return an object even if the player does not exist. To this
+ * method, all players will exist.
+ */
+ public static getOfflinePlayer(id: any): org.bukkit.OfflinePlayer;
+ /**
+ * Gets a set containing all current IPs that are banned.
+ */
+ public static getIPBans(): any[] /*java.util.Set*/;
+ /**
+ * Bans the specified address from the server.
+ */
+ public static banIP(address: string): void;
+ /**
+ * Unbans the specified address from the server.
+ */
+ public static unbanIP(address: string): void;
+ /**
+ * Gets a set containing all banned players.
+ */
+ public static getBannedPlayers(): any[] /*java.util.Set*/;
+ /**
+ * Gets a ban list for the supplied type.
+ *
+ * Bans by name are no longer supported and this method will return
+ * null when trying to request them. The replacement is bans by UUID.
+ */
+ public static getBanList(type: org.bukkit.BanList.Type): org.bukkit.BanList;
+ /**
+ * Gets a set containing all player operators.
+ */
+ public static getOperators(): any[] /*java.util.Set*/;
+ /**
+ * Gets the default {@link GameMode} for new players.
+ */
+ public static getDefaultGameMode(): org.bukkit.GameMode;
+ /**
+ * Sets the default {@link GameMode} for new players.
+ */
+ public static setDefaultGameMode(mode: org.bukkit.GameMode): void;
+ /**
+ * Gets a {@link ConsoleCommandSender} that may be used as an input source
+ * for this server.
+ */
+ public static getConsoleSender(): org.bukkit.command.ConsoleCommandSender;
+ /**
+ * Gets the folder that contains all of the various {@link World}s.
+ */
+ public static getWorldContainer(): any;
+ /**
+ * Gets every player that has ever played on this server.
+ */
+ public static getOfflinePlayers(): org.bukkit.OfflinePlayer[];
+ /**
+ * Gets the {@link Messenger} responsible for this server.
+ */
+ public static getMessenger(): org.bukkit.plugin.messaging.Messenger;
+ /**
+ * Gets the {@link HelpMap} providing help topics for this server.
+ */
+ public static getHelpMap(): org.bukkit.help.HelpMap;
+ /**
+ * Creates an empty inventory with the specified type. If the type
+ * is {@link InventoryType#CHEST}, the new inventory has a size of 27;
+ * otherwise the new inventory has the normal size for its type.
+ *
+ * Note: this method should not be used to indicate the current
+ * synchronized state of the runtime. A current thread matching the main
+ * thread indicates that it is synchronized, but a mismatch does not
+ * preclude the same assumption.
+ */
+ public static isPrimaryThread(): boolean;
+ /**
+ * Gets the message that is displayed on the server list.
+ */
+ public static getMotd(): string;
+ /**
+ * Gets the default message that is displayed when the server is stopped.
+ */
+ public static getShutdownMessage(): string;
+ /**
+ * Gets the current warning state for the server.
+ */
+ public static getWarningState(): org.bukkit.Warning.WarningState;
+ /**
+ * Gets the instance of the item factory (for {@link ItemMeta}).
+ */
+ public static getItemFactory(): org.bukkit.inventory.ItemFactory;
+ /**
+ * Gets the instance of the scoreboard manager.
+ *
+ * This will only exist after the first world has loaded.
+ */
+ public static getScoreboardManager(): org.bukkit.scoreboard.ScoreboardManager;
+ /**
+ * Gets an instance of the server's default server-icon.
+ */
+ public static getServerIcon(): org.bukkit.util.CachedServerIcon;
+ /**
+ * Loads an image from a file, and returns a cached image for the specific
+ * server-icon.
+ *
+ * Size and type are implementation defined. An incompatible file is
+ * guaranteed to throw an implementation-defined {@link Exception}.
+ */
+ public static loadServerIcon(file: any): org.bukkit.util.CachedServerIcon;
+ /**
+ * Creates a cached server-icon for the specific image.
+ *
+ * Size and type are implementation defined. An incompatible file is
+ * guaranteed to throw an implementation-defined {@link Exception}.
+ */
+ public static loadServerIcon(image: any): org.bukkit.util.CachedServerIcon;
+ /**
+ * Set the idle kick timeout. Any players idle for the specified amount of
+ * time will be automatically kicked.
+ *
+ * A value of 0 will disable the idle kick timeout.
+ */
+ public static setIdleTimeout(threshold: number): void;
+ /**
+ * Gets the idle kick timeout.
+ */
+ public static getIdleTimeout(): number;
+ /**
+ * Create a ChunkData for use in a generator.
+ * See {@link ChunkGenerator#generateChunkData(org.bukkit.World, java.util.Random, int, int, org.bukkit.generator.ChunkGenerator.BiomeGrid)}
+ */
+ public static createChunkData(world: org.bukkit.World): org.bukkit.generator.ChunkGenerator.ChunkData;
+ /**
+ * Creates a boss bar instance to display to players. The progress
+ * defaults to 1.0
+ */
+ public static createBossBar(title: string, color: org.bukkit.boss.BarColor, style: org.bukkit.boss.BarStyle, flags: org.bukkit.boss.BarFlag): org.bukkit.boss.BossBar;
+ /**
+ * Creates a boss bar instance to display to players. The progress defaults
+ * to 1.0.
+ *
+ * A force loaded chunk will not be unloaded due to lack of player activity.
+ */
+ public isForceLoaded(): boolean;
+ /**
+ * Sets whether the chunk at the specified chunk coordinates is force
+ * loaded.
+ *
+ * A force loaded chunk will not be unloaded due to lack of player activity.
+ */
+ public setForceLoaded(forced: boolean): void;
+ /**
+ * Adds a plugin ticket for this chunk, loading this chunk if it is not
+ * already loaded.
+ *
+ * A plugin ticket will prevent a chunk from unloading until it is
+ * explicitly removed. A plugin instance may only have one ticket per chunk,
+ * but each chunk can have multiple plugin tickets.
+ *
+ * A plugin ticket will prevent a chunk from unloading until it is
+ * explicitly removed. A plugin instance may only have one ticket per chunk,
+ * but each chunk can have multiple plugin tickets.
+ *
+ * A plugin ticket will prevent a chunk from unloading until it is
+ * explicitly removed. A plugin instance may only have one ticket per chunk,
+ * but each chunk can have multiple plugin tickets.
+ *
+ * To successfully build, you must have specified at least one color.
+ */
+ public build(): org.bukkit.FireworkEffect;
+ }
+ }
+ }
+}
diff --git a/packages/bukkit/src/typings/org.bukkit.FireworkEffect.Type.ts b/packages/bukkit/src/typings/org.bukkit.FireworkEffect.Type.ts
new file mode 100644
index 00000000..60b1d5f6
--- /dev/null
+++ b/packages/bukkit/src/typings/org.bukkit.FireworkEffect.Type.ts
@@ -0,0 +1,15 @@
+declare namespace org {
+ namespace bukkit {
+ namespace FireworkEffect {
+ class Type {
+ public static BALL: org.bukkit.FireworkEffect.Type;
+ public static BALL_LARGE: org.bukkit.FireworkEffect.Type;
+ public static STAR: org.bukkit.FireworkEffect.Type;
+ public static BURST: org.bukkit.FireworkEffect.Type;
+ public static CREEPER: org.bukkit.FireworkEffect.Type;
+ public static values(): org.bukkit.FireworkEffect.Type[];
+ public static valueOf(name: string): org.bukkit.FireworkEffect.Type;
+ }
+ }
+ }
+}
diff --git a/packages/bukkit/src/typings/org.bukkit.FireworkEffect.ts b/packages/bukkit/src/typings/org.bukkit.FireworkEffect.ts
new file mode 100644
index 00000000..c1485b20
--- /dev/null
+++ b/packages/bukkit/src/typings/org.bukkit.FireworkEffect.ts
@@ -0,0 +1,35 @@
+declare namespace org {
+ namespace bukkit {
+ class FireworkEffect {
+ /**
+ * Construct a firework effect.
+ */
+ public static builder(): org.bukkit.FireworkEffect.Builder;
+ /**
+ * Get whether the firework effect flickers.
+ */
+ public hasFlicker(): boolean;
+ /**
+ * Get whether the firework effect has a trail.
+ */
+ public hasTrail(): boolean;
+ /**
+ * Get the primary colors of the firework effect.
+ */
+ public getColors(): any[] /*java.util.List*/;
+ /**
+ * Get the fade colors of the firework effect.
+ */
+ public getFadeColors(): any[] /*java.util.List*/;
+ /**
+ * Get the type of the firework effect.
+ */
+ public getType(): org.bukkit.FireworkEffect.Type;
+ public static deserialize(map: Map
+ * This is a normal lookup, names must be the precise name they are given
+ * in the enum.
+ */
+ public static getMaterial(name: string): org.bukkit.Material;
+ /**
+ * Attempts to get the Material with the given name.
+ *
+ * This is a normal lookup, names must be the precise name they are given
+ * in the enum.
+ */
+ public static getMaterial(name: string, legacyName: boolean): org.bukkit.Material;
+ /**
+ * Attempts to match the Material with the given name.
+ *
+ * This is a match lookup; names will be stripped of the "minecraft:"
+ * namespace, converted to uppercase, then stripped of special characters in
+ * an attempt to format it like the enum.
+ */
+ public static matchMaterial(name: string): org.bukkit.Material;
+ /**
+ * Attempts to match the Material with the given name.
+ *
+ * This is a match lookup; names will be stripped of the "minecraft:"
+ * namespace, converted to uppercase, then stripped of special characters in
+ * an attempt to format it like the enum.
+ */
+ public static matchMaterial(name: string, legacyName: boolean): org.bukkit.Material;
+ public isRecord(): boolean;
+ /**
+ * Check if the material is a block and solid (can be built upon)
+ */
+ public isSolid(): boolean;
+ /**
+ * Check if the material is a block and does not block any light
+ */
+ public isTransparent(): boolean;
+ /**
+ * Check if the material is a block and can catch fire
+ */
+ public isFlammable(): boolean;
+ /**
+ * Check if the material is a block and can burn away
+ */
+ public isBurnable(): boolean;
+ /**
+ * Checks if this Material can be used as fuel in a Furnace
+ */
+ public isFuel(): boolean;
+ /**
+ * Check if the material is a block and completely blocks vision
+ */
+ public isOccluding(): boolean;
+ public hasGravity(): boolean;
+ /**
+ * Checks if this Material is an obtainable item.
+ */
+ public isItem(): boolean;
+ /**
+ * Checks if this Material can be interacted with.
+ * Interactable materials include those with functionality when they are
+ * interacted with by a player such as chests, furnaces, etc.
+ * Some blocks such as piston heads and stairs are considered interactable
+ * though may not perform any additional functionality.
+ * Note that the interactability of some materials may be dependant on their
+ * state as well. This method will return true if there is at least one
+ * state in which additional interact handling is performed for the
+ * material.
+ */
+ public isInteractable(): boolean;
+ /**
+ * Obtains the block's hardness level (also known as "strength").
+ *
+ * This value has no effect on players, they will always use their real
+ * name.
+ */
+ public getCustomName(): string;
+ /**
+ * Sets a custom name on a mob or block. This name will be used in death
+ * messages and can be sent to the client as a nameplate over the mob.
+ *
+ * Setting the name to null or an empty string will clear it.
+ *
+ * This value has no effect on players, they will always use their real
+ * name.
+ */
+ public setCustomName(name: string): void;
+ }
+ }
+}
diff --git a/packages/bukkit/src/typings/org.bukkit.NamespacedKey.ts b/packages/bukkit/src/typings/org.bukkit.NamespacedKey.ts
new file mode 100644
index 00000000..74e26310
--- /dev/null
+++ b/packages/bukkit/src/typings/org.bukkit.NamespacedKey.ts
@@ -0,0 +1,35 @@
+declare namespace org {
+ namespace bukkit {
+ class NamespacedKey {
+ /**
+ * Create a key in a specific namespace.
+ */
+ constructor(namespace: string, key: string)
+ /**
+ * Create a key in the plugin's namespace.
+ *
+ * Namespaces may only contain lowercase alphanumeric characters, periods,
+ * underscores, and hyphens.
+ *
+ * Keys may only contain lowercase alphanumeric characters, periods,
+ * underscores, hyphens, and forward slashes.
+ */
+ constructor(plugin: org.bukkit.plugin.Plugin, key: string)
+ public static MINECRAFT: string;
+ public static BUKKIT: string;
+ public getNamespace(): string;
+ public getKey(): string;
+ public hashCode(): number;
+ public equals(obj: any): boolean;
+ public toString(): string;
+ /**
+ * Return a new random key in the {@link #BUKKIT} namespace.
+ */
+ public static randomKey(): org.bukkit.NamespacedKey;
+ /**
+ * Get a key in the Minecraft namespace.
+ */
+ public static minecraft(key: string): org.bukkit.NamespacedKey;
+ }
+ }
+}
diff --git a/packages/bukkit/src/typings/org.bukkit.NetherWartsState.ts b/packages/bukkit/src/typings/org.bukkit.NetherWartsState.ts
new file mode 100644
index 00000000..5e6267e6
--- /dev/null
+++ b/packages/bukkit/src/typings/org.bukkit.NetherWartsState.ts
@@ -0,0 +1,12 @@
+declare namespace org {
+ namespace bukkit {
+ class NetherWartsState {
+ public static SEEDED: org.bukkit.NetherWartsState;
+ public static STAGE_ONE: org.bukkit.NetherWartsState;
+ public static STAGE_TWO: org.bukkit.NetherWartsState;
+ public static RIPE: org.bukkit.NetherWartsState;
+ public static values(): org.bukkit.NetherWartsState[];
+ public static valueOf(name: string): org.bukkit.NetherWartsState;
+ }
+ }
+}
diff --git a/packages/bukkit/src/typings/org.bukkit.Note.Tone.ts b/packages/bukkit/src/typings/org.bukkit.Note.Tone.ts
new file mode 100644
index 00000000..a1e63a29
--- /dev/null
+++ b/packages/bukkit/src/typings/org.bukkit.Note.Tone.ts
@@ -0,0 +1,40 @@
+declare namespace org {
+ namespace bukkit {
+ namespace Note {
+ class Tone {
+ public static G: org.bukkit.Note.Tone;
+ public static A: org.bukkit.Note.Tone;
+ public static B: org.bukkit.Note.Tone;
+ public static C: org.bukkit.Note.Tone;
+ public static D: org.bukkit.Note.Tone;
+ public static E: org.bukkit.Note.Tone;
+ public static F: org.bukkit.Note.Tone;
+ public static TONES_COUNT: number;
+ public static values(): org.bukkit.Note.Tone[];
+ public static valueOf(name: string): org.bukkit.Note.Tone;
+ /**
+ * Returns the not sharped id of this tone.
+ */
+ public getId(): number;
+ /**
+ * Returns the id of this tone. These method allows to return the
+ * sharped id of the tone. If the tone couldn't be sharped it always
+ * return the not sharped id of this tone.
+ */
+ public getId(sharped: boolean): number;
+ /**
+ * Returns if this tone could be sharped.
+ */
+ public isSharpable(): boolean;
+ /**
+ * Returns if this tone id is the sharped id of the tone.
+ */
+ public isSharped(id: number): boolean;
+ /**
+ * Returns the tone to id. Also returning the semitones.
+ */
+ public static getById(id: number): org.bukkit.Note.Tone;
+ }
+ }
+ }
+}
diff --git a/packages/bukkit/src/typings/org.bukkit.Note.ts b/packages/bukkit/src/typings/org.bukkit.Note.ts
new file mode 100644
index 00000000..4bcc7b57
--- /dev/null
+++ b/packages/bukkit/src/typings/org.bukkit.Note.ts
@@ -0,0 +1,47 @@
+declare namespace org {
+ namespace bukkit {
+ class Note {
+ /**
+ * Creates a new note.
+ */
+ constructor(note: number)
+ /**
+ * Creates a new note.
+ */
+ constructor(octave: number, tone: org.bukkit.Note.Tone, sharped: boolean)
+ /**
+ * Creates a new note for a flat tone, such as A-flat.
+ */
+ public static flat(octave: number, tone: org.bukkit.Note.Tone): org.bukkit.Note;
+ /**
+ * Creates a new note for a sharp tone, such as A-sharp.
+ */
+ public static sharp(octave: number, tone: org.bukkit.Note.Tone): org.bukkit.Note;
+ /**
+ * Creates a new note for a natural tone, such as A-natural.
+ */
+ public static natural(octave: number, tone: org.bukkit.Note.Tone): org.bukkit.Note;
+ public sharped(): org.bukkit.Note;
+ public flattened(): org.bukkit.Note;
+ /**
+ * Returns the internal id of this note.
+ */
+ public getId(): number;
+ /**
+ * Returns the octave of this note.
+ */
+ public getOctave(): number;
+ /**
+ * Returns the tone of this note.
+ */
+ public getTone(): org.bukkit.Note.Tone;
+ /**
+ * Returns if this note is sharped.
+ */
+ public isSharped(): boolean;
+ public hashCode(): number;
+ public equals(obj: any): boolean;
+ public toString(): string;
+ }
+ }
+}
diff --git a/packages/bukkit/src/typings/org.bukkit.OfflinePlayer.ts b/packages/bukkit/src/typings/org.bukkit.OfflinePlayer.ts
new file mode 100644
index 00000000..727478ad
--- /dev/null
+++ b/packages/bukkit/src/typings/org.bukkit.OfflinePlayer.ts
@@ -0,0 +1,67 @@
+declare namespace org {
+ namespace bukkit {
+ class OfflinePlayer {
+ /**
+ * Checks if this player is currently online
+ */
+ public isOnline(): boolean;
+ /**
+ * Returns the name of this player
+ *
+ * Names are no longer unique past a single game session. For persistent storage
+ * it is recommended that you use {@link #getUniqueId()} instead.
+ */
+ public getName(): string;
+ /**
+ * Returns the UUID of this player
+ */
+ public getUniqueId(): any;
+ /**
+ * Checks if this player is banned or not
+ */
+ public isBanned(): boolean;
+ /**
+ * Checks if this player is whitelisted or not
+ */
+ public isWhitelisted(): boolean;
+ /**
+ * Sets if this player is whitelisted or not
+ */
+ public setWhitelisted(value: boolean): void;
+ /**
+ * Gets a {@link Player} object that this represents, if there is one
+ *
+ * If the player is online, this will return that player. Otherwise,
+ * it will return null.
+ */
+ public getPlayer(): org.bukkit.entity.Player;
+ /**
+ * Gets the first date and time that this player was witnessed on this
+ * server.
+ *
+ * If the player has never played before, this will return 0. Otherwise,
+ * it will be the amount of milliseconds since midnight, January 1, 1970
+ * UTC.
+ */
+ public getFirstPlayed(): number;
+ /**
+ * Gets the last date and time that this player was witnessed on this
+ * server.
+ *
+ * If the player has never played before, this will return 0. Otherwise,
+ * it will be the amount of milliseconds since midnight, January 1, 1970
+ * UTC.
+ */
+ public getLastPlayed(): number;
+ /**
+ * Checks if this player has played on this server before.
+ */
+ public hasPlayedBefore(): boolean;
+ /**
+ * Gets the Location where the player will spawn at their bed, null if
+ * they have not slept in one or their current bed spawn is invalid.
+ */
+ public getBedSpawnLocation(): org.bukkit.Location;
+ }
+ }
+}
diff --git a/packages/bukkit/src/typings/org.bukkit.Particle.DustOptions.ts b/packages/bukkit/src/typings/org.bukkit.Particle.DustOptions.ts
new file mode 100644
index 00000000..3b0bca8d
--- /dev/null
+++ b/packages/bukkit/src/typings/org.bukkit.Particle.DustOptions.ts
@@ -0,0 +1,17 @@
+declare namespace org {
+ namespace bukkit {
+ namespace Particle {
+ class DustOptions {
+ constructor(color: org.bukkit.Color, size: number)
+ /**
+ * The color of the particles to be displayed.
+ */
+ public getColor(): org.bukkit.Color;
+ /**
+ * Relative size of the particle.
+ */
+ public getSize(): number;
+ }
+ }
+ }
+}
diff --git a/packages/bukkit/src/typings/org.bukkit.Particle.ts b/packages/bukkit/src/typings/org.bukkit.Particle.ts
new file mode 100644
index 00000000..fea219d7
--- /dev/null
+++ b/packages/bukkit/src/typings/org.bukkit.Particle.ts
@@ -0,0 +1,76 @@
+declare namespace org {
+ namespace bukkit {
+ class Particle {
+ public static EXPLOSION_NORMAL: org.bukkit.Particle;
+ public static EXPLOSION_LARGE: org.bukkit.Particle;
+ public static EXPLOSION_HUGE: org.bukkit.Particle;
+ public static FIREWORKS_SPARK: org.bukkit.Particle;
+ public static WATER_BUBBLE: org.bukkit.Particle;
+ public static WATER_SPLASH: org.bukkit.Particle;
+ public static WATER_WAKE: org.bukkit.Particle;
+ public static SUSPENDED: org.bukkit.Particle;
+ public static SUSPENDED_DEPTH: org.bukkit.Particle;
+ public static CRIT: org.bukkit.Particle;
+ public static CRIT_MAGIC: org.bukkit.Particle;
+ public static SMOKE_NORMAL: org.bukkit.Particle;
+ public static SMOKE_LARGE: org.bukkit.Particle;
+ public static SPELL: org.bukkit.Particle;
+ public static SPELL_INSTANT: org.bukkit.Particle;
+ public static SPELL_MOB: org.bukkit.Particle;
+ public static SPELL_MOB_AMBIENT: org.bukkit.Particle;
+ public static SPELL_WITCH: org.bukkit.Particle;
+ public static DRIP_WATER: org.bukkit.Particle;
+ public static DRIP_LAVA: org.bukkit.Particle;
+ public static VILLAGER_ANGRY: org.bukkit.Particle;
+ public static VILLAGER_HAPPY: org.bukkit.Particle;
+ public static TOWN_AURA: org.bukkit.Particle;
+ public static NOTE: org.bukkit.Particle;
+ public static PORTAL: org.bukkit.Particle;
+ public static ENCHANTMENT_TABLE: org.bukkit.Particle;
+ public static FLAME: org.bukkit.Particle;
+ public static LAVA: org.bukkit.Particle;
+ public static CLOUD: org.bukkit.Particle;
+ public static REDSTONE: org.bukkit.Particle;
+ public static SNOWBALL: org.bukkit.Particle;
+ public static SNOW_SHOVEL: org.bukkit.Particle;
+ public static SLIME: org.bukkit.Particle;
+ public static HEART: org.bukkit.Particle;
+ public static BARRIER: org.bukkit.Particle;
+ public static ITEM_CRACK: org.bukkit.Particle;
+ public static BLOCK_CRACK: org.bukkit.Particle;
+ public static BLOCK_DUST: org.bukkit.Particle;
+ public static WATER_DROP: org.bukkit.Particle;
+ public static MOB_APPEARANCE: org.bukkit.Particle;
+ public static DRAGON_BREATH: org.bukkit.Particle;
+ public static END_ROD: org.bukkit.Particle;
+ public static DAMAGE_INDICATOR: org.bukkit.Particle;
+ public static SWEEP_ATTACK: org.bukkit.Particle;
+ public static FALLING_DUST: org.bukkit.Particle;
+ public static TOTEM: org.bukkit.Particle;
+ public static SPIT: org.bukkit.Particle;
+ public static SQUID_INK: org.bukkit.Particle;
+ public static BUBBLE_POP: org.bukkit.Particle;
+ public static CURRENT_DOWN: org.bukkit.Particle;
+ public static BUBBLE_COLUMN_UP: org.bukkit.Particle;
+ public static NAUTILUS: org.bukkit.Particle;
+ public static DOLPHIN: org.bukkit.Particle;
+ public static SNEEZE: org.bukkit.Particle;
+ public static CAMPFIRE_COSY_SMOKE: org.bukkit.Particle;
+ public static CAMPFIRE_SIGNAL_SMOKE: org.bukkit.Particle;
+ public static COMPOSTER: org.bukkit.Particle;
+ public static FLASH: org.bukkit.Particle;
+ public static FALLING_LAVA: org.bukkit.Particle;
+ public static LANDING_LAVA: org.bukkit.Particle;
+ public static FALLING_WATER: org.bukkit.Particle;
+ public static LEGACY_BLOCK_CRACK: org.bukkit.Particle;
+ public static LEGACY_BLOCK_DUST: org.bukkit.Particle;
+ public static LEGACY_FALLING_DUST: org.bukkit.Particle;
+ public static values(): org.bukkit.Particle[];
+ public static valueOf(name: string): org.bukkit.Particle;
+ /**
+ * Returns the required data type for the particle
+ */
+ public getDataType(): any;
+ }
+ }
+}
diff --git a/packages/bukkit/src/typings/org.bukkit.PortalType.ts b/packages/bukkit/src/typings/org.bukkit.PortalType.ts
new file mode 100644
index 00000000..4c4e3828
--- /dev/null
+++ b/packages/bukkit/src/typings/org.bukkit.PortalType.ts
@@ -0,0 +1,11 @@
+declare namespace org {
+ namespace bukkit {
+ class PortalType {
+ public static NETHER: org.bukkit.PortalType;
+ public static ENDER: org.bukkit.PortalType;
+ public static CUSTOM: org.bukkit.PortalType;
+ public static values(): org.bukkit.PortalType[];
+ public static valueOf(name: string): org.bukkit.PortalType;
+ }
+ }
+}
diff --git a/packages/bukkit/src/typings/org.bukkit.Registry.SimpleRegistry.ts b/packages/bukkit/src/typings/org.bukkit.Registry.SimpleRegistry.ts
new file mode 100644
index 00000000..f6f160c7
--- /dev/null
+++ b/packages/bukkit/src/typings/org.bukkit.Registry.SimpleRegistry.ts
@@ -0,0 +1,12 @@
+declare namespace org {
+ namespace bukkit {
+ namespace Registry {
+ class SimpleRegistry {
+ constructor(type: any)
+ constructor(type: any, predicate: any)
+ public get(key: org.bukkit.NamespacedKey): any;
+ public iterator(): any;
+ }
+ }
+ }
+}
diff --git a/packages/bukkit/src/typings/org.bukkit.Registry.ts b/packages/bukkit/src/typings/org.bukkit.Registry.ts
new file mode 100644
index 00000000..272a7628
--- /dev/null
+++ b/packages/bukkit/src/typings/org.bukkit.Registry.ts
@@ -0,0 +1,22 @@
+declare namespace org {
+ namespace bukkit {
+ class Registry {
+ public static ADVANCEMENT: org.bukkit.Registry;
+ public static ART: org.bukkit.Registry;
+ public static BIOME: org.bukkit.Registry;
+ public static BOSS_BARS: org.bukkit.Registry;
+ public static ENCHANTMENT: org.bukkit.Registry;
+ public static ENTITY_TYPE: org.bukkit.Registry;
+ public static LOOT_TABLES: org.bukkit.Registry;
+ public static MATERIAL: org.bukkit.Registry;
+ public static STATISTIC: org.bukkit.Registry;
+ public static VILLAGER_PROFESSION: org.bukkit.Registry;
+ public static VILLAGER_TYPE: org.bukkit.Registry;
+ public static MEMORY_MODULE_TYPE: org.bukkit.Registry;
+ /**
+ * Get the object by its key.
+ */
+ public get(key: org.bukkit.NamespacedKey): org.bukkit.Keyed;
+ }
+ }
+}
diff --git a/packages/bukkit/src/typings/org.bukkit.Rotation.ts b/packages/bukkit/src/typings/org.bukkit.Rotation.ts
new file mode 100644
index 00000000..7e898ea0
--- /dev/null
+++ b/packages/bukkit/src/typings/org.bukkit.Rotation.ts
@@ -0,0 +1,24 @@
+declare namespace org {
+ namespace bukkit {
+ class Rotation {
+ public static NONE: org.bukkit.Rotation;
+ public static CLOCKWISE_45: org.bukkit.Rotation;
+ public static CLOCKWISE: org.bukkit.Rotation;
+ public static CLOCKWISE_135: org.bukkit.Rotation;
+ public static FLIPPED: org.bukkit.Rotation;
+ public static FLIPPED_45: org.bukkit.Rotation;
+ public static COUNTER_CLOCKWISE: org.bukkit.Rotation;
+ public static COUNTER_CLOCKWISE_45: org.bukkit.Rotation;
+ public static values(): org.bukkit.Rotation[];
+ public static valueOf(name: string): org.bukkit.Rotation;
+ /**
+ * Rotate clockwise by 90 degrees.
+ */
+ public rotateClockwise(): org.bukkit.Rotation;
+ /**
+ * Rotate counter-clockwise by 90 degrees.
+ */
+ public rotateCounterClockwise(): org.bukkit.Rotation;
+ }
+ }
+}
diff --git a/packages/bukkit/src/typings/org.bukkit.SandstoneType.ts b/packages/bukkit/src/typings/org.bukkit.SandstoneType.ts
new file mode 100644
index 00000000..908b04b3
--- /dev/null
+++ b/packages/bukkit/src/typings/org.bukkit.SandstoneType.ts
@@ -0,0 +1,19 @@
+declare namespace org {
+ namespace bukkit {
+ class SandstoneType {
+ public static CRACKED: org.bukkit.SandstoneType;
+ public static GLYPHED: org.bukkit.SandstoneType;
+ public static SMOOTH: org.bukkit.SandstoneType;
+ public static values(): org.bukkit.SandstoneType[];
+ public static valueOf(name: string): org.bukkit.SandstoneType;
+ /**
+ * Gets the associated data value representing this type of sandstone
+ */
+ public getData(): number;
+ /**
+ * Gets the type of sandstone with the given data value
+ */
+ public static getByData(data: number): org.bukkit.SandstoneType;
+ }
+ }
+}
diff --git a/packages/bukkit/src/typings/org.bukkit.Server.ts b/packages/bukkit/src/typings/org.bukkit.Server.ts
new file mode 100644
index 00000000..f148029c
--- /dev/null
+++ b/packages/bukkit/src/typings/org.bukkit.Server.ts
@@ -0,0 +1,652 @@
+declare namespace org {
+ namespace bukkit {
+ class Server {
+ public static BROADCAST_CHANNEL_ADMINISTRATIVE: string;
+ public static BROADCAST_CHANNEL_USERS: string;
+ /**
+ * Gets the name of this server implementation.
+ */
+ public getName(): string;
+ /**
+ * Gets the version string of this server implementation.
+ */
+ public getVersion(): string;
+ /**
+ * Gets the Bukkit version that this server is running.
+ */
+ public getBukkitVersion(): string;
+ /**
+ * Gets a view of all currently logged in players. This {@linkplain
+ * Collections#unmodifiableCollection(Collection) view} is a reused
+ * object, making some operations like {@link Collection#size()}
+ * zero-allocation.
+ *
+ * The collection is a view backed by the internal representation, such
+ * that, changes to the internal state of the server will be reflected
+ * immediately. However, the reuse of the returned collection (identity)
+ * is not strictly guaranteed for future or all implementations. Casting
+ * the collection, or relying on interface implementations (like {@link
+ * Serializable} or {@link List}), is deprecated.
+ *
+ * Iteration behavior is undefined outside of self-contained main-thread
+ * uses. Normal and immediate iterator use without consequences that
+ * affect the collection are fully supported. The effects following
+ * (non-exhaustive) {@link Entity#teleport(Location) teleportation},
+ * {@link Player#setHealth(double) death}, and {@link Player#kickPlayer(
+ * String) kicking} are undefined. Any use of this collection from
+ * asynchronous threads is unsafe.
+ *
+ * For safe consequential iteration or mimicking the old array behavior,
+ * using {@link Collection#toArray(Object[])} is recommended. For making
+ * snapshots, {@link ImmutableList#copyOf(Collection)} is recommended.
+ */
+ public getOnlinePlayers(): any[] /*java.util.Collection*/;
+ /**
+ * Get the maximum amount of players which can login to this server.
+ */
+ public getMaxPlayers(): number;
+ /**
+ * Get the game port that the server runs on.
+ */
+ public getPort(): number;
+ /**
+ * Get the view distance from this server.
+ */
+ public getViewDistance(): number;
+ /**
+ * Get the IP that this server is bound to, or empty string if not
+ * specified.
+ */
+ public getIp(): string;
+ /**
+ * Get world type (level-type setting) for default world.
+ */
+ public getWorldType(): string;
+ /**
+ * Get generate-structures setting.
+ */
+ public getGenerateStructures(): boolean;
+ /**
+ * Gets whether this server allows the End or not.
+ */
+ public getAllowEnd(): boolean;
+ /**
+ * Gets whether this server allows the Nether or not.
+ */
+ public getAllowNether(): boolean;
+ /**
+ * Gets whether this server has a whitelist or not.
+ */
+ public hasWhitelist(): boolean;
+ /**
+ * Sets if the server is whitelisted.
+ */
+ public setWhitelist(value: boolean): void;
+ /**
+ * Gets a list of whitelisted players.
+ */
+ public getWhitelistedPlayers(): any[] /*java.util.Set*/;
+ /**
+ * Reloads the whitelist from disk.
+ */
+ public reloadWhitelist(): void;
+ /**
+ * Broadcast a message to all players.
+ *
+ * This is the same as calling {@link #broadcast(java.lang.String,
+ * java.lang.String)} to {@link #BROADCAST_CHANNEL_USERS}
+ */
+ public broadcastMessage(message: string): number;
+ /**
+ * Gets the name of the update folder. The update folder is used to safely
+ * update plugins at the right moment on a plugin load.
+ *
+ * The update folder name is relative to the plugins folder.
+ */
+ public getUpdateFolder(): string;
+ /**
+ * Gets the update folder. The update folder is used to safely update
+ * plugins at the right moment on a plugin load.
+ */
+ public getUpdateFolderFile(): any;
+ /**
+ * Gets the value of the connection throttle setting.
+ */
+ public getConnectionThrottle(): number;
+ /**
+ * Gets default ticks per animal spawns value.
+ *
+ * Example Usage:
+ *
+ * Note: If set to 0, animal spawning will be disabled. We
+ * recommend using spawn-animals to control this instead.
+ *
+ * Minecraft default: 400.
+ */
+ public getTicksPerAnimalSpawns(): number;
+ /**
+ * Gets the default ticks per monster spawns value.
+ *
+ * Example Usage:
+ *
+ * Note: If set to 0, monsters spawning will be disabled. We
+ * recommend using spawn-monsters to control this instead.
+ *
+ * Minecraft default: 1.
+ */
+ public getTicksPerMonsterSpawns(): number;
+ /**
+ * Gets a player object by the given username.
+ *
+ * This method may not return objects for offline players.
+ */
+ public getPlayer(name: string): org.bukkit.entity.Player;
+ /**
+ * Gets the player with the exact given name, case insensitive.
+ */
+ public getPlayerExact(name: string): org.bukkit.entity.Player;
+ /**
+ * Attempts to match any players with the given name, and returns a list
+ * of all possibly matches.
+ *
+ * This list is not sorted in any particular order. If an exact match is
+ * found, the returned list will only contain a single result.
+ */
+ public matchPlayer(name: string): any[] /*java.util.List*/;
+ /**
+ * Gets the player with the given UUID.
+ */
+ public getPlayer(id: any): org.bukkit.entity.Player;
+ /**
+ * Gets the plugin manager for interfacing with plugins.
+ */
+ public getPluginManager(): org.bukkit.plugin.PluginManager;
+ /**
+ * Gets the scheduler for managing scheduled events.
+ */
+ public getScheduler(): org.bukkit.scheduler.BukkitScheduler;
+ /**
+ * Gets a services manager.
+ */
+ public getServicesManager(): org.bukkit.plugin.ServicesManager;
+ /**
+ * Gets a list of all worlds on this server.
+ */
+ public getWorlds(): any[] /*java.util.List*/;
+ /**
+ * Creates or loads a world with the given name using the specified
+ * options.
+ *
+ * If the world is already loaded, it will just return the equivalent of
+ * getWorld(creator.name()).
+ */
+ public createWorld(creator: org.bukkit.WorldCreator): org.bukkit.World;
+ /**
+ * Unloads a world with the given name.
+ */
+ public unloadWorld(name: string, save: boolean): boolean;
+ /**
+ * Unloads the given world.
+ */
+ public unloadWorld(world: org.bukkit.World, save: boolean): boolean;
+ /**
+ * Gets the world with the given name.
+ */
+ public getWorld(name: string): org.bukkit.World;
+ /**
+ * Gets the world from the given Unique ID.
+ */
+ public getWorld(uid: any): org.bukkit.World;
+ /**
+ * Gets the map from the given item ID.
+ */
+ public getMap(id: number): org.bukkit.map.MapView;
+ /**
+ * Create a new map with an automatically assigned ID.
+ */
+ public createMap(world: org.bukkit.World): org.bukkit.map.MapView;
+ /**
+ * Create a new explorer map targeting the closest nearby structure of a
+ * given {@link StructureType}.
+ *
+ * This method may involve a blocking web request to get the UUID for the
+ * given name.
+ *
+ * This will return an object even if the player does not exist. To this
+ * method, all players will exist.
+ */
+ public getOfflinePlayer(name: string): org.bukkit.OfflinePlayer;
+ /**
+ * Gets the player by the given UUID, regardless if they are offline or
+ * online.
+ *
+ * This will return an object even if the player does not exist. To this
+ * method, all players will exist.
+ */
+ public getOfflinePlayer(id: any): org.bukkit.OfflinePlayer;
+ /**
+ * Gets a set containing all current IPs that are banned.
+ */
+ public getIPBans(): any[] /*java.util.Set*/;
+ /**
+ * Bans the specified address from the server.
+ */
+ public banIP(address: string): void;
+ /**
+ * Unbans the specified address from the server.
+ */
+ public unbanIP(address: string): void;
+ /**
+ * Gets a set containing all banned players.
+ */
+ public getBannedPlayers(): any[] /*java.util.Set*/;
+ /**
+ * Gets a ban list for the supplied type.
+ *
+ * Bans by name are no longer supported and this method will return
+ * null when trying to request them. The replacement is bans by UUID.
+ */
+ public getBanList(type: org.bukkit.BanList.Type): org.bukkit.BanList;
+ /**
+ * Gets a set containing all player operators.
+ */
+ public getOperators(): any[] /*java.util.Set*/;
+ /**
+ * Gets the default {@link GameMode} for new players.
+ */
+ public getDefaultGameMode(): org.bukkit.GameMode;
+ /**
+ * Sets the default {@link GameMode} for new players.
+ */
+ public setDefaultGameMode(mode: org.bukkit.GameMode): void;
+ /**
+ * Gets a {@link ConsoleCommandSender} that may be used as an input source
+ * for this server.
+ */
+ public getConsoleSender(): org.bukkit.command.ConsoleCommandSender;
+ /**
+ * Gets the folder that contains all of the various {@link World}s.
+ */
+ public getWorldContainer(): any;
+ /**
+ * Gets every player that has ever played on this server.
+ */
+ public getOfflinePlayers(): org.bukkit.OfflinePlayer[];
+ /**
+ * Gets the {@link Messenger} responsible for this server.
+ */
+ public getMessenger(): org.bukkit.plugin.messaging.Messenger;
+ /**
+ * Gets the {@link HelpMap} providing help topics for this server.
+ */
+ public getHelpMap(): org.bukkit.help.HelpMap;
+ /**
+ * Creates an empty inventory with the specified type. If the type
+ * is {@link InventoryType#CHEST}, the new inventory has a size of 27;
+ * otherwise the new inventory has the normal size for its type.
+ *
+ * Note: this method should not be used to indicate the current
+ * synchronized state of the runtime. A current thread matching the main
+ * thread indicates that it is synchronized, but a mismatch does not
+ * preclude the same assumption.
+ */
+ public isPrimaryThread(): boolean;
+ /**
+ * Gets the message that is displayed on the server list.
+ */
+ public getMotd(): string;
+ /**
+ * Gets the default message that is displayed when the server is stopped.
+ */
+ public getShutdownMessage(): string;
+ /**
+ * Gets the current warning state for the server.
+ */
+ public getWarningState(): org.bukkit.Warning.WarningState;
+ /**
+ * Gets the instance of the item factory (for {@link ItemMeta}).
+ */
+ public getItemFactory(): org.bukkit.inventory.ItemFactory;
+ /**
+ * Gets the instance of the scoreboard manager.
+ *
+ * This will only exist after the first world has loaded.
+ */
+ public getScoreboardManager(): org.bukkit.scoreboard.ScoreboardManager;
+ /**
+ * Gets an instance of the server's default server-icon.
+ */
+ public getServerIcon(): org.bukkit.util.CachedServerIcon;
+ /**
+ * Loads an image from a file, and returns a cached image for the specific
+ * server-icon.
+ *
+ * Size and type are implementation defined. An incompatible file is
+ * guaranteed to throw an implementation-defined {@link Exception}.
+ */
+ public loadServerIcon(file: any): org.bukkit.util.CachedServerIcon;
+ /**
+ * Creates a cached server-icon for the specific image.
+ *
+ * Size and type are implementation defined. An incompatible file is
+ * guaranteed to throw an implementation-defined {@link Exception}.
+ */
+ public loadServerIcon(image: any): org.bukkit.util.CachedServerIcon;
+ /**
+ * Set the idle kick timeout. Any players idle for the specified amount of
+ * time will be automatically kicked.
+ *
+ * A value of 0 will disable the idle kick timeout.
+ */
+ public setIdleTimeout(threshold: number): void;
+ /**
+ * Gets the idle kick timeout.
+ */
+ public getIdleTimeout(): number;
+ /**
+ * Create a ChunkData for use in a generator.
+ * See {@link ChunkGenerator#generateChunkData(org.bukkit.World, java.util.Random, int, int, org.bukkit.generator.ChunkGenerator.BiomeGrid)}
+ */
+ public createChunkData(world: org.bukkit.World): org.bukkit.generator.ChunkGenerator.ChunkData;
+ /**
+ * Creates a boss bar instance to display to players. The progress
+ * defaults to 1.0
+ */
+ public createBossBar(title: string, color: org.bukkit.boss.BarColor, style: org.bukkit.boss.BarStyle, flags: org.bukkit.boss.BarFlag): org.bukkit.boss.BossBar;
+ /**
+ * Creates a boss bar instance to display to players. The progress defaults
+ * to 1.0.
+ *
+ * A substatistic exists en masse for each block, item, or entitytype, depending on
+ * {@link #getType()}.
+ *
+ * This is a redundant method and equivalent to checking
+ *
+ * This is a redundant method and equivalent to checking
+ *
+ * This method will keep the specified chunk loaded until one of the
+ * unload methods is manually called. Callers are advised to instead use
+ * getChunkAt which will only temporarily load the requested chunk.
+ */
+ public loadChunk(chunk: org.bukkit.Chunk): void;
+ /**
+ * Checks if the {@link Chunk} at the specified coordinates is loaded
+ */
+ public isChunkLoaded(x: number, z: number): boolean;
+ /**
+ * Checks if the {@link Chunk} at the specified coordinates is generated
+ */
+ public isChunkGenerated(x: number, z: number): boolean;
+ /**
+ * Checks if the {@link Chunk} at the specified coordinates is loaded and
+ * in use by one or more players
+ */
+ public isChunkInUse(x: number, z: number): boolean;
+ /**
+ * Loads the {@link Chunk} at the specified coordinates.
+ *
+ * This method will keep the specified chunk loaded until one of the
+ * unload methods is manually called. Callers are advised to instead use
+ * getChunkAt which will only temporarily load the requested chunk.
+ *
+ * If the chunk does not exist, it will be generated.
+ *
+ * This method is analogous to {@link #loadChunk(int, int, boolean)} where
+ * generate is true.
+ */
+ public loadChunk(x: number, z: number): void;
+ /**
+ * Loads the {@link Chunk} at the specified coordinates.
+ *
+ * This method will keep the specified chunk loaded until one of the
+ * unload methods is manually called. Callers are advised to instead use
+ * getChunkAt which will only temporarily load the requested chunk.
+ */
+ public loadChunk(x: number, z: number, generate: boolean): boolean;
+ /**
+ * Safely unloads and saves the {@link Chunk} at the specified coordinates
+ *
+ * This method is analogous to {@link #unloadChunk(int, int, boolean)}
+ * where save is true.
+ */
+ public unloadChunk(chunk: org.bukkit.Chunk): boolean;
+ /**
+ * Safely unloads and saves the {@link Chunk} at the specified coordinates
+ *
+ * This method is analogous to {@link #unloadChunk(int, int, boolean)}
+ * where save is true.
+ */
+ public unloadChunk(x: number, z: number): boolean;
+ /**
+ * Safely unloads and optionally saves the {@link Chunk} at the specified
+ * coordinates.
+ */
+ public unloadChunk(x: number, z: number, save: boolean): boolean;
+ /**
+ * Safely queues the {@link Chunk} at the specified coordinates for
+ * unloading.
+ */
+ public unloadChunkRequest(x: number, z: number): boolean;
+ /**
+ * Regenerates the {@link Chunk} at the specified coordinates
+ */
+ public regenerateChunk(x: number, z: number): boolean;
+ /**
+ * Resends the {@link Chunk} to all clients
+ */
+ public refreshChunk(x: number, z: number): boolean;
+ /**
+ * Gets whether the chunk at the specified chunk coordinates is force
+ * loaded.
+ *
+ * A force loaded chunk will not be unloaded due to lack of player activity.
+ */
+ public isChunkForceLoaded(x: number, z: number): boolean;
+ /**
+ * Sets whether the chunk at the specified chunk coordinates is force
+ * loaded.
+ *
+ * A force loaded chunk will not be unloaded due to lack of player activity.
+ */
+ public setChunkForceLoaded(x: number, z: number, forced: boolean): void;
+ /**
+ * Returns all force loaded chunks in this world.
+ *
+ * A force loaded chunk will not be unloaded due to lack of player activity.
+ */
+ public getForceLoadedChunks(): any[] /*java.util.Collection*/;
+ /**
+ * Adds a plugin ticket for the specified chunk, loading the chunk if it is
+ * not already loaded.
+ *
+ * A plugin ticket will prevent a chunk from unloading until it is
+ * explicitly removed. A plugin instance may only have one ticket per chunk,
+ * but each chunk can have multiple plugin tickets.
+ *
+ * A plugin ticket will prevent a chunk from unloading until it is
+ * explicitly removed. A plugin instance may only have one ticket per chunk,
+ * but each chunk can have multiple plugin tickets.
+ *
+ * A plugin ticket will prevent a chunk from unloading until it is
+ * explicitly removed. A plugin instance may only have one ticket per chunk,
+ * but each chunk can have multiple plugin tickets.
+ *
+ * A plugin ticket will prevent a chunk from unloading until it is
+ * explicitly removed. A plugin instance may only have one ticket per chunk,
+ * but each chunk can have multiple plugin tickets.
+ *
+ * A plugin ticket will prevent a chunk from unloading until it is
+ * explicitly removed. A plugin instance may only have one ticket per chunk,
+ * but each chunk can have multiple plugin tickets.
+ *
+ * This may not consider entities in currently unloaded chunks. Some
+ * implementations may impose artificial restrictions on the size of the
+ * search bounding box.
+ */
+ public getNearbyEntities(location: org.bukkit.Location, x: number, y: number, z: number): any[] /*java.util.Collection*/;
+ /**
+ * Returns a list of entities within a bounding box centered around a
+ * Location.
+ *
+ * This may not consider entities in currently unloaded chunks. Some
+ * implementations may impose artificial restrictions on the size of the
+ * search bounding box.
+ */
+ public getNearbyEntities(location: org.bukkit.Location, x: number, y: number, z: number, filter: any): any[] /*java.util.Collection*/;
+ /**
+ * Returns a list of entities within the given bounding box.
+ *
+ * This may not consider entities in currently unloaded chunks. Some
+ * implementations may impose artificial restrictions on the size of the
+ * search bounding box.
+ */
+ public getNearbyEntities(boundingBox: org.bukkit.util.BoundingBox): any[] /*java.util.Collection*/;
+ /**
+ * Returns a list of entities within the given bounding box.
+ *
+ * This may not consider entities in currently unloaded chunks. Some
+ * implementations may impose artificial restrictions on the size of the
+ * search bounding box.
+ */
+ public getNearbyEntities(boundingBox: org.bukkit.util.BoundingBox, filter: any): any[] /*java.util.Collection*/;
+ /**
+ * Performs a ray trace that checks for entity collisions.
+ *
+ * This may not consider entities in currently unloaded chunks. Some
+ * implementations may impose artificial restrictions on the maximum
+ * distance.
+ */
+ public rayTraceEntities(start: org.bukkit.Location, direction: org.bukkit.util.Vector, maxDistance: number): org.bukkit.util.RayTraceResult;
+ /**
+ * Performs a ray trace that checks for entity collisions.
+ *
+ * This may not consider entities in currently unloaded chunks. Some
+ * implementations may impose artificial restrictions on the maximum
+ * distance.
+ */
+ public rayTraceEntities(start: org.bukkit.Location, direction: org.bukkit.util.Vector, maxDistance: number, raySize: number): org.bukkit.util.RayTraceResult;
+ /**
+ * Performs a ray trace that checks for entity collisions.
+ *
+ * This may not consider entities in currently unloaded chunks. Some
+ * implementations may impose artificial restrictions on the maximum
+ * distance.
+ */
+ public rayTraceEntities(start: org.bukkit.Location, direction: org.bukkit.util.Vector, maxDistance: number, filter: any): org.bukkit.util.RayTraceResult;
+ /**
+ * Performs a ray trace that checks for entity collisions.
+ *
+ * This may not consider entities in currently unloaded chunks. Some
+ * implementations may impose artificial restrictions on the maximum
+ * distance.
+ */
+ public rayTraceEntities(start: org.bukkit.Location, direction: org.bukkit.util.Vector, maxDistance: number, raySize: number, filter: any): org.bukkit.util.RayTraceResult;
+ /**
+ * Performs a ray trace that checks for block collisions using the blocks'
+ * precise collision shapes.
+ *
+ * This takes collisions with passable blocks into account, but ignores
+ * fluids.
+ *
+ * This may cause loading of chunks! Some implementations may impose
+ * artificial restrictions on the maximum distance.
+ */
+ public rayTraceBlocks(start: org.bukkit.Location, direction: org.bukkit.util.Vector, maxDistance: number): org.bukkit.util.RayTraceResult;
+ /**
+ * Performs a ray trace that checks for block collisions using the blocks'
+ * precise collision shapes.
+ *
+ * This takes collisions with passable blocks into account.
+ *
+ * This may cause loading of chunks! Some implementations may impose
+ * artificial restrictions on the maximum distance.
+ */
+ public rayTraceBlocks(start: org.bukkit.Location, direction: org.bukkit.util.Vector, maxDistance: number, fluidCollisionMode: org.bukkit.FluidCollisionMode): org.bukkit.util.RayTraceResult;
+ /**
+ * Performs a ray trace that checks for block collisions using the blocks'
+ * precise collision shapes.
+ *
+ * If collisions with passable blocks are ignored, fluid collisions are
+ * ignored as well regardless of the fluid collision mode.
+ *
+ * Portal blocks are only considered passable if the ray starts within
+ * them. Apart from that collisions with portal blocks will be considered
+ * even if collisions with passable blocks are otherwise ignored.
+ *
+ * This may cause loading of chunks! Some implementations may impose
+ * artificial restrictions on the maximum distance.
+ */
+ public rayTraceBlocks(start: org.bukkit.Location, direction: org.bukkit.util.Vector, maxDistance: number, fluidCollisionMode: org.bukkit.FluidCollisionMode, ignorePassableBlocks: boolean): org.bukkit.util.RayTraceResult;
+ /**
+ * Performs a ray trace that checks for both block and entity collisions.
+ *
+ * Block collisions use the blocks' precise collision shapes. The
+ *
+ * If collisions with passable blocks are ignored, fluid collisions are
+ * ignored as well regardless of the fluid collision mode.
+ *
+ * Portal blocks are only considered passable if the ray starts within them.
+ * Apart from that collisions with portal blocks will be considered even if
+ * collisions with passable blocks are otherwise ignored.
+ *
+ * This may cause loading of chunks! Some implementations may impose
+ * artificial restrictions on the maximum distance.
+ */
+ public rayTrace(start: org.bukkit.Location, direction: org.bukkit.util.Vector, maxDistance: number, fluidCollisionMode: org.bukkit.FluidCollisionMode, ignorePassableBlocks: boolean, raySize: number, filter: any): org.bukkit.util.RayTraceResult;
+ /**
+ * Gets the unique name of this world
+ */
+ public getName(): string;
+ /**
+ * Gets the Unique ID of this world
+ */
+ public getUID(): any;
+ /**
+ * Gets the default spawn {@link Location} of this world
+ */
+ public getSpawnLocation(): org.bukkit.Location;
+ /**
+ * Sets the spawn location of the world.
+ *
+ * The relative time is analogous to hours * 1000
+ */
+ public getTime(): number;
+ /**
+ * Sets the relative in-game time on the server.
+ *
+ * The relative time is analogous to hours * 1000
+ *
+ * Note that setting the relative time below the current relative time
+ * will actually move the clock forward a day. If you require to rewind
+ * time, please see {@link #setFullTime(long)}
+ */
+ public setTime(time: number): void;
+ /**
+ * Gets the full in-game time on this world
+ */
+ public getFullTime(): number;
+ /**
+ * Sets the in-game time on the server
+ *
+ * Note that this sets the full time of the world, which may cause adverse
+ * effects such as breaking redstone clocks and any scheduled events
+ */
+ public setFullTime(time: number): void;
+ /**
+ * Returns whether the world has an ongoing storm.
+ */
+ public hasStorm(): boolean;
+ /**
+ * Set whether there is a storm. A duration will be set for the new
+ * current conditions.
+ */
+ public setStorm(hasStorm: boolean): void;
+ /**
+ * Get the remaining time in ticks of the current conditions.
+ */
+ public getWeatherDuration(): number;
+ /**
+ * Set the remaining time in ticks of the current conditions.
+ */
+ public setWeatherDuration(duration: number): void;
+ /**
+ * Returns whether there is thunder.
+ */
+ public isThundering(): boolean;
+ /**
+ * Set whether it is thundering.
+ */
+ public setThundering(thundering: boolean): void;
+ /**
+ * Get the thundering duration.
+ */
+ public getThunderDuration(): number;
+ /**
+ * Set the thundering duration.
+ */
+ public setThunderDuration(duration: number): void;
+ /**
+ * Creates explosion at given coordinates with given power
+ */
+ public createExplosion(x: number, y: number, z: number, power: number): boolean;
+ /**
+ * Creates explosion at given coordinates with given power and optionally
+ * setting blocks on fire.
+ */
+ public createExplosion(x: number, y: number, z: number, power: number, setFire: boolean): boolean;
+ /**
+ * Creates explosion at given coordinates with given power and optionally
+ * setting blocks on fire or breaking blocks.
+ */
+ public createExplosion(x: number, y: number, z: number, power: number, setFire: boolean, breakBlocks: boolean): boolean;
+ /**
+ * Creates explosion at given coordinates with given power
+ */
+ public createExplosion(loc: org.bukkit.Location, power: number): boolean;
+ /**
+ * Creates explosion at given coordinates with given power and optionally
+ * setting blocks on fire.
+ */
+ public createExplosion(loc: org.bukkit.Location, power: number, setFire: boolean): boolean;
+ /**
+ * Gets the {@link Environment} type of this world
+ */
+ public getEnvironment(): org.bukkit.World.Environment;
+ /**
+ * Gets the Seed for this world.
+ */
+ public getSeed(): number;
+ /**
+ * Gets the current PVP setting for this world.
+ */
+ public getPVP(): boolean;
+ /**
+ * Sets the PVP setting for this world.
+ */
+ public setPVP(pvp: boolean): void;
+ /**
+ * Gets the chunk generator for this world
+ */
+ public getGenerator(): org.bukkit.generator.ChunkGenerator;
+ /**
+ * Saves world to disk
+ */
+ public save(): void;
+ /**
+ * Gets a list of all applied {@link BlockPopulator}s for this World
+ */
+ public getPopulators(): any[] /*java.util.List*/;
+ /**
+ * Spawn an entity of a specific class at the given {@link Location}
+ */
+ public spawn(location: org.bukkit.Location, clazz: any): org.bukkit.entity.Entity;
+ /**
+ * Spawn an entity of a specific class at the given {@link Location}, with
+ * the supplied function run before the entity is added to the world.
+ *
+ * The Material must be a block type, check with {@link Material#isBlock()
+ * material.isBlock()}. The Material may not be air.
+ */
+ public spawnFallingBlock(location: org.bukkit.Location, data: org.bukkit.material.MaterialData): org.bukkit.entity.FallingBlock;
+ /**
+ * Spawn a {@link FallingBlock} entity at the given {@link Location} of
+ * the specified {@link Material}. The material dictates what is falling.
+ * When the FallingBlock hits the ground, it will place that block.
+ *
+ * The Material must be a block type, check with {@link Material#isBlock()
+ * material.isBlock()}. The Material may not be air.
+ */
+ public spawnFallingBlock(location: org.bukkit.Location, data: org.bukkit.block.data.BlockData): org.bukkit.entity.FallingBlock;
+ /**
+ * Spawn a {@link FallingBlock} entity at the given {@link Location} of the
+ * specified {@link Material}. The material dictates what is falling.
+ * When the FallingBlock hits the ground, it will place that block.
+ *
+ * The Material must be a block type, check with {@link Material#isBlock()
+ * material.isBlock()}. The Material may not be air.
+ */
+ public spawnFallingBlock(location: org.bukkit.Location, material: org.bukkit.Material, data: number): org.bukkit.entity.FallingBlock;
+ /**
+ * Plays an effect to all players within a default radius around a given
+ * location.
+ */
+ public playEffect(location: org.bukkit.Location, effect: org.bukkit.Effect, data: number): void;
+ /**
+ * Plays an effect to all players within a given radius around a location.
+ */
+ public playEffect(location: org.bukkit.Location, effect: org.bukkit.Effect, data: number, radius: number): void;
+ /**
+ * Plays an effect to all players within a default radius around a given
+ * location.
+ */
+ public playEffect(location: org.bukkit.Location, effect: org.bukkit.Effect, data: any): void;
+ /**
+ * Plays an effect to all players within a given radius around a location.
+ */
+ public playEffect(location: org.bukkit.Location, effect: org.bukkit.Effect, data: any, radius: number): void;
+ /**
+ * Get empty chunk snapshot (equivalent to all air blocks), optionally
+ * including valid biome data. Used for representing an ungenerated chunk,
+ * or for fetching only biome data without loading a chunk.
+ */
+ public getEmptyChunkSnapshot(x: number, z: number, includeBiome: boolean, includeBiomeTemp: boolean): org.bukkit.ChunkSnapshot;
+ /**
+ * Sets the spawn flags for this.
+ */
+ public setSpawnFlags(allowMonsters: boolean, allowAnimals: boolean): void;
+ /**
+ * Gets whether animals can spawn in this world.
+ */
+ public getAllowAnimals(): boolean;
+ /**
+ * Gets whether monsters can spawn in this world.
+ */
+ public getAllowMonsters(): boolean;
+ /**
+ * Gets the biome for the given block coordinates.
+ */
+ public getBiome(x: number, z: number): org.bukkit.block.Biome;
+ /**
+ * Sets the biome for the given block coordinates
+ */
+ public setBiome(x: number, z: number, bio: org.bukkit.block.Biome): void;
+ /**
+ * Gets the temperature for the given block coordinates.
+ *
+ * It is safe to run this method when the block does not exist, it will
+ * not create the block.
+ *
+ * This method will return the raw temperature without adjusting for block
+ * height effects.
+ */
+ public getTemperature(x: number, z: number): number;
+ /**
+ * Gets the humidity for the given block coordinates.
+ *
+ * It is safe to run this method when the block does not exist, it will
+ * not create the block.
+ */
+ public getHumidity(x: number, z: number): number;
+ /**
+ * Gets the maximum height of this world.
+ *
+ * If the max height is 100, there are only blocks from y=0 to y=99.
+ */
+ public getMaxHeight(): number;
+ /**
+ * Gets the sea level for this world.
+ *
+ * This is often half of {@link #getMaxHeight()}
+ */
+ public getSeaLevel(): number;
+ /**
+ * Gets whether the world's spawn area should be kept loaded into memory
+ * or not.
+ */
+ public getKeepSpawnInMemory(): boolean;
+ /**
+ * Sets whether the world's spawn area should be kept loaded into memory
+ * or not.
+ */
+ public setKeepSpawnInMemory(keepLoaded: boolean): void;
+ /**
+ * Gets whether or not the world will automatically save
+ */
+ public isAutoSave(): boolean;
+ /**
+ * Sets whether or not the world will automatically save
+ */
+ public setAutoSave(value: boolean): void;
+ /**
+ * Sets the Difficulty of the world.
+ */
+ public setDifficulty(difficulty: org.bukkit.Difficulty): void;
+ /**
+ * Gets the Difficulty of the world.
+ */
+ public getDifficulty(): org.bukkit.Difficulty;
+ /**
+ * Gets the folder of this world on disk.
+ */
+ public getWorldFolder(): any;
+ /**
+ * Gets the type of this world.
+ */
+ public getWorldType(): org.bukkit.WorldType;
+ /**
+ * Gets whether or not structures are being generated.
+ */
+ public canGenerateStructures(): boolean;
+ /**
+ * Gets the world's ticks per animal spawns value
+ *
+ * This value determines how many ticks there are between attempts to
+ * spawn animals.
+ *
+ * Example Usage:
+ *
+ * Note:
+ * If set to 0, animal spawning will be disabled for this world. We
+ * recommend using {@link #setSpawnFlags(boolean, boolean)} to control
+ * this instead.
+ *
+ * Minecraft default: 400.
+ */
+ public getTicksPerAnimalSpawns(): number;
+ /**
+ * Sets the world's ticks per animal spawns value
+ *
+ * This value determines how many ticks there are between attempts to
+ * spawn animals.
+ *
+ * Example Usage:
+ *
+ * Note:
+ * If set to 0, animal spawning will be disabled for this world. We
+ * recommend using {@link #setSpawnFlags(boolean, boolean)} to control
+ * this instead.
+ *
+ * Minecraft default: 400.
+ */
+ public setTicksPerAnimalSpawns(ticksPerAnimalSpawns: number): void;
+ /**
+ * Gets the world's ticks per monster spawns value
+ *
+ * This value determines how many ticks there are between attempts to
+ * spawn monsters.
+ *
+ * Example Usage:
+ *
+ * Note:
+ * If set to 0, monsters spawning will be disabled for this world. We
+ * recommend using {@link #setSpawnFlags(boolean, boolean)} to control
+ * this instead.
+ *
+ * Minecraft default: 1.
+ */
+ public getTicksPerMonsterSpawns(): number;
+ /**
+ * Sets the world's ticks per monster spawns value
+ *
+ * This value determines how many ticks there are between attempts to
+ * spawn monsters.
+ *
+ * Example Usage:
+ *
+ * Note:
+ * If set to 0, monsters spawning will be disabled for this world. We
+ * recommend using {@link #setSpawnFlags(boolean, boolean)} to control
+ * this instead.
+ *
+ * Minecraft default: 1.
+ */
+ public setTicksPerMonsterSpawns(ticksPerMonsterSpawns: number): void;
+ /**
+ * Gets limit for number of monsters that can spawn in a chunk in this
+ * world
+ */
+ public getMonsterSpawnLimit(): number;
+ /**
+ * Sets the limit for number of monsters that can spawn in a chunk in this
+ * world
+ *
+ * Note: If set to a negative number the world will use the
+ * server-wide spawn limit instead.
+ */
+ public setMonsterSpawnLimit(limit: number): void;
+ /**
+ * Gets the limit for number of animals that can spawn in a chunk in this
+ * world
+ */
+ public getAnimalSpawnLimit(): number;
+ /**
+ * Sets the limit for number of animals that can spawn in a chunk in this
+ * world
+ *
+ * Note: If set to a negative number the world will use the
+ * server-wide spawn limit instead.
+ */
+ public setAnimalSpawnLimit(limit: number): void;
+ /**
+ * Gets the limit for number of water animals that can spawn in a chunk in
+ * this world
+ */
+ public getWaterAnimalSpawnLimit(): number;
+ /**
+ * Sets the limit for number of water animals that can spawn in a chunk in
+ * this world
+ *
+ * Note: If set to a negative number the world will use the
+ * server-wide spawn limit instead.
+ */
+ public setWaterAnimalSpawnLimit(limit: number): void;
+ /**
+ * Gets the limit for number of ambient mobs that can spawn in a chunk in
+ * this world
+ */
+ public getAmbientSpawnLimit(): number;
+ /**
+ * Sets the limit for number of ambient mobs that can spawn in a chunk in
+ * this world
+ *
+ * Note: If set to a negative number the world will use the
+ * server-wide spawn limit instead.
+ */
+ public setAmbientSpawnLimit(limit: number): void;
+ /**
+ * Play a Sound at the provided Location in the World
+ *
+ * This function will fail silently if Location or Sound are null.
+ */
+ public playSound(location: org.bukkit.Location, sound: org.bukkit.Sound, volume: number, pitch: number): void;
+ /**
+ * Play a Sound at the provided Location in the World.
+ *
+ * This function will fail silently if Location or Sound are null. No
+ * sound will be heard by the players if their clients do not have the
+ * respective sound for the value passed.
+ */
+ public playSound(location: org.bukkit.Location, sound: string, volume: number, pitch: number): void;
+ /**
+ * Play a Sound at the provided Location in the World.
+ *
+ * This function will fail silently if Location or Sound are null.
+ */
+ public playSound(location: org.bukkit.Location, sound: org.bukkit.Sound, category: org.bukkit.SoundCategory, volume: number, pitch: number): void;
+ /**
+ * Play a Sound at the provided Location in the World.
+ *
+ * This function will fail silently if Location or Sound are null. No sound
+ * will be heard by the players if their clients do not have the respective
+ * sound for the value passed.
+ */
+ public playSound(location: org.bukkit.Location, sound: string, category: org.bukkit.SoundCategory, volume: number, pitch: number): void;
+ /**
+ * Get an array containing the names of all the {@link GameRule}s.
+ */
+ public getGameRules(): any;
+ /**
+ * Gets the current state of the specified rule
+ *
+ * Will return null if rule passed is null
+ */
+ public getGameRuleValue(rule: string): string;
+ /**
+ * Set the specified gamerule to specified value.
+ *
+ * The rule may attempt to validate the value passed, will return true if
+ * value was set.
+ *
+ * If rule is null, the function will return false.
+ */
+ public setGameRuleValue(rule: string, value: string): boolean;
+ /**
+ * Checks if string is a valid game rule
+ */
+ public isGameRule(rule: string): boolean;
+ /**
+ * Get the current value for a given {@link GameRule}.
+ */
+ public getGameRuleValue(rule: org.bukkit.GameRule): any;
+ /**
+ * Get the default value for a given {@link GameRule}. This value is not
+ * guaranteed to match the current value.
+ */
+ public getGameRuleDefault(rule: org.bukkit.GameRule): any;
+ /**
+ * Set the given {@link GameRule}'s new value.
+ */
+ public setGameRule(rule: org.bukkit.GameRule, newValue: any): boolean;
+ /**
+ * Gets the world border for this world.
+ */
+ public getWorldBorder(): org.bukkit.WorldBorder;
+ /**
+ * Spawns the particle (the number of times specified by count)
+ * at the target location.
+ */
+ public spawnParticle(particle: org.bukkit.Particle, location: org.bukkit.Location, count: number): void;
+ /**
+ * Spawns the particle (the number of times specified by count)
+ * at the target location.
+ */
+ public spawnParticle(particle: org.bukkit.Particle, x: number, y: number, z: number, count: number): void;
+ /**
+ * Spawns the particle (the number of times specified by count)
+ * at the target location.
+ */
+ public spawnParticle(particle: org.bukkit.Particle, location: org.bukkit.Location, count: number, data: any): void;
+ /**
+ * Spawns the particle (the number of times specified by count)
+ * at the target location.
+ */
+ public spawnParticle(particle: org.bukkit.Particle, x: number, y: number, z: number, count: number, data: any): void;
+ /**
+ * 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.
+ */
+ public spawnParticle(particle: org.bukkit.Particle, location: org.bukkit.Location, count: number, offsetX: number, offsetY: number, offsetZ: number): void;
+ /**
+ * 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.
+ */
+ public spawnParticle(particle: org.bukkit.Particle, x: number, y: number, z: number, count: number, offsetX: number, offsetY: number, offsetZ: number): void;
+ /**
+ * 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.
+ */
+ public spawnParticle(particle: org.bukkit.Particle, location: org.bukkit.Location, count: number, offsetX: number, offsetY: number, offsetZ: number, data: any): void;
+ /**
+ * 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.
+ */
+ public spawnParticle(particle: org.bukkit.Particle, x: number, y: number, z: number, count: number, offsetX: number, offsetY: number, offsetZ: number, data: any): void;
+ /**
+ * 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.
+ */
+ public spawnParticle(particle: org.bukkit.Particle, location: org.bukkit.Location, count: number, offsetX: number, offsetY: number, offsetZ: number, extra: number): void;
+ /**
+ * 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.
+ */
+ public spawnParticle(particle: org.bukkit.Particle, x: number, y: number, z: number, count: number, offsetX: number, offsetY: number, offsetZ: number, extra: number): void;
+ /**
+ * 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.
+ */
+ public spawnParticle(particle: org.bukkit.Particle, location: org.bukkit.Location, count: number, offsetX: number, offsetY: number, offsetZ: number, extra: number, data: any): void;
+ /**
+ * 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.
+ */
+ public spawnParticle(particle: org.bukkit.Particle, x: number, y: number, z: number, count: number, offsetX: number, offsetY: number, offsetZ: number, extra: number, data: any): void;
+ /**
+ * 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.
+ */
+ public spawnParticle(particle: org.bukkit.Particle, location: org.bukkit.Location, count: number, offsetX: number, offsetY: number, offsetZ: number, extra: number, data: any, force: boolean): void;
+ /**
+ * 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.
+ */
+ public spawnParticle(particle: org.bukkit.Particle, x: number, y: number, z: number, count: number, offsetX: number, offsetY: number, offsetZ: number, extra: number, data: any, force: boolean): void;
+ /**
+ * Find the closest nearby structure of a given {@link StructureType}.
+ * Finding unexplored structures can, and will, block if the world is
+ * looking in chunks that gave not generated yet. This can lead to the world
+ * temporarily freezing while locating an unexplored structure.
+ *
+ * The {@code radius} is not a rigid square radius. Each structure may alter
+ * how many chunks to check for each iteration. Do not assume that only a
+ * radius x radius chunk area will be checked. For example,
+ * {@link StructureType#WOODLAND_MANSION} can potentially check up to 20,000
+ * blocks away (or more) regardless of the radius used.
+ *
+ * This will not load or generate chunks. This can also lead to
+ * instances where the server can hang if you are only looking for
+ * unexplored structures. This is because it will keep looking further and
+ * further out in order to find the structure.
+ */
+ public locateNearestStructure(origin: org.bukkit.Location, structureType: org.bukkit.StructureType, radius: number, findUnexplored: boolean): org.bukkit.Location;
+ }
+ }
+}
diff --git a/packages/bukkit/src/typings/org.bukkit.WorldBorder.ts b/packages/bukkit/src/typings/org.bukkit.WorldBorder.ts
new file mode 100644
index 00000000..ee108634
--- /dev/null
+++ b/packages/bukkit/src/typings/org.bukkit.WorldBorder.ts
@@ -0,0 +1,70 @@
+declare namespace org {
+ namespace bukkit {
+ class WorldBorder {
+ /**
+ * Resets the border to default values.
+ */
+ public reset(): void;
+ /**
+ * Gets the current side length of the border.
+ */
+ public getSize(): number;
+ /**
+ * Sets the border to a square region with the specified side length in blocks.
+ */
+ public setSize(newSize: number): void;
+ /**
+ * Sets the border to a square region with the specified side length in blocks.
+ */
+ public setSize(newSize: number, seconds: number): void;
+ /**
+ * Gets the current border center.
+ */
+ public getCenter(): org.bukkit.Location;
+ /**
+ * Sets the new border center.
+ */
+ public setCenter(x: number, z: number): void;
+ /**
+ * Sets the new border center.
+ */
+ public setCenter(location: org.bukkit.Location): void;
+ /**
+ * Gets the current border damage buffer.
+ */
+ public getDamageBuffer(): number;
+ /**
+ * Sets the amount of blocks a player may safely be outside the border before taking damage.
+ */
+ public setDamageBuffer(blocks: number): void;
+ /**
+ * Gets the current border damage amount.
+ */
+ public getDamageAmount(): number;
+ /**
+ * Sets the amount of damage a player takes when outside the border plus the border buffer.
+ */
+ public setDamageAmount(damage: number): void;
+ /**
+ * Gets the current border warning time in seconds.
+ */
+ public getWarningTime(): number;
+ /**
+ * Sets the warning time that causes the screen to be tinted red when a contracting border will reach the player within the specified time.
+ */
+ public setWarningTime(seconds: number): void;
+ /**
+ * Gets the current border warning distance.
+ */
+ public getWarningDistance(): number;
+ /**
+ * Sets the warning distance that causes the screen to be tinted red when the player is within the specified number of blocks from the border.
+ */
+ public setWarningDistance(distance: number): void;
+ /**
+ * Check if the specified location is inside this border.
+ */
+ public isInside(location: org.bukkit.Location): boolean;
+ }
+ }
+}
diff --git a/packages/bukkit/src/typings/org.bukkit.WorldCreator.ts b/packages/bukkit/src/typings/org.bukkit.WorldCreator.ts
new file mode 100644
index 00000000..dcc282b3
--- /dev/null
+++ b/packages/bukkit/src/typings/org.bukkit.WorldCreator.ts
@@ -0,0 +1,122 @@
+declare namespace org {
+ namespace bukkit {
+ class WorldCreator {
+ /**
+ * Creates an empty WorldCreationOptions for the given world name
+ */
+ constructor(name: string)
+ /**
+ * Copies the options from the specified world
+ */
+ public copy(world: org.bukkit.World): org.bukkit.WorldCreator;
+ /**
+ * Copies the options from the specified {@link WorldCreator}
+ */
+ public copy(creator: org.bukkit.WorldCreator): org.bukkit.WorldCreator;
+ /**
+ * Gets the name of the world that is to be loaded or created.
+ */
+ public name(): string;
+ /**
+ * Gets the seed that will be used to create this world
+ */
+ public seed(): number;
+ /**
+ * Sets the seed that will be used to create this world
+ */
+ public seed(seed: number): org.bukkit.WorldCreator;
+ /**
+ * Gets the environment that will be used to create or load the world
+ */
+ public environment(): org.bukkit.World.Environment;
+ /**
+ * Sets the environment that will be used to create or load the world
+ */
+ public environment(env: org.bukkit.World.Environment): org.bukkit.WorldCreator;
+ /**
+ * Gets the type of the world that will be created or loaded
+ */
+ public type(): org.bukkit.WorldType;
+ /**
+ * Sets the type of the world that will be created or loaded
+ */
+ public type(type: org.bukkit.WorldType): org.bukkit.WorldCreator;
+ /**
+ * Gets the generator that will be used to create or load the world.
+ *
+ * This may be null, in which case the "natural" generator for this
+ * environment will be used.
+ */
+ public generator(): org.bukkit.generator.ChunkGenerator;
+ /**
+ * Sets the generator that will be used to create or load the world.
+ *
+ * This may be null, in which case the "natural" generator for this
+ * environment will be used.
+ */
+ public generator(generator: org.bukkit.generator.ChunkGenerator): org.bukkit.WorldCreator;
+ /**
+ * Sets the generator that will be used to create or load the world.
+ *
+ * This may be null, in which case the "natural" generator for this
+ * environment will be used.
+ *
+ * If the generator cannot be found for the given name, the natural
+ * environment generator will be used instead and a warning will be
+ * printed to the console.
+ */
+ public generator(generator: string): org.bukkit.WorldCreator;
+ /**
+ * Sets the generator that will be used to create or load the world.
+ *
+ * This may be null, in which case the "natural" generator for this
+ * environment will be used.
+ *
+ * If the generator cannot be found for the given name, the natural
+ * environment generator will be used instead and a warning will be
+ * printed to the specified output
+ */
+ public generator(generator: string, output: org.bukkit.command.CommandSender): org.bukkit.WorldCreator;
+ /**
+ * Sets the generator settings of the world that will be created or loaded
+ */
+ public generatorSettings(generatorSettings: string): org.bukkit.WorldCreator;
+ /**
+ * Gets the generator settings of the world that will be created or loaded
+ */
+ public generatorSettings(): string;
+ /**
+ * Sets whether or not worlds created or loaded with this creator will
+ * have structures.
+ */
+ public generateStructures(generate: boolean): org.bukkit.WorldCreator;
+ /**
+ * Gets whether or not structures will be generated in the world.
+ */
+ public generateStructures(): boolean;
+ /**
+ * Creates a world with the specified options.
+ *
+ * If the world already exists, it will be loaded from disk and some
+ * options may be ignored.
+ */
+ public createWorld(): org.bukkit.World;
+ /**
+ * Creates a new {@link WorldCreator} for the given world name
+ */
+ public static name(name: string): org.bukkit.WorldCreator;
+ /**
+ * Attempts to get the {@link ChunkGenerator} with the given name.
+ *
+ * If the generator is not found, null will be returned and a message will
+ * be printed to the specified {@link CommandSender} explaining why.
+ *
+ * The name must be in the "plugin:id" notation, or optionally just
+ * "plugin", where "plugin" is the safe-name of a plugin and "id" is an
+ * optional unique identifier for the generator you wish to request from
+ * the plugin.
+ */
+ public static getGeneratorForName(world: string, name: string, output: org.bukkit.command.CommandSender): org.bukkit.generator.ChunkGenerator;
+ }
+ }
+}
diff --git a/packages/bukkit/src/typings/org.bukkit.WorldType.ts b/packages/bukkit/src/typings/org.bukkit.WorldType.ts
new file mode 100644
index 00000000..68cc4461
--- /dev/null
+++ b/packages/bukkit/src/typings/org.bukkit.WorldType.ts
@@ -0,0 +1,23 @@
+declare namespace org {
+ namespace bukkit {
+ class WorldType {
+ public static NORMAL: org.bukkit.WorldType;
+ public static FLAT: org.bukkit.WorldType;
+ public static VERSION_1_1: org.bukkit.WorldType;
+ public static LARGE_BIOMES: org.bukkit.WorldType;
+ public static AMPLIFIED: org.bukkit.WorldType;
+ public static CUSTOMIZED: org.bukkit.WorldType;
+ public static BUFFET: org.bukkit.WorldType;
+ public static values(): org.bukkit.WorldType[];
+ public static valueOf(name: string): org.bukkit.WorldType;
+ /**
+ * Gets the name of this WorldType
+ */
+ public getName(): string;
+ /**
+ * Gets a WorldType by its name
+ */
+ public static getByName(name: string): org.bukkit.WorldType;
+ }
+ }
+}
diff --git a/packages/bukkit/src/typings/org.bukkit.advancement.Advancement.ts b/packages/bukkit/src/typings/org.bukkit.advancement.Advancement.ts
new file mode 100644
index 00000000..e023d735
--- /dev/null
+++ b/packages/bukkit/src/typings/org.bukkit.advancement.Advancement.ts
@@ -0,0 +1,12 @@
+declare namespace org {
+ namespace bukkit {
+ namespace advancement {
+ class Advancement {
+ /**
+ * Get all the criteria present in this advancement.
+ */
+ public getCriteria(): any[] /*java.util.Collection*/;
+ }
+ }
+ }
+}
diff --git a/packages/bukkit/src/typings/org.bukkit.advancement.AdvancementProgress.ts b/packages/bukkit/src/typings/org.bukkit.advancement.AdvancementProgress.ts
new file mode 100644
index 00000000..f5aa7014
--- /dev/null
+++ b/packages/bukkit/src/typings/org.bukkit.advancement.AdvancementProgress.ts
@@ -0,0 +1,36 @@
+declare namespace org {
+ namespace bukkit {
+ namespace advancement {
+ class AdvancementProgress {
+ /**
+ * The advancement this progress is concerning.
+ */
+ public getAdvancement(): org.bukkit.advancement.Advancement;
+ /**
+ * Check if all criteria for this advancement have been met.
+ */
+ public isDone(): boolean;
+ /**
+ * Mark the specified criteria as awarded at the current time.
+ */
+ public awardCriteria(criteria: string): boolean;
+ /**
+ * Mark the specified criteria as uncompleted.
+ */
+ public revokeCriteria(criteria: string): boolean;
+ /**
+ * Get the date the specified criteria was awarded.
+ */
+ public getDateAwarded(criteria: string): any /*java.util.Date*/;
+ /**
+ * Get the criteria which have not been awarded.
+ */
+ public getRemainingCriteria(): any[] /*java.util.Collection*/;
+ /**
+ * Gets the criteria which have been awarded.
+ */
+ public getAwardedCriteria(): any[] /*java.util.Collection*/;
+ }
+ }
+ }
+}
diff --git a/packages/bukkit/src/typings/org.bukkit.attribute.Attributable.ts b/packages/bukkit/src/typings/org.bukkit.attribute.Attributable.ts
new file mode 100644
index 00000000..fa669d69
--- /dev/null
+++ b/packages/bukkit/src/typings/org.bukkit.attribute.Attributable.ts
@@ -0,0 +1,13 @@
+declare namespace org {
+ namespace bukkit {
+ namespace attribute {
+ class Attributable {
+ /**
+ * Gets the specified attribute instance from the object. This instance will
+ * be backed directly to the object and any changes will be visible at once.
+ */
+ public getAttribute(attribute: org.bukkit.attribute.Attribute): org.bukkit.attribute.AttributeInstance;
+ }
+ }
+ }
+}
diff --git a/packages/bukkit/src/typings/org.bukkit.attribute.Attribute.ts b/packages/bukkit/src/typings/org.bukkit.attribute.Attribute.ts
new file mode 100644
index 00000000..dd92bcd7
--- /dev/null
+++ b/packages/bukkit/src/typings/org.bukkit.attribute.Attribute.ts
@@ -0,0 +1,22 @@
+declare namespace org {
+ namespace bukkit {
+ namespace attribute {
+ class Attribute {
+ public static GENERIC_MAX_HEALTH: org.bukkit.attribute.Attribute;
+ public static GENERIC_FOLLOW_RANGE: org.bukkit.attribute.Attribute;
+ public static GENERIC_KNOCKBACK_RESISTANCE: org.bukkit.attribute.Attribute;
+ public static GENERIC_MOVEMENT_SPEED: org.bukkit.attribute.Attribute;
+ public static GENERIC_FLYING_SPEED: org.bukkit.attribute.Attribute;
+ public static GENERIC_ATTACK_DAMAGE: org.bukkit.attribute.Attribute;
+ public static GENERIC_ATTACK_SPEED: org.bukkit.attribute.Attribute;
+ public static GENERIC_ARMOR: org.bukkit.attribute.Attribute;
+ public static GENERIC_ARMOR_TOUGHNESS: org.bukkit.attribute.Attribute;
+ public static GENERIC_LUCK: org.bukkit.attribute.Attribute;
+ public static HORSE_JUMP_STRENGTH: org.bukkit.attribute.Attribute;
+ public static ZOMBIE_SPAWN_REINFORCEMENTS: org.bukkit.attribute.Attribute;
+ public static values(): org.bukkit.attribute.Attribute[];
+ public static valueOf(name: string): org.bukkit.attribute.Attribute;
+ }
+ }
+ }
+}
diff --git a/packages/bukkit/src/typings/org.bukkit.attribute.AttributeInstance.ts b/packages/bukkit/src/typings/org.bukkit.attribute.AttributeInstance.ts
new file mode 100644
index 00000000..77060f66
--- /dev/null
+++ b/packages/bukkit/src/typings/org.bukkit.attribute.AttributeInstance.ts
@@ -0,0 +1,41 @@
+declare namespace org {
+ namespace bukkit {
+ namespace attribute {
+ class AttributeInstance {
+ /**
+ * The attribute pertaining to this instance.
+ */
+ public getAttribute(): org.bukkit.attribute.Attribute;
+ /**
+ * Base value of this instance before modifiers are applied.
+ */
+ public getBaseValue(): number;
+ /**
+ * Set the base value of this instance.
+ */
+ public setBaseValue(value: number): void;
+ /**
+ * Get all modifiers present on this instance.
+ */
+ public getModifiers(): any[] /*java.util.Collection*/;
+ /**
+ * Add a modifier to this instance.
+ */
+ public addModifier(modifier: org.bukkit.attribute.AttributeModifier): void;
+ /**
+ * Remove a modifier from this instance.
+ */
+ public removeModifier(modifier: org.bukkit.attribute.AttributeModifier): void;
+ /**
+ * Get the value of this instance after all associated modifiers have been
+ * applied.
+ */
+ public getValue(): number;
+ /**
+ * Gets the default value of the Attribute attached to this instance.
+ */
+ public getDefaultValue(): number;
+ }
+ }
+ }
+}
diff --git a/packages/bukkit/src/typings/org.bukkit.attribute.AttributeModifier.Operation.ts b/packages/bukkit/src/typings/org.bukkit.attribute.AttributeModifier.Operation.ts
new file mode 100644
index 00000000..61999ee6
--- /dev/null
+++ b/packages/bukkit/src/typings/org.bukkit.attribute.AttributeModifier.Operation.ts
@@ -0,0 +1,15 @@
+declare namespace org {
+ namespace bukkit {
+ namespace attribute {
+ namespace AttributeModifier {
+ class Operation {
+ public static ADD_NUMBER: org.bukkit.attribute.AttributeModifier.Operation;
+ public static ADD_SCALAR: org.bukkit.attribute.AttributeModifier.Operation;
+ public static MULTIPLY_SCALAR_1: org.bukkit.attribute.AttributeModifier.Operation;
+ public static values(): org.bukkit.attribute.AttributeModifier.Operation[];
+ public static valueOf(name: string): org.bukkit.attribute.AttributeModifier.Operation;
+ }
+ }
+ }
+ }
+}
diff --git a/packages/bukkit/src/typings/org.bukkit.attribute.AttributeModifier.ts b/packages/bukkit/src/typings/org.bukkit.attribute.AttributeModifier.ts
new file mode 100644
index 00000000..2b84cb35
--- /dev/null
+++ b/packages/bukkit/src/typings/org.bukkit.attribute.AttributeModifier.ts
@@ -0,0 +1,37 @@
+declare namespace org {
+ namespace bukkit {
+ namespace attribute {
+ class AttributeModifier {
+ constructor(name: string, amount: number, operation: org.bukkit.attribute.AttributeModifier.Operation)
+ constructor(uuid: any, name: string, amount: number, operation: org.bukkit.attribute.AttributeModifier.Operation)
+ constructor(uuid: any, name: string, amount: number, operation: org.bukkit.attribute.AttributeModifier.Operation, slot: org.bukkit.inventory.EquipmentSlot)
+ /**
+ * Get the unique ID for this modifier.
+ */
+ public getUniqueId(): any;
+ /**
+ * Get the name of this modifier.
+ */
+ public getName(): string;
+ /**
+ * Get the amount by which this modifier will apply its {@link Operation}.
+ */
+ public getAmount(): number;
+ /**
+ * Get the operation this modifier will apply.
+ */
+ public getOperation(): org.bukkit.attribute.AttributeModifier.Operation;
+ /**
+ * Get the {@link EquipmentSlot} this AttributeModifier is active on,
+ * or null if this modifier is applicable for any slot.
+ */
+ public getSlot(): org.bukkit.inventory.EquipmentSlot;
+ public serialize(): Map
+ * This will return an empty list if the block represented by this state is
+ * no longer a beacon.
+ */
+ public getEntitiesInRange(): any[] /*java.util.Collection*/;
+ /**
+ * Returns the tier of the beacon pyramid (0-4). The tier refers to the
+ * beacon's power level, based on how many layers of blocks are in the
+ * pyramid. Tier 1 refers to a beacon with one layer of 9 blocks under it.
+ */
+ public getTier(): number;
+ /**
+ * Returns the primary effect set on the beacon
+ */
+ public getPrimaryEffect(): org.bukkit.potion.PotionEffect;
+ /**
+ * Set the primary effect on this beacon, or null to clear.
+ */
+ public setPrimaryEffect(effect: org.bukkit.potion.PotionEffectType): void;
+ /**
+ * Returns the secondary effect set on the beacon.
+ */
+ public getSecondaryEffect(): org.bukkit.potion.PotionEffect;
+ /**
+ * Set the secondary effect on this beacon, or null to clear. Note that tier
+ * must be >= 4 for this effect to be active.
+ */
+ public setSecondaryEffect(effect: org.bukkit.potion.PotionEffectType): void;
+ }
+ }
+ }
+}
diff --git a/packages/bukkit/src/typings/org.bukkit.block.Bed.ts b/packages/bukkit/src/typings/org.bukkit.block.Bed.ts
new file mode 100644
index 00000000..d203c731
--- /dev/null
+++ b/packages/bukkit/src/typings/org.bukkit.block.Bed.ts
@@ -0,0 +1,8 @@
+declare namespace org {
+ namespace bukkit {
+ namespace block {
+ class Bed {
+ }
+ }
+ }
+}
diff --git a/packages/bukkit/src/typings/org.bukkit.block.Bell.ts b/packages/bukkit/src/typings/org.bukkit.block.Bell.ts
new file mode 100644
index 00000000..15847982
--- /dev/null
+++ b/packages/bukkit/src/typings/org.bukkit.block.Bell.ts
@@ -0,0 +1,8 @@
+declare namespace org {
+ namespace bukkit {
+ namespace block {
+ class Bell {
+ }
+ }
+ }
+}
diff --git a/packages/bukkit/src/typings/org.bukkit.block.Biome.ts b/packages/bukkit/src/typings/org.bukkit.block.Biome.ts
new file mode 100644
index 00000000..ac8c63a6
--- /dev/null
+++ b/packages/bukkit/src/typings/org.bukkit.block.Biome.ts
@@ -0,0 +1,86 @@
+declare namespace org {
+ namespace bukkit {
+ namespace block {
+ class Biome {
+ public static OCEAN: org.bukkit.block.Biome;
+ public static PLAINS: org.bukkit.block.Biome;
+ public static DESERT: org.bukkit.block.Biome;
+ public static MOUNTAINS: org.bukkit.block.Biome;
+ public static FOREST: org.bukkit.block.Biome;
+ public static TAIGA: org.bukkit.block.Biome;
+ public static SWAMP: org.bukkit.block.Biome;
+ public static RIVER: org.bukkit.block.Biome;
+ public static NETHER: org.bukkit.block.Biome;
+ public static THE_END: org.bukkit.block.Biome;
+ public static FROZEN_OCEAN: org.bukkit.block.Biome;
+ public static FROZEN_RIVER: org.bukkit.block.Biome;
+ public static SNOWY_TUNDRA: org.bukkit.block.Biome;
+ public static SNOWY_MOUNTAINS: org.bukkit.block.Biome;
+ public static MUSHROOM_FIELDS: org.bukkit.block.Biome;
+ public static MUSHROOM_FIELD_SHORE: org.bukkit.block.Biome;
+ public static BEACH: org.bukkit.block.Biome;
+ public static DESERT_HILLS: org.bukkit.block.Biome;
+ public static WOODED_HILLS: org.bukkit.block.Biome;
+ public static TAIGA_HILLS: org.bukkit.block.Biome;
+ public static MOUNTAIN_EDGE: org.bukkit.block.Biome;
+ public static JUNGLE: org.bukkit.block.Biome;
+ public static JUNGLE_HILLS: org.bukkit.block.Biome;
+ public static JUNGLE_EDGE: org.bukkit.block.Biome;
+ public static DEEP_OCEAN: org.bukkit.block.Biome;
+ public static STONE_SHORE: org.bukkit.block.Biome;
+ public static SNOWY_BEACH: org.bukkit.block.Biome;
+ public static BIRCH_FOREST: org.bukkit.block.Biome;
+ public static BIRCH_FOREST_HILLS: org.bukkit.block.Biome;
+ public static DARK_FOREST: org.bukkit.block.Biome;
+ public static SNOWY_TAIGA: org.bukkit.block.Biome;
+ public static SNOWY_TAIGA_HILLS: org.bukkit.block.Biome;
+ public static GIANT_TREE_TAIGA: org.bukkit.block.Biome;
+ public static GIANT_TREE_TAIGA_HILLS: org.bukkit.block.Biome;
+ public static WOODED_MOUNTAINS: org.bukkit.block.Biome;
+ public static SAVANNA: org.bukkit.block.Biome;
+ public static SAVANNA_PLATEAU: org.bukkit.block.Biome;
+ public static BADLANDS: org.bukkit.block.Biome;
+ public static WOODED_BADLANDS_PLATEAU: org.bukkit.block.Biome;
+ public static BADLANDS_PLATEAU: org.bukkit.block.Biome;
+ public static SMALL_END_ISLANDS: org.bukkit.block.Biome;
+ public static END_MIDLANDS: org.bukkit.block.Biome;
+ public static END_HIGHLANDS: org.bukkit.block.Biome;
+ public static END_BARRENS: org.bukkit.block.Biome;
+ public static WARM_OCEAN: org.bukkit.block.Biome;
+ public static LUKEWARM_OCEAN: org.bukkit.block.Biome;
+ public static COLD_OCEAN: org.bukkit.block.Biome;
+ public static DEEP_WARM_OCEAN: org.bukkit.block.Biome;
+ public static DEEP_LUKEWARM_OCEAN: org.bukkit.block.Biome;
+ public static DEEP_COLD_OCEAN: org.bukkit.block.Biome;
+ public static DEEP_FROZEN_OCEAN: org.bukkit.block.Biome;
+ public static THE_VOID: org.bukkit.block.Biome;
+ public static SUNFLOWER_PLAINS: org.bukkit.block.Biome;
+ public static DESERT_LAKES: org.bukkit.block.Biome;
+ public static GRAVELLY_MOUNTAINS: org.bukkit.block.Biome;
+ public static FLOWER_FOREST: org.bukkit.block.Biome;
+ public static TAIGA_MOUNTAINS: org.bukkit.block.Biome;
+ public static SWAMP_HILLS: org.bukkit.block.Biome;
+ public static ICE_SPIKES: org.bukkit.block.Biome;
+ public static MODIFIED_JUNGLE: org.bukkit.block.Biome;
+ public static MODIFIED_JUNGLE_EDGE: org.bukkit.block.Biome;
+ public static TALL_BIRCH_FOREST: org.bukkit.block.Biome;
+ public static TALL_BIRCH_HILLS: org.bukkit.block.Biome;
+ public static DARK_FOREST_HILLS: org.bukkit.block.Biome;
+ public static SNOWY_TAIGA_MOUNTAINS: org.bukkit.block.Biome;
+ public static GIANT_SPRUCE_TAIGA: org.bukkit.block.Biome;
+ public static GIANT_SPRUCE_TAIGA_HILLS: org.bukkit.block.Biome;
+ public static MODIFIED_GRAVELLY_MOUNTAINS: org.bukkit.block.Biome;
+ public static SHATTERED_SAVANNA: org.bukkit.block.Biome;
+ public static SHATTERED_SAVANNA_PLATEAU: org.bukkit.block.Biome;
+ public static ERODED_BADLANDS: org.bukkit.block.Biome;
+ public static MODIFIED_WOODED_BADLANDS_PLATEAU: org.bukkit.block.Biome;
+ public static MODIFIED_BADLANDS_PLATEAU: org.bukkit.block.Biome;
+ public static BAMBOO_JUNGLE: org.bukkit.block.Biome;
+ public static BAMBOO_JUNGLE_HILLS: org.bukkit.block.Biome;
+ public static values(): org.bukkit.block.Biome[];
+ public static valueOf(name: string): org.bukkit.block.Biome;
+ public getKey(): org.bukkit.NamespacedKey;
+ }
+ }
+ }
+}
diff --git a/packages/bukkit/src/typings/org.bukkit.block.BlastFurnace.ts b/packages/bukkit/src/typings/org.bukkit.block.BlastFurnace.ts
new file mode 100644
index 00000000..ae31a19a
--- /dev/null
+++ b/packages/bukkit/src/typings/org.bukkit.block.BlastFurnace.ts
@@ -0,0 +1,8 @@
+declare namespace org {
+ namespace bukkit {
+ namespace block {
+ class BlastFurnace {
+ }
+ }
+ }
+}
diff --git a/packages/bukkit/src/typings/org.bukkit.block.Block.ts b/packages/bukkit/src/typings/org.bukkit.block.Block.ts
new file mode 100644
index 00000000..19f605ff
--- /dev/null
+++ b/packages/bukkit/src/typings/org.bukkit.block.Block.ts
@@ -0,0 +1,257 @@
+declare namespace org {
+ namespace bukkit {
+ namespace block {
+ class Block {
+ /**
+ * Gets the metadata for this block
+ */
+ public getData(): number;
+ /**
+ * Gets the complete block data for this block
+ */
+ public getBlockData(): org.bukkit.block.data.BlockData;
+ /**
+ * Gets the block at the given offsets
+ */
+ public getRelative(modX: number, modY: number, modZ: number): org.bukkit.block.Block;
+ /**
+ * Gets the block at the given face
+ *
+ * This method is equal to getRelative(face, 1)
+ */
+ public getRelative(face: org.bukkit.block.BlockFace): org.bukkit.block.Block;
+ /**
+ * Gets the block at the given distance of the given face
+ *
+ * For example, the following method places water at 100,102,100; two
+ * blocks above 100,100,100.
+ *
+ * Any light given from other sources (such as blocks like torches) will
+ * be ignored.
+ */
+ public getLightFromSky(): number;
+ /**
+ * Get the amount of light at this block from nearby blocks.
+ *
+ * Any light given from other sources (such as the sun) will be ignored.
+ */
+ public getLightFromBlocks(): number;
+ /**
+ * Gets the world which contains this Block
+ */
+ public getWorld(): org.bukkit.World;
+ /**
+ * Gets the x-coordinate of this block
+ */
+ public getX(): number;
+ /**
+ * Gets the y-coordinate of this block
+ */
+ public getY(): number;
+ /**
+ * Gets the z-coordinate of this block
+ */
+ public getZ(): number;
+ /**
+ * Gets the Location of the block
+ */
+ public getLocation(): org.bukkit.Location;
+ /**
+ * Stores the location of the block in the provided Location object.
+ *
+ * If the provided Location is null this method does nothing and returns
+ * null.
+ */
+ public getLocation(loc: org.bukkit.Location): org.bukkit.Location;
+ /**
+ * Gets the chunk which contains this block
+ */
+ public getChunk(): org.bukkit.Chunk;
+ /**
+ * Sets the complete data for this block
+ */
+ public setBlockData(data: org.bukkit.block.data.BlockData): void;
+ /**
+ * Sets the complete data for this block
+ *
+ * For example:
+ *
+ * The returned object will never be updated, and you are not guaranteed
+ * that (for example) a sign is still a sign after you capture its state.
+ */
+ public getState(): org.bukkit.block.BlockState;
+ /**
+ * Returns the biome that this block resides in
+ */
+ public getBiome(): org.bukkit.block.Biome;
+ /**
+ * Sets the biome that this block resides in
+ */
+ public setBiome(bio: org.bukkit.block.Biome): void;
+ /**
+ * Returns true if the block is being powered by Redstone.
+ */
+ public isBlockPowered(): boolean;
+ /**
+ * Returns true if the block is being indirectly powered by Redstone.
+ */
+ public isBlockIndirectlyPowered(): boolean;
+ /**
+ * Returns true if the block face is being powered by Redstone.
+ */
+ public isBlockFacePowered(face: org.bukkit.block.BlockFace): boolean;
+ /**
+ * Returns true if the block face is being indirectly powered by Redstone.
+ */
+ public isBlockFaceIndirectlyPowered(face: org.bukkit.block.BlockFace): boolean;
+ /**
+ * Returns the redstone power being provided to this block face
+ */
+ public getBlockPower(face: org.bukkit.block.BlockFace): number;
+ /**
+ * Returns the redstone power being provided to this block
+ */
+ public getBlockPower(): number;
+ /**
+ * Checks if this block is empty.
+ *
+ * A block is considered empty when {@link #getType()} returns {@link
+ * Material#AIR}.
+ */
+ public isEmpty(): boolean;
+ /**
+ * Checks if this block is liquid.
+ *
+ * A block is considered liquid when {@link #getType()} returns {@link
+ * Material#WATER} or {@link Material#LAVA}.
+ */
+ public isLiquid(): boolean;
+ /**
+ * Gets the temperature of this block.
+ *
+ * If the raw biome temperature without adjusting for height effects is
+ * required then please use {@link World#getTemperature(int, int)}.
+ */
+ public getTemperature(): number;
+ /**
+ * Gets the humidity of the biome of this block
+ */
+ public getHumidity(): number;
+ /**
+ * Returns the reaction of the block when moved by a piston
+ */
+ public getPistonMoveReaction(): org.bukkit.block.PistonMoveReaction;
+ /**
+ * Breaks the block and spawns items as if a player had digged it
+ */
+ public breakNaturally(): boolean;
+ /**
+ * Breaks the block and spawns items as if a player had digged it with a
+ * specific tool
+ */
+ public breakNaturally(tool: org.bukkit.inventory.ItemStack): boolean;
+ /**
+ * Returns a list of items which would drop by destroying this block
+ */
+ public getDrops(): any[] /*java.util.Collection*/;
+ /**
+ * Returns a list of items which would drop by destroying this block with
+ * a specific tool
+ */
+ public getDrops(tool: org.bukkit.inventory.ItemStack): any[] /*java.util.Collection*/;
+ /**
+ * Checks if this block is passable.
+ *
+ * A block is passable if it has no colliding parts that would prevent
+ * players from moving through it.
+ *
+ * Examples: Tall grass, flowers, signs, etc. are passable, but open doors,
+ * fence gates, trap doors, etc. are not because they still have parts that
+ * can be collided with.
+ */
+ public isPassable(): boolean;
+ /**
+ * Performs a ray trace that checks for collision with this specific block
+ * in its current state using its precise collision shape.
+ */
+ public rayTrace(start: org.bukkit.Location, direction: org.bukkit.util.Vector, maxDistance: number, fluidCollisionMode: org.bukkit.FluidCollisionMode): org.bukkit.util.RayTraceResult;
+ /**
+ * Gets the approximate bounding box for this block.
+ *
+ * This isn't exact as some blocks {@link org.bukkit.block.data.type.Stairs}
+ * contain many bounding boxes to establish their complete form.
+ * Also, the box may not be exactly the same as the collision shape (such as
+ * cactus, which is 16/16 of a block with 15/16 collisional bounds).
+ * This method will return an empty bounding box if the geometric shape of
+ * the block is empty (such as air blocks).
+ */
+ public getBoundingBox(): org.bukkit.util.BoundingBox;
+ }
+ }
+ }
+}
diff --git a/packages/bukkit/src/typings/org.bukkit.block.BlockFace.ts b/packages/bukkit/src/typings/org.bukkit.block.BlockFace.ts
new file mode 100644
index 00000000..b3a4bc61
--- /dev/null
+++ b/packages/bukkit/src/typings/org.bukkit.block.BlockFace.ts
@@ -0,0 +1,46 @@
+declare namespace org {
+ namespace bukkit {
+ namespace block {
+ class BlockFace {
+ public static NORTH: org.bukkit.block.BlockFace;
+ public static EAST: org.bukkit.block.BlockFace;
+ public static SOUTH: org.bukkit.block.BlockFace;
+ public static WEST: org.bukkit.block.BlockFace;
+ public static UP: org.bukkit.block.BlockFace;
+ public static DOWN: org.bukkit.block.BlockFace;
+ public static NORTH_EAST: org.bukkit.block.BlockFace;
+ public static NORTH_WEST: org.bukkit.block.BlockFace;
+ public static SOUTH_EAST: org.bukkit.block.BlockFace;
+ public static SOUTH_WEST: org.bukkit.block.BlockFace;
+ public static WEST_NORTH_WEST: org.bukkit.block.BlockFace;
+ public static NORTH_NORTH_WEST: org.bukkit.block.BlockFace;
+ public static NORTH_NORTH_EAST: org.bukkit.block.BlockFace;
+ public static EAST_NORTH_EAST: org.bukkit.block.BlockFace;
+ public static EAST_SOUTH_EAST: org.bukkit.block.BlockFace;
+ public static SOUTH_SOUTH_EAST: org.bukkit.block.BlockFace;
+ public static SOUTH_SOUTH_WEST: org.bukkit.block.BlockFace;
+ public static WEST_SOUTH_WEST: org.bukkit.block.BlockFace;
+ public static SELF: org.bukkit.block.BlockFace;
+ public static values(): org.bukkit.block.BlockFace[];
+ public static valueOf(name: string): org.bukkit.block.BlockFace;
+ /**
+ * Get the amount of X-coordinates to modify to get the represented block
+ */
+ public getModX(): number;
+ /**
+ * Get the amount of Y-coordinates to modify to get the represented block
+ */
+ public getModY(): number;
+ /**
+ * Get the amount of Z-coordinates to modify to get the represented block
+ */
+ public getModZ(): number;
+ /**
+ * Gets the normal vector corresponding to this block face.
+ */
+ public getDirection(): org.bukkit.util.Vector;
+ public getOppositeFace(): org.bukkit.block.BlockFace;
+ }
+ }
+ }
+}
diff --git a/packages/bukkit/src/typings/org.bukkit.block.BlockState.ts b/packages/bukkit/src/typings/org.bukkit.block.BlockState.ts
new file mode 100644
index 00000000..c24f6b83
--- /dev/null
+++ b/packages/bukkit/src/typings/org.bukkit.block.BlockState.ts
@@ -0,0 +1,119 @@
+declare namespace org {
+ namespace bukkit {
+ namespace block {
+ class BlockState {
+ /**
+ * Gets the block represented by this block state.
+ */
+ public getBlock(): org.bukkit.block.Block;
+ /**
+ * Gets the metadata for this block state.
+ */
+ public getData(): org.bukkit.material.MaterialData;
+ /**
+ * Gets the data for this block state.
+ */
+ public getBlockData(): org.bukkit.block.data.BlockData;
+ /**
+ * Gets the type of this block state.
+ */
+ public getType(): org.bukkit.Material;
+ /**
+ * Gets the current light level of the block represented by this block state.
+ */
+ public getLightLevel(): number;
+ /**
+ * Gets the world which contains the block represented by this block state.
+ */
+ public getWorld(): org.bukkit.World;
+ /**
+ * Gets the x-coordinate of this block state.
+ */
+ public getX(): number;
+ /**
+ * Gets the y-coordinate of this block state.
+ */
+ public getY(): number;
+ /**
+ * Gets the z-coordinate of this block state.
+ */
+ public getZ(): number;
+ /**
+ * Gets the location of this block state.
+ *
+ * If this block state is not placed the location's world will be null!
+ */
+ public getLocation(): org.bukkit.Location;
+ /**
+ * Stores the location of this block state in the provided Location object.
+ *
+ * If the provided Location is null this method does nothing and returns
+ * null.
+ *
+ * If this block state is not placed the location's world will be null!
+ */
+ public getLocation(loc: org.bukkit.Location): org.bukkit.Location;
+ /**
+ * Gets the chunk which contains the block represented by this block state.
+ */
+ public getChunk(): org.bukkit.Chunk;
+ /**
+ * Sets the metadata for this block state.
+ */
+ public setData(data: org.bukkit.material.MaterialData): void;
+ /**
+ * Sets the data for this block state.
+ */
+ public setBlockData(data: org.bukkit.block.data.BlockData): void;
+ /**
+ * Sets the type of this block state.
+ */
+ public setType(type: org.bukkit.Material): void;
+ /**
+ * Attempts to update the block represented by this state, setting it to
+ * the new values as defined by this state.
+ *
+ * This has the same effect as calling update(false). That is to say,
+ * this will not modify the state of a block if it is no longer the same
+ * type as it was when this state was taken. It will return false in this
+ * eventuality.
+ */
+ public update(): boolean;
+ /**
+ * Attempts to update the block represented by this state, setting it to
+ * the new values as defined by this state.
+ *
+ * This has the same effect as calling update(force, true). That is to
+ * say, this will trigger a physics update to surrounding blocks.
+ */
+ public update(force: boolean): boolean;
+ /**
+ * Attempts to update the block represented by this state, setting it to
+ * the new values as defined by this state.
+ *
+ * If this state is not placed, this will have no effect and return true.
+ *
+ * Unless force is true, this will not modify the state of a block if it
+ * is no longer the same type as it was when this state was taken. It will
+ * return false in this eventuality.
+ *
+ * If force is true, it will set the type of the block to match the new
+ * state, set the state data and then return true.
+ *
+ * If applyPhysics is true, it will trigger a physics update on
+ * surrounding blocks which could cause them to update or disappear.
+ */
+ public update(force: boolean, applyPhysics: boolean): boolean;
+ public getRawData(): number;
+ public setRawData(data: number): void;
+ /**
+ * Returns whether this state is placed in the world.
+ *
+ * Some methods will not work if the block state isn't
+ * placed in the world.
+ */
+ public isPlaced(): boolean;
+ }
+ }
+ }
+}
diff --git a/packages/bukkit/src/typings/org.bukkit.block.BrewingStand.ts b/packages/bukkit/src/typings/org.bukkit.block.BrewingStand.ts
new file mode 100644
index 00000000..a5fafb86
--- /dev/null
+++ b/packages/bukkit/src/typings/org.bukkit.block.BrewingStand.ts
@@ -0,0 +1,26 @@
+declare namespace org {
+ namespace bukkit {
+ namespace block {
+ class BrewingStand {
+ /**
+ * How much time is left in the brewing cycle.
+ */
+ public getBrewingTime(): number;
+ /**
+ * Set the time left before brewing completes.
+ */
+ public setBrewingTime(brewTime: number): void;
+ /**
+ * Get the level of current fuel for brewing.
+ */
+ public getFuelLevel(): number;
+ /**
+ * Set the level of current fuel for brewing.
+ */
+ public setFuelLevel(level: number): void;
+ public getInventory(): org.bukkit.inventory.BrewerInventory;
+ public getSnapshotInventory(): org.bukkit.inventory.BrewerInventory;
+ }
+ }
+ }
+}
diff --git a/packages/bukkit/src/typings/org.bukkit.block.Campfire.ts b/packages/bukkit/src/typings/org.bukkit.block.Campfire.ts
new file mode 100644
index 00000000..c8d47298
--- /dev/null
+++ b/packages/bukkit/src/typings/org.bukkit.block.Campfire.ts
@@ -0,0 +1,31 @@
+declare namespace org {
+ namespace bukkit {
+ namespace block {
+ class Campfire {
+ public getSize(): number;
+ public getItem(index: number): org.bukkit.inventory.ItemStack;
+ public setItem(index: number, item: org.bukkit.inventory.ItemStack): void;
+ /**
+ * Get cook time.
+ * This is the amount of time the item has been cooking for.
+ */
+ public getCookTime(index: number): number;
+ /**
+ * Set cook time.
+ * This is the amount of time the item has been cooking for.
+ */
+ public setCookTime(index: number, cookTime: number): void;
+ /**
+ * Get cook time total.
+ * This is the amount of time the item is required to cook for.
+ */
+ public getCookTimeTotal(index: number): number;
+ /**
+ * Set cook time.
+ * This is the amount of time the item is required to cook for.
+ */
+ public setCookTimeTotal(index: number, cookTimeTotal: number): void;
+ }
+ }
+ }
+}
diff --git a/packages/bukkit/src/typings/org.bukkit.block.Chest.ts b/packages/bukkit/src/typings/org.bukkit.block.Chest.ts
new file mode 100644
index 00000000..fac3dd97
--- /dev/null
+++ b/packages/bukkit/src/typings/org.bukkit.block.Chest.ts
@@ -0,0 +1,21 @@
+declare namespace org {
+ namespace bukkit {
+ namespace block {
+ class Chest {
+ /**
+ * Gets the inventory of the chest block represented by this block state.
+ *
+ * If the chest is a double chest, it returns just the portion of the
+ * inventory linked to the half of the chest corresponding to this block state.
+ *
+ * If the block was changed to a different type in the meantime, the
+ * returned inventory might no longer be valid.
+ *
+ * If this block state is not placed this will return the captured
+ * inventory snapshot instead.
+ */
+ public getBlockInventory(): org.bukkit.inventory.Inventory;
+ }
+ }
+ }
+}
diff --git a/packages/bukkit/src/typings/org.bukkit.block.CommandBlock.ts b/packages/bukkit/src/typings/org.bukkit.block.CommandBlock.ts
new file mode 100644
index 00000000..3f0bfbad
--- /dev/null
+++ b/packages/bukkit/src/typings/org.bukkit.block.CommandBlock.ts
@@ -0,0 +1,32 @@
+declare namespace org {
+ namespace bukkit {
+ namespace block {
+ class CommandBlock {
+ /**
+ * Gets the command that this CommandBlock will run when powered.
+ * This will never return null. If the CommandBlock does not have a
+ * command, an empty String will be returned instead.
+ */
+ public getCommand(): string;
+ /**
+ * Sets the command that this CommandBlock will run when powered.
+ * Setting the command to null is the same as setting it to an empty
+ * String.
+ */
+ public setCommand(command: string): void;
+ /**
+ * Gets the name of this CommandBlock. The name is used with commands
+ * that this CommandBlock executes. This name will never be null, and
+ * by default is "@".
+ */
+ public getName(): string;
+ /**
+ * Sets the name of this CommandBlock. The name is used with commands
+ * that this CommandBlock executes. Setting the name to null is the
+ * same as setting it to "@".
+ */
+ public setName(name: string): void;
+ }
+ }
+ }
+}
diff --git a/packages/bukkit/src/typings/org.bukkit.block.Comparator.ts b/packages/bukkit/src/typings/org.bukkit.block.Comparator.ts
new file mode 100644
index 00000000..f6c39980
--- /dev/null
+++ b/packages/bukkit/src/typings/org.bukkit.block.Comparator.ts
@@ -0,0 +1,8 @@
+declare namespace org {
+ namespace bukkit {
+ namespace block {
+ class Comparator {
+ }
+ }
+ }
+}
diff --git a/packages/bukkit/src/typings/org.bukkit.block.Conduit.ts b/packages/bukkit/src/typings/org.bukkit.block.Conduit.ts
new file mode 100644
index 00000000..29627022
--- /dev/null
+++ b/packages/bukkit/src/typings/org.bukkit.block.Conduit.ts
@@ -0,0 +1,8 @@
+declare namespace org {
+ namespace bukkit {
+ namespace block {
+ class Conduit {
+ }
+ }
+ }
+}
diff --git a/packages/bukkit/src/typings/org.bukkit.block.Container.ts b/packages/bukkit/src/typings/org.bukkit.block.Container.ts
new file mode 100644
index 00000000..613f55e2
--- /dev/null
+++ b/packages/bukkit/src/typings/org.bukkit.block.Container.ts
@@ -0,0 +1,27 @@
+declare namespace org {
+ namespace bukkit {
+ namespace block {
+ class Container {
+ /**
+ * Gets the inventory of the block represented by this block state.
+ *
+ * If the block was changed to a different type in the meantime, the
+ * returned inventory might no longer be valid.
+ *
+ * If this block state is not placed this will return the captured inventory
+ * snapshot instead.
+ */
+ public getInventory(): org.bukkit.inventory.Inventory;
+ /**
+ * Gets the captured inventory snapshot of this container.
+ *
+ * The returned inventory is not linked to any block. Any modifications to
+ * the returned inventory will not be applied to the block represented by
+ * this block state up until {@link #update(boolean, boolean)} has been
+ * called.
+ */
+ public getSnapshotInventory(): org.bukkit.inventory.Inventory;
+ }
+ }
+ }
+}
diff --git a/packages/bukkit/src/typings/org.bukkit.block.CreatureSpawner.ts b/packages/bukkit/src/typings/org.bukkit.block.CreatureSpawner.ts
new file mode 100644
index 00000000..6f77ed32
--- /dev/null
+++ b/packages/bukkit/src/typings/org.bukkit.block.CreatureSpawner.ts
@@ -0,0 +1,132 @@
+declare namespace org {
+ namespace bukkit {
+ namespace block {
+ class CreatureSpawner {
+ /**
+ * Get the spawner's creature type.
+ */
+ public getSpawnedType(): org.bukkit.entity.EntityType;
+ /**
+ * Set the spawner's creature type.
+ */
+ public setSpawnedType(creatureType: org.bukkit.entity.EntityType): void;
+ /**
+ * Set the spawner mob type.
+ */
+ public setCreatureTypeByName(creatureType: string): void;
+ /**
+ * Get the spawner's creature type.
+ */
+ public getCreatureTypeName(): string;
+ /**
+ * Get the spawner's delay.
+ *
+ * If the block represented by this state is no longer a dispenser, this
+ * will return null.
+ */
+ public getBlockProjectileSource(): org.bukkit.projectiles.BlockProjectileSource;
+ /**
+ * Attempts to dispense the contents of the dispenser.
+ *
+ * If the block represented by this state is no longer a dispenser, this
+ * will return false.
+ */
+ public dispense(): boolean;
+ }
+ }
+ }
+}
diff --git a/packages/bukkit/src/typings/org.bukkit.block.DoubleChest.ts b/packages/bukkit/src/typings/org.bukkit.block.DoubleChest.ts
new file mode 100644
index 00000000..177f3c44
--- /dev/null
+++ b/packages/bukkit/src/typings/org.bukkit.block.DoubleChest.ts
@@ -0,0 +1,17 @@
+declare namespace org {
+ namespace bukkit {
+ namespace block {
+ class DoubleChest {
+ constructor(chest: org.bukkit.inventory.DoubleChestInventory)
+ public getInventory(): org.bukkit.inventory.Inventory;
+ public getLeftSide(): org.bukkit.inventory.InventoryHolder;
+ public getRightSide(): org.bukkit.inventory.InventoryHolder;
+ public getLocation(): org.bukkit.Location;
+ public getWorld(): org.bukkit.World;
+ public getX(): number;
+ public getY(): number;
+ public getZ(): number;
+ }
+ }
+ }
+}
diff --git a/packages/bukkit/src/typings/org.bukkit.block.Dropper.ts b/packages/bukkit/src/typings/org.bukkit.block.Dropper.ts
new file mode 100644
index 00000000..0b0e7ef1
--- /dev/null
+++ b/packages/bukkit/src/typings/org.bukkit.block.Dropper.ts
@@ -0,0 +1,27 @@
+declare namespace org {
+ namespace bukkit {
+ namespace block {
+ class Dropper {
+ /**
+ * Tries to drop a randomly selected item from the dropper's inventory,
+ * following the normal behavior of a dropper.
+ *
+ * Normal behavior of a dropper is as follows:
+ *
+ * If the block that the dropper is facing is an InventoryHolder,
+ * the randomly selected ItemStack is placed within that
+ * Inventory in the first slot that's available, starting with 0 and
+ * counting up. If the inventory is full, nothing happens.
+ *
+ * If the block that the dropper is facing is not an InventoryHolder,
+ * the randomly selected ItemStack is dropped on
+ * the ground in the form of an {@link org.bukkit.entity.Item Item}.
+ *
+ * If the block represented by this state is no longer a dropper, this will
+ * do nothing.
+ */
+ public drop(): void;
+ }
+ }
+ }
+}
diff --git a/packages/bukkit/src/typings/org.bukkit.block.EnchantingTable.ts b/packages/bukkit/src/typings/org.bukkit.block.EnchantingTable.ts
new file mode 100644
index 00000000..6e59690c
--- /dev/null
+++ b/packages/bukkit/src/typings/org.bukkit.block.EnchantingTable.ts
@@ -0,0 +1,8 @@
+declare namespace org {
+ namespace bukkit {
+ namespace block {
+ class EnchantingTable {
+ }
+ }
+ }
+}
diff --git a/packages/bukkit/src/typings/org.bukkit.block.EndGateway.ts b/packages/bukkit/src/typings/org.bukkit.block.EndGateway.ts
new file mode 100644
index 00000000..3418fbcc
--- /dev/null
+++ b/packages/bukkit/src/typings/org.bukkit.block.EndGateway.ts
@@ -0,0 +1,46 @@
+declare namespace org {
+ namespace bukkit {
+ namespace block {
+ class EndGateway {
+ /**
+ * Gets the location that entities are teleported to when
+ * entering the gateway portal.
+ *
+ * If this block state is not placed the location's world will be null.
+ */
+ public getExitLocation(): org.bukkit.Location;
+ /**
+ * Sets the exit location that entities are teleported to when
+ * they enter the gateway portal.
+ *
+ * If this block state is not placed the location's world has to be null.
+ */
+ public setExitLocation(location: org.bukkit.Location): void;
+ /**
+ * Gets whether this gateway will teleport entities directly to
+ * the exit location instead of finding a nearby location.
+ */
+ public isExactTeleport(): boolean;
+ /**
+ * Sets whether this gateway will teleport entities directly to
+ * the exit location instead of finding a nearby location.
+ */
+ public setExactTeleport(exact: boolean): void;
+ /**
+ * Gets the age in ticks of the gateway.
+ *
+ * If the block represented by this state is no longer a jukebox, this will
+ * do nothing and return false.
+ */
+ public eject(): boolean;
+ }
+ }
+ }
+}
diff --git a/packages/bukkit/src/typings/org.bukkit.block.Lectern.ts b/packages/bukkit/src/typings/org.bukkit.block.Lectern.ts
new file mode 100644
index 00000000..f07e2c8a
--- /dev/null
+++ b/packages/bukkit/src/typings/org.bukkit.block.Lectern.ts
@@ -0,0 +1,20 @@
+declare namespace org {
+ namespace bukkit {
+ namespace block {
+ class Lectern {
+ /**
+ * Get the current lectern page.
+ */
+ public getPage(): number;
+ /**
+ * Set the current lectern page.
+ * If the page is greater than the number of pages of the book currently in
+ * the inventory, then behavior is undefined.
+ */
+ public setPage(page: number): void;
+ public getInventory(): org.bukkit.inventory.Inventory;
+ public getSnapshotInventory(): org.bukkit.inventory.Inventory;
+ }
+ }
+ }
+}
diff --git a/packages/bukkit/src/typings/org.bukkit.block.Lockable.ts b/packages/bukkit/src/typings/org.bukkit.block.Lockable.ts
new file mode 100644
index 00000000..e1460582
--- /dev/null
+++ b/packages/bukkit/src/typings/org.bukkit.block.Lockable.ts
@@ -0,0 +1,21 @@
+declare namespace org {
+ namespace bukkit {
+ namespace block {
+ class Lockable {
+ /**
+ * Checks if the container has a valid (non empty) key.
+ */
+ public isLocked(): boolean;
+ /**
+ * Gets the key needed to access the container.
+ */
+ public getLock(): string;
+ /**
+ * Sets the key required to access this container. Set to null (or empty
+ * string) to remove key.
+ */
+ public setLock(key: string): void;
+ }
+ }
+ }
+}
diff --git a/packages/bukkit/src/typings/org.bukkit.block.NoteBlock.ts b/packages/bukkit/src/typings/org.bukkit.block.NoteBlock.ts
new file mode 100644
index 00000000..e4bb8611
--- /dev/null
+++ b/packages/bukkit/src/typings/org.bukkit.block.NoteBlock.ts
@@ -0,0 +1,45 @@
+declare namespace org {
+ namespace bukkit {
+ namespace block {
+ class NoteBlock {
+ /**
+ * Gets the note.
+ */
+ public getNote(): org.bukkit.Note;
+ /**
+ * Gets the note.
+ */
+ public getRawNote(): number;
+ /**
+ * Set the note.
+ */
+ public setNote(note: org.bukkit.Note): void;
+ /**
+ * Set the note.
+ */
+ public setRawNote(note: number): void;
+ /**
+ * Attempts to play the note at the block.
+ *
+ * If the block represented by this block state is no longer a note block,
+ * this will return false.
+ */
+ public play(): boolean;
+ /**
+ * Plays an arbitrary note with an arbitrary instrument at the block.
+ *
+ * If the block represented by this block state is no longer a note block,
+ * this will return false.
+ */
+ public play(instrument: number, note: number): boolean;
+ /**
+ * Plays an arbitrary note with an arbitrary instrument at the block.
+ *
+ * If the block represented by this block state is no longer a note block,
+ * this will return false.
+ */
+ public play(instrument: org.bukkit.Instrument, note: org.bukkit.Note): boolean;
+ }
+ }
+ }
+}
diff --git a/packages/bukkit/src/typings/org.bukkit.block.PistonMoveReaction.ts b/packages/bukkit/src/typings/org.bukkit.block.PistonMoveReaction.ts
new file mode 100644
index 00000000..17f87ae7
--- /dev/null
+++ b/packages/bukkit/src/typings/org.bukkit.block.PistonMoveReaction.ts
@@ -0,0 +1,17 @@
+declare namespace org {
+ namespace bukkit {
+ namespace block {
+ class PistonMoveReaction {
+ public static MOVE: org.bukkit.block.PistonMoveReaction;
+ public static BREAK: org.bukkit.block.PistonMoveReaction;
+ public static BLOCK: org.bukkit.block.PistonMoveReaction;
+ public static IGNORE: org.bukkit.block.PistonMoveReaction;
+ public static PUSH_ONLY: org.bukkit.block.PistonMoveReaction;
+ public static values(): org.bukkit.block.PistonMoveReaction[];
+ public static valueOf(name: string): org.bukkit.block.PistonMoveReaction;
+ public getId(): number;
+ public static getById(id: number): org.bukkit.block.PistonMoveReaction;
+ }
+ }
+ }
+}
diff --git a/packages/bukkit/src/typings/org.bukkit.block.ShulkerBox.ts b/packages/bukkit/src/typings/org.bukkit.block.ShulkerBox.ts
new file mode 100644
index 00000000..881a4be2
--- /dev/null
+++ b/packages/bukkit/src/typings/org.bukkit.block.ShulkerBox.ts
@@ -0,0 +1,12 @@
+declare namespace org {
+ namespace bukkit {
+ namespace block {
+ class ShulkerBox {
+ /**
+ * Get the {@link DyeColor} corresponding to this ShulkerBox
+ */
+ public getColor(): org.bukkit.DyeColor;
+ }
+ }
+ }
+}
diff --git a/packages/bukkit/src/typings/org.bukkit.block.Sign.ts b/packages/bukkit/src/typings/org.bukkit.block.Sign.ts
new file mode 100644
index 00000000..07c9169e
--- /dev/null
+++ b/packages/bukkit/src/typings/org.bukkit.block.Sign.ts
@@ -0,0 +1,41 @@
+declare namespace org {
+ namespace bukkit {
+ namespace block {
+ class Sign {
+ /**
+ * Gets all the lines of text currently on this sign.
+ */
+ public getLines(): any;
+ /**
+ * Gets the line of text at the specified index.
+ *
+ * For example, getLine(0) will return the first line of text.
+ */
+ public getLine(index: number): string;
+ /**
+ * Sets the line of text at the specified index.
+ *
+ * For example, setLine(0, "Line One") will set the first line of text to
+ * "Line One".
+ */
+ public setLine(index: number, line: string): void;
+ /**
+ * Marks whether this sign can be edited by players.
+ *
+ * Involves a potentially blocking web request to acquire the profile data for
+ * the provided name.
+ */
+ public setOwner(name: string): boolean;
+ /**
+ * Get the player which owns the skull. This player may appear as the
+ * texture depending on skull type.
+ */
+ public getOwningPlayer(): org.bukkit.OfflinePlayer;
+ /**
+ * Set the player which owns the skull. This player may appear as the
+ * texture depending on skull type.
+ */
+ public setOwningPlayer(player: org.bukkit.OfflinePlayer): void;
+ /**
+ * Gets the rotation of the skull in the world (or facing direction if this
+ * is a wall mounted skull).
+ */
+ public getRotation(): org.bukkit.block.BlockFace;
+ /**
+ * Sets the rotation of the skull in the world (or facing direction if this
+ * is a wall mounted skull).
+ */
+ public setRotation(rotation: org.bukkit.block.BlockFace): void;
+ /**
+ * Gets the type of skull
+ */
+ public getSkullType(): org.bukkit.SkullType;
+ /**
+ * Sets the type of skull
+ */
+ public setSkullType(skullType: org.bukkit.SkullType): void;
+ }
+ }
+ }
+}
diff --git a/packages/bukkit/src/typings/org.bukkit.block.Smoker.ts b/packages/bukkit/src/typings/org.bukkit.block.Smoker.ts
new file mode 100644
index 00000000..f1a1f589
--- /dev/null
+++ b/packages/bukkit/src/typings/org.bukkit.block.Smoker.ts
@@ -0,0 +1,8 @@
+declare namespace org {
+ namespace bukkit {
+ namespace block {
+ class Smoker {
+ }
+ }
+ }
+}
diff --git a/packages/bukkit/src/typings/org.bukkit.block.Structure.ts b/packages/bukkit/src/typings/org.bukkit.block.Structure.ts
new file mode 100644
index 00000000..ea4fa3de
--- /dev/null
+++ b/packages/bukkit/src/typings/org.bukkit.block.Structure.ts
@@ -0,0 +1,143 @@
+declare namespace org {
+ namespace bukkit {
+ namespace block {
+ class Structure {
+ /**
+ * The name of this structure.
+ */
+ public getStructureName(): string;
+ /**
+ * Set the name of this structure. This is case-sensitive. The name of the
+ * structure in the {@link UsageMode#SAVE} structure block MUST match the
+ * name within the {@link UsageMode#CORNER} block or the size calculation
+ * will fail.
+ */
+ public setStructureName(name: string): void;
+ /**
+ * Get the name of who created this structure.
+ */
+ public getAuthor(): string;
+ /**
+ * Set the name of whoever created this structure.
+ */
+ public setAuthor(author: string): void;
+ /**
+ * Set the name of whoever created this structure using a
+ * {@link LivingEntity}.
+ */
+ public setAuthor(livingEntity: org.bukkit.entity.LivingEntity): void;
+ /**
+ * The relative position of the structure outline based on the position of
+ * the structure block. Maximum allowed distance is 32 blocks in any
+ * direction.
+ */
+ public getRelativePosition(): org.bukkit.util.BlockVector;
+ /**
+ * Set the relative position from the structure block. Maximum allowed
+ * distance is 32 blocks in any direction.
+ */
+ public setRelativePosition(vector: org.bukkit.util.BlockVector): void;
+ /**
+ * The distance to the opposite corner of this structure. The maximum
+ * structure size is 32x32x32. When a structure has successfully been
+ * calculated (i.e. it is within the maximum allowed distance) a white
+ * border surrounds the structure.
+ */
+ public getStructureSize(): org.bukkit.util.BlockVector;
+ /**
+ * Set the maximum size of this structure from the origin point. Maximum
+ * allowed size is 32x32x32.
+ */
+ public setStructureSize(vector: org.bukkit.util.BlockVector): void;
+ /**
+ * Sets the mirroring of the structure.
+ */
+ public setMirror(mirror: org.bukkit.block.structure.Mirror): void;
+ /**
+ * How this structure is mirrored.
+ */
+ public getMirror(): org.bukkit.block.structure.Mirror;
+ /**
+ * Set how this structure is rotated.
+ */
+ public setRotation(rotation: org.bukkit.block.structure.StructureRotation): void;
+ /**
+ * Get how this structure is rotated.
+ */
+ public getRotation(): org.bukkit.block.structure.StructureRotation;
+ /**
+ * Set the {@link UsageMode} of this structure block.
+ */
+ public setUsageMode(mode: org.bukkit.block.structure.UsageMode): void;
+ /**
+ * Get the {@link UsageMode} of this structure block.
+ */
+ public getUsageMode(): org.bukkit.block.structure.UsageMode;
+ /**
+ * While in {@link UsageMode#SAVE} mode, this will ignore any entities when
+ * saving the structure.
+ *
+ * This {@link PersistentDataHolder} is only linked to the snapshot instance
+ * stored by the {@link BlockState}.
+ * When storing changes on the {@link PersistentDataHolder}, the updated
+ * content will only be applied to the actual tile entity after one of the
+ * {@link #update()} methods is called.
+ */
+ public getPersistentDataContainer(): org.bukkit.persistence.PersistentDataContainer;
+ }
+ }
+ }
+}
diff --git a/packages/bukkit/src/typings/org.bukkit.block.banner.Pattern.ts b/packages/bukkit/src/typings/org.bukkit.block.banner.Pattern.ts
new file mode 100644
index 00000000..8fa284c7
--- /dev/null
+++ b/packages/bukkit/src/typings/org.bukkit.block.banner.Pattern.ts
@@ -0,0 +1,30 @@
+declare namespace org {
+ namespace bukkit {
+ namespace block {
+ namespace banner {
+ class Pattern {
+ /**
+ * Creates a new pattern from the specified color and
+ * pattern type
+ */
+ constructor(color: org.bukkit.DyeColor, pattern: org.bukkit.block.banner.PatternType)
+ /**
+ * Constructor for deserialization.
+ */
+ constructor(map: Map
+ * This method will only take effect for BlockData instances created by
+ * methods such as {@link Server#createBlockData(String)} or any similar
+ * method whereby states are optionally defined. If otherwise, the result of
+ * {@link #getAsString()} will be returned. The following behaviour would be
+ * expected:
+ *
+ * May only be used before registering the command.
+ * Will return true if the new name is set, and false
+ * if the command has already been registered.
+ */
+ public setName(name: string): boolean;
+ /**
+ * Gets the permission required by users to be able to perform this
+ * command
+ */
+ public getPermission(): string;
+ /**
+ * Sets the permission required by users to be able to perform this
+ * command
+ */
+ public setPermission(permission: string): void;
+ /**
+ * Tests the given {@link CommandSender} to see if they can perform this
+ * command.
+ *
+ * If they do not have permission, they will be informed that they cannot
+ * do this.
+ */
+ public testPermission(target: org.bukkit.command.CommandSender): boolean;
+ /**
+ * Tests the given {@link CommandSender} to see if they can perform this
+ * command.
+ *
+ * No error is sent to the sender.
+ */
+ public testPermissionSilent(target: org.bukkit.command.CommandSender): boolean;
+ /**
+ * Returns the label for this command
+ */
+ public getLabel(): string;
+ /**
+ * Sets the label of this command.
+ *
+ * May only be used before registering the command.
+ * Will return true if the new name is set, and false
+ * if the command has already been registered.
+ */
+ public setLabel(name: string): boolean;
+ /**
+ * Registers this command to a CommandMap.
+ * Once called it only allows changes the registered CommandMap
+ */
+ public register(commandMap: org.bukkit.command.CommandMap): boolean;
+ /**
+ * Unregisters this command from the passed CommandMap applying any
+ * outstanding changes
+ */
+ public unregister(commandMap: org.bukkit.command.CommandMap): boolean;
+ /**
+ * Returns the current registered state of this command
+ */
+ public isRegistered(): boolean;
+ /**
+ * Returns a list of active aliases of this command
+ */
+ public getAliases(): any[] /*java.util.List*/;
+ /**
+ * Returns a message to be displayed on a failed permission check for this
+ * command
+ */
+ public getPermissionMessage(): string;
+ /**
+ * Gets a brief description of this command
+ */
+ public getDescription(): string;
+ /**
+ * Gets an example usage of this command
+ */
+ public getUsage(): string;
+ /**
+ * Sets the list of aliases to request on registration for this command.
+ * This is not effective outside of defining aliases in the {@link
+ * PluginDescriptionFile#getCommands()} (under the
+ * `
+ * Caller can use:-
+ *
+ * Caller can use:-
+ *
+ * Caller can use:-
+ *
+ * If no TabCompleter is specified, and the command's executor implements
+ * TabCompleter, then the executor will be used for tab completion.
+ */
+ public setTabCompleter(completer: org.bukkit.command.TabCompleter): void;
+ /**
+ * Gets the {@link TabCompleter} associated with this command.
+ */
+ public getTabCompleter(): org.bukkit.command.TabCompleter;
+ /**
+ * Gets the owner of this PluginCommand
+ */
+ public getPlugin(): org.bukkit.plugin.Plugin;
+ /**
+ * {@inheritDoc}
+ *
+ * Delegates to the tab completer if present.
+ *
+ * If it is not present or returns null, will delegate to the current
+ * command executor if it implements {@link TabCompleter}. If a non-null
+ * list has not been found, will default to standard player name
+ * completion in {@link
+ * Command#tabComplete(CommandSender, String, String[])}.
+ *
+ * This method does not consider permissions.
+ */
+ public tabComplete(sender: org.bukkit.command.CommandSender, alias: string, args: string): any[] /*java.util.List*/;
+ public toString(): string;
+ }
+ }
+ }
+}
diff --git a/packages/bukkit/src/typings/org.bukkit.command.PluginCommandYamlParser.ts b/packages/bukkit/src/typings/org.bukkit.command.PluginCommandYamlParser.ts
new file mode 100644
index 00000000..ab4b3294
--- /dev/null
+++ b/packages/bukkit/src/typings/org.bukkit.command.PluginCommandYamlParser.ts
@@ -0,0 +1,10 @@
+declare namespace org {
+ namespace bukkit {
+ namespace command {
+ class PluginCommandYamlParser {
+ constructor()
+ public static parse(plugin: org.bukkit.plugin.Plugin): any[] /*java.util.List*/;
+ }
+ }
+ }
+}
diff --git a/packages/bukkit/src/typings/org.bukkit.command.PluginIdentifiableCommand.ts b/packages/bukkit/src/typings/org.bukkit.command.PluginIdentifiableCommand.ts
new file mode 100644
index 00000000..ae0b5606
--- /dev/null
+++ b/packages/bukkit/src/typings/org.bukkit.command.PluginIdentifiableCommand.ts
@@ -0,0 +1,12 @@
+declare namespace org {
+ namespace bukkit {
+ namespace command {
+ class PluginIdentifiableCommand {
+ /**
+ * Gets the owner of this PluginIdentifiableCommand.
+ */
+ public getPlugin(): org.bukkit.plugin.Plugin;
+ }
+ }
+ }
+}
diff --git a/packages/bukkit/src/typings/org.bukkit.command.ProxiedCommandSender.ts b/packages/bukkit/src/typings/org.bukkit.command.ProxiedCommandSender.ts
new file mode 100644
index 00000000..1d055cf5
--- /dev/null
+++ b/packages/bukkit/src/typings/org.bukkit.command.ProxiedCommandSender.ts
@@ -0,0 +1,16 @@
+declare namespace org {
+ namespace bukkit {
+ namespace command {
+ class ProxiedCommandSender {
+ /**
+ * Returns the CommandSender which triggered this proxied command
+ */
+ public getCaller(): org.bukkit.command.CommandSender;
+ /**
+ * Returns the CommandSender which is being used to call the command
+ */
+ public getCallee(): org.bukkit.command.CommandSender;
+ }
+ }
+ }
+}
diff --git a/packages/bukkit/src/typings/org.bukkit.command.RemoteConsoleCommandSender.ts b/packages/bukkit/src/typings/org.bukkit.command.RemoteConsoleCommandSender.ts
new file mode 100644
index 00000000..dbc08078
--- /dev/null
+++ b/packages/bukkit/src/typings/org.bukkit.command.RemoteConsoleCommandSender.ts
@@ -0,0 +1,8 @@
+declare namespace org {
+ namespace bukkit {
+ namespace command {
+ class RemoteConsoleCommandSender {
+ }
+ }
+ }
+}
diff --git a/packages/bukkit/src/typings/org.bukkit.command.SimpleCommandMap.ts b/packages/bukkit/src/typings/org.bukkit.command.SimpleCommandMap.ts
new file mode 100644
index 00000000..8ba5894d
--- /dev/null
+++ b/packages/bukkit/src/typings/org.bukkit.command.SimpleCommandMap.ts
@@ -0,0 +1,33 @@
+declare namespace org {
+ namespace bukkit {
+ namespace command {
+ class SimpleCommandMap {
+ constructor(server: org.bukkit.Server)
+ protected knownCommands: Map
+ * If no source {@link Configuration} was provided as a default
+ * collection, then a new {@link MemoryConfiguration} will be created to
+ * hold the new default value.
+ *
+ * If value is null, the value will be removed from the default
+ * Configuration source.
+ */
+ public addDefault(path: string, value: any): void;
+ /**
+ * Sets the default values of the given paths as provided.
+ *
+ * If no source {@link Configuration} was provided as a default
+ * collection, then a new {@link MemoryConfiguration} will be created to
+ * hold the new default values.
+ */
+ public addDefaults(defaults: Map
+ * If no source {@link Configuration} was provided as a default
+ * collection, then a new {@link MemoryConfiguration} will be created to
+ * hold the new default value.
+ *
+ * This method will not hold a reference to the specified Configuration,
+ * nor will it automatically update if that Configuration ever changes. If
+ * you require this, you should set the default source with {@link
+ * #setDefaults(org.bukkit.configuration.Configuration)}.
+ */
+ public addDefaults(defaults: org.bukkit.configuration.Configuration): void;
+ /**
+ * Sets the source of all default values for this {@link Configuration}.
+ *
+ * If a previous source was set, or previous default values were defined,
+ * then they will not be copied to the new source.
+ */
+ public setDefaults(defaults: org.bukkit.configuration.Configuration): void;
+ /**
+ * Gets the source {@link Configuration} for this configuration.
+ *
+ * If no configuration source was set, but default values were added, then
+ * a {@link MemoryConfiguration} will be returned. If no source was set
+ * and no defaults were set, then this method will return null.
+ */
+ public getDefaults(): org.bukkit.configuration.Configuration;
+ /**
+ * Gets the {@link ConfigurationOptions} for this {@link Configuration}.
+ *
+ * All setters through this method are chainable.
+ */
+ public options(): org.bukkit.configuration.ConfigurationOptions;
+ }
+ }
+ }
+}
diff --git a/packages/bukkit/src/typings/org.bukkit.configuration.ConfigurationOptions.ts b/packages/bukkit/src/typings/org.bukkit.configuration.ConfigurationOptions.ts
new file mode 100644
index 00000000..328702b1
--- /dev/null
+++ b/packages/bukkit/src/typings/org.bukkit.configuration.ConfigurationOptions.ts
@@ -0,0 +1,55 @@
+declare namespace org {
+ namespace bukkit {
+ namespace configuration {
+ class ConfigurationOptions {
+ constructor(configuration: org.bukkit.configuration.Configuration)
+ /**
+ * Returns the {@link Configuration} that this object is responsible for.
+ */
+ public configuration(): org.bukkit.configuration.Configuration;
+ /**
+ * Gets the char that will be used to separate {@link
+ * ConfigurationSection}s
+ *
+ * This value does not affect how the {@link Configuration} is stored,
+ * only in how you access the data. The default value is '.'.
+ */
+ public pathSeparator(): string;
+ /**
+ * Sets the char that will be used to separate {@link
+ * ConfigurationSection}s
+ *
+ * This value does not affect how the {@link Configuration} is stored,
+ * only in how you access the data. The default value is '.'.
+ */
+ public pathSeparator(value: string): org.bukkit.configuration.ConfigurationOptions;
+ /**
+ * Checks if the {@link Configuration} should copy values from its default
+ * {@link Configuration} directly.
+ *
+ * If this is true, all values in the default Configuration will be
+ * directly copied, making it impossible to distinguish between values
+ * that were set and values that are provided by default. As a result,
+ * {@link ConfigurationSection#contains(java.lang.String)} will always
+ * return the same value as {@link
+ * ConfigurationSection#isSet(java.lang.String)}. The default value is
+ * false.
+ */
+ public copyDefaults(): boolean;
+ /**
+ * Sets if the {@link Configuration} should copy values from its default
+ * {@link Configuration} directly.
+ *
+ * If this is true, all values in the default Configuration will be
+ * directly copied, making it impossible to distinguish between values
+ * that were set and values that are provided by default. As a result,
+ * {@link ConfigurationSection#contains(java.lang.String)} will always
+ * return the same value as {@link
+ * ConfigurationSection#isSet(java.lang.String)}. The default value is
+ * false.
+ */
+ public copyDefaults(value: boolean): org.bukkit.configuration.ConfigurationOptions;
+ }
+ }
+ }
+}
diff --git a/packages/bukkit/src/typings/org.bukkit.configuration.ConfigurationSection.ts b/packages/bukkit/src/typings/org.bukkit.configuration.ConfigurationSection.ts
new file mode 100644
index 00000000..3538d61a
--- /dev/null
+++ b/packages/bukkit/src/typings/org.bukkit.configuration.ConfigurationSection.ts
@@ -0,0 +1,601 @@
+declare namespace org {
+ namespace bukkit {
+ namespace configuration {
+ class ConfigurationSection {
+ /**
+ * Gets a set containing all keys in this section.
+ *
+ * If deep is set to true, then this will contain all the keys within any
+ * child {@link ConfigurationSection}s (and their children, etc). These
+ * will be in a valid path notation for you to use.
+ *
+ * If deep is set to false, then this will contain only the keys of any
+ * direct children, and not their own children.
+ */
+ public getKeys(deep: boolean): any[] /*java.util.Set*/;
+ /**
+ * Gets a Map containing all keys and their values for this section.
+ *
+ * If deep is set to true, then this will contain all the keys and values
+ * within any child {@link ConfigurationSection}s (and their children,
+ * etc). These keys will be in a valid path notation for you to use.
+ *
+ * If deep is set to false, then this will contain only the keys and
+ * values of any direct children, and not their own children.
+ */
+ public getValues(deep: boolean): Map
+ * If the value for the requested path does not exist but a default value
+ * has been specified, this will return true.
+ */
+ public contains(path: string): boolean;
+ /**
+ * Checks if this {@link ConfigurationSection} contains the given path.
+ *
+ * If the value for the requested path does not exist, the boolean parameter
+ * of true has been specified, a default value for the path exists, this
+ * will return true.
+ *
+ * If a boolean parameter of false has been specified, true will only be
+ * returned if there is a set value for the specified path.
+ */
+ public contains(path: string, ignoreDefault: boolean): boolean;
+ /**
+ * Checks if this {@link ConfigurationSection} has a value set for the
+ * given path.
+ *
+ * If the value for the requested path does not exist but a default value
+ * has been specified, this will still return false.
+ */
+ public isSet(path: string): boolean;
+ /**
+ * Gets the path of this {@link ConfigurationSection} from its root {@link
+ * Configuration}
+ *
+ * For any {@link Configuration} themselves, this will return an empty
+ * string.
+ *
+ * If the section is no longer contained within its root for any reason,
+ * such as being replaced with a different value, this may return null.
+ *
+ * To retrieve the single name of this section, that is, the final part of
+ * the path returned by this method, you may use {@link #getName()}.
+ */
+ public getCurrentPath(): string;
+ /**
+ * Gets the name of this individual {@link ConfigurationSection}, in the
+ * path.
+ *
+ * This will always be the final part of {@link #getCurrentPath()}, unless
+ * the section is orphaned.
+ */
+ public getName(): string;
+ /**
+ * Gets the root {@link Configuration} that contains this {@link
+ * ConfigurationSection}
+ *
+ * For any {@link Configuration} themselves, this will return its own
+ * object.
+ *
+ * If the section is no longer contained within its root for any reason,
+ * such as being replaced with a different value, this may return null.
+ */
+ public getRoot(): org.bukkit.configuration.Configuration;
+ /**
+ * Gets the parent {@link ConfigurationSection} that directly contains
+ * this {@link ConfigurationSection}.
+ *
+ * For any {@link Configuration} themselves, this will return null.
+ *
+ * If the section is no longer contained within its parent for any reason,
+ * such as being replaced with a different value, this may return null.
+ */
+ public getParent(): org.bukkit.configuration.ConfigurationSection;
+ /**
+ * Gets the requested Object by path.
+ *
+ * If the Object does not exist but a default value has been specified,
+ * this will return the default value. If the Object does not exist and no
+ * default value was specified, this will return null.
+ */
+ public get(path: string): any;
+ /**
+ * Gets the requested Object by path, returning a default value if not
+ * found.
+ *
+ * If the Object does not exist then the specified default value will
+ * returned regardless of if a default has been identified in the root
+ * {@link Configuration}.
+ */
+ public get(path: string, def: any): any;
+ /**
+ * Sets the specified path to the given value.
+ *
+ * If value is null, the entry will be removed. Any existing entry will be
+ * replaced, regardless of what the new value is.
+ *
+ * Some implementations may have limitations on what you may store. See
+ * their individual javadocs for details. No implementations should allow
+ * you to store {@link Configuration}s or {@link ConfigurationSection}s,
+ * please use {@link #createSection(java.lang.String)} for that.
+ */
+ public set(path: string, value: any): void;
+ /**
+ * Creates an empty {@link ConfigurationSection} at the specified path.
+ *
+ * Any value that was previously set at this path will be overwritten. If
+ * the previous value was itself a {@link ConfigurationSection}, it will
+ * be orphaned.
+ */
+ public createSection(path: string): org.bukkit.configuration.ConfigurationSection;
+ /**
+ * Creates a {@link ConfigurationSection} at the specified path, with
+ * specified values.
+ *
+ * Any value that was previously set at this path will be overwritten. If
+ * the previous value was itself a {@link ConfigurationSection}, it will
+ * be orphaned.
+ */
+ public createSection(path: string, map: Map
+ * If the String does not exist but a default value has been specified,
+ * this will return the default value. If the String does not exist and no
+ * default value was specified, this will return null.
+ */
+ public getString(path: string): string;
+ /**
+ * Gets the requested String by path, returning a default value if not
+ * found.
+ *
+ * If the String does not exist then the specified default value will
+ * returned regardless of if a default has been identified in the root
+ * {@link Configuration}.
+ */
+ public getString(path: string, def: string): string;
+ /**
+ * Checks if the specified path is a String.
+ *
+ * If the path exists but is not a String, this will return false. If the
+ * path does not exist, this will return false. If the path does not exist
+ * but a default value has been specified, this will check if that default
+ * value is a String and return appropriately.
+ */
+ public isString(path: string): boolean;
+ /**
+ * Gets the requested int by path.
+ *
+ * If the int does not exist but a default value has been specified, this
+ * will return the default value. If the int does not exist and no default
+ * value was specified, this will return 0.
+ */
+ public getInt(path: string): number;
+ /**
+ * Gets the requested int by path, returning a default value if not found.
+ *
+ * If the int does not exist then the specified default value will
+ * returned regardless of if a default has been identified in the root
+ * {@link Configuration}.
+ */
+ public getInt(path: string, def: number): number;
+ /**
+ * Checks if the specified path is an int.
+ *
+ * If the path exists but is not a int, this will return false. If the
+ * path does not exist, this will return false. If the path does not exist
+ * but a default value has been specified, this will check if that default
+ * value is a int and return appropriately.
+ */
+ public isInt(path: string): boolean;
+ /**
+ * Gets the requested boolean by path.
+ *
+ * If the boolean does not exist but a default value has been specified,
+ * this will return the default value. If the boolean does not exist and
+ * no default value was specified, this will return false.
+ */
+ public getBoolean(path: string): boolean;
+ /**
+ * Gets the requested boolean by path, returning a default value if not
+ * found.
+ *
+ * If the boolean does not exist then the specified default value will
+ * returned regardless of if a default has been identified in the root
+ * {@link Configuration}.
+ */
+ public getBoolean(path: string, def: boolean): boolean;
+ /**
+ * Checks if the specified path is a boolean.
+ *
+ * If the path exists but is not a boolean, this will return false. If the
+ * path does not exist, this will return false. If the path does not exist
+ * but a default value has been specified, this will check if that default
+ * value is a boolean and return appropriately.
+ */
+ public isBoolean(path: string): boolean;
+ /**
+ * Gets the requested double by path.
+ *
+ * If the double does not exist but a default value has been specified,
+ * this will return the default value. If the double does not exist and no
+ * default value was specified, this will return 0.
+ */
+ public getDouble(path: string): number;
+ /**
+ * Gets the requested double by path, returning a default value if not
+ * found.
+ *
+ * If the double does not exist then the specified default value will
+ * returned regardless of if a default has been identified in the root
+ * {@link Configuration}.
+ */
+ public getDouble(path: string, def: number): number;
+ /**
+ * Checks if the specified path is a double.
+ *
+ * If the path exists but is not a double, this will return false. If the
+ * path does not exist, this will return false. If the path does not exist
+ * but a default value has been specified, this will check if that default
+ * value is a double and return appropriately.
+ */
+ public isDouble(path: string): boolean;
+ /**
+ * Gets the requested long by path.
+ *
+ * If the long does not exist but a default value has been specified, this
+ * will return the default value. If the long does not exist and no
+ * default value was specified, this will return 0.
+ */
+ public getLong(path: string): number;
+ /**
+ * Gets the requested long by path, returning a default value if not
+ * found.
+ *
+ * If the long does not exist then the specified default value will
+ * returned regardless of if a default has been identified in the root
+ * {@link Configuration}.
+ */
+ public getLong(path: string, def: number): number;
+ /**
+ * Checks if the specified path is a long.
+ *
+ * If the path exists but is not a long, this will return false. If the
+ * path does not exist, this will return false. If the path does not exist
+ * but a default value has been specified, this will check if that default
+ * value is a long and return appropriately.
+ */
+ public isLong(path: string): boolean;
+ /**
+ * Gets the requested List by path.
+ *
+ * If the List does not exist but a default value has been specified, this
+ * will return the default value. If the List does not exist and no
+ * default value was specified, this will return null.
+ */
+ public getList(path: string): any[] /*java.util.List*/;
+ /**
+ * Gets the requested List by path, returning a default value if not
+ * found.
+ *
+ * If the List does not exist then the specified default value will
+ * returned regardless of if a default has been identified in the root
+ * {@link Configuration}.
+ */
+ public getList(path: string, def: any[] /*java.util.List*/): any[] /*java.util.List*/;
+ /**
+ * Checks if the specified path is a List.
+ *
+ * If the path exists but is not a List, this will return false. If the
+ * path does not exist, this will return false. If the path does not exist
+ * but a default value has been specified, this will check if that default
+ * value is a List and return appropriately.
+ */
+ public isList(path: string): boolean;
+ /**
+ * Gets the requested List of String by path.
+ *
+ * If the List does not exist but a default value has been specified, this
+ * will return the default value. If the List does not exist and no
+ * default value was specified, this will return an empty List.
+ *
+ * This method will attempt to cast any values into a String if possible,
+ * but may miss any values out if they are not compatible.
+ */
+ public getStringList(path: string): any[] /*java.util.List*/;
+ /**
+ * Gets the requested List of Integer by path.
+ *
+ * If the List does not exist but a default value has been specified, this
+ * will return the default value. If the List does not exist and no
+ * default value was specified, this will return an empty List.
+ *
+ * This method will attempt to cast any values into a Integer if possible,
+ * but may miss any values out if they are not compatible.
+ */
+ public getIntegerList(path: string): any[] /*java.util.List*/;
+ /**
+ * Gets the requested List of Boolean by path.
+ *
+ * If the List does not exist but a default value has been specified, this
+ * will return the default value. If the List does not exist and no
+ * default value was specified, this will return an empty List.
+ *
+ * This method will attempt to cast any values into a Boolean if possible,
+ * but may miss any values out if they are not compatible.
+ */
+ public getBooleanList(path: string): any[] /*java.util.List*/;
+ /**
+ * Gets the requested List of Double by path.
+ *
+ * If the List does not exist but a default value has been specified, this
+ * will return the default value. If the List does not exist and no
+ * default value was specified, this will return an empty List.
+ *
+ * This method will attempt to cast any values into a Double if possible,
+ * but may miss any values out if they are not compatible.
+ */
+ public getDoubleList(path: string): any[] /*java.util.List*/;
+ /**
+ * Gets the requested List of Float by path.
+ *
+ * If the List does not exist but a default value has been specified, this
+ * will return the default value. If the List does not exist and no
+ * default value was specified, this will return an empty List.
+ *
+ * This method will attempt to cast any values into a Float if possible,
+ * but may miss any values out if they are not compatible.
+ */
+ public getFloatList(path: string): any[] /*java.util.List*/;
+ /**
+ * Gets the requested List of Long by path.
+ *
+ * If the List does not exist but a default value has been specified, this
+ * will return the default value. If the List does not exist and no
+ * default value was specified, this will return an empty List.
+ *
+ * This method will attempt to cast any values into a Long if possible,
+ * but may miss any values out if they are not compatible.
+ */
+ public getLongList(path: string): any[] /*java.util.List*/;
+ /**
+ * Gets the requested List of Byte by path.
+ *
+ * If the List does not exist but a default value has been specified, this
+ * will return the default value. If the List does not exist and no
+ * default value was specified, this will return an empty List.
+ *
+ * This method will attempt to cast any values into a Byte if possible,
+ * but may miss any values out if they are not compatible.
+ */
+ public getByteList(path: string): any[] /*java.util.List*/;
+ /**
+ * Gets the requested List of Character by path.
+ *
+ * If the List does not exist but a default value has been specified, this
+ * will return the default value. If the List does not exist and no
+ * default value was specified, this will return an empty List.
+ *
+ * This method will attempt to cast any values into a Character if
+ * possible, but may miss any values out if they are not compatible.
+ */
+ public getCharacterList(path: string): any[] /*java.util.List*/;
+ /**
+ * Gets the requested List of Short by path.
+ *
+ * If the List does not exist but a default value has been specified, this
+ * will return the default value. If the List does not exist and no
+ * default value was specified, this will return an empty List.
+ *
+ * This method will attempt to cast any values into a Short if possible,
+ * but may miss any values out if they are not compatible.
+ */
+ public getShortList(path: string): any[] /*java.util.List*/;
+ /**
+ * Gets the requested List of Maps by path.
+ *
+ * If the List does not exist but a default value has been specified, this
+ * will return the default value. If the List does not exist and no
+ * default value was specified, this will return an empty List.
+ *
+ * This method will attempt to cast any values into a Map if possible, but
+ * may miss any values out if they are not compatible.
+ */
+ public getMapList(path: string): any[] /*java.util.List*/;
+ /**
+ * Gets the requested object at the given path.
+ * If the Object does not exist but a default value has been specified, this
+ * will return the default value. If the Object does not exist and no
+ * default value was specified, this will return null.
+ * Note: For example #getObject(path, String.class) is not
+ * equivalent to {@link #getString(String) #getString(path)} because
+ * {@link #getString(String) #getString(path)} converts internally all
+ * Objects to Strings. However, #getObject(path, Boolean.class) is
+ * equivalent to {@link #getBoolean(String) #getBoolean(path)} for example.
+ */
+ public getObject(path: string, clazz: any): any;
+ /**
+ * Gets the requested object at the given path, returning a default value if
+ * not found
+ * If the Object does not exist then the specified default value will
+ * returned regardless of if a default has been identified in the root
+ * {@link Configuration}.
+ * Note: For example #getObject(path, String.class, def) is
+ * not equivalent to
+ * {@link #getString(String, String) #getString(path, def)} because
+ * {@link #getString(String, String) #getString(path, def)} converts
+ * internally all Objects to Strings. However, #getObject(path,
+ * Boolean.class, def) is equivalent to {@link #getBoolean(String, boolean) #getBoolean(path,
+ * def)} for example.
+ */
+ public getObject(path: string, clazz: any, def: any): any;
+ /**
+ * Gets the requested {@link ConfigurationSerializable} object at the given
+ * path.
+ * If the Object does not exist but a default value has been specified, this
+ * will return the default value. If the Object does not exist and no
+ * default value was specified, this will return null.
+ */
+ public getSerializable(path: string, clazz: any): org.bukkit.configuration.serialization.ConfigurationSerializable;
+ /**
+ * Gets the requested {@link ConfigurationSerializable} object at the given
+ * path, returning a default value if not found
+ * If the Object does not exist then the specified default value will
+ * returned regardless of if a default has been identified in the root
+ * {@link Configuration}.
+ */
+ public getSerializable(path: string, clazz: any, def: org.bukkit.configuration.serialization.ConfigurationSerializable): org.bukkit.configuration.serialization.ConfigurationSerializable;
+ /**
+ * Gets the requested Vector by path.
+ *
+ * If the Vector does not exist but a default value has been specified,
+ * this will return the default value. If the Vector does not exist and no
+ * default value was specified, this will return null.
+ */
+ public getVector(path: string): org.bukkit.util.Vector;
+ /**
+ * Gets the requested {@link Vector} by path, returning a default value if
+ * not found.
+ *
+ * If the Vector does not exist then the specified default value will
+ * returned regardless of if a default has been identified in the root
+ * {@link Configuration}.
+ */
+ public getVector(path: string, def: org.bukkit.util.Vector): org.bukkit.util.Vector;
+ /**
+ * Checks if the specified path is a Vector.
+ *
+ * If the path exists but is not a Vector, this will return false. If the
+ * path does not exist, this will return false. If the path does not exist
+ * but a default value has been specified, this will check if that default
+ * value is a Vector and return appropriately.
+ */
+ public isVector(path: string): boolean;
+ /**
+ * Gets the requested OfflinePlayer by path.
+ *
+ * If the OfflinePlayer does not exist but a default value has been
+ * specified, this will return the default value. If the OfflinePlayer
+ * does not exist and no default value was specified, this will return
+ * null.
+ */
+ public getOfflinePlayer(path: string): org.bukkit.OfflinePlayer;
+ /**
+ * Gets the requested {@link OfflinePlayer} by path, returning a default
+ * value if not found.
+ *
+ * If the OfflinePlayer does not exist then the specified default value
+ * will returned regardless of if a default has been identified in the
+ * root {@link Configuration}.
+ */
+ public getOfflinePlayer(path: string, def: org.bukkit.OfflinePlayer): org.bukkit.OfflinePlayer;
+ /**
+ * Checks if the specified path is an OfflinePlayer.
+ *
+ * If the path exists but is not a OfflinePlayer, this will return false.
+ * If the path does not exist, this will return false. If the path does
+ * not exist but a default value has been specified, this will check if
+ * that default value is a OfflinePlayer and return appropriately.
+ */
+ public isOfflinePlayer(path: string): boolean;
+ /**
+ * Gets the requested ItemStack by path.
+ *
+ * If the ItemStack does not exist but a default value has been specified,
+ * this will return the default value. If the ItemStack does not exist and
+ * no default value was specified, this will return null.
+ */
+ public getItemStack(path: string): org.bukkit.inventory.ItemStack;
+ /**
+ * Gets the requested {@link ItemStack} by path, returning a default value
+ * if not found.
+ *
+ * If the ItemStack does not exist then the specified default value will
+ * returned regardless of if a default has been identified in the root
+ * {@link Configuration}.
+ */
+ public getItemStack(path: string, def: org.bukkit.inventory.ItemStack): org.bukkit.inventory.ItemStack;
+ /**
+ * Checks if the specified path is an ItemStack.
+ *
+ * If the path exists but is not a ItemStack, this will return false. If
+ * the path does not exist, this will return false. If the path does not
+ * exist but a default value has been specified, this will check if that
+ * default value is a ItemStack and return appropriately.
+ */
+ public isItemStack(path: string): boolean;
+ /**
+ * Gets the requested Color by path.
+ *
+ * If the Color does not exist but a default value has been specified,
+ * this will return the default value. If the Color does not exist and no
+ * default value was specified, this will return null.
+ */
+ public getColor(path: string): org.bukkit.Color;
+ /**
+ * Gets the requested {@link Color} by path, returning a default value if
+ * not found.
+ *
+ * If the Color does not exist then the specified default value will
+ * returned regardless of if a default has been identified in the root
+ * {@link Configuration}.
+ */
+ public getColor(path: string, def: org.bukkit.Color): org.bukkit.Color;
+ /**
+ * Checks if the specified path is a Color.
+ *
+ * If the path exists but is not a Color, this will return false. If the
+ * path does not exist, this will return false. If the path does not exist
+ * but a default value has been specified, this will check if that default
+ * value is a Color and return appropriately.
+ */
+ public isColor(path: string): boolean;
+ /**
+ * Gets the requested ConfigurationSection by path.
+ *
+ * If the ConfigurationSection does not exist but a default value has been
+ * specified, this will return the default value. If the
+ * ConfigurationSection does not exist and no default value was specified,
+ * this will return null.
+ */
+ public getConfigurationSection(path: string): org.bukkit.configuration.ConfigurationSection;
+ /**
+ * Checks if the specified path is a ConfigurationSection.
+ *
+ * If the path exists but is not a ConfigurationSection, this will return
+ * false. If the path does not exist, this will return false. If the path
+ * does not exist but a default value has been specified, this will check
+ * if that default value is a ConfigurationSection and return
+ * appropriately.
+ */
+ public isConfigurationSection(path: string): boolean;
+ /**
+ * Gets the equivalent {@link ConfigurationSection} from the default
+ * {@link Configuration} defined in {@link #getRoot()}.
+ *
+ * If the root contains no defaults, or the defaults doesn't contain a
+ * value for this path, or the value at this path is not a {@link
+ * ConfigurationSection} then this will return null.
+ */
+ public getDefaultSection(): org.bukkit.configuration.ConfigurationSection;
+ /**
+ * Sets the default value in the root at the given path as provided.
+ *
+ * If no source {@link Configuration} was provided as a default
+ * collection, then a new {@link MemoryConfiguration} will be created to
+ * hold the new default value.
+ *
+ * If value is null, the value will be removed from the default
+ * Configuration source.
+ *
+ * If the value as returned by {@link #getDefaultSection()} is null, then
+ * this will create a new section at the path, replacing anything that may
+ * have existed there previously.
+ */
+ public addDefault(path: string, value: any): void;
+ }
+ }
+ }
+}
diff --git a/packages/bukkit/src/typings/org.bukkit.configuration.InvalidConfigurationException.ts b/packages/bukkit/src/typings/org.bukkit.configuration.InvalidConfigurationException.ts
new file mode 100644
index 00000000..b614c335
--- /dev/null
+++ b/packages/bukkit/src/typings/org.bukkit.configuration.InvalidConfigurationException.ts
@@ -0,0 +1,28 @@
+declare namespace org {
+ namespace bukkit {
+ namespace configuration {
+ class InvalidConfigurationException {
+ /**
+ * Creates a new instance of InvalidConfigurationException without a
+ * message or cause.
+ */
+ constructor()
+ /**
+ * Constructs an instance of InvalidConfigurationException with the
+ * specified message.
+ */
+ constructor(msg: string)
+ /**
+ * Constructs an instance of InvalidConfigurationException with the
+ * specified cause.
+ */
+ constructor(cause: any)
+ /**
+ * Constructs an instance of InvalidConfigurationException with the
+ * specified message and cause.
+ */
+ constructor(msg: string, cause: any)
+ }
+ }
+ }
+}
diff --git a/packages/bukkit/src/typings/org.bukkit.configuration.MemoryConfiguration.ts b/packages/bukkit/src/typings/org.bukkit.configuration.MemoryConfiguration.ts
new file mode 100644
index 00000000..ac419ac5
--- /dev/null
+++ b/packages/bukkit/src/typings/org.bukkit.configuration.MemoryConfiguration.ts
@@ -0,0 +1,25 @@
+declare namespace org {
+ namespace bukkit {
+ namespace configuration {
+ class MemoryConfiguration {
+ /**
+ * Creates an empty {@link MemoryConfiguration} with no default values.
+ */
+ constructor()
+ /**
+ * Creates an empty {@link MemoryConfiguration} using the specified {@link
+ * Configuration} as a source for all default values.
+ */
+ constructor(defaults: org.bukkit.configuration.Configuration)
+ protected defaults: org.bukkit.configuration.Configuration;
+ public addDefault(path: string, value: any): void;
+ public addDefaults(defaults: Map
+ * Note that calling this without being yourself a {@link Configuration}
+ * will throw an exception!
+ */
+ constructor()
+ /**
+ * Creates an empty MemorySection with the specified parent and path.
+ */
+ constructor(parent: org.bukkit.configuration.ConfigurationSection, path: string)
+ public getKeys(deep: boolean): any[] /*java.util.Set*/;
+ public getValues(deep: boolean): Map
+ * You may use this method for any given {@link ConfigurationSection}, not
+ * only {@link MemorySection}.
+ */
+ public static createPath(section: org.bukkit.configuration.ConfigurationSection, key: string): string;
+ /**
+ * Creates a relative path to the given {@link ConfigurationSection} from
+ * the given relative section.
+ *
+ * You may use this method for any given {@link ConfigurationSection}, not
+ * only {@link MemorySection}.
+ */
+ public static createPath(section: org.bukkit.configuration.ConfigurationSection, key: string, relativeTo: org.bukkit.configuration.ConfigurationSection): string;
+ public toString(): string;
+ }
+ }
+ }
+}
diff --git a/packages/bukkit/src/typings/org.bukkit.configuration.file.FileConfiguration.ts b/packages/bukkit/src/typings/org.bukkit.configuration.file.FileConfiguration.ts
new file mode 100644
index 00000000..8e4296d1
--- /dev/null
+++ b/packages/bukkit/src/typings/org.bukkit.configuration.file.FileConfiguration.ts
@@ -0,0 +1,96 @@
+declare namespace org {
+ namespace bukkit {
+ namespace configuration {
+ namespace file {
+ abstract class FileConfiguration {
+ /**
+ * Creates an empty {@link FileConfiguration} with no default values.
+ */
+ constructor()
+ /**
+ * Creates an empty {@link FileConfiguration} using the specified {@link
+ * Configuration} as a source for all default values.
+ */
+ constructor(defaults: org.bukkit.configuration.Configuration)
+ /**
+ * Saves this {@link FileConfiguration} to the specified location.
+ *
+ * If the file does not exist, it will be created. If already exists, it
+ * will be overwritten. If it cannot be overwritten or created, an
+ * exception will be thrown.
+ *
+ * This method will save using the system default encoding, or possibly
+ * using UTF8.
+ */
+ public save(file: any): void;
+ /**
+ * Saves this {@link FileConfiguration} to the specified location.
+ *
+ * If the file does not exist, it will be created. If already exists, it
+ * will be overwritten. If it cannot be overwritten or created, an
+ * exception will be thrown.
+ *
+ * This method will save using the system default encoding, or possibly
+ * using UTF8.
+ */
+ public save(file: string): void;
+ /**
+ * Saves this {@link FileConfiguration} to a string, and returns it.
+ */
+ public abstract saveToString(): string;
+ /**
+ * Loads this {@link FileConfiguration} from the specified location.
+ *
+ * All the values contained within this configuration will be removed,
+ * leaving only settings and defaults, and the new values will be loaded
+ * from the given file.
+ *
+ * If the file cannot be loaded for any reason, an exception will be
+ * thrown.
+ */
+ public load(file: any): void;
+ /**
+ * Loads this {@link FileConfiguration} from the specified reader.
+ *
+ * All the values contained within this configuration will be removed,
+ * leaving only settings and defaults, and the new values will be loaded
+ * from the given stream.
+ */
+ public load(reader: any): void;
+ /**
+ * Loads this {@link FileConfiguration} from the specified location.
+ *
+ * All the values contained within this configuration will be removed,
+ * leaving only settings and defaults, and the new values will be loaded
+ * from the given file.
+ *
+ * If the file cannot be loaded for any reason, an exception will be
+ * thrown.
+ */
+ public load(file: string): void;
+ /**
+ * Loads this {@link FileConfiguration} from the specified string, as
+ * opposed to from file.
+ *
+ * All the values contained within this configuration will be removed,
+ * leaving only settings and defaults, and the new values will be loaded
+ * from the given string.
+ *
+ * If the string is invalid in any way, an exception will be thrown.
+ */
+ public abstract loadFromString(contents: string): void;
+ /**
+ * Compiles the header for this {@link FileConfiguration} and returns the
+ * result.
+ *
+ * This will use the header from {@link #options()} -> {@link
+ * FileConfigurationOptions#header()}, respecting the rules of {@link
+ * FileConfigurationOptions#copyHeader()} if set.
+ */
+ protected abstract buildHeader(): string;
+ public options(): org.bukkit.configuration.file.FileConfigurationOptions;
+ }
+ }
+ }
+ }
+}
diff --git a/packages/bukkit/src/typings/org.bukkit.configuration.file.FileConfigurationOptions.ts b/packages/bukkit/src/typings/org.bukkit.configuration.file.FileConfigurationOptions.ts
new file mode 100644
index 00000000..5e44c219
--- /dev/null
+++ b/packages/bukkit/src/typings/org.bukkit.configuration.file.FileConfigurationOptions.ts
@@ -0,0 +1,74 @@
+declare namespace org {
+ namespace bukkit {
+ namespace configuration {
+ namespace file {
+ class FileConfigurationOptions {
+ constructor(configuration: org.bukkit.configuration.MemoryConfiguration)
+ public configuration(): org.bukkit.configuration.file.FileConfiguration;
+ public copyDefaults(value: boolean): org.bukkit.configuration.file.FileConfigurationOptions;
+ public pathSeparator(value: string): org.bukkit.configuration.file.FileConfigurationOptions;
+ /**
+ * Gets the header that will be applied to the top of the saved output.
+ *
+ * This header will be commented out and applied directly at the top of
+ * the generated output of the {@link FileConfiguration}. It is not
+ * required to include a newline at the end of the header as it will
+ * automatically be applied, but you may include one if you wish for extra
+ * spacing.
+ *
+ * Null is a valid value which will indicate that no header is to be
+ * applied. The default value is null.
+ */
+ public header(): string;
+ /**
+ * Sets the header that will be applied to the top of the saved output.
+ *
+ * This header will be commented out and applied directly at the top of
+ * the generated output of the {@link FileConfiguration}. It is not
+ * required to include a newline at the end of the header as it will
+ * automatically be applied, but you may include one if you wish for extra
+ * spacing.
+ *
+ * Null is a valid value which will indicate that no header is to be
+ * applied.
+ */
+ public header(value: string): org.bukkit.configuration.file.FileConfigurationOptions;
+ /**
+ * Gets whether or not the header should be copied from a default source.
+ *
+ * If this is true, if a default {@link FileConfiguration} is passed to
+ * {@link
+ * FileConfiguration#setDefaults(org.bukkit.configuration.Configuration)}
+ * then upon saving it will use the header from that config, instead of
+ * the one provided here.
+ *
+ * If no default is set on the configuration, or the default is not of
+ * type FileConfiguration, or that config has no header ({@link #header()}
+ * returns null) then the header specified in this configuration will be
+ * used.
+ *
+ * Defaults to true.
+ */
+ public copyHeader(): boolean;
+ /**
+ * Sets whether or not the header should be copied from a default source.
+ *
+ * If this is true, if a default {@link FileConfiguration} is passed to
+ * {@link
+ * FileConfiguration#setDefaults(org.bukkit.configuration.Configuration)}
+ * then upon saving it will use the header from that config, instead of
+ * the one provided here.
+ *
+ * If no default is set on the configuration, or the default is not of
+ * type FileConfiguration, or that config has no header ({@link #header()}
+ * returns null) then the header specified in this configuration will be
+ * used.
+ *
+ * Defaults to true.
+ */
+ public copyHeader(value: boolean): org.bukkit.configuration.file.FileConfigurationOptions;
+ }
+ }
+ }
+ }
+}
diff --git a/packages/bukkit/src/typings/org.bukkit.configuration.file.YamlConfiguration.ts b/packages/bukkit/src/typings/org.bukkit.configuration.file.YamlConfiguration.ts
new file mode 100644
index 00000000..bebaa1ed
--- /dev/null
+++ b/packages/bukkit/src/typings/org.bukkit.configuration.file.YamlConfiguration.ts
@@ -0,0 +1,37 @@
+declare namespace org {
+ namespace bukkit {
+ namespace configuration {
+ namespace file {
+ class YamlConfiguration {
+ constructor()
+ protected static COMMENT_PREFIX: string;
+ protected static BLANK_CONFIG: string;
+ public saveToString(): string;
+ public loadFromString(contents: string): void;
+ protected convertMapsToSections(input: Map
+ * Any errors loading the Configuration will be logged and then ignored.
+ * If the specified input is not a valid config, a blank config will be
+ * returned.
+ *
+ * The encoding used may follow the system dependent default.
+ */
+ public static loadConfiguration(file: any): org.bukkit.configuration.file.YamlConfiguration;
+ /**
+ * Creates a new {@link YamlConfiguration}, loading from the given reader.
+ *
+ * Any errors loading the Configuration will be logged and then ignored.
+ * If the specified input is not a valid config, a blank config will be
+ * returned.
+ */
+ public static loadConfiguration(reader: any): org.bukkit.configuration.file.YamlConfiguration;
+ }
+ }
+ }
+ }
+}
diff --git a/packages/bukkit/src/typings/org.bukkit.configuration.file.YamlConfigurationOptions.ts b/packages/bukkit/src/typings/org.bukkit.configuration.file.YamlConfigurationOptions.ts
new file mode 100644
index 00000000..51c4f378
--- /dev/null
+++ b/packages/bukkit/src/typings/org.bukkit.configuration.file.YamlConfigurationOptions.ts
@@ -0,0 +1,28 @@
+declare namespace org {
+ namespace bukkit {
+ namespace configuration {
+ namespace file {
+ class YamlConfigurationOptions {
+ constructor(configuration: org.bukkit.configuration.file.YamlConfiguration)
+ public configuration(): org.bukkit.configuration.file.YamlConfiguration;
+ public copyDefaults(value: boolean): org.bukkit.configuration.file.YamlConfigurationOptions;
+ public pathSeparator(value: string): org.bukkit.configuration.file.YamlConfigurationOptions;
+ public header(value: string): org.bukkit.configuration.file.YamlConfigurationOptions;
+ public copyHeader(value: boolean): org.bukkit.configuration.file.YamlConfigurationOptions;
+ /**
+ * Gets how much spaces should be used to indent each line.
+ *
+ * The minimum value this may be is 2, and the maximum is 9.
+ */
+ public indent(): number;
+ /**
+ * Sets how much spaces should be used to indent each line.
+ *
+ * The minimum value this may be is 2, and the maximum is 9.
+ */
+ public indent(value: number): org.bukkit.configuration.file.YamlConfigurationOptions;
+ }
+ }
+ }
+ }
+}
diff --git a/packages/bukkit/src/typings/org.bukkit.configuration.file.YamlConstructor.ts b/packages/bukkit/src/typings/org.bukkit.configuration.file.YamlConstructor.ts
new file mode 100644
index 00000000..652fbca1
--- /dev/null
+++ b/packages/bukkit/src/typings/org.bukkit.configuration.file.YamlConstructor.ts
@@ -0,0 +1,11 @@
+declare namespace org {
+ namespace bukkit {
+ namespace configuration {
+ namespace file {
+ class YamlConstructor {
+ constructor()
+ }
+ }
+ }
+ }
+}
diff --git a/packages/bukkit/src/typings/org.bukkit.configuration.file.YamlRepresenter.ts b/packages/bukkit/src/typings/org.bukkit.configuration.file.YamlRepresenter.ts
new file mode 100644
index 00000000..b8e47900
--- /dev/null
+++ b/packages/bukkit/src/typings/org.bukkit.configuration.file.YamlRepresenter.ts
@@ -0,0 +1,11 @@
+declare namespace org {
+ namespace bukkit {
+ namespace configuration {
+ namespace file {
+ class YamlRepresenter {
+ constructor()
+ }
+ }
+ }
+ }
+}
diff --git a/packages/bukkit/src/typings/org.bukkit.configuration.serialization.ConfigurationSerializable.ts b/packages/bukkit/src/typings/org.bukkit.configuration.serialization.ConfigurationSerializable.ts
new file mode 100644
index 00000000..0d654a5c
--- /dev/null
+++ b/packages/bukkit/src/typings/org.bukkit.configuration.serialization.ConfigurationSerializable.ts
@@ -0,0 +1,17 @@
+declare namespace org {
+ namespace bukkit {
+ namespace configuration {
+ namespace serialization {
+ class ConfigurationSerializable {
+ /**
+ * Creates a Map representation of this class.
+ *
+ * This class must provide a method to restore this class, as defined in
+ * the {@link ConfigurationSerializable} interface javadocs.
+ */
+ public serialize(): Map
+ * The class must implement {@link ConfigurationSerializable}, including
+ * the extra methods as specified in the javadoc of
+ * ConfigurationSerializable.
+ *
+ * If a new instance could not be made, an example being the class not
+ * fully implementing the interface, null will be returned.
+ */
+ public static deserializeObject(args: Map
+ * The class must implement {@link ConfigurationSerializable}, including
+ * the extra methods as specified in the javadoc of
+ * ConfigurationSerializable.
+ *
+ * If a new instance could not be made, an example being the class not
+ * fully implementing the interface, null will be returned.
+ */
+ public static deserializeObject(args: Map
+ * This name MUST be unique. We recommend using names such as
+ * "MyPluginThing" instead of "Thing".
+ */
+ public value(): string;
+ }
+ }
+ }
+ }
+}
diff --git a/packages/bukkit/src/typings/org.bukkit.conversations.BooleanPrompt.ts b/packages/bukkit/src/typings/org.bukkit.conversations.BooleanPrompt.ts
new file mode 100644
index 00000000..c3a418e4
--- /dev/null
+++ b/packages/bukkit/src/typings/org.bukkit.conversations.BooleanPrompt.ts
@@ -0,0 +1,11 @@
+declare namespace org {
+ namespace bukkit {
+ namespace conversations {
+ abstract class BooleanPrompt {
+ constructor()
+ protected isInputValid(context: org.bukkit.conversations.ConversationContext, input: string): boolean;
+ protected acceptValidatedInput(context: org.bukkit.conversations.ConversationContext, input: string): org.bukkit.conversations.Prompt;
+ }
+ }
+ }
+}
diff --git a/packages/bukkit/src/typings/org.bukkit.conversations.Conversable.ts b/packages/bukkit/src/typings/org.bukkit.conversations.Conversable.ts
new file mode 100644
index 00000000..878b1628
--- /dev/null
+++ b/packages/bukkit/src/typings/org.bukkit.conversations.Conversable.ts
@@ -0,0 +1,34 @@
+declare namespace org {
+ namespace bukkit {
+ namespace conversations {
+ class Conversable {
+ /**
+ * Tests to see of a Conversable object is actively engaged in a
+ * conversation.
+ */
+ public isConversing(): boolean;
+ /**
+ * Accepts input into the active conversation. If no conversation is in
+ * progress, this method does nothing.
+ */
+ public acceptConversationInput(input: string): void;
+ /**
+ * Enters into a dialog with a Conversation object.
+ */
+ public beginConversation(conversation: org.bukkit.conversations.Conversation): boolean;
+ /**
+ * Abandons an active conversation.
+ */
+ public abandonConversation(conversation: org.bukkit.conversations.Conversation): void;
+ /**
+ * Abandons an active conversation.
+ */
+ public abandonConversation(conversation: org.bukkit.conversations.Conversation, details: org.bukkit.conversations.ConversationAbandonedEvent): void;
+ /**
+ * Sends this sender a message raw
+ */
+ public sendRawMessage(message: string): void;
+ }
+ }
+ }
+}
diff --git a/packages/bukkit/src/typings/org.bukkit.conversations.Conversation.ConversationState.ts b/packages/bukkit/src/typings/org.bukkit.conversations.Conversation.ConversationState.ts
new file mode 100644
index 00000000..f42f3c91
--- /dev/null
+++ b/packages/bukkit/src/typings/org.bukkit.conversations.Conversation.ConversationState.ts
@@ -0,0 +1,15 @@
+declare namespace org {
+ namespace bukkit {
+ namespace conversations {
+ namespace Conversation {
+ class ConversationState {
+ public static UNSTARTED: org.bukkit.conversations.Conversation.ConversationState;
+ public static STARTED: org.bukkit.conversations.Conversation.ConversationState;
+ public static ABANDONED: org.bukkit.conversations.Conversation.ConversationState;
+ public static values(): org.bukkit.conversations.Conversation.ConversationState[];
+ public static valueOf(name: string): org.bukkit.conversations.Conversation.ConversationState;
+ }
+ }
+ }
+ }
+}
diff --git a/packages/bukkit/src/typings/org.bukkit.conversations.Conversation.ts b/packages/bukkit/src/typings/org.bukkit.conversations.Conversation.ts
new file mode 100644
index 00000000..923574fc
--- /dev/null
+++ b/packages/bukkit/src/typings/org.bukkit.conversations.Conversation.ts
@@ -0,0 +1,95 @@
+declare namespace org {
+ namespace bukkit {
+ namespace conversations {
+ class Conversation {
+ /**
+ * Initializes a new Conversation.
+ */
+ constructor(plugin: org.bukkit.plugin.Plugin, forWhom: org.bukkit.conversations.Conversable, firstPrompt: org.bukkit.conversations.Prompt)
+ /**
+ * Initializes a new Conversation.
+ */
+ constructor(plugin: org.bukkit.plugin.Plugin, forWhom: org.bukkit.conversations.Conversable, firstPrompt: org.bukkit.conversations.Prompt, initialSessionData: Map
+ * Implementing this method should reset any internal object state.
+ */
+ public clone(): org.bukkit.conversations.ConversationCanceller;
+ }
+ }
+ }
+}
diff --git a/packages/bukkit/src/typings/org.bukkit.conversations.ConversationContext.ts b/packages/bukkit/src/typings/org.bukkit.conversations.ConversationContext.ts
new file mode 100644
index 00000000..96e992bc
--- /dev/null
+++ b/packages/bukkit/src/typings/org.bukkit.conversations.ConversationContext.ts
@@ -0,0 +1,34 @@
+declare namespace org {
+ namespace bukkit {
+ namespace conversations {
+ class ConversationContext {
+ constructor(plugin: org.bukkit.plugin.Plugin, forWhom: org.bukkit.conversations.Conversable, initialSessionData: Map
+ * The default is True.
+ */
+ public withModality(modal: boolean): org.bukkit.conversations.ConversationFactory;
+ /**
+ * Sets the local echo status for all {@link Conversation}s created by
+ * this factory. If local echo is enabled, any text submitted to a
+ * conversation gets echoed back into the submitter's chat window.
+ */
+ public withLocalEcho(localEchoEnabled: boolean): org.bukkit.conversations.ConversationFactory;
+ /**
+ * Sets the {@link ConversationPrefix} that prepends all output from all
+ * generated conversations.
+ *
+ * The default is a {@link NullConversationPrefix};
+ */
+ public withPrefix(prefix: org.bukkit.conversations.ConversationPrefix): org.bukkit.conversations.ConversationFactory;
+ /**
+ * Sets the number of inactive seconds to wait before automatically
+ * abandoning all generated conversations.
+ *
+ * The default is 600 seconds (5 minutes).
+ */
+ public withTimeout(timeoutSeconds: number): org.bukkit.conversations.ConversationFactory;
+ /**
+ * Sets the first prompt to use in all generated conversations.
+ *
+ * The default is Prompt.END_OF_CONVERSATION.
+ */
+ public withFirstPrompt(firstPrompt: org.bukkit.conversations.Prompt): org.bukkit.conversations.ConversationFactory;
+ /**
+ * Sets any initial data with which to populate the conversation context
+ * sessionData map.
+ */
+ public withInitialSessionData(initialSessionData: Map
+ * foo = new FixedSetPrompt("bar", "cheese", "panda");
+ */
+ constructor(fixedSet: string)
+ protected fixedSet: any[] /*java.util.List*/;
+ protected isInputValid(context: org.bukkit.conversations.ConversationContext, input: string): boolean;
+ /**
+ * Utility function to create a formatted string containing all the
+ * options declared in the constructor.
+ */
+ protected formatFixedSet(): string;
+ }
+ }
+ }
+}
diff --git a/packages/bukkit/src/typings/org.bukkit.conversations.InactivityConversationCanceller.ts b/packages/bukkit/src/typings/org.bukkit.conversations.InactivityConversationCanceller.ts
new file mode 100644
index 00000000..d711f128
--- /dev/null
+++ b/packages/bukkit/src/typings/org.bukkit.conversations.InactivityConversationCanceller.ts
@@ -0,0 +1,24 @@
+declare namespace org {
+ namespace bukkit {
+ namespace conversations {
+ class InactivityConversationCanceller {
+ /**
+ * Creates an InactivityConversationCanceller.
+ */
+ constructor(plugin: org.bukkit.plugin.Plugin, timeoutSeconds: number)
+ protected plugin: org.bukkit.plugin.Plugin;
+ protected timeoutSeconds: number;
+ protected conversation: org.bukkit.conversations.Conversation;
+ public setConversation(conversation: org.bukkit.conversations.Conversation): void;
+ public cancelBasedOnInput(context: org.bukkit.conversations.ConversationContext, input: string): boolean;
+ public clone(): org.bukkit.conversations.ConversationCanceller;
+ /**
+ * Subclasses of InactivityConversationCanceller can override this method
+ * to take additional actions when the inactivity timer abandons the
+ * conversation.
+ */
+ protected cancelling(conversation: org.bukkit.conversations.Conversation): void;
+ }
+ }
+ }
+}
diff --git a/packages/bukkit/src/typings/org.bukkit.conversations.ManuallyAbandonedConversationCanceller.ts b/packages/bukkit/src/typings/org.bukkit.conversations.ManuallyAbandonedConversationCanceller.ts
new file mode 100644
index 00000000..747c9006
--- /dev/null
+++ b/packages/bukkit/src/typings/org.bukkit.conversations.ManuallyAbandonedConversationCanceller.ts
@@ -0,0 +1,12 @@
+declare namespace org {
+ namespace bukkit {
+ namespace conversations {
+ class ManuallyAbandonedConversationCanceller {
+ constructor()
+ public setConversation(conversation: org.bukkit.conversations.Conversation): void;
+ public cancelBasedOnInput(context: org.bukkit.conversations.ConversationContext, input: string): boolean;
+ public clone(): org.bukkit.conversations.ConversationCanceller;
+ }
+ }
+ }
+}
diff --git a/packages/bukkit/src/typings/org.bukkit.conversations.MessagePrompt.ts b/packages/bukkit/src/typings/org.bukkit.conversations.MessagePrompt.ts
new file mode 100644
index 00000000..625a3be2
--- /dev/null
+++ b/packages/bukkit/src/typings/org.bukkit.conversations.MessagePrompt.ts
@@ -0,0 +1,22 @@
+declare namespace org {
+ namespace bukkit {
+ namespace conversations {
+ abstract class MessagePrompt {
+ constructor()
+ /**
+ * Message prompts never wait for user input before continuing.
+ */
+ public blocksForInput(context: org.bukkit.conversations.ConversationContext): boolean;
+ /**
+ * Accepts and ignores any user input, returning the next prompt in the
+ * prompt graph instead.
+ */
+ public acceptInput(context: org.bukkit.conversations.ConversationContext, input: string): org.bukkit.conversations.Prompt;
+ /**
+ * Override this method to return the next prompt in the prompt graph.
+ */
+ protected abstract getNextPrompt(context: org.bukkit.conversations.ConversationContext): org.bukkit.conversations.Prompt;
+ }
+ }
+ }
+}
diff --git a/packages/bukkit/src/typings/org.bukkit.conversations.NullConversationPrefix.ts b/packages/bukkit/src/typings/org.bukkit.conversations.NullConversationPrefix.ts
new file mode 100644
index 00000000..8d6575e6
--- /dev/null
+++ b/packages/bukkit/src/typings/org.bukkit.conversations.NullConversationPrefix.ts
@@ -0,0 +1,13 @@
+declare namespace org {
+ namespace bukkit {
+ namespace conversations {
+ class NullConversationPrefix {
+ constructor()
+ /**
+ * Prepends each conversation message with an empty string.
+ */
+ public getPrefix(context: org.bukkit.conversations.ConversationContext): string;
+ }
+ }
+ }
+}
diff --git a/packages/bukkit/src/typings/org.bukkit.conversations.NumericPrompt.ts b/packages/bukkit/src/typings/org.bukkit.conversations.NumericPrompt.ts
new file mode 100644
index 00000000..b2e9717b
--- /dev/null
+++ b/packages/bukkit/src/typings/org.bukkit.conversations.NumericPrompt.ts
@@ -0,0 +1,27 @@
+declare namespace org {
+ namespace bukkit {
+ namespace conversations {
+ abstract class NumericPrompt {
+ constructor()
+ protected isInputValid(context: org.bukkit.conversations.ConversationContext, input: string): boolean;
+ /**
+ * Override this method to do further validation on the numeric player
+ * input after the input has been determined to actually be a number.
+ */
+ protected isNumberValid(context: org.bukkit.conversations.ConversationContext, input: any): boolean;
+ protected acceptValidatedInput(context: org.bukkit.conversations.ConversationContext, input: string): org.bukkit.conversations.Prompt;
+ protected getFailedValidationText(context: org.bukkit.conversations.ConversationContext, invalidInput: string): string;
+ /**
+ * Optionally override this method to display an additional message if the
+ * user enters an invalid number.
+ */
+ protected getInputNotNumericText(context: org.bukkit.conversations.ConversationContext, invalidInput: string): string;
+ /**
+ * Optionally override this method to display an additional message if the
+ * user enters an invalid numeric input.
+ */
+ protected getFailedValidationText(context: org.bukkit.conversations.ConversationContext, invalidInput: any): string;
+ }
+ }
+ }
+}
diff --git a/packages/bukkit/src/typings/org.bukkit.conversations.PlayerNamePrompt.ts b/packages/bukkit/src/typings/org.bukkit.conversations.PlayerNamePrompt.ts
new file mode 100644
index 00000000..e95f1c0d
--- /dev/null
+++ b/packages/bukkit/src/typings/org.bukkit.conversations.PlayerNamePrompt.ts
@@ -0,0 +1,11 @@
+declare namespace org {
+ namespace bukkit {
+ namespace conversations {
+ abstract class PlayerNamePrompt {
+ constructor(plugin: org.bukkit.plugin.Plugin)
+ protected isInputValid(context: org.bukkit.conversations.ConversationContext, input: string): boolean;
+ protected acceptValidatedInput(context: org.bukkit.conversations.ConversationContext, input: string): org.bukkit.conversations.Prompt;
+ }
+ }
+ }
+}
diff --git a/packages/bukkit/src/typings/org.bukkit.conversations.PluginNameConversationPrefix.ts b/packages/bukkit/src/typings/org.bukkit.conversations.PluginNameConversationPrefix.ts
new file mode 100644
index 00000000..8693ad59
--- /dev/null
+++ b/packages/bukkit/src/typings/org.bukkit.conversations.PluginNameConversationPrefix.ts
@@ -0,0 +1,17 @@
+declare namespace org {
+ namespace bukkit {
+ namespace conversations {
+ class PluginNameConversationPrefix {
+ constructor(plugin: org.bukkit.plugin.Plugin)
+ constructor(plugin: org.bukkit.plugin.Plugin, separator: string, prefixColor: org.bukkit.ChatColor)
+ protected separator: string;
+ protected prefixColor: org.bukkit.ChatColor;
+ protected plugin: org.bukkit.plugin.Plugin;
+ /**
+ * Prepends each conversation message with the plugin name.
+ */
+ public getPrefix(context: org.bukkit.conversations.ConversationContext): string;
+ }
+ }
+ }
+}
diff --git a/packages/bukkit/src/typings/org.bukkit.conversations.Prompt.ts b/packages/bukkit/src/typings/org.bukkit.conversations.Prompt.ts
new file mode 100644
index 00000000..c165749d
--- /dev/null
+++ b/packages/bukkit/src/typings/org.bukkit.conversations.Prompt.ts
@@ -0,0 +1,24 @@
+declare namespace org {
+ namespace bukkit {
+ namespace conversations {
+ class Prompt {
+ public static END_OF_CONVERSATION: org.bukkit.conversations.Prompt;
+ /**
+ * Gets the text to display to the user when this prompt is first
+ * presented.
+ */
+ public getPromptText(context: org.bukkit.conversations.ConversationContext): string;
+ /**
+ * Checks to see if this prompt implementation should wait for user input
+ * or immediately display the next prompt.
+ */
+ public blocksForInput(context: org.bukkit.conversations.ConversationContext): boolean;
+ /**
+ * Accepts and processes input from the user. Using the input, the next
+ * Prompt in the prompt graph is returned.
+ */
+ public acceptInput(context: org.bukkit.conversations.ConversationContext, input: string): org.bukkit.conversations.Prompt;
+ }
+ }
+ }
+}
diff --git a/packages/bukkit/src/typings/org.bukkit.conversations.RegexPrompt.ts b/packages/bukkit/src/typings/org.bukkit.conversations.RegexPrompt.ts
new file mode 100644
index 00000000..5ae46791
--- /dev/null
+++ b/packages/bukkit/src/typings/org.bukkit.conversations.RegexPrompt.ts
@@ -0,0 +1,11 @@
+declare namespace org {
+ namespace bukkit {
+ namespace conversations {
+ abstract class RegexPrompt {
+ constructor(regex: string)
+ constructor(pattern: any)
+ protected isInputValid(context: org.bukkit.conversations.ConversationContext, input: string): boolean;
+ }
+ }
+ }
+}
diff --git a/packages/bukkit/src/typings/org.bukkit.conversations.StringPrompt.ts b/packages/bukkit/src/typings/org.bukkit.conversations.StringPrompt.ts
new file mode 100644
index 00000000..aae2864e
--- /dev/null
+++ b/packages/bukkit/src/typings/org.bukkit.conversations.StringPrompt.ts
@@ -0,0 +1,13 @@
+declare namespace org {
+ namespace bukkit {
+ namespace conversations {
+ abstract class StringPrompt {
+ constructor()
+ /**
+ * Ensures that the prompt waits for the user to provide input.
+ */
+ public blocksForInput(context: org.bukkit.conversations.ConversationContext): boolean;
+ }
+ }
+ }
+}
diff --git a/packages/bukkit/src/typings/org.bukkit.conversations.ValidatingPrompt.ts b/packages/bukkit/src/typings/org.bukkit.conversations.ValidatingPrompt.ts
new file mode 100644
index 00000000..6841d6ab
--- /dev/null
+++ b/packages/bukkit/src/typings/org.bukkit.conversations.ValidatingPrompt.ts
@@ -0,0 +1,34 @@
+declare namespace org {
+ namespace bukkit {
+ namespace conversations {
+ abstract class ValidatingPrompt {
+ constructor()
+ /**
+ * Accepts and processes input from the user and validates it. If
+ * validation fails, this prompt is returned for re-execution, otherwise
+ * the next Prompt in the prompt graph is returned.
+ */
+ public acceptInput(context: org.bukkit.conversations.ConversationContext, input: string): org.bukkit.conversations.Prompt;
+ /**
+ * Ensures that the prompt waits for the user to provide input.
+ */
+ public blocksForInput(context: org.bukkit.conversations.ConversationContext): boolean;
+ /**
+ * Override this method to check the validity of the player's input.
+ */
+ protected abstract isInputValid(context: org.bukkit.conversations.ConversationContext, input: string): boolean;
+ /**
+ * Override this method to accept and processes the validated input from
+ * the user. Using the input, the next Prompt in the prompt graph should
+ * be returned.
+ */
+ protected abstract acceptValidatedInput(context: org.bukkit.conversations.ConversationContext, input: string): org.bukkit.conversations.Prompt;
+ /**
+ * Optionally override this method to display an additional message if the
+ * user enters an invalid input.
+ */
+ protected getFailedValidationText(context: org.bukkit.conversations.ConversationContext, invalidInput: string): string;
+ }
+ }
+ }
+}
diff --git a/packages/bukkit/src/typings/org.bukkit.enchantments.Enchantment.ts b/packages/bukkit/src/typings/org.bukkit.enchantments.Enchantment.ts
new file mode 100644
index 00000000..ee6102eb
--- /dev/null
+++ b/packages/bukkit/src/typings/org.bukkit.enchantments.Enchantment.ts
@@ -0,0 +1,117 @@
+declare namespace org {
+ namespace bukkit {
+ namespace enchantments {
+ abstract class Enchantment {
+ constructor(key: org.bukkit.NamespacedKey)
+ public static PROTECTION_ENVIRONMENTAL: org.bukkit.enchantments.Enchantment;
+ public static PROTECTION_FIRE: org.bukkit.enchantments.Enchantment;
+ public static PROTECTION_FALL: org.bukkit.enchantments.Enchantment;
+ public static PROTECTION_EXPLOSIONS: org.bukkit.enchantments.Enchantment;
+ public static PROTECTION_PROJECTILE: org.bukkit.enchantments.Enchantment;
+ public static OXYGEN: org.bukkit.enchantments.Enchantment;
+ public static WATER_WORKER: org.bukkit.enchantments.Enchantment;
+ public static THORNS: org.bukkit.enchantments.Enchantment;
+ public static DEPTH_STRIDER: org.bukkit.enchantments.Enchantment;
+ public static FROST_WALKER: org.bukkit.enchantments.Enchantment;
+ public static BINDING_CURSE: org.bukkit.enchantments.Enchantment;
+ public static DAMAGE_ALL: org.bukkit.enchantments.Enchantment;
+ public static DAMAGE_UNDEAD: org.bukkit.enchantments.Enchantment;
+ public static DAMAGE_ARTHROPODS: org.bukkit.enchantments.Enchantment;
+ public static KNOCKBACK: org.bukkit.enchantments.Enchantment;
+ public static FIRE_ASPECT: org.bukkit.enchantments.Enchantment;
+ public static LOOT_BONUS_MOBS: org.bukkit.enchantments.Enchantment;
+ public static SWEEPING_EDGE: org.bukkit.enchantments.Enchantment;
+ public static DIG_SPEED: org.bukkit.enchantments.Enchantment;
+ public static SILK_TOUCH: org.bukkit.enchantments.Enchantment;
+ public static DURABILITY: org.bukkit.enchantments.Enchantment;
+ public static LOOT_BONUS_BLOCKS: org.bukkit.enchantments.Enchantment;
+ public static ARROW_DAMAGE: org.bukkit.enchantments.Enchantment;
+ public static ARROW_KNOCKBACK: org.bukkit.enchantments.Enchantment;
+ public static ARROW_FIRE: org.bukkit.enchantments.Enchantment;
+ public static ARROW_INFINITE: org.bukkit.enchantments.Enchantment;
+ public static LUCK: org.bukkit.enchantments.Enchantment;
+ public static LURE: org.bukkit.enchantments.Enchantment;
+ public static LOYALTY: org.bukkit.enchantments.Enchantment;
+ public static IMPALING: org.bukkit.enchantments.Enchantment;
+ public static RIPTIDE: org.bukkit.enchantments.Enchantment;
+ public static CHANNELING: org.bukkit.enchantments.Enchantment;
+ public static MULTISHOT: org.bukkit.enchantments.Enchantment;
+ public static QUICK_CHARGE: org.bukkit.enchantments.Enchantment;
+ public static PIERCING: org.bukkit.enchantments.Enchantment;
+ public static MENDING: org.bukkit.enchantments.Enchantment;
+ public static VANISHING_CURSE: org.bukkit.enchantments.Enchantment;
+ public getKey(): org.bukkit.NamespacedKey;
+ /**
+ * Gets the unique name of this enchantment
+ */
+ public abstract getName(): string;
+ /**
+ * Gets the maximum level that this Enchantment may become.
+ */
+ public abstract getMaxLevel(): number;
+ /**
+ * Gets the level that this Enchantment should start at
+ */
+ public abstract getStartLevel(): number;
+ /**
+ * Gets the type of {@link ItemStack} that may fit this Enchantment.
+ */
+ public abstract getItemTarget(): org.bukkit.enchantments.EnchantmentTarget;
+ /**
+ * Checks if this enchantment is a treasure enchantment.
+ *
+ * This does not check if it conflicts with any enchantments already
+ * applied to the item.
+ */
+ public abstract canEnchantItem(item: org.bukkit.inventory.ItemStack): boolean;
+ public equals(obj: any): boolean;
+ public hashCode(): number;
+ public toString(): string;
+ /**
+ * Registers an enchantment with the given ID and object.
+ *
+ * Generally not to be used from within a plugin.
+ */
+ public static registerEnchantment(enchantment: org.bukkit.enchantments.Enchantment): void;
+ /**
+ * Checks if this is accepting Enchantment registrations.
+ */
+ public static isAcceptingRegistrations(): boolean;
+ /**
+ * Stops accepting any enchantment registrations
+ */
+ public static stopAcceptingRegistrations(): void;
+ /**
+ * Gets the Enchantment at the specified key
+ */
+ public static getByKey(key: org.bukkit.NamespacedKey): org.bukkit.enchantments.Enchantment;
+ /**
+ * Gets the Enchantment at the specified name
+ */
+ public static getByName(name: string): org.bukkit.enchantments.Enchantment;
+ /**
+ * Gets an array of all the registered {@link Enchantment}s
+ */
+ public static values(): org.bukkit.enchantments.Enchantment[];
+ }
+ }
+ }
+}
diff --git a/packages/bukkit/src/typings/org.bukkit.enchantments.EnchantmentOffer.ts b/packages/bukkit/src/typings/org.bukkit.enchantments.EnchantmentOffer.ts
new file mode 100644
index 00000000..6aa7aeba
--- /dev/null
+++ b/packages/bukkit/src/typings/org.bukkit.enchantments.EnchantmentOffer.ts
@@ -0,0 +1,35 @@
+declare namespace org {
+ namespace bukkit {
+ namespace enchantments {
+ class EnchantmentOffer {
+ constructor(enchantment: org.bukkit.enchantments.Enchantment, enchantmentLevel: number, cost: number)
+ /**
+ * Get the type of the enchantment.
+ */
+ public getEnchantment(): org.bukkit.enchantments.Enchantment;
+ /**
+ * Sets the type of the enchantment.
+ */
+ public setEnchantment(enchantment: org.bukkit.enchantments.Enchantment): void;
+ /**
+ * Gets the level of the enchantment.
+ */
+ public getEnchantmentLevel(): number;
+ /**
+ * Sets the level of the enchantment.
+ */
+ public setEnchantmentLevel(enchantmentLevel: number): void;
+ /**
+ * Gets the cost which is displayed as a number on the right hand side of
+ * the enchantment offer.
+ */
+ public getCost(): number;
+ /**
+ * Sets the the cost which is displayed as a number on the right hand side
+ * of the enchantment offer.
+ */
+ public setCost(cost: number): void;
+ }
+ }
+ }
+}
diff --git a/packages/bukkit/src/typings/org.bukkit.enchantments.EnchantmentTarget.ts b/packages/bukkit/src/typings/org.bukkit.enchantments.EnchantmentTarget.ts
new file mode 100644
index 00000000..046ed412
--- /dev/null
+++ b/packages/bukkit/src/typings/org.bukkit.enchantments.EnchantmentTarget.ts
@@ -0,0 +1,32 @@
+declare namespace org {
+ namespace bukkit {
+ namespace enchantments {
+ class EnchantmentTarget {
+ public static ALL: org.bukkit.enchantments.EnchantmentTarget;
+ public static ARMOR: org.bukkit.enchantments.EnchantmentTarget;
+ public static ARMOR_FEET: org.bukkit.enchantments.EnchantmentTarget;
+ public static ARMOR_LEGS: org.bukkit.enchantments.EnchantmentTarget;
+ public static ARMOR_TORSO: org.bukkit.enchantments.EnchantmentTarget;
+ public static ARMOR_HEAD: org.bukkit.enchantments.EnchantmentTarget;
+ public static WEAPON: org.bukkit.enchantments.EnchantmentTarget;
+ public static TOOL: org.bukkit.enchantments.EnchantmentTarget;
+ public static BOW: org.bukkit.enchantments.EnchantmentTarget;
+ public static FISHING_ROD: org.bukkit.enchantments.EnchantmentTarget;
+ public static BREAKABLE: org.bukkit.enchantments.EnchantmentTarget;
+ public static WEARABLE: org.bukkit.enchantments.EnchantmentTarget;
+ public static TRIDENT: org.bukkit.enchantments.EnchantmentTarget;
+ public static CROSSBOW: org.bukkit.enchantments.EnchantmentTarget;
+ public static values(): org.bukkit.enchantments.EnchantmentTarget[];
+ public static valueOf(name: string): org.bukkit.enchantments.EnchantmentTarget;
+ /**
+ * Check whether this target includes the specified item.
+ */
+ public includes(item: org.bukkit.Material): boolean;
+ /**
+ * Check whether this target includes the specified item.
+ */
+ public includes(item: org.bukkit.inventory.ItemStack): boolean;
+ }
+ }
+ }
+}
diff --git a/packages/bukkit/src/typings/org.bukkit.enchantments.EnchantmentWrapper.ts b/packages/bukkit/src/typings/org.bukkit.enchantments.EnchantmentWrapper.ts
new file mode 100644
index 00000000..b3b12cb0
--- /dev/null
+++ b/packages/bukkit/src/typings/org.bukkit.enchantments.EnchantmentWrapper.ts
@@ -0,0 +1,21 @@
+declare namespace org {
+ namespace bukkit {
+ namespace enchantments {
+ class EnchantmentWrapper {
+ constructor(name: string)
+ /**
+ * Gets the enchantment bound to this wrapper
+ */
+ public getEnchantment(): org.bukkit.enchantments.Enchantment;
+ public getMaxLevel(): number;
+ public getStartLevel(): number;
+ public getItemTarget(): org.bukkit.enchantments.EnchantmentTarget;
+ public canEnchantItem(item: org.bukkit.inventory.ItemStack): boolean;
+ public getName(): string;
+ public isTreasure(): boolean;
+ public isCursed(): boolean;
+ public conflictsWith(other: org.bukkit.enchantments.Enchantment): boolean;
+ }
+ }
+ }
+}
diff --git a/packages/bukkit/src/typings/org.bukkit.entity.AbstractArrow.PickupStatus.ts b/packages/bukkit/src/typings/org.bukkit.entity.AbstractArrow.PickupStatus.ts
new file mode 100644
index 00000000..1149e0f8
--- /dev/null
+++ b/packages/bukkit/src/typings/org.bukkit.entity.AbstractArrow.PickupStatus.ts
@@ -0,0 +1,15 @@
+declare namespace org {
+ namespace bukkit {
+ namespace entity {
+ namespace AbstractArrow {
+ class PickupStatus {
+ public static DISALLOWED: org.bukkit.entity.AbstractArrow.PickupStatus;
+ public static ALLOWED: org.bukkit.entity.AbstractArrow.PickupStatus;
+ public static CREATIVE_ONLY: org.bukkit.entity.AbstractArrow.PickupStatus;
+ public static values(): org.bukkit.entity.AbstractArrow.PickupStatus[];
+ public static valueOf(name: string): org.bukkit.entity.AbstractArrow.PickupStatus;
+ }
+ }
+ }
+ }
+}
diff --git a/packages/bukkit/src/typings/org.bukkit.entity.AbstractArrow.ts b/packages/bukkit/src/typings/org.bukkit.entity.AbstractArrow.ts
new file mode 100644
index 00000000..38d593d4
--- /dev/null
+++ b/packages/bukkit/src/typings/org.bukkit.entity.AbstractArrow.ts
@@ -0,0 +1,69 @@
+declare namespace org {
+ namespace bukkit {
+ namespace entity {
+ class AbstractArrow {
+ /**
+ * Gets the knockback strength for an arrow, which is the
+ * {@link org.bukkit.enchantments.Enchantment#KNOCKBACK KnockBack} level
+ * of the bow that shot it.
+ */
+ public getKnockbackStrength(): number;
+ /**
+ * Sets the knockback strength for an arrow.
+ */
+ public setKnockbackStrength(knockbackStrength: number): void;
+ /**
+ * Gets the base amount of damage this arrow will do.
+ * Defaults to 2.0 for a normal arrow with
+ *
+ * Critical arrows have increased damage and cause particle effects.
+ *
+ * Critical arrows generally occur when a player fully draws a bow before
+ * firing.
+ */
+ public isCritical(): boolean;
+ /**
+ * Sets whether or not this arrow should be critical.
+ */
+ public setCritical(critical: boolean): void;
+ /**
+ * Gets whether this arrow is in a block or not.
+ *
+ * Arrows in a block are motionless and may be picked up by players.
+ */
+ public isInBlock(): boolean;
+ /**
+ * Gets the block to which this arrow is attached.
+ */
+ public getAttachedBlock(): org.bukkit.block.Block;
+ /**
+ * Gets the current pickup status of this arrow.
+ */
+ public getPickupStatus(): org.bukkit.entity.AbstractArrow.PickupStatus;
+ /**
+ * Sets the current pickup status of this arrow.
+ */
+ public setPickupStatus(status: org.bukkit.entity.AbstractArrow.PickupStatus): void;
+ }
+ }
+ }
+}
diff --git a/packages/bukkit/src/typings/org.bukkit.entity.AbstractHorse.ts b/packages/bukkit/src/typings/org.bukkit.entity.AbstractHorse.ts
new file mode 100644
index 00000000..43201180
--- /dev/null
+++ b/packages/bukkit/src/typings/org.bukkit.entity.AbstractHorse.ts
@@ -0,0 +1,70 @@
+declare namespace org {
+ namespace bukkit {
+ namespace entity {
+ class AbstractHorse {
+ /**
+ * Gets the horse's variant.
+ *
+ * A horse's variant defines its physical appearance and capabilities.
+ * Whether a horse is a regular horse, donkey, mule, or other kind of horse
+ * is determined using the variant.
+ */
+ public getVariant(): org.bukkit.entity.Horse.Variant;
+ public setVariant(variant: org.bukkit.entity.Horse.Variant): void;
+ /**
+ * Gets the domestication level of this horse.
+ *
+ * A higher domestication level indicates that the horse is closer to
+ * becoming tame. As the domestication level gets closer to the max
+ * domestication level, the chance of the horse becoming tame increases.
+ */
+ public getDomestication(): number;
+ /**
+ * Sets the domestication level of this horse.
+ *
+ * Setting the domestication level to a high value will increase the
+ * horse's chances of becoming tame.
+ *
+ * Domestication level must be greater than zero and no greater than
+ * the max domestication level of the horse, determined with
+ * {@link #getMaxDomestication()}
+ */
+ public setDomestication(level: number): void;
+ /**
+ * Gets the maximum domestication level of this horse.
+ *
+ * The higher this level is, the longer it will likely take
+ * for the horse to be tamed.
+ */
+ public getMaxDomestication(): number;
+ /**
+ * Sets the maximum domestication level of this horse.
+ *
+ * Setting a higher max domestication will increase the amount of
+ * domesticating (feeding, riding, etc.) necessary in order to tame it,
+ * while setting a lower max value will have the opposite effect.
+ *
+ * Maximum domestication must be greater than zero.
+ */
+ public setMaxDomestication(level: number): void;
+ /**
+ * Gets the jump strength of this horse.
+ *
+ * Jump strength defines how high the horse can jump. A higher jump strength
+ * increases how high a jump will go.
+ */
+ public getJumpStrength(): number;
+ /**
+ * Sets the jump strength of this horse.
+ *
+ * A higher jump strength increases how high a jump will go.
+ * Setting a jump strength to 0 will result in no jump.
+ * You cannot set a jump strength to a value below 0 or
+ * above 2.
+ */
+ public setJumpStrength(strength: number): void;
+ public getInventory(): org.bukkit.inventory.AbstractHorseInventory;
+ }
+ }
+ }
+}
diff --git a/packages/bukkit/src/typings/org.bukkit.entity.AbstractVillager.ts b/packages/bukkit/src/typings/org.bukkit.entity.AbstractVillager.ts
new file mode 100644
index 00000000..20b87365
--- /dev/null
+++ b/packages/bukkit/src/typings/org.bukkit.entity.AbstractVillager.ts
@@ -0,0 +1,16 @@
+declare namespace org {
+ namespace bukkit {
+ namespace entity {
+ class AbstractVillager {
+ /**
+ * Gets this villager's inventory.
+ *
+ * Plugins should check that hasCustomEffects() returns true before calling
+ * this method.
+ */
+ public getCustomEffects(): any[] /*java.util.List*/;
+ /**
+ * Adds a custom potion effect to this cloud.
+ */
+ public addCustomEffect(effect: org.bukkit.potion.PotionEffect, overwrite: boolean): boolean;
+ /**
+ * Removes a custom potion effect from this cloud.
+ */
+ public removeCustomEffect(type: org.bukkit.potion.PotionEffectType): boolean;
+ /**
+ * Checks for a specific custom potion effect type on this cloud.
+ */
+ public hasCustomEffect(type: org.bukkit.potion.PotionEffectType): boolean;
+ /**
+ * Removes all custom potion effects from this cloud.
+ */
+ public clearCustomEffects(): void;
+ /**
+ * Gets the color of this cloud. Will be applied as a tint to its particles.
+ */
+ public getColor(): org.bukkit.Color;
+ /**
+ * Sets the color of this cloud. Will be applied as a tint to its particles.
+ */
+ public setColor(color: org.bukkit.Color): void;
+ /**
+ * Retrieve the original source of this cloud.
+ */
+ public getSource(): org.bukkit.projectiles.ProjectileSource;
+ /**
+ * Set the original source of this cloud.
+ */
+ public setSource(source: org.bukkit.projectiles.ProjectileSource): void;
+ }
+ }
+ }
+}
diff --git a/packages/bukkit/src/typings/org.bukkit.entity.ArmorStand.ts b/packages/bukkit/src/typings/org.bukkit.entity.ArmorStand.ts
new file mode 100644
index 00000000..2a9066bf
--- /dev/null
+++ b/packages/bukkit/src/typings/org.bukkit.entity.ArmorStand.ts
@@ -0,0 +1,166 @@
+declare namespace org {
+ namespace bukkit {
+ namespace entity {
+ class ArmorStand {
+ /**
+ * Returns the item the armor stand is
+ * currently holding
+ */
+ public getItemInHand(): org.bukkit.inventory.ItemStack;
+ /**
+ * Sets the item the armor stand is currently
+ * holding
+ */
+ public setItemInHand(item: org.bukkit.inventory.ItemStack): void;
+ /**
+ * Returns the item currently being worn
+ * by the armor stand on its feet
+ */
+ public getBoots(): org.bukkit.inventory.ItemStack;
+ /**
+ * Sets the item currently being worn
+ * by the armor stand on its feet
+ */
+ public setBoots(item: org.bukkit.inventory.ItemStack): void;
+ /**
+ * Returns the item currently being worn
+ * by the armor stand on its legs
+ */
+ public getLeggings(): org.bukkit.inventory.ItemStack;
+ /**
+ * Sets the item currently being worn
+ * by the armor stand on its legs
+ */
+ public setLeggings(item: org.bukkit.inventory.ItemStack): void;
+ /**
+ * Returns the item currently being worn
+ * by the armor stand on its chest
+ */
+ public getChestplate(): org.bukkit.inventory.ItemStack;
+ /**
+ * Sets the item currently being worn
+ * by the armor stand on its chest
+ */
+ public setChestplate(item: org.bukkit.inventory.ItemStack): void;
+ /**
+ * Returns the item currently being worn
+ * by the armor stand on its head
+ */
+ public getHelmet(): org.bukkit.inventory.ItemStack;
+ /**
+ * Sets the item currently being worn
+ * by the armor stand on its head
+ */
+ public setHelmet(item: org.bukkit.inventory.ItemStack): void;
+ /**
+ * Returns the armor stand's body's
+ * current pose as a {@link org.bukkit.util.EulerAngle}
+ */
+ public getBodyPose(): org.bukkit.util.EulerAngle;
+ /**
+ * Sets the armor stand's body's
+ * current pose as a {@link org.bukkit.util.EulerAngle}
+ */
+ public setBodyPose(pose: org.bukkit.util.EulerAngle): void;
+ /**
+ * Returns the armor stand's left arm's
+ * current pose as a {@link org.bukkit.util.EulerAngle}
+ */
+ public getLeftArmPose(): org.bukkit.util.EulerAngle;
+ /**
+ * Sets the armor stand's left arm's
+ * current pose as a {@link org.bukkit.util.EulerAngle}
+ */
+ public setLeftArmPose(pose: org.bukkit.util.EulerAngle): void;
+ /**
+ * Returns the armor stand's right arm's
+ * current pose as a {@link org.bukkit.util.EulerAngle}
+ */
+ public getRightArmPose(): org.bukkit.util.EulerAngle;
+ /**
+ * Sets the armor stand's right arm's
+ * current pose as a {@link org.bukkit.util.EulerAngle}
+ */
+ public setRightArmPose(pose: org.bukkit.util.EulerAngle): void;
+ /**
+ * Returns the armor stand's left leg's
+ * current pose as a {@link org.bukkit.util.EulerAngle}
+ */
+ public getLeftLegPose(): org.bukkit.util.EulerAngle;
+ /**
+ * Sets the armor stand's left leg's
+ * current pose as a {@link org.bukkit.util.EulerAngle}
+ */
+ public setLeftLegPose(pose: org.bukkit.util.EulerAngle): void;
+ /**
+ * Returns the armor stand's right leg's
+ * current pose as a {@link org.bukkit.util.EulerAngle}
+ */
+ public getRightLegPose(): org.bukkit.util.EulerAngle;
+ /**
+ * Sets the armor stand's right leg's
+ * current pose as a {@link org.bukkit.util.EulerAngle}
+ */
+ public setRightLegPose(pose: org.bukkit.util.EulerAngle): void;
+ /**
+ * Returns the armor stand's head's
+ * current pose as a {@link org.bukkit.util.EulerAngle}
+ */
+ public getHeadPose(): org.bukkit.util.EulerAngle;
+ /**
+ * Sets the armor stand's head's
+ * current pose as a {@link org.bukkit.util.EulerAngle}
+ */
+ public setHeadPose(pose: org.bukkit.util.EulerAngle): void;
+ /**
+ * Returns whether the armor stand has
+ * a base plate
+ */
+ public hasBasePlate(): boolean;
+ /**
+ * Sets whether the armor stand has a
+ * base plate
+ */
+ public setBasePlate(basePlate: boolean): void;
+ /**
+ * Returns whether the armor stand should be
+ * visible or not
+ */
+ public isVisible(): boolean;
+ /**
+ * Sets whether the armor stand should be
+ * visible or not
+ */
+ public setVisible(visible: boolean): void;
+ /**
+ * Returns whether this armor stand has arms
+ */
+ public hasArms(): boolean;
+ /**
+ * Sets whether this armor stand has arms
+ */
+ public setArms(arms: boolean): void;
+ /**
+ * Returns whether this armor stand is scaled
+ * down
+ */
+ public isSmall(): boolean;
+ /**
+ * Sets whether this armor stand is scaled
+ * down
+ */
+ public setSmall(small: boolean): void;
+ /**
+ * Returns whether this armor stand is a marker,
+ * meaning it has a very small collision box
+ */
+ public isMarker(): boolean;
+ /**
+ * Sets whether this armor stand is a marker,
+ * meaning it has a very small collision box
+ */
+ public setMarker(marker: boolean): void;
+ }
+ }
+ }
+}
diff --git a/packages/bukkit/src/typings/org.bukkit.entity.Arrow.ts b/packages/bukkit/src/typings/org.bukkit.entity.Arrow.ts
new file mode 100644
index 00000000..6e01935c
--- /dev/null
+++ b/packages/bukkit/src/typings/org.bukkit.entity.Arrow.ts
@@ -0,0 +1,52 @@
+declare namespace org {
+ namespace bukkit {
+ namespace entity {
+ class Arrow {
+ /**
+ * Sets the underlying potion data
+ */
+ public setBasePotionData(data: org.bukkit.potion.PotionData): void;
+ /**
+ * Returns the potion data about the base potion
+ */
+ public getBasePotionData(): org.bukkit.potion.PotionData;
+ /**
+ * Gets the color of this arrow.
+ */
+ public getColor(): org.bukkit.Color;
+ /**
+ * Sets the color of this arrow. Will be applied as a tint to its particles.
+ */
+ public setColor(color: org.bukkit.Color): void;
+ /**
+ * Checks for the presence of custom potion effects.
+ */
+ public hasCustomEffects(): boolean;
+ /**
+ * Gets an immutable list containing all custom potion effects applied to
+ * this arrow.
+ *
+ * Plugins should check that hasCustomEffects() returns true before calling
+ * this method.
+ */
+ public getCustomEffects(): any[] /*java.util.List*/;
+ /**
+ * Adds a custom potion effect to this arrow.
+ */
+ public addCustomEffect(effect: org.bukkit.potion.PotionEffect, overwrite: boolean): boolean;
+ /**
+ * Removes a custom potion effect from this arrow.
+ */
+ public removeCustomEffect(type: org.bukkit.potion.PotionEffectType): boolean;
+ /**
+ * Checks for a specific custom potion effect type on this arrow.
+ */
+ public hasCustomEffect(type: org.bukkit.potion.PotionEffectType): boolean;
+ /**
+ * Removes all custom potion effects from this arrow.
+ */
+ public clearCustomEffects(): void;
+ }
+ }
+ }
+}
diff --git a/packages/bukkit/src/typings/org.bukkit.entity.Bat.ts b/packages/bukkit/src/typings/org.bukkit.entity.Bat.ts
new file mode 100644
index 00000000..793f0a6e
--- /dev/null
+++ b/packages/bukkit/src/typings/org.bukkit.entity.Bat.ts
@@ -0,0 +1,21 @@
+declare namespace org {
+ namespace bukkit {
+ namespace entity {
+ class Bat {
+ /**
+ * Checks the current waking state of this bat.
+ *
+ * This does not imply any persistence of state past the method call.
+ */
+ public isAwake(): boolean;
+ /**
+ * This method modifies the current waking state of this bat.
+ *
+ * This does not prevent a bat from spontaneously awaking itself, or from
+ * reattaching itself to a block.
+ */
+ public setAwake(state: boolean): void;
+ }
+ }
+ }
+}
diff --git a/packages/bukkit/src/typings/org.bukkit.entity.Blaze.ts b/packages/bukkit/src/typings/org.bukkit.entity.Blaze.ts
new file mode 100644
index 00000000..2e8ced2e
--- /dev/null
+++ b/packages/bukkit/src/typings/org.bukkit.entity.Blaze.ts
@@ -0,0 +1,8 @@
+declare namespace org {
+ namespace bukkit {
+ namespace entity {
+ class Blaze {
+ }
+ }
+ }
+}
diff --git a/packages/bukkit/src/typings/org.bukkit.entity.Boat.ts b/packages/bukkit/src/typings/org.bukkit.entity.Boat.ts
new file mode 100644
index 00000000..541676d6
--- /dev/null
+++ b/packages/bukkit/src/typings/org.bukkit.entity.Boat.ts
@@ -0,0 +1,57 @@
+declare namespace org {
+ namespace bukkit {
+ namespace entity {
+ class Boat {
+ /**
+ * Gets the wood type of the boat.
+ */
+ public getWoodType(): org.bukkit.TreeSpecies;
+ /**
+ * Sets the wood type of the boat.
+ */
+ public setWoodType(species: org.bukkit.TreeSpecies): void;
+ /**
+ * Gets the maximum speed of a boat. The speed is unrelated to the
+ * velocity.
+ */
+ public getMaxSpeed(): number;
+ /**
+ * Sets the maximum speed of a boat. Must be nonnegative. Default is 0.4D.
+ */
+ public setMaxSpeed(speed: number): void;
+ /**
+ * Gets the deceleration rate (newSpeed = curSpeed * rate) of occupied
+ * boats. The default is 0.2.
+ */
+ public getOccupiedDeceleration(): number;
+ /**
+ * Sets the deceleration rate (newSpeed = curSpeed * rate) of occupied
+ * boats. Setting this to a higher value allows for quicker acceleration.
+ * The default is 0.2.
+ */
+ public setOccupiedDeceleration(rate: number): void;
+ /**
+ * Gets the deceleration rate (newSpeed = curSpeed * rate) of unoccupied
+ * boats. The default is -1. Values below 0 indicate that no additional
+ * deceleration is imposed.
+ */
+ public getUnoccupiedDeceleration(): number;
+ /**
+ * Sets the deceleration rate (newSpeed = curSpeed * rate) of unoccupied
+ * boats. Setting this to a higher value allows for quicker deceleration
+ * of boats when a player disembarks. The default is -1. Values below 0
+ * indicate that no additional deceleration is imposed.
+ */
+ public setUnoccupiedDeceleration(rate: number): void;
+ /**
+ * Get whether boats can work on land.
+ */
+ public getWorkOnLand(): boolean;
+ /**
+ * Set whether boats can work on land.
+ */
+ public setWorkOnLand(workOnLand: boolean): void;
+ }
+ }
+ }
+}
diff --git a/packages/bukkit/src/typings/org.bukkit.entity.Boss.ts b/packages/bukkit/src/typings/org.bukkit.entity.Boss.ts
new file mode 100644
index 00000000..0108c135
--- /dev/null
+++ b/packages/bukkit/src/typings/org.bukkit.entity.Boss.ts
@@ -0,0 +1,12 @@
+declare namespace org {
+ namespace bukkit {
+ namespace entity {
+ class Boss {
+ /**
+ * Returns the {@link BossBar} of the {@link Boss}
+ */
+ public getBossBar(): org.bukkit.boss.BossBar;
+ }
+ }
+ }
+}
diff --git a/packages/bukkit/src/typings/org.bukkit.entity.Cat.Type.ts b/packages/bukkit/src/typings/org.bukkit.entity.Cat.Type.ts
new file mode 100644
index 00000000..3e4e1691
--- /dev/null
+++ b/packages/bukkit/src/typings/org.bukkit.entity.Cat.Type.ts
@@ -0,0 +1,23 @@
+declare namespace org {
+ namespace bukkit {
+ namespace entity {
+ namespace Cat {
+ class Type {
+ public static TABBY: org.bukkit.entity.Cat.Type;
+ public static BLACK: org.bukkit.entity.Cat.Type;
+ public static RED: org.bukkit.entity.Cat.Type;
+ public static SIAMESE: org.bukkit.entity.Cat.Type;
+ public static BRITISH_SHORTHAIR: org.bukkit.entity.Cat.Type;
+ public static CALICO: org.bukkit.entity.Cat.Type;
+ public static PERSIAN: org.bukkit.entity.Cat.Type;
+ public static RAGDOLL: org.bukkit.entity.Cat.Type;
+ public static WHITE: org.bukkit.entity.Cat.Type;
+ public static JELLIE: org.bukkit.entity.Cat.Type;
+ public static ALL_BLACK: org.bukkit.entity.Cat.Type;
+ public static values(): org.bukkit.entity.Cat.Type[];
+ public static valueOf(name: string): org.bukkit.entity.Cat.Type;
+ }
+ }
+ }
+ }
+}
diff --git a/packages/bukkit/src/typings/org.bukkit.entity.Cat.ts b/packages/bukkit/src/typings/org.bukkit.entity.Cat.ts
new file mode 100644
index 00000000..57fae02c
--- /dev/null
+++ b/packages/bukkit/src/typings/org.bukkit.entity.Cat.ts
@@ -0,0 +1,24 @@
+declare namespace org {
+ namespace bukkit {
+ namespace entity {
+ class Cat {
+ /**
+ * Gets the current type of this cat.
+ */
+ public getCatType(): org.bukkit.entity.Cat.Type;
+ /**
+ * Sets the current type of this cat.
+ */
+ public setCatType(type: org.bukkit.entity.Cat.Type): void;
+ /**
+ * Get the collar color of this cat
+ */
+ public getCollarColor(): org.bukkit.DyeColor;
+ /**
+ * Set the collar color of this cat
+ */
+ public setCollarColor(color: org.bukkit.DyeColor): void;
+ }
+ }
+ }
+}
diff --git a/packages/bukkit/src/typings/org.bukkit.entity.CaveSpider.ts b/packages/bukkit/src/typings/org.bukkit.entity.CaveSpider.ts
new file mode 100644
index 00000000..1a4abc92
--- /dev/null
+++ b/packages/bukkit/src/typings/org.bukkit.entity.CaveSpider.ts
@@ -0,0 +1,8 @@
+declare namespace org {
+ namespace bukkit {
+ namespace entity {
+ class CaveSpider {
+ }
+ }
+ }
+}
diff --git a/packages/bukkit/src/typings/org.bukkit.entity.ChestedHorse.ts b/packages/bukkit/src/typings/org.bukkit.entity.ChestedHorse.ts
new file mode 100644
index 00000000..af398df1
--- /dev/null
+++ b/packages/bukkit/src/typings/org.bukkit.entity.ChestedHorse.ts
@@ -0,0 +1,17 @@
+declare namespace org {
+ namespace bukkit {
+ namespace entity {
+ class ChestedHorse {
+ /**
+ * Gets whether the horse has a chest equipped.
+ */
+ public isCarryingChest(): boolean;
+ /**
+ * Sets whether the horse has a chest equipped. Removing a chest will also
+ * clear the chest's inventory.
+ */
+ public setCarryingChest(chest: boolean): void;
+ }
+ }
+ }
+}
diff --git a/packages/bukkit/src/typings/org.bukkit.entity.Chicken.ts b/packages/bukkit/src/typings/org.bukkit.entity.Chicken.ts
new file mode 100644
index 00000000..b230ca8d
--- /dev/null
+++ b/packages/bukkit/src/typings/org.bukkit.entity.Chicken.ts
@@ -0,0 +1,8 @@
+declare namespace org {
+ namespace bukkit {
+ namespace entity {
+ class Chicken {
+ }
+ }
+ }
+}
diff --git a/packages/bukkit/src/typings/org.bukkit.entity.Cod.ts b/packages/bukkit/src/typings/org.bukkit.entity.Cod.ts
new file mode 100644
index 00000000..9d862c46
--- /dev/null
+++ b/packages/bukkit/src/typings/org.bukkit.entity.Cod.ts
@@ -0,0 +1,8 @@
+declare namespace org {
+ namespace bukkit {
+ namespace entity {
+ class Cod {
+ }
+ }
+ }
+}
diff --git a/packages/bukkit/src/typings/org.bukkit.entity.ComplexEntityPart.ts b/packages/bukkit/src/typings/org.bukkit.entity.ComplexEntityPart.ts
new file mode 100644
index 00000000..1a9ef881
--- /dev/null
+++ b/packages/bukkit/src/typings/org.bukkit.entity.ComplexEntityPart.ts
@@ -0,0 +1,12 @@
+declare namespace org {
+ namespace bukkit {
+ namespace entity {
+ class ComplexEntityPart {
+ /**
+ * Gets the parent {@link ComplexLivingEntity} of this part.
+ */
+ public getParent(): org.bukkit.entity.ComplexLivingEntity;
+ }
+ }
+ }
+}
diff --git a/packages/bukkit/src/typings/org.bukkit.entity.ComplexLivingEntity.ts b/packages/bukkit/src/typings/org.bukkit.entity.ComplexLivingEntity.ts
new file mode 100644
index 00000000..a863fe7c
--- /dev/null
+++ b/packages/bukkit/src/typings/org.bukkit.entity.ComplexLivingEntity.ts
@@ -0,0 +1,12 @@
+declare namespace org {
+ namespace bukkit {
+ namespace entity {
+ class ComplexLivingEntity {
+ /**
+ * Gets a list of parts that belong to this complex entity
+ */
+ public getParts(): any[] /*java.util.Set*/;
+ }
+ }
+ }
+}
diff --git a/packages/bukkit/src/typings/org.bukkit.entity.Cow.ts b/packages/bukkit/src/typings/org.bukkit.entity.Cow.ts
new file mode 100644
index 00000000..d349c499
--- /dev/null
+++ b/packages/bukkit/src/typings/org.bukkit.entity.Cow.ts
@@ -0,0 +1,8 @@
+declare namespace org {
+ namespace bukkit {
+ namespace entity {
+ class Cow {
+ }
+ }
+ }
+}
diff --git a/packages/bukkit/src/typings/org.bukkit.entity.Creature.ts b/packages/bukkit/src/typings/org.bukkit.entity.Creature.ts
new file mode 100644
index 00000000..c0eb9d3c
--- /dev/null
+++ b/packages/bukkit/src/typings/org.bukkit.entity.Creature.ts
@@ -0,0 +1,8 @@
+declare namespace org {
+ namespace bukkit {
+ namespace entity {
+ class Creature {
+ }
+ }
+ }
+}
diff --git a/packages/bukkit/src/typings/org.bukkit.entity.Creeper.ts b/packages/bukkit/src/typings/org.bukkit.entity.Creeper.ts
new file mode 100644
index 00000000..11ffcb3a
--- /dev/null
+++ b/packages/bukkit/src/typings/org.bukkit.entity.Creeper.ts
@@ -0,0 +1,52 @@
+declare namespace org {
+ namespace bukkit {
+ namespace entity {
+ class Creeper {
+ /**
+ * Checks if this Creeper is powered (Electrocuted)
+ */
+ public isPowered(): boolean;
+ /**
+ * Sets the Powered status of this Creeper
+ */
+ public setPowered(value: boolean): void;
+ /**
+ * Set the maximum fuse ticks for this Creeper, where the maximum ticks
+ * is the amount of time in which a creeper is allowed to be in the
+ * primed state before exploding.
+ */
+ public setMaxFuseTicks(ticks: number): void;
+ /**
+ * Get the maximum fuse ticks for this Creeper, where the maximum ticks
+ * is the amount of time in which a creeper is allowed to be in the
+ * primed state before exploding.
+ */
+ public getMaxFuseTicks(): number;
+ /**
+ * Set the explosion radius in which this Creeper's explosion will affect.
+ */
+ public setExplosionRadius(radius: number): void;
+ /**
+ * Get the explosion radius in which this Creeper's explosion will affect.
+ */
+ public getExplosionRadius(): number;
+ /**
+ * Makes this Creeper explode instantly.
+ * The resulting explosion can be cancelled by an
+ * {@link org.bukkit.event.entity.ExplosionPrimeEvent} and obeys the mob
+ * griefing gamerule.
+ */
+ public explode(): void;
+ /**
+ * Ignites this Creeper, beginning its fuse.
+ * The amount of time the Creeper takes to explode will depend on what
+ * {@link #setMaxFuseTicks} is set as.
+ * The resulting explosion can be cancelled by an
+ * {@link org.bukkit.event.entity.ExplosionPrimeEvent} and obeys the mob
+ * griefing gamerule.
+ */
+ public ignite(): void;
+ }
+ }
+ }
+}
diff --git a/packages/bukkit/src/typings/org.bukkit.entity.Damageable.ts b/packages/bukkit/src/typings/org.bukkit.entity.Damageable.ts
new file mode 100644
index 00000000..f98c37ba
--- /dev/null
+++ b/packages/bukkit/src/typings/org.bukkit.entity.Damageable.ts
@@ -0,0 +1,44 @@
+declare namespace org {
+ namespace bukkit {
+ namespace entity {
+ class Damageable {
+ /**
+ * Deals the given amount of damage to this entity.
+ */
+ public damage(amount: number): void;
+ /**
+ * Deals the given amount of damage to this entity, from a specified
+ * entity.
+ */
+ public damage(amount: number, source: org.bukkit.entity.Entity): void;
+ /**
+ * Gets the entity's health from 0 to {@link #getMaxHealth()}, where 0 is dead.
+ */
+ public getHealth(): number;
+ /**
+ * Sets the entity's health from 0 to {@link #getMaxHealth()}, where 0 is
+ * dead.
+ */
+ public setHealth(health: number): void;
+ /**
+ * Gets the maximum health this entity has.
+ */
+ public getMaxHealth(): number;
+ /**
+ * Sets the maximum health this entity can have.
+ *
+ * If the health of the entity is above the value provided it will be set
+ * to that value.
+ *
+ * Note: An entity with a health bar ({@link Player}, {@link EnderDragon},
+ * {@link Wither}, etc...} will have their bar scaled accordingly.
+ */
+ public setMaxHealth(health: number): void;
+ /**
+ * Resets the max health to the original amount.
+ */
+ public resetMaxHealth(): void;
+ }
+ }
+ }
+}
diff --git a/packages/bukkit/src/typings/org.bukkit.entity.Dolphin.ts b/packages/bukkit/src/typings/org.bukkit.entity.Dolphin.ts
new file mode 100644
index 00000000..4ff99a98
--- /dev/null
+++ b/packages/bukkit/src/typings/org.bukkit.entity.Dolphin.ts
@@ -0,0 +1,8 @@
+declare namespace org {
+ namespace bukkit {
+ namespace entity {
+ class Dolphin {
+ }
+ }
+ }
+}
diff --git a/packages/bukkit/src/typings/org.bukkit.entity.Donkey.ts b/packages/bukkit/src/typings/org.bukkit.entity.Donkey.ts
new file mode 100644
index 00000000..71619003
--- /dev/null
+++ b/packages/bukkit/src/typings/org.bukkit.entity.Donkey.ts
@@ -0,0 +1,8 @@
+declare namespace org {
+ namespace bukkit {
+ namespace entity {
+ class Donkey {
+ }
+ }
+ }
+}
diff --git a/packages/bukkit/src/typings/org.bukkit.entity.DragonFireball.ts b/packages/bukkit/src/typings/org.bukkit.entity.DragonFireball.ts
new file mode 100644
index 00000000..f03f3287
--- /dev/null
+++ b/packages/bukkit/src/typings/org.bukkit.entity.DragonFireball.ts
@@ -0,0 +1,8 @@
+declare namespace org {
+ namespace bukkit {
+ namespace entity {
+ class DragonFireball {
+ }
+ }
+ }
+}
diff --git a/packages/bukkit/src/typings/org.bukkit.entity.Drowned.ts b/packages/bukkit/src/typings/org.bukkit.entity.Drowned.ts
new file mode 100644
index 00000000..8b9bcf57
--- /dev/null
+++ b/packages/bukkit/src/typings/org.bukkit.entity.Drowned.ts
@@ -0,0 +1,8 @@
+declare namespace org {
+ namespace bukkit {
+ namespace entity {
+ class Drowned {
+ }
+ }
+ }
+}
diff --git a/packages/bukkit/src/typings/org.bukkit.entity.Egg.ts b/packages/bukkit/src/typings/org.bukkit.entity.Egg.ts
new file mode 100644
index 00000000..c805d2e7
--- /dev/null
+++ b/packages/bukkit/src/typings/org.bukkit.entity.Egg.ts
@@ -0,0 +1,8 @@
+declare namespace org {
+ namespace bukkit {
+ namespace entity {
+ class Egg {
+ }
+ }
+ }
+}
diff --git a/packages/bukkit/src/typings/org.bukkit.entity.ElderGuardian.ts b/packages/bukkit/src/typings/org.bukkit.entity.ElderGuardian.ts
new file mode 100644
index 00000000..b6726edc
--- /dev/null
+++ b/packages/bukkit/src/typings/org.bukkit.entity.ElderGuardian.ts
@@ -0,0 +1,8 @@
+declare namespace org {
+ namespace bukkit {
+ namespace entity {
+ class ElderGuardian {
+ }
+ }
+ }
+}
diff --git a/packages/bukkit/src/typings/org.bukkit.entity.EnderCrystal.ts b/packages/bukkit/src/typings/org.bukkit.entity.EnderCrystal.ts
new file mode 100644
index 00000000..46e1ce73
--- /dev/null
+++ b/packages/bukkit/src/typings/org.bukkit.entity.EnderCrystal.ts
@@ -0,0 +1,27 @@
+declare namespace org {
+ namespace bukkit {
+ namespace entity {
+ class EnderCrystal {
+ /**
+ * Return whether or not this end crystal is showing the
+ * bedrock slate underneath it.
+ */
+ public isShowingBottom(): boolean;
+ /**
+ * Sets whether or not this end crystal is showing the
+ * bedrock slate underneath it.
+ */
+ public setShowingBottom(showing: boolean): void;
+ /**
+ * Gets the location that this end crystal is pointing its beam to.
+ */
+ public getBeamTarget(): org.bukkit.Location;
+ /**
+ * Sets the location that this end crystal is pointing to. Passing a null
+ * value will remove the current beam.
+ */
+ public setBeamTarget(location: org.bukkit.Location): void;
+ }
+ }
+ }
+}
diff --git a/packages/bukkit/src/typings/org.bukkit.entity.EnderDragon.Phase.ts b/packages/bukkit/src/typings/org.bukkit.entity.EnderDragon.Phase.ts
new file mode 100644
index 00000000..b0748542
--- /dev/null
+++ b/packages/bukkit/src/typings/org.bukkit.entity.EnderDragon.Phase.ts
@@ -0,0 +1,23 @@
+declare namespace org {
+ namespace bukkit {
+ namespace entity {
+ namespace EnderDragon {
+ class Phase {
+ public static CIRCLING: org.bukkit.entity.EnderDragon.Phase;
+ public static STRAFING: org.bukkit.entity.EnderDragon.Phase;
+ public static FLY_TO_PORTAL: org.bukkit.entity.EnderDragon.Phase;
+ public static LAND_ON_PORTAL: org.bukkit.entity.EnderDragon.Phase;
+ public static LEAVE_PORTAL: org.bukkit.entity.EnderDragon.Phase;
+ public static BREATH_ATTACK: org.bukkit.entity.EnderDragon.Phase;
+ public static SEARCH_FOR_BREATH_ATTACK_TARGET: org.bukkit.entity.EnderDragon.Phase;
+ public static ROAR_BEFORE_ATTACK: org.bukkit.entity.EnderDragon.Phase;
+ public static CHARGE_PLAYER: org.bukkit.entity.EnderDragon.Phase;
+ public static DYING: org.bukkit.entity.EnderDragon.Phase;
+ public static HOVER: org.bukkit.entity.EnderDragon.Phase;
+ public static values(): org.bukkit.entity.EnderDragon.Phase[];
+ public static valueOf(name: string): org.bukkit.entity.EnderDragon.Phase;
+ }
+ }
+ }
+ }
+}
diff --git a/packages/bukkit/src/typings/org.bukkit.entity.EnderDragon.ts b/packages/bukkit/src/typings/org.bukkit.entity.EnderDragon.ts
new file mode 100644
index 00000000..804b5729
--- /dev/null
+++ b/packages/bukkit/src/typings/org.bukkit.entity.EnderDragon.ts
@@ -0,0 +1,16 @@
+declare namespace org {
+ namespace bukkit {
+ namespace entity {
+ class EnderDragon {
+ /**
+ * Gets the current phase that the dragon is performing.
+ */
+ public getPhase(): org.bukkit.entity.EnderDragon.Phase;
+ /**
+ * Sets the next phase for the dragon to perform.
+ */
+ public setPhase(phase: org.bukkit.entity.EnderDragon.Phase): void;
+ }
+ }
+ }
+}
diff --git a/packages/bukkit/src/typings/org.bukkit.entity.EnderDragonPart.ts b/packages/bukkit/src/typings/org.bukkit.entity.EnderDragonPart.ts
new file mode 100644
index 00000000..80fbc673
--- /dev/null
+++ b/packages/bukkit/src/typings/org.bukkit.entity.EnderDragonPart.ts
@@ -0,0 +1,9 @@
+declare namespace org {
+ namespace bukkit {
+ namespace entity {
+ class EnderDragonPart {
+ public getParent(): org.bukkit.entity.EnderDragon;
+ }
+ }
+ }
+}
diff --git a/packages/bukkit/src/typings/org.bukkit.entity.EnderPearl.ts b/packages/bukkit/src/typings/org.bukkit.entity.EnderPearl.ts
new file mode 100644
index 00000000..04318389
--- /dev/null
+++ b/packages/bukkit/src/typings/org.bukkit.entity.EnderPearl.ts
@@ -0,0 +1,8 @@
+declare namespace org {
+ namespace bukkit {
+ namespace entity {
+ class EnderPearl {
+ }
+ }
+ }
+}
diff --git a/packages/bukkit/src/typings/org.bukkit.entity.EnderSignal.ts b/packages/bukkit/src/typings/org.bukkit.entity.EnderSignal.ts
new file mode 100644
index 00000000..92686e25
--- /dev/null
+++ b/packages/bukkit/src/typings/org.bukkit.entity.EnderSignal.ts
@@ -0,0 +1,41 @@
+declare namespace org {
+ namespace bukkit {
+ namespace entity {
+ class EnderSignal {
+ /**
+ * Get the location this EnderSignal is moving towards.
+ */
+ public getTargetLocation(): org.bukkit.Location;
+ /**
+ * Set the {@link Location} this EnderSignal is moving towards.
+ *
+ * If the provided Location is null this method does nothing and returns
+ * null.
+ */
+ public getLocation(loc: org.bukkit.Location): org.bukkit.Location;
+ /**
+ * Sets this entity's velocity
+ */
+ public setVelocity(velocity: org.bukkit.util.Vector): void;
+ /**
+ * Gets this entity's current velocity
+ */
+ public getVelocity(): org.bukkit.util.Vector;
+ /**
+ * Gets the entity's height
+ */
+ public getHeight(): number;
+ /**
+ * Gets the entity's width
+ */
+ public getWidth(): number;
+ /**
+ * Gets the entity's current bounding box.
+ *
+ * The returned bounding box reflects the entity's current location and
+ * size.
+ */
+ public getBoundingBox(): org.bukkit.util.BoundingBox;
+ /**
+ * Returns true if the entity is supported by a block. This value is a
+ * state updated by the server and is not recalculated unless the entity
+ * moves.
+ */
+ public isOnGround(): boolean;
+ /**
+ * Gets the current world this entity resides in
+ */
+ public getWorld(): org.bukkit.World;
+ /**
+ * Sets the entity's rotation.
+ *
+ * Note that if the entity is affected by AI, it may override this rotation.
+ */
+ public setRotation(yaw: number, pitch: number): void;
+ /**
+ * Teleports this entity to the given location. If this entity is riding a
+ * vehicle, it will be dismounted prior to teleportation.
+ */
+ public teleport(location: org.bukkit.Location): boolean;
+ /**
+ * Teleports this entity to the given location. If this entity is riding a
+ * vehicle, it will be dismounted prior to teleportation.
+ */
+ public teleport(location: org.bukkit.Location, cause: org.bukkit.event.player.PlayerTeleportEvent.TeleportCause): boolean;
+ /**
+ * Teleports this entity to the target Entity. If this entity is riding a
+ * vehicle, it will be dismounted prior to teleportation.
+ */
+ public teleport(destination: org.bukkit.entity.Entity): boolean;
+ /**
+ * Teleports this entity to the target Entity. If this entity is riding a
+ * vehicle, it will be dismounted prior to teleportation.
+ */
+ public teleport(destination: org.bukkit.entity.Entity, cause: org.bukkit.event.player.PlayerTeleportEvent.TeleportCause): boolean;
+ /**
+ * Returns a list of entities within a bounding box centered around this
+ * entity
+ */
+ public getNearbyEntities(x: number, y: number, z: number): any[] /*java.util.List*/;
+ /**
+ * Returns a unique id for this entity
+ */
+ public getEntityId(): number;
+ /**
+ * Returns the entity's current fire ticks (ticks before the entity stops
+ * being on fire).
+ */
+ public getFireTicks(): number;
+ /**
+ * Returns the entity's maximum fire ticks.
+ */
+ public getMaxFireTicks(): number;
+ /**
+ * Sets the entity's current fire ticks (ticks before the entity stops
+ * being on fire).
+ */
+ public setFireTicks(ticks: number): void;
+ /**
+ * Mark the entity's removal.
+ */
+ public remove(): void;
+ /**
+ * Returns true if this entity has been marked for removal.
+ */
+ public isDead(): boolean;
+ /**
+ * Returns false if the entity has died or been despawned for some other
+ * reason.
+ */
+ public isValid(): boolean;
+ /**
+ * Gets the {@link Server} that contains this Entity
+ */
+ public getServer(): org.bukkit.Server;
+ /**
+ * Returns true if the entity gets persisted.
+ *
+ * By default all entities are persistent. An entity will also not get
+ * persisted, if it is riding an entity that is not persistent.
+ *
+ * The persistent flag on players controls whether or not to save their
+ * playerdata file when they quit. If a player is directly or indirectly
+ * riding a non-persistent entity, the vehicle at the root and all its
+ * passengers won't get persisted.
+ *
+ * This should not be confused with
+ * {@link LivingEntity#setRemoveWhenFarAway(boolean)} which controls
+ * despawning of living entities.
+ */
+ public isPersistent(): boolean;
+ /**
+ * Sets whether or not the entity gets persisted.
+ */
+ public setPersistent(persistent: boolean): void;
+ /**
+ * Gets the primary passenger of a vehicle. For vehicles that could have
+ * multiple passengers, this will only return the primary passenger.
+ */
+ public getPassenger(): org.bukkit.entity.Entity;
+ /**
+ * Set the passenger of a vehicle.
+ */
+ public setPassenger(passenger: org.bukkit.entity.Entity): boolean;
+ /**
+ * Gets a list of passengers of this vehicle.
+ *
+ * The returned list will not be directly linked to the entity's current
+ * passengers, and no guarantees are made as to its mutability.
+ */
+ public getPassengers(): any[] /*java.util.List*/;
+ /**
+ * Add a passenger to the vehicle.
+ */
+ public addPassenger(passenger: org.bukkit.entity.Entity): boolean;
+ /**
+ * Remove a passenger from the vehicle.
+ */
+ public removePassenger(passenger: org.bukkit.entity.Entity): boolean;
+ /**
+ * Check if a vehicle has passengers.
+ */
+ public isEmpty(): boolean;
+ /**
+ * Eject any passenger.
+ */
+ public eject(): boolean;
+ /**
+ * Returns the distance this entity has fallen
+ */
+ public getFallDistance(): number;
+ /**
+ * Sets the fall distance for this entity
+ */
+ public setFallDistance(distance: number): void;
+ /**
+ * Record the last {@link EntityDamageEvent} inflicted on this entity
+ */
+ public setLastDamageCause(event: org.bukkit.event.entity.EntityDamageEvent): void;
+ /**
+ * Retrieve the last {@link EntityDamageEvent} inflicted on this entity.
+ * This event may have been cancelled.
+ */
+ public getLastDamageCause(): org.bukkit.event.entity.EntityDamageEvent;
+ /**
+ * Returns a unique and persistent id for this entity
+ */
+ public getUniqueId(): any;
+ /**
+ * Gets the amount of ticks this entity has lived for.
+ *
+ * This is the equivalent to "age" in entities.
+ */
+ public getTicksLived(): number;
+ /**
+ * Sets the amount of ticks this entity has lived for.
+ *
+ * This is the equivalent to "age" in entities. May not be less than one
+ * tick.
+ */
+ public setTicksLived(value: number): void;
+ /**
+ * Performs the specified {@link EntityEffect} for this entity.
+ *
+ * This will be viewable to all players near the entity.
+ *
+ * If the effect is not applicable to this class of entity, it will not play.
+ */
+ public playEffect(type: org.bukkit.EntityEffect): void;
+ /**
+ * Get the type of the entity.
+ */
+ public getType(): org.bukkit.entity.EntityType;
+ /**
+ * Returns whether this entity is inside a vehicle.
+ */
+ public isInsideVehicle(): boolean;
+ /**
+ * Leave the current vehicle. If the entity is currently in a vehicle (and
+ * is removed from it), true will be returned, otherwise false will be
+ * returned.
+ */
+ public leaveVehicle(): boolean;
+ /**
+ * Get the vehicle that this player is inside. If there is no vehicle,
+ * null will be returned.
+ */
+ public getVehicle(): org.bukkit.entity.Entity;
+ /**
+ * Sets whether or not to display the mob's custom name client side. The
+ * name will be displayed above the mob similarly to a player.
+ *
+ * This value has no effect on players, they will always display their
+ * name.
+ */
+ public setCustomNameVisible(flag: boolean): void;
+ /**
+ * Gets whether or not the mob's custom name is displayed client side.
+ *
+ * This value has no effect on players, they will always display their
+ * name.
+ */
+ public isCustomNameVisible(): boolean;
+ /**
+ * Sets whether the entity has a team colored (default: white) glow.
+ */
+ public setGlowing(flag: boolean): void;
+ /**
+ * Gets whether the entity is glowing or not.
+ */
+ public isGlowing(): boolean;
+ /**
+ * Sets whether the entity is invulnerable or not.
+ *
+ * When an entity is invulnerable it can only be damaged by players in
+ * creative mode.
+ */
+ public setInvulnerable(flag: boolean): void;
+ /**
+ * Gets whether the entity is invulnerable or not.
+ */
+ public isInvulnerable(): boolean;
+ /**
+ * Gets whether the entity is silent or not.
+ */
+ public isSilent(): boolean;
+ /**
+ * Sets whether the entity is silent or not.
+ *
+ * When an entity is silent it will not produce any sound.
+ */
+ public setSilent(flag: boolean): void;
+ /**
+ * Returns whether gravity applies to this entity.
+ */
+ public hasGravity(): boolean;
+ /**
+ * Sets whether gravity applies to this entity.
+ */
+ public setGravity(gravity: boolean): void;
+ /**
+ * Gets the period of time (in ticks) before this entity can use a portal.
+ */
+ public getPortalCooldown(): number;
+ /**
+ * Sets the period of time (in ticks) before this entity can use a portal.
+ */
+ public setPortalCooldown(cooldown: number): void;
+ /**
+ * Returns a set of tags for this entity.
+ *
+ * 0.0 = No Chance.
+ * 0.0 = No Chance.
+ * Colors only apply to horses, not to donkeys, mules, skeleton horses
+ * or undead horses.
+ */
+ public getColor(): org.bukkit.entity.Horse.Color;
+ /**
+ * Sets the horse's color.
+ *
+ * Attempting to set a color for any donkey, mule, skeleton horse or
+ * undead horse will not result in a change.
+ */
+ public setColor(color: org.bukkit.entity.Horse.Color): void;
+ /**
+ * Gets the horse's style.
+ * Styles determine what kind of markings or patterns a horse has.
+ *
+ * Styles only apply to horses, not to donkeys, mules, skeleton horses
+ * or undead horses.
+ */
+ public getStyle(): org.bukkit.entity.Horse.Style;
+ /**
+ * Sets the style of this horse.
+ * Styles determine what kind of markings or patterns a horse has.
+ *
+ * Attempting to set a style for any donkey, mule, skeleton horse or
+ * undead horse will not result in a change.
+ */
+ public setStyle(style: org.bukkit.entity.Horse.Style): void;
+ public isCarryingChest(): boolean;
+ public setCarryingChest(chest: boolean): void;
+ public getInventory(): org.bukkit.inventory.HorseInventory;
+ }
+ }
+ }
+}
diff --git a/packages/bukkit/src/typings/org.bukkit.entity.HumanEntity.ts b/packages/bukkit/src/typings/org.bukkit.entity.HumanEntity.ts
new file mode 100644
index 00000000..a51b734b
--- /dev/null
+++ b/packages/bukkit/src/typings/org.bukkit.entity.HumanEntity.ts
@@ -0,0 +1,226 @@
+declare namespace org {
+ namespace bukkit {
+ namespace entity {
+ class HumanEntity {
+ /**
+ * Returns the name of this player
+ */
+ public getName(): string;
+ /**
+ * Get the player's inventory.
+ */
+ public getInventory(): org.bukkit.inventory.PlayerInventory;
+ /**
+ * Get the player's EnderChest inventory
+ */
+ public getEnderChest(): org.bukkit.inventory.Inventory;
+ /**
+ * Gets the player's selected main hand
+ */
+ public getMainHand(): org.bukkit.inventory.MainHand;
+ /**
+ * If the player currently has an inventory window open, this method will
+ * set a property of that window, such as the state of a progress bar.
+ */
+ public setWindowProperty(prop: org.bukkit.inventory.InventoryView.Property, value: number): boolean;
+ /**
+ * Gets the inventory view the player is currently viewing. If they do not
+ * have an inventory window open, it returns their internal crafting view.
+ */
+ public getOpenInventory(): org.bukkit.inventory.InventoryView;
+ /**
+ * Opens an inventory window with the specified inventory on the top and
+ * the player's inventory on the bottom.
+ */
+ public openInventory(inventory: org.bukkit.inventory.Inventory): org.bukkit.inventory.InventoryView;
+ /**
+ * Opens an empty workbench inventory window with the player's inventory
+ * on the bottom.
+ */
+ public openWorkbench(location: org.bukkit.Location, force: boolean): org.bukkit.inventory.InventoryView;
+ /**
+ * Opens an empty enchanting inventory window with the player's inventory
+ * on the bottom.
+ */
+ public openEnchanting(location: org.bukkit.Location, force: boolean): org.bukkit.inventory.InventoryView;
+ /**
+ * Opens an inventory window to the specified inventory view.
+ */
+ public openInventory(inventory: org.bukkit.inventory.InventoryView): void;
+ /**
+ * Starts a trade between the player and the villager.
+ * Note that only one player may trade with a villager at once. You must use
+ * the force parameter for this.
+ */
+ public openMerchant(trader: org.bukkit.entity.Villager, force: boolean): org.bukkit.inventory.InventoryView;
+ /**
+ * Starts a trade between the player and the merchant.
+ * Note that only one player may trade with a merchant at once. You must use
+ * the force parameter for this.
+ */
+ public openMerchant(merchant: org.bukkit.inventory.Merchant, force: boolean): org.bukkit.inventory.InventoryView;
+ /**
+ * Force-closes the currently open inventory view for this player, if any.
+ */
+ public closeInventory(): void;
+ /**
+ * Returns the ItemStack currently in your hand, can be empty.
+ */
+ public getItemInHand(): org.bukkit.inventory.ItemStack;
+ /**
+ * Sets the item to the given ItemStack, this will replace whatever the
+ * user was holding.
+ */
+ public setItemInHand(item: org.bukkit.inventory.ItemStack): void;
+ /**
+ * Returns the ItemStack currently on your cursor, can be empty. Will
+ * always be empty if the player currently has no open window.
+ */
+ public getItemOnCursor(): org.bukkit.inventory.ItemStack;
+ /**
+ * Sets the item to the given ItemStack, this will replace whatever the
+ * user was moving. Will always be empty if the player currently has no
+ * open window.
+ */
+ public setItemOnCursor(item: org.bukkit.inventory.ItemStack): void;
+ /**
+ * Check whether a cooldown is active on the specified material.
+ */
+ public hasCooldown(material: org.bukkit.Material): boolean;
+ /**
+ * Get the cooldown time in ticks remaining for the specified material.
+ */
+ public getCooldown(material: org.bukkit.Material): number;
+ /**
+ * Set a cooldown on the specified material for a certain amount of ticks.
+ * ticks. 0 ticks will result in the removal of the cooldown.
+ *
+ * Cooldowns are used by the server for items such as ender pearls and
+ * shields to prevent them from being used repeatedly.
+ *
+ * Note that cooldowns will not by themselves stop an item from being used
+ * for attacking.
+ */
+ public setCooldown(material: org.bukkit.Material, ticks: number): void;
+ /**
+ * Get the sleep ticks of the player. This value may be capped.
+ */
+ public getSleepTicks(): number;
+ /**
+ * Gets the Location where the player will spawn at their bed, null if
+ * they have not slept in one or their current bed spawn is invalid.
+ */
+ public getBedSpawnLocation(): org.bukkit.Location;
+ /**
+ * Sets the Location where the player will spawn at their bed.
+ */
+ public setBedSpawnLocation(location: org.bukkit.Location): void;
+ /**
+ * Sets the Location where the player will spawn at their bed.
+ */
+ public setBedSpawnLocation(location: org.bukkit.Location, force: boolean): void;
+ /**
+ * Attempts to make the entity sleep at the given location.
+ *
+ * This list contains all blocks from the living entity's eye position to
+ * target inclusive. This method considers all blocks as 1x1x1 in size.
+ */
+ public getLineOfSight(transparent: any[] /*java.util.Set*/, maxDistance: number): any[] /*java.util.List*/;
+ /**
+ * Gets the block that the living entity has targeted.
+ *
+ * This method considers all blocks as 1x1x1 in size. To take exact block
+ * collision shapes into account, see {@link #getTargetBlockExact(int,
+ * FluidCollisionMode)}.
+ */
+ public getTargetBlock(transparent: any[] /*java.util.Set*/, maxDistance: number): org.bukkit.block.Block;
+ /**
+ * Gets the last two blocks along the living entity's line of sight.
+ *
+ * The target block will be the last block in the list. This method
+ * considers all blocks as 1x1x1 in size.
+ */
+ public getLastTwoTargetBlocks(transparent: any[] /*java.util.Set*/, maxDistance: number): any[] /*java.util.List*/;
+ /**
+ * Gets the block that the living entity has targeted.
+ *
+ * This takes the blocks' precise collision shapes into account. Fluids are
+ * ignored.
+ *
+ * This may cause loading of chunks! Some implementations may impose
+ * artificial restrictions on the maximum distance.
+ */
+ public getTargetBlockExact(maxDistance: number): org.bukkit.block.Block;
+ /**
+ * Gets the block that the living entity has targeted.
+ *
+ * This takes the blocks' precise collision shapes into account.
+ *
+ * This may cause loading of chunks! Some implementations may impose
+ * artificial restrictions on the maximum distance.
+ */
+ public getTargetBlockExact(maxDistance: number, fluidCollisionMode: org.bukkit.FluidCollisionMode): org.bukkit.block.Block;
+ /**
+ * Performs a ray trace that provides information on the targeted block.
+ *
+ * This takes the blocks' precise collision shapes into account. Fluids are
+ * ignored.
+ *
+ * This may cause loading of chunks! Some implementations may impose
+ * artificial restrictions on the maximum distance.
+ */
+ public rayTraceBlocks(maxDistance: number): org.bukkit.util.RayTraceResult;
+ /**
+ * Performs a ray trace that provides information on the targeted block.
+ *
+ * This takes the blocks' precise collision shapes into account.
+ *
+ * This may cause loading of chunks! Some implementations may impose
+ * artificial restrictions on the maximum distance.
+ */
+ public rayTraceBlocks(maxDistance: number, fluidCollisionMode: org.bukkit.FluidCollisionMode): org.bukkit.util.RayTraceResult;
+ /**
+ * Returns the amount of air that the living entity has remaining, in
+ * ticks.
+ */
+ public getRemainingAir(): number;
+ /**
+ * Sets the amount of air that the living entity has remaining, in ticks.
+ */
+ public setRemainingAir(ticks: number): void;
+ /**
+ * Returns the maximum amount of air the living entity can have, in ticks.
+ */
+ public getMaximumAir(): number;
+ /**
+ * Sets the maximum amount of air the living entity can have, in ticks.
+ */
+ public setMaximumAir(ticks: number): void;
+ /**
+ * Returns the living entity's current maximum no damage ticks.
+ *
+ * This is the maximum duration in which the living entity will not take
+ * damage.
+ */
+ public getMaximumNoDamageTicks(): number;
+ /**
+ * Sets the living entity's current maximum no damage ticks.
+ */
+ public setMaximumNoDamageTicks(ticks: number): void;
+ /**
+ * Returns the living entity's last damage taken in the current no damage
+ * ticks time.
+ *
+ * Only damage higher than this amount will further damage the living
+ * entity.
+ */
+ public getLastDamage(): number;
+ /**
+ * Sets the damage dealt within the current no damage ticks time period.
+ */
+ public setLastDamage(damage: number): void;
+ /**
+ * Returns the living entity's current no damage ticks.
+ */
+ public getNoDamageTicks(): number;
+ /**
+ * Sets the living entity's current no damage ticks.
+ */
+ public setNoDamageTicks(ticks: number): void;
+ /**
+ * Gets the player identified as the killer of the living entity.
+ *
+ * May be null.
+ */
+ public getKiller(): org.bukkit.entity.Player;
+ /**
+ * Adds the given {@link PotionEffect} to the living entity.
+ *
+ * Only one potion effect can be present for a given {@link
+ * PotionEffectType}.
+ */
+ public addPotionEffect(effect: org.bukkit.potion.PotionEffect): boolean;
+ /**
+ * Adds the given {@link PotionEffect} to the living entity.
+ *
+ * Only one potion effect can be present for a given {@link
+ * PotionEffectType}.
+ */
+ public addPotionEffect(effect: org.bukkit.potion.PotionEffect, force: boolean): boolean;
+ /**
+ * Attempts to add all of the given {@link PotionEffect} to the living
+ * entity.
+ */
+ public addPotionEffects(effects: any[] /*java.util.Collection*/): boolean;
+ /**
+ * Returns whether the living entity already has an existing effect of
+ * the given {@link PotionEffectType} applied to it.
+ */
+ public hasPotionEffect(type: org.bukkit.potion.PotionEffectType): boolean;
+ /**
+ * Returns the active {@link PotionEffect} of the specified type.
+ *
+ * If the effect is not present on the entity then null will be returned.
+ */
+ public getPotionEffect(type: org.bukkit.potion.PotionEffectType): org.bukkit.potion.PotionEffect;
+ /**
+ * Removes any effects present of the given {@link PotionEffectType}.
+ */
+ public removePotionEffect(type: org.bukkit.potion.PotionEffectType): void;
+ /**
+ * Returns all currently active {@link PotionEffect}s on the living
+ * entity.
+ */
+ public getActivePotionEffects(): any[] /*java.util.Collection*/;
+ /**
+ * Checks whether the living entity has block line of sight to another.
+ *
+ * This uses the same algorithm that hostile mobs use to find the closest
+ * player.
+ */
+ public hasLineOfSight(other: org.bukkit.entity.Entity): boolean;
+ /**
+ * Returns if the living entity despawns when away from players or not.
+ *
+ * By default, animals are not removed while other mobs are.
+ */
+ public getRemoveWhenFarAway(): boolean;
+ /**
+ * Sets whether or not the living entity despawns when away from players
+ * or not.
+ */
+ public setRemoveWhenFarAway(remove: boolean): void;
+ /**
+ * Gets the inventory with the equipment worn by the living entity.
+ */
+ public getEquipment(): org.bukkit.inventory.EntityEquipment;
+ /**
+ * Sets whether or not the living entity can pick up items.
+ */
+ public setCanPickupItems(pickup: boolean): void;
+ /**
+ * Gets if the living entity can pick up items.
+ */
+ public getCanPickupItems(): boolean;
+ /**
+ * Returns whether the entity is currently leashed.
+ */
+ public isLeashed(): boolean;
+ /**
+ * Gets the entity that is currently leading this entity.
+ */
+ public getLeashHolder(): org.bukkit.entity.Entity;
+ /**
+ * Sets the leash on this entity to be held by the supplied entity.
+ *
+ * This method has no effect on EnderDragons, Withers, Players, or Bats.
+ * Non-living entities excluding leashes will not persist as leash
+ * holders.
+ */
+ public setLeashHolder(holder: org.bukkit.entity.Entity): boolean;
+ /**
+ * Checks to see if an entity is gliding, such as using an Elytra.
+ */
+ public isGliding(): boolean;
+ /**
+ * Makes entity start or stop gliding. This will work even if an Elytra
+ * is not equipped, but will be reverted by the server immediately after
+ * unless an event-cancelling mechanism is put in place.
+ */
+ public setGliding(gliding: boolean): void;
+ /**
+ * Checks to see if an entity is swimming.
+ */
+ public isSwimming(): boolean;
+ /**
+ * Makes entity start or stop swimming.
+ * This may have unexpected results if the entity is not in water.
+ */
+ public setSwimming(swimming: boolean): void;
+ /**
+ * Checks to see if an entity is currently using the Riptide enchantment.
+ */
+ public isRiptiding(): boolean;
+ /**
+ * Returns whether this entity is slumbering.
+ */
+ public isSleeping(): boolean;
+ /**
+ * Sets whether an entity will have AI.
+ */
+ public setAI(ai: boolean): void;
+ /**
+ * Checks whether an entity has AI.
+ */
+ public hasAI(): boolean;
+ /**
+ * Set if this entity will be subject to collisions other entities.
+ *
+ * Note that collisions are bidirectional, so this method would need to be
+ * set to false on both the collidee and the collidant to ensure no
+ * collisions take place.
+ */
+ public setCollidable(collidable: boolean): void;
+ /**
+ * Gets if this entity is subject to collisions with other entities.
+ *
+ * Please note that this method returns only the custom collidable state,
+ * not whether the entity is non-collidable for other reasons such as being
+ * dead.
+ */
+ public isCollidable(): boolean;
+ /**
+ * Returns the value of the memory specified.
+ *
+ * Note that the value is null when the specific entity does not have that
+ * value by default.
+ */
+ public getMemory(memoryKey: org.bukkit.entity.memory.MemoryKey): any;
+ /**
+ * Sets the value of the memory specified.
+ *
+ * Note that the value will not be persisted when the specific entity does
+ * not have that value by default.
+ */
+ public setMemory(memoryKey: org.bukkit.entity.memory.MemoryKey, memoryValue: any): void;
+ }
+ }
+ }
+}
diff --git a/packages/bukkit/src/typings/org.bukkit.entity.Llama.Color.ts b/packages/bukkit/src/typings/org.bukkit.entity.Llama.Color.ts
new file mode 100644
index 00000000..45f497c8
--- /dev/null
+++ b/packages/bukkit/src/typings/org.bukkit.entity.Llama.Color.ts
@@ -0,0 +1,16 @@
+declare namespace org {
+ namespace bukkit {
+ namespace entity {
+ namespace Llama {
+ class Color {
+ public static CREAMY: org.bukkit.entity.Llama.Color;
+ public static WHITE: org.bukkit.entity.Llama.Color;
+ public static BROWN: org.bukkit.entity.Llama.Color;
+ public static GRAY: org.bukkit.entity.Llama.Color;
+ public static values(): org.bukkit.entity.Llama.Color[];
+ public static valueOf(name: string): org.bukkit.entity.Llama.Color;
+ }
+ }
+ }
+ }
+}
diff --git a/packages/bukkit/src/typings/org.bukkit.entity.Llama.ts b/packages/bukkit/src/typings/org.bukkit.entity.Llama.ts
new file mode 100644
index 00000000..b460fb3f
--- /dev/null
+++ b/packages/bukkit/src/typings/org.bukkit.entity.Llama.ts
@@ -0,0 +1,28 @@
+declare namespace org {
+ namespace bukkit {
+ namespace entity {
+ class Llama {
+ /**
+ * Gets the llama's color.
+ */
+ public getColor(): org.bukkit.entity.Llama.Color;
+ /**
+ * Sets the llama's color.
+ */
+ public setColor(color: org.bukkit.entity.Llama.Color): void;
+ /**
+ * Gets the llama's strength. A higher strength llama will have more
+ * inventory slots and be more threatening to entities.
+ */
+ public getStrength(): number;
+ /**
+ * Sets the llama's strength. A higher strength llama will have more
+ * inventory slots and be more threatening to entities. Inventory slots are
+ * equal to strength * 3.
+ */
+ public setStrength(strength: number): void;
+ public getInventory(): org.bukkit.inventory.LlamaInventory;
+ }
+ }
+ }
+}
diff --git a/packages/bukkit/src/typings/org.bukkit.entity.LlamaSpit.ts b/packages/bukkit/src/typings/org.bukkit.entity.LlamaSpit.ts
new file mode 100644
index 00000000..84780afd
--- /dev/null
+++ b/packages/bukkit/src/typings/org.bukkit.entity.LlamaSpit.ts
@@ -0,0 +1,8 @@
+declare namespace org {
+ namespace bukkit {
+ namespace entity {
+ class LlamaSpit {
+ }
+ }
+ }
+}
diff --git a/packages/bukkit/src/typings/org.bukkit.entity.MagmaCube.ts b/packages/bukkit/src/typings/org.bukkit.entity.MagmaCube.ts
new file mode 100644
index 00000000..47c25bd3
--- /dev/null
+++ b/packages/bukkit/src/typings/org.bukkit.entity.MagmaCube.ts
@@ -0,0 +1,8 @@
+declare namespace org {
+ namespace bukkit {
+ namespace entity {
+ class MagmaCube {
+ }
+ }
+ }
+}
diff --git a/packages/bukkit/src/typings/org.bukkit.entity.Minecart.ts b/packages/bukkit/src/typings/org.bukkit.entity.Minecart.ts
new file mode 100644
index 00000000..de56744e
--- /dev/null
+++ b/packages/bukkit/src/typings/org.bukkit.entity.Minecart.ts
@@ -0,0 +1,89 @@
+declare namespace org {
+ namespace bukkit {
+ namespace entity {
+ class Minecart {
+ /**
+ * Sets a minecart's damage.
+ */
+ public setDamage(damage: number): void;
+ /**
+ * Gets a minecart's damage.
+ */
+ public getDamage(): number;
+ /**
+ * Gets the maximum speed of a minecart. The speed is unrelated to the
+ * velocity.
+ */
+ public getMaxSpeed(): number;
+ /**
+ * Sets the maximum speed of a minecart. Must be nonnegative. Default is
+ * 0.4D.
+ */
+ public setMaxSpeed(speed: number): void;
+ /**
+ * Returns whether this minecart will slow down faster without a passenger
+ * occupying it
+ */
+ public isSlowWhenEmpty(): boolean;
+ /**
+ * Sets whether this minecart will slow down faster without a passenger
+ * occupying it
+ */
+ public setSlowWhenEmpty(slow: boolean): void;
+ /**
+ * Gets the flying velocity modifier. Used for minecarts that are in
+ * mid-air. A flying minecart's velocity is multiplied by this factor each
+ * tick.
+ */
+ public getFlyingVelocityMod(): org.bukkit.util.Vector;
+ /**
+ * Sets the flying velocity modifier. Used for minecarts that are in
+ * mid-air. A flying minecart's velocity is multiplied by this factor each
+ * tick.
+ */
+ public setFlyingVelocityMod(flying: org.bukkit.util.Vector): void;
+ /**
+ * Gets the derailed velocity modifier. Used for minecarts that are on the
+ * ground, but not on rails.
+ *
+ * A derailed minecart's velocity is multiplied by this factor each tick.
+ */
+ public getDerailedVelocityMod(): org.bukkit.util.Vector;
+ /**
+ * Sets the derailed velocity modifier. Used for minecarts that are on the
+ * ground, but not on rails. A derailed minecart's velocity is multiplied
+ * by this factor each tick.
+ */
+ public setDerailedVelocityMod(derailed: org.bukkit.util.Vector): void;
+ /**
+ * Sets the display block for this minecart.
+ * Passing a null value will set the minecart to have no display block.
+ */
+ public setDisplayBlock(material: org.bukkit.material.MaterialData): void;
+ /**
+ * Gets the display block for this minecart.
+ * This function will return the type AIR if none is set.
+ */
+ public getDisplayBlock(): org.bukkit.material.MaterialData;
+ /**
+ * Sets the display block for this minecart.
+ * Passing a null value will set the minecart to have no display block.
+ */
+ public setDisplayBlockData(blockData: org.bukkit.block.data.BlockData): void;
+ /**
+ * Gets the display block for this minecart.
+ * This function will return the type AIR if none is set.
+ */
+ public getDisplayBlockData(): org.bukkit.block.data.BlockData;
+ /**
+ * Sets the offset of the display block.
+ */
+ public setDisplayBlockOffset(offset: number): void;
+ /**
+ * Gets the offset of the display block.
+ */
+ public getDisplayBlockOffset(): number;
+ }
+ }
+ }
+}
diff --git a/packages/bukkit/src/typings/org.bukkit.entity.Mob.ts b/packages/bukkit/src/typings/org.bukkit.entity.Mob.ts
new file mode 100644
index 00000000..7a099d4c
--- /dev/null
+++ b/packages/bukkit/src/typings/org.bukkit.entity.Mob.ts
@@ -0,0 +1,19 @@
+declare namespace org {
+ namespace bukkit {
+ namespace entity {
+ class Mob {
+ /**
+ * Instructs this Mob to set the specified LivingEntity as its target.
+ *
+ * Hostile creatures may attack their target, and friendly creatures may
+ * follow their target.
+ */
+ public setTarget(target: org.bukkit.entity.LivingEntity): void;
+ /**
+ * Gets the current target of this Mob
+ */
+ public getTarget(): org.bukkit.entity.LivingEntity;
+ }
+ }
+ }
+}
diff --git a/packages/bukkit/src/typings/org.bukkit.entity.Monster.ts b/packages/bukkit/src/typings/org.bukkit.entity.Monster.ts
new file mode 100644
index 00000000..77f2b050
--- /dev/null
+++ b/packages/bukkit/src/typings/org.bukkit.entity.Monster.ts
@@ -0,0 +1,8 @@
+declare namespace org {
+ namespace bukkit {
+ namespace entity {
+ class Monster {
+ }
+ }
+ }
+}
diff --git a/packages/bukkit/src/typings/org.bukkit.entity.Mule.ts b/packages/bukkit/src/typings/org.bukkit.entity.Mule.ts
new file mode 100644
index 00000000..e15a89c2
--- /dev/null
+++ b/packages/bukkit/src/typings/org.bukkit.entity.Mule.ts
@@ -0,0 +1,8 @@
+declare namespace org {
+ namespace bukkit {
+ namespace entity {
+ class Mule {
+ }
+ }
+ }
+}
diff --git a/packages/bukkit/src/typings/org.bukkit.entity.MushroomCow.Variant.ts b/packages/bukkit/src/typings/org.bukkit.entity.MushroomCow.Variant.ts
new file mode 100644
index 00000000..f52a14ab
--- /dev/null
+++ b/packages/bukkit/src/typings/org.bukkit.entity.MushroomCow.Variant.ts
@@ -0,0 +1,14 @@
+declare namespace org {
+ namespace bukkit {
+ namespace entity {
+ namespace MushroomCow {
+ class Variant {
+ public static RED: org.bukkit.entity.MushroomCow.Variant;
+ public static BROWN: org.bukkit.entity.MushroomCow.Variant;
+ public static values(): org.bukkit.entity.MushroomCow.Variant[];
+ public static valueOf(name: string): org.bukkit.entity.MushroomCow.Variant;
+ }
+ }
+ }
+ }
+}
diff --git a/packages/bukkit/src/typings/org.bukkit.entity.MushroomCow.ts b/packages/bukkit/src/typings/org.bukkit.entity.MushroomCow.ts
new file mode 100644
index 00000000..6b252f03
--- /dev/null
+++ b/packages/bukkit/src/typings/org.bukkit.entity.MushroomCow.ts
@@ -0,0 +1,16 @@
+declare namespace org {
+ namespace bukkit {
+ namespace entity {
+ class MushroomCow {
+ /**
+ * Get the variant of this cow.
+ */
+ public getVariant(): org.bukkit.entity.MushroomCow.Variant;
+ /**
+ * Set the variant of this cow.
+ */
+ public setVariant(variant: org.bukkit.entity.MushroomCow.Variant): void;
+ }
+ }
+ }
+}
diff --git a/packages/bukkit/src/typings/org.bukkit.entity.NPC.ts b/packages/bukkit/src/typings/org.bukkit.entity.NPC.ts
new file mode 100644
index 00000000..4b50714f
--- /dev/null
+++ b/packages/bukkit/src/typings/org.bukkit.entity.NPC.ts
@@ -0,0 +1,8 @@
+declare namespace org {
+ namespace bukkit {
+ namespace entity {
+ class NPC {
+ }
+ }
+ }
+}
diff --git a/packages/bukkit/src/typings/org.bukkit.entity.Ocelot.Type.ts b/packages/bukkit/src/typings/org.bukkit.entity.Ocelot.Type.ts
new file mode 100644
index 00000000..5a403ee2
--- /dev/null
+++ b/packages/bukkit/src/typings/org.bukkit.entity.Ocelot.Type.ts
@@ -0,0 +1,24 @@
+declare namespace org {
+ namespace bukkit {
+ namespace entity {
+ namespace Ocelot {
+ class Type {
+ public static WILD_OCELOT: org.bukkit.entity.Ocelot.Type;
+ public static BLACK_CAT: org.bukkit.entity.Ocelot.Type;
+ public static RED_CAT: org.bukkit.entity.Ocelot.Type;
+ public static SIAMESE_CAT: org.bukkit.entity.Ocelot.Type;
+ public static values(): org.bukkit.entity.Ocelot.Type[];
+ public static valueOf(name: string): org.bukkit.entity.Ocelot.Type;
+ /**
+ * Gets the ID of this cat type.
+ */
+ public getId(): number;
+ /**
+ * Gets a cat type by its ID.
+ */
+ public static getType(id: number): org.bukkit.entity.Ocelot.Type;
+ }
+ }
+ }
+ }
+}
diff --git a/packages/bukkit/src/typings/org.bukkit.entity.Ocelot.ts b/packages/bukkit/src/typings/org.bukkit.entity.Ocelot.ts
new file mode 100644
index 00000000..3ee4a2e4
--- /dev/null
+++ b/packages/bukkit/src/typings/org.bukkit.entity.Ocelot.ts
@@ -0,0 +1,16 @@
+declare namespace org {
+ namespace bukkit {
+ namespace entity {
+ class Ocelot {
+ /**
+ * Gets the current type of this cat.
+ */
+ public getCatType(): org.bukkit.entity.Ocelot.Type;
+ /**
+ * Sets the current type of this cat.
+ */
+ public setCatType(type: org.bukkit.entity.Ocelot.Type): void;
+ }
+ }
+ }
+}
diff --git a/packages/bukkit/src/typings/org.bukkit.entity.Painting.ts b/packages/bukkit/src/typings/org.bukkit.entity.Painting.ts
new file mode 100644
index 00000000..6a3edaab
--- /dev/null
+++ b/packages/bukkit/src/typings/org.bukkit.entity.Painting.ts
@@ -0,0 +1,20 @@
+declare namespace org {
+ namespace bukkit {
+ namespace entity {
+ class Painting {
+ /**
+ * Get the art on this painting
+ */
+ public getArt(): org.bukkit.Art;
+ /**
+ * Set the art on this painting
+ */
+ public setArt(art: org.bukkit.Art): boolean;
+ /**
+ * Set the art on this painting
+ */
+ public setArt(art: org.bukkit.Art, force: boolean): boolean;
+ }
+ }
+ }
+}
diff --git a/packages/bukkit/src/typings/org.bukkit.entity.Panda.Gene.ts b/packages/bukkit/src/typings/org.bukkit.entity.Panda.Gene.ts
new file mode 100644
index 00000000..d6ce59e8
--- /dev/null
+++ b/packages/bukkit/src/typings/org.bukkit.entity.Panda.Gene.ts
@@ -0,0 +1,24 @@
+declare namespace org {
+ namespace bukkit {
+ namespace entity {
+ namespace Panda {
+ class Gene {
+ public static NORMAL: org.bukkit.entity.Panda.Gene;
+ public static LAZY: org.bukkit.entity.Panda.Gene;
+ public static WORRIED: org.bukkit.entity.Panda.Gene;
+ public static PLAYFUL: org.bukkit.entity.Panda.Gene;
+ public static BROWN: org.bukkit.entity.Panda.Gene;
+ public static WEAK: org.bukkit.entity.Panda.Gene;
+ public static AGGRESSIVE: org.bukkit.entity.Panda.Gene;
+ public static values(): org.bukkit.entity.Panda.Gene[];
+ public static valueOf(name: string): org.bukkit.entity.Panda.Gene;
+ /**
+ * Gets whether this gene is recessive, i.e. required in both parents to
+ * propagate to children.
+ */
+ public isRecessive(): boolean;
+ }
+ }
+ }
+ }
+}
diff --git a/packages/bukkit/src/typings/org.bukkit.entity.Panda.ts b/packages/bukkit/src/typings/org.bukkit.entity.Panda.ts
new file mode 100644
index 00000000..2f3aeb55
--- /dev/null
+++ b/packages/bukkit/src/typings/org.bukkit.entity.Panda.ts
@@ -0,0 +1,24 @@
+declare namespace org {
+ namespace bukkit {
+ namespace entity {
+ class Panda {
+ /**
+ * Gets this Panda's main gene.
+ */
+ public getMainGene(): org.bukkit.entity.Panda.Gene;
+ /**
+ * Sets this Panda's main gene.
+ */
+ public setMainGene(gene: org.bukkit.entity.Panda.Gene): void;
+ /**
+ * Gets this Panda's hidden gene.
+ */
+ public getHiddenGene(): org.bukkit.entity.Panda.Gene;
+ /**
+ * Sets this Panda's hidden gene.
+ */
+ public setHiddenGene(gene: org.bukkit.entity.Panda.Gene): void;
+ }
+ }
+ }
+}
diff --git a/packages/bukkit/src/typings/org.bukkit.entity.Parrot.Variant.ts b/packages/bukkit/src/typings/org.bukkit.entity.Parrot.Variant.ts
new file mode 100644
index 00000000..b87a5011
--- /dev/null
+++ b/packages/bukkit/src/typings/org.bukkit.entity.Parrot.Variant.ts
@@ -0,0 +1,17 @@
+declare namespace org {
+ namespace bukkit {
+ namespace entity {
+ namespace Parrot {
+ class Variant {
+ public static RED: org.bukkit.entity.Parrot.Variant;
+ public static BLUE: org.bukkit.entity.Parrot.Variant;
+ public static GREEN: org.bukkit.entity.Parrot.Variant;
+ public static CYAN: org.bukkit.entity.Parrot.Variant;
+ public static GRAY: org.bukkit.entity.Parrot.Variant;
+ public static values(): org.bukkit.entity.Parrot.Variant[];
+ public static valueOf(name: string): org.bukkit.entity.Parrot.Variant;
+ }
+ }
+ }
+ }
+}
diff --git a/packages/bukkit/src/typings/org.bukkit.entity.Parrot.ts b/packages/bukkit/src/typings/org.bukkit.entity.Parrot.ts
new file mode 100644
index 00000000..e16d5493
--- /dev/null
+++ b/packages/bukkit/src/typings/org.bukkit.entity.Parrot.ts
@@ -0,0 +1,16 @@
+declare namespace org {
+ namespace bukkit {
+ namespace entity {
+ class Parrot {
+ /**
+ * Get the variant of this parrot.
+ */
+ public getVariant(): org.bukkit.entity.Parrot.Variant;
+ /**
+ * Set the variant of this parrot.
+ */
+ public setVariant(variant: org.bukkit.entity.Parrot.Variant): void;
+ }
+ }
+ }
+}
diff --git a/packages/bukkit/src/typings/org.bukkit.entity.Phantom.ts b/packages/bukkit/src/typings/org.bukkit.entity.Phantom.ts
new file mode 100644
index 00000000..9dd56e89
--- /dev/null
+++ b/packages/bukkit/src/typings/org.bukkit.entity.Phantom.ts
@@ -0,0 +1,10 @@
+declare namespace org {
+ namespace bukkit {
+ namespace entity {
+ class Phantom {
+ public getSize(): number;
+ public setSize(sz: number): void;
+ }
+ }
+ }
+}
diff --git a/packages/bukkit/src/typings/org.bukkit.entity.Pig.ts b/packages/bukkit/src/typings/org.bukkit.entity.Pig.ts
new file mode 100644
index 00000000..b6a576f2
--- /dev/null
+++ b/packages/bukkit/src/typings/org.bukkit.entity.Pig.ts
@@ -0,0 +1,16 @@
+declare namespace org {
+ namespace bukkit {
+ namespace entity {
+ class Pig {
+ /**
+ * Check if the pig has a saddle.
+ */
+ public hasSaddle(): boolean;
+ /**
+ * Sets if the pig has a saddle or not
+ */
+ public setSaddle(saddled: boolean): void;
+ }
+ }
+ }
+}
diff --git a/packages/bukkit/src/typings/org.bukkit.entity.PigZombie.ts b/packages/bukkit/src/typings/org.bukkit.entity.PigZombie.ts
new file mode 100644
index 00000000..1ccf3a90
--- /dev/null
+++ b/packages/bukkit/src/typings/org.bukkit.entity.PigZombie.ts
@@ -0,0 +1,36 @@
+declare namespace org {
+ namespace bukkit {
+ namespace entity {
+ class PigZombie {
+ /**
+ * Get the pig zombie's current anger level.
+ */
+ public getAnger(): number;
+ /**
+ * Set the pig zombie's current anger level.
+ */
+ public setAnger(level: number): void;
+ /**
+ * Shorthand; sets to either 0 or the default level.
+ */
+ public setAngry(angry: boolean): void;
+ /**
+ * Shorthand; gets whether the zombie is angry.
+ */
+ public isAngry(): boolean;
+ /**
+ * Not applicable to this entity
+ */
+ public isConverting(): boolean;
+ /**
+ * Not applicable to this entity
+ */
+ public getConversionTime(): number;
+ /**
+ * Not applicable to this entity
+ */
+ public setConversionTime(time: number): void;
+ }
+ }
+ }
+}
diff --git a/packages/bukkit/src/typings/org.bukkit.entity.Pillager.ts b/packages/bukkit/src/typings/org.bukkit.entity.Pillager.ts
new file mode 100644
index 00000000..e35e0be8
--- /dev/null
+++ b/packages/bukkit/src/typings/org.bukkit.entity.Pillager.ts
@@ -0,0 +1,8 @@
+declare namespace org {
+ namespace bukkit {
+ namespace entity {
+ class Pillager {
+ }
+ }
+ }
+}
diff --git a/packages/bukkit/src/typings/org.bukkit.entity.Player.ts b/packages/bukkit/src/typings/org.bukkit.entity.Player.ts
new file mode 100644
index 00000000..ba6fc911
--- /dev/null
+++ b/packages/bukkit/src/typings/org.bukkit.entity.Player.ts
@@ -0,0 +1,772 @@
+declare namespace org {
+ namespace bukkit {
+ namespace entity {
+ class Player {
+ /**
+ * Gets the "friendly" name to display of this player. This may include
+ * color.
+ *
+ * Note that this name will not be displayed in game, only in chat and
+ * places defined by plugins.
+ */
+ public getDisplayName(): string;
+ /**
+ * Sets the "friendly" name to display of this player. This may include
+ * color.
+ *
+ * Note that this name will not be displayed in game, only in chat and
+ * places defined by plugins.
+ */
+ public setDisplayName(name: string): void;
+ /**
+ * Gets the name that is shown on the player list.
+ */
+ public getPlayerListName(): string;
+ /**
+ * Sets the name that is shown on the in-game player list.
+ *
+ * If the value is null, the name will be identical to {@link #getName()}.
+ */
+ public setPlayerListName(name: string): void;
+ /**
+ * Gets the currently displayed player list header for this player.
+ */
+ public getPlayerListHeader(): string;
+ /**
+ * Gets the currently displayed player list footer for this player.
+ */
+ public getPlayerListFooter(): string;
+ /**
+ * Sets the currently displayed player list header for this player.
+ */
+ public setPlayerListHeader(header: string): void;
+ /**
+ * Sets the currently displayed player list footer for this player.
+ */
+ public setPlayerListFooter(footer: string): void;
+ /**
+ * Sets the currently displayed player list header and footer for this
+ * player.
+ */
+ public setPlayerListHeaderFooter(header: string, footer: string): void;
+ /**
+ * Set the target of the player's compass.
+ */
+ public setCompassTarget(loc: org.bukkit.Location): void;
+ /**
+ * Get the previously set compass target.
+ */
+ public getCompassTarget(): org.bukkit.Location;
+ /**
+ * Gets the socket address of this player
+ */
+ public getAddress(): any;
+ /**
+ * Sends this sender a message raw
+ */
+ public sendRawMessage(message: string): void;
+ /**
+ * Kicks player with custom kick message.
+ */
+ public kickPlayer(message: string): void;
+ /**
+ * Says a message (or runs a command).
+ */
+ public chat(msg: string): void;
+ /**
+ * Makes the player perform the given command
+ */
+ public performCommand(command: string): boolean;
+ /**
+ * Returns if the player is in sneak mode
+ */
+ public isSneaking(): boolean;
+ /**
+ * Sets the sneak mode the player
+ */
+ public setSneaking(sneak: boolean): void;
+ /**
+ * Gets whether the player is sprinting or not.
+ */
+ public isSprinting(): boolean;
+ /**
+ * Sets whether the player is sprinting or not.
+ */
+ public setSprinting(sprinting: boolean): void;
+ /**
+ * Saves the players current location, health, inventory, motion, and
+ * other information into the username.dat file, in the world/player
+ * folder
+ */
+ public saveData(): void;
+ /**
+ * Loads the players current location, health, inventory, motion, and
+ * other information from the username.dat file, in the world/player
+ * folder.
+ *
+ * Note: This will overwrite the players current inventory, health,
+ * motion, etc, with the state from the saved dat file.
+ */
+ public loadData(): void;
+ /**
+ * Sets whether the player is ignored as not sleeping. If everyone is
+ * either sleeping or has this flag set, then time will advance to the
+ * next day. If everyone has this flag set but no one is actually in bed,
+ * then nothing will happen.
+ */
+ public setSleepingIgnored(isSleeping: boolean): void;
+ /**
+ * Returns whether the player is sleeping ignored.
+ */
+ public isSleepingIgnored(): boolean;
+ /**
+ * Play a note for a player at a location. This requires a note block
+ * at the particular location (as far as the client is concerned). This
+ * will not work without a note block. This will not work with cake.
+ */
+ public playNote(loc: org.bukkit.Location, instrument: number, note: number): void;
+ /**
+ * Play a note for a player at a location. This requires a note block
+ * at the particular location (as far as the client is concerned). This
+ * will not work without a note block. This will not work with cake.
+ */
+ public playNote(loc: org.bukkit.Location, instrument: org.bukkit.Instrument, note: org.bukkit.Note): void;
+ /**
+ * Play a sound for a player at the location.
+ *
+ * This function will fail silently if Location or Sound are null.
+ */
+ public playSound(location: org.bukkit.Location, sound: org.bukkit.Sound, volume: number, pitch: number): void;
+ /**
+ * Play a sound for a player at the location.
+ *
+ * This function will fail silently if Location or Sound are null. No
+ * sound will be heard by the player if their client does not have the
+ * respective sound for the value passed.
+ */
+ public playSound(location: org.bukkit.Location, sound: string, volume: number, pitch: number): void;
+ /**
+ * Play a sound for a player at the location.
+ *
+ * This function will fail silently if Location or Sound are null.
+ */
+ public playSound(location: org.bukkit.Location, sound: org.bukkit.Sound, category: org.bukkit.SoundCategory, volume: number, pitch: number): void;
+ /**
+ * Play a sound for a player at the location.
+ *
+ * This function will fail silently if Location or Sound are null. No sound
+ * will be heard by the player if their client does not have the respective
+ * sound for the value passed.
+ */
+ public playSound(location: org.bukkit.Location, sound: string, category: org.bukkit.SoundCategory, volume: number, pitch: number): void;
+ /**
+ * Stop the specified sound from playing.
+ */
+ public stopSound(sound: org.bukkit.Sound): void;
+ /**
+ * Stop the specified sound from playing.
+ */
+ public stopSound(sound: string): void;
+ /**
+ * Stop the specified sound from playing.
+ */
+ public stopSound(sound: org.bukkit.Sound, category: org.bukkit.SoundCategory): void;
+ /**
+ * Stop the specified sound from playing.
+ */
+ public stopSound(sound: string, category: org.bukkit.SoundCategory): void;
+ /**
+ * Plays an effect to just this player.
+ */
+ public playEffect(loc: org.bukkit.Location, effect: org.bukkit.Effect, data: number): void;
+ /**
+ * Plays an effect to just this player.
+ */
+ public playEffect(loc: org.bukkit.Location, effect: org.bukkit.Effect, data: any): void;
+ /**
+ * Send a block change. This fakes a block change packet for a user at a
+ * certain location. This will not actually change the world in any way.
+ */
+ public sendBlockChange(loc: org.bukkit.Location, material: org.bukkit.Material, data: number): void;
+ /**
+ * Send a block change. This fakes a block change packet for a user at a
+ * certain location. This will not actually change the world in any way.
+ */
+ public sendBlockChange(loc: org.bukkit.Location, block: org.bukkit.block.data.BlockData): void;
+ /**
+ * Send a chunk change. This fakes a chunk change packet for a user at a
+ * certain location. The updated cuboid must be entirely within a single
+ * chunk. This will not actually change the world in any way.
+ *
+ * At least one of the dimensions of the cuboid must be even. The size of
+ * the data buffer must be 2.5*sx*sy*sz and formatted in accordance with
+ * the Packet51 format.
+ */
+ public sendChunkChange(loc: org.bukkit.Location, sx: number, sy: number, sz: number, data: number): boolean;
+ /**
+ * Send a sign change. This fakes a sign change packet for a user at
+ * a certain location. This will not actually change the world in any way.
+ * This method will use a sign at the location's block or a faked sign
+ * sent via
+ * {@link #sendBlockChange(org.bukkit.Location, org.bukkit.Material, byte)}.
+ *
+ * If the client does not have a sign at the given location it will
+ * display an error message to the user.
+ */
+ public sendSignChange(loc: org.bukkit.Location, lines: string): void;
+ /**
+ * Send a sign change. This fakes a sign change packet for a user at
+ * a certain location. This will not actually change the world in any way.
+ * This method will use a sign at the location's block or a faked sign
+ * sent via
+ * {@link #sendBlockChange(org.bukkit.Location, org.bukkit.Material, byte)}.
+ *
+ * If the client does not have a sign at the given location it will
+ * display an error message to the user.
+ */
+ public sendSignChange(loc: org.bukkit.Location, lines: string, dyeColor: org.bukkit.DyeColor): void;
+ /**
+ * Render a map and send it to the player in its entirety. This may be
+ * used when streaming the map in the normal manner is not desirable.
+ */
+ public sendMap(map: org.bukkit.map.MapView): void;
+ /**
+ * Forces an update of the player's entire inventory.
+ */
+ public updateInventory(): void;
+ /**
+ * Awards the given achievement and any parent achievements that the
+ * player does not have.
+ */
+ public awardAchievement(achievement: org.bukkit.Achievement): void;
+ /**
+ * Removes the given achievement and any children achievements that the
+ * player has.
+ */
+ public removeAchievement(achievement: org.bukkit.Achievement): void;
+ /**
+ * Gets whether this player has the given achievement.
+ */
+ public hasAchievement(achievement: org.bukkit.Achievement): boolean;
+ /**
+ * Increments the given statistic for this player.
+ *
+ * This is equivalent to the following code:
+ *
+ * This is equivalent to the following code:
+ *
+ * This is equivalent to the following code:
+ *
+ * This is equivalent to the following code:
+ *
+ * This is equivalent to the following code:
+ *
+ * This is equivalent to the following code:
+ *
+ * When using non relative time the player's time will stay fixed at the
+ * specified time parameter. It's up to the caller to continue updating
+ * the player's time. To restore player time to normal use
+ * resetPlayerTime().
+ */
+ public setPlayerTime(time: number, relative: boolean): void;
+ /**
+ * Returns the player's current timestamp.
+ */
+ public getPlayerTime(): number;
+ /**
+ * Returns the player's current time offset relative to server time, or
+ * the current player's fixed time if the player's time is absolute.
+ */
+ public getPlayerTimeOffset(): number;
+ /**
+ * Returns true if the player's time is relative to the server time,
+ * otherwise the player's time is absolute and will not change its current
+ * time unless done so with setPlayerTime().
+ */
+ public isPlayerTimeRelative(): boolean;
+ /**
+ * Restores the normal condition where the player's time is synchronized
+ * with the server time.
+ *
+ * Equivalent to calling setPlayerTime(0, true).
+ */
+ public resetPlayerTime(): void;
+ /**
+ * Sets the type of weather the player will see. When used, the weather
+ * status of the player is locked until {@link #resetPlayerWeather()} is
+ * used.
+ */
+ public setPlayerWeather(type: org.bukkit.WeatherType): void;
+ /**
+ * Returns the type of weather the player is currently experiencing.
+ */
+ public getPlayerWeather(): org.bukkit.WeatherType;
+ /**
+ * Restores the normal condition where the player's weather is controlled
+ * by server conditions.
+ */
+ public resetPlayerWeather(): void;
+ /**
+ * Gives the player the amount of experience specified.
+ */
+ public giveExp(amount: number): void;
+ /**
+ * Gives the player the amount of experience levels specified. Levels can
+ * be taken by specifying a negative amount.
+ */
+ public giveExpLevels(amount: number): void;
+ /**
+ * Gets the players current experience points towards the next level.
+ *
+ * This is a percentage value. 0 is "no progress" and 1 is "next level".
+ */
+ public getExp(): number;
+ /**
+ * Sets the players current experience points towards the next level
+ *
+ * This is a percentage value. 0 is "no progress" and 1 is "next level".
+ */
+ public setExp(exp: number): void;
+ /**
+ * Gets the players current experience level
+ */
+ public getLevel(): number;
+ /**
+ * Sets the players current experience level
+ */
+ public setLevel(level: number): void;
+ /**
+ * Gets the players total experience points.
+ *
+ * Exhaustion controls how fast the food level drops. While you have a
+ * certain amount of exhaustion, your saturation will drop to zero, and
+ * then your food will drop to zero.
+ */
+ public getExhaustion(): number;
+ /**
+ * Sets the players current exhaustion level
+ */
+ public setExhaustion(value: number): void;
+ /**
+ * Gets the players current saturation level.
+ *
+ * Saturation is a buffer for food level. Your food level will not drop if
+ * you are saturated {@literal >} 0.
+ */
+ public getSaturation(): number;
+ /**
+ * Sets the players current saturation level
+ */
+ public setSaturation(value: number): void;
+ /**
+ * Gets the players current food level
+ */
+ public getFoodLevel(): number;
+ /**
+ * Sets the players current food level
+ */
+ public setFoodLevel(value: number): void;
+ /**
+ * Determines if the Player is allowed to fly via jump key double-tap like
+ * in creative mode.
+ */
+ public getAllowFlight(): boolean;
+ /**
+ * Sets if the Player is allowed to fly via jump key double-tap like in
+ * creative mode.
+ */
+ public setAllowFlight(flight: boolean): void;
+ /**
+ * Hides a player from this player
+ */
+ public hidePlayer(player: org.bukkit.entity.Player): void;
+ /**
+ * Hides a player from this player
+ */
+ public hidePlayer(plugin: org.bukkit.plugin.Plugin, player: org.bukkit.entity.Player): void;
+ /**
+ * Allows this player to see a player that was previously hidden
+ */
+ public showPlayer(player: org.bukkit.entity.Player): void;
+ /**
+ * Allows this player to see a player that was previously hidden. If
+ * another another plugin had hidden the player too, then the player will
+ * remain hidden until the other plugin calls this method too.
+ */
+ public showPlayer(plugin: org.bukkit.plugin.Plugin, player: org.bukkit.entity.Player): void;
+ /**
+ * Checks to see if a player has been hidden from this player
+ */
+ public canSee(player: org.bukkit.entity.Player): boolean;
+ /**
+ * Checks to see if this player is currently flying or not.
+ */
+ public isFlying(): boolean;
+ /**
+ * Makes this player start or stop flying.
+ */
+ public setFlying(value: boolean): void;
+ /**
+ * Sets the speed at which a client will fly. Negative values indicate
+ * reverse directions.
+ */
+ public setFlySpeed(value: number): void;
+ /**
+ * Sets the speed at which a client will walk. Negative values indicate
+ * reverse directions.
+ */
+ public setWalkSpeed(value: number): void;
+ /**
+ * Gets the current allowed speed that a client can fly.
+ */
+ public getFlySpeed(): number;
+ /**
+ * Gets the current allowed speed that a client can walk.
+ */
+ public getWalkSpeed(): number;
+ /**
+ * Request that the player's client download and switch texture packs.
+ *
+ * The player's client will download the new texture pack asynchronously
+ * in the background, and will automatically switch to it once the
+ * download is complete. If the client has downloaded and cached the same
+ * texture pack in the past, it will perform a file size check against
+ * the response content to determine if the texture pack has changed and
+ * needs to be downloaded again. When this request is sent for the very
+ * first time from a given server, the client will first display a
+ * confirmation GUI to the player before proceeding with the download.
+ *
+ * Notes:
+ *
+ * The player's client will download the new resource pack asynchronously
+ * in the background, and will automatically switch to it once the
+ * download is complete. If the client has downloaded and cached the same
+ * resource pack in the past, it will perform a file size check against
+ * the response content to determine if the resource pack has changed and
+ * needs to be downloaded again. When this request is sent for the very
+ * first time from a given server, the client will first display a
+ * confirmation GUI to the player before proceeding with the download.
+ *
+ * Notes:
+ *
+ * The player's client will download the new resource pack asynchronously
+ * in the background, and will automatically switch to it once the
+ * download is complete. If the client has downloaded and cached a
+ * resource pack with the same hash in the past it will not download but
+ * directly apply the cached pack. When this request is sent for the very
+ * first time from a given server, the client will first display a
+ * confirmation GUI to the player before proceeding with the download.
+ *
+ * Notes:
+ *
+ * Displayed health follows a simple formula
+ * Displayed health follows a simple formula
+ * If a small fireball does not bounce it will set the target on fire.
+ */
+ public doesBounce(): boolean;
+ /**
+ * Set whether or not this projectile should bounce or not when it hits
+ * something.
+ */
+ public setBounce(doesBounce: boolean): void;
+ }
+ }
+ }
+}
diff --git a/packages/bukkit/src/typings/org.bukkit.entity.PufferFish.ts b/packages/bukkit/src/typings/org.bukkit.entity.PufferFish.ts
new file mode 100644
index 00000000..2daf140a
--- /dev/null
+++ b/packages/bukkit/src/typings/org.bukkit.entity.PufferFish.ts
@@ -0,0 +1,16 @@
+declare namespace org {
+ namespace bukkit {
+ namespace entity {
+ class PufferFish {
+ /**
+ * Returns the current puff state of this fish (i.e. how inflated it is).
+ */
+ public getPuffState(): number;
+ /**
+ * Sets the current puff state of this fish (i.e. how inflated it is).
+ */
+ public setPuffState(state: number): void;
+ }
+ }
+ }
+}
diff --git a/packages/bukkit/src/typings/org.bukkit.entity.Rabbit.Type.ts b/packages/bukkit/src/typings/org.bukkit.entity.Rabbit.Type.ts
new file mode 100644
index 00000000..f5c35b71
--- /dev/null
+++ b/packages/bukkit/src/typings/org.bukkit.entity.Rabbit.Type.ts
@@ -0,0 +1,19 @@
+declare namespace org {
+ namespace bukkit {
+ namespace entity {
+ namespace Rabbit {
+ class Type {
+ public static BROWN: org.bukkit.entity.Rabbit.Type;
+ public static WHITE: org.bukkit.entity.Rabbit.Type;
+ public static BLACK: org.bukkit.entity.Rabbit.Type;
+ public static BLACK_AND_WHITE: org.bukkit.entity.Rabbit.Type;
+ public static GOLD: org.bukkit.entity.Rabbit.Type;
+ public static SALT_AND_PEPPER: org.bukkit.entity.Rabbit.Type;
+ public static THE_KILLER_BUNNY: org.bukkit.entity.Rabbit.Type;
+ public static values(): org.bukkit.entity.Rabbit.Type[];
+ public static valueOf(name: string): org.bukkit.entity.Rabbit.Type;
+ }
+ }
+ }
+ }
+}
diff --git a/packages/bukkit/src/typings/org.bukkit.entity.Rabbit.ts b/packages/bukkit/src/typings/org.bukkit.entity.Rabbit.ts
new file mode 100644
index 00000000..4bd46cb4
--- /dev/null
+++ b/packages/bukkit/src/typings/org.bukkit.entity.Rabbit.ts
@@ -0,0 +1,10 @@
+declare namespace org {
+ namespace bukkit {
+ namespace entity {
+ class Rabbit {
+ public getRabbitType(): org.bukkit.entity.Rabbit.Type;
+ public setRabbitType(type: org.bukkit.entity.Rabbit.Type): void;
+ }
+ }
+ }
+}
diff --git a/packages/bukkit/src/typings/org.bukkit.entity.Raider.ts b/packages/bukkit/src/typings/org.bukkit.entity.Raider.ts
new file mode 100644
index 00000000..067b89e0
--- /dev/null
+++ b/packages/bukkit/src/typings/org.bukkit.entity.Raider.ts
@@ -0,0 +1,24 @@
+declare namespace org {
+ namespace bukkit {
+ namespace entity {
+ class Raider {
+ /**
+ * Gets the block the raider is targeting to patrol.
+ */
+ public getPatrolTarget(): org.bukkit.block.Block;
+ /**
+ * Sets the block the raider is targeting to patrol.
+ */
+ public setPatrolTarget(block: org.bukkit.block.Block): void;
+ /**
+ * Gets whether this entity is a patrol leader.
+ */
+ public isPatrolLeader(): boolean;
+ /**
+ * Sets whether this entity is a patrol leader.
+ */
+ public setPatrolLeader(leader: boolean): void;
+ }
+ }
+ }
+}
diff --git a/packages/bukkit/src/typings/org.bukkit.entity.Ravager.ts b/packages/bukkit/src/typings/org.bukkit.entity.Ravager.ts
new file mode 100644
index 00000000..4f3417ef
--- /dev/null
+++ b/packages/bukkit/src/typings/org.bukkit.entity.Ravager.ts
@@ -0,0 +1,8 @@
+declare namespace org {
+ namespace bukkit {
+ namespace entity {
+ class Ravager {
+ }
+ }
+ }
+}
diff --git a/packages/bukkit/src/typings/org.bukkit.entity.Salmon.ts b/packages/bukkit/src/typings/org.bukkit.entity.Salmon.ts
new file mode 100644
index 00000000..54ea06f9
--- /dev/null
+++ b/packages/bukkit/src/typings/org.bukkit.entity.Salmon.ts
@@ -0,0 +1,8 @@
+declare namespace org {
+ namespace bukkit {
+ namespace entity {
+ class Salmon {
+ }
+ }
+ }
+}
diff --git a/packages/bukkit/src/typings/org.bukkit.entity.Sheep.ts b/packages/bukkit/src/typings/org.bukkit.entity.Sheep.ts
new file mode 100644
index 00000000..34a0b0ea
--- /dev/null
+++ b/packages/bukkit/src/typings/org.bukkit.entity.Sheep.ts
@@ -0,0 +1,10 @@
+declare namespace org {
+ namespace bukkit {
+ namespace entity {
+ class Sheep {
+ public isSheared(): boolean;
+ public setSheared(flag: boolean): void;
+ }
+ }
+ }
+}
diff --git a/packages/bukkit/src/typings/org.bukkit.entity.Shulker.ts b/packages/bukkit/src/typings/org.bukkit.entity.Shulker.ts
new file mode 100644
index 00000000..81784a46
--- /dev/null
+++ b/packages/bukkit/src/typings/org.bukkit.entity.Shulker.ts
@@ -0,0 +1,8 @@
+declare namespace org {
+ namespace bukkit {
+ namespace entity {
+ class Shulker {
+ }
+ }
+ }
+}
diff --git a/packages/bukkit/src/typings/org.bukkit.entity.ShulkerBullet.ts b/packages/bukkit/src/typings/org.bukkit.entity.ShulkerBullet.ts
new file mode 100644
index 00000000..b730cb76
--- /dev/null
+++ b/packages/bukkit/src/typings/org.bukkit.entity.ShulkerBullet.ts
@@ -0,0 +1,16 @@
+declare namespace org {
+ namespace bukkit {
+ namespace entity {
+ class ShulkerBullet {
+ /**
+ * Retrieve the target of this bullet.
+ */
+ public getTarget(): org.bukkit.entity.Entity;
+ /**
+ * Sets the target of this bullet
+ */
+ public setTarget(target: org.bukkit.entity.Entity): void;
+ }
+ }
+ }
+}
diff --git a/packages/bukkit/src/typings/org.bukkit.entity.Silverfish.ts b/packages/bukkit/src/typings/org.bukkit.entity.Silverfish.ts
new file mode 100644
index 00000000..85459375
--- /dev/null
+++ b/packages/bukkit/src/typings/org.bukkit.entity.Silverfish.ts
@@ -0,0 +1,8 @@
+declare namespace org {
+ namespace bukkit {
+ namespace entity {
+ class Silverfish {
+ }
+ }
+ }
+}
diff --git a/packages/bukkit/src/typings/org.bukkit.entity.Sittable.ts b/packages/bukkit/src/typings/org.bukkit.entity.Sittable.ts
new file mode 100644
index 00000000..4035e2d3
--- /dev/null
+++ b/packages/bukkit/src/typings/org.bukkit.entity.Sittable.ts
@@ -0,0 +1,17 @@
+declare namespace org {
+ namespace bukkit {
+ namespace entity {
+ class Sittable {
+ /**
+ * Checks if this animal is sitting
+ */
+ public isSitting(): boolean;
+ /**
+ * Sets if this animal is sitting. Will remove any path that the animal
+ * was following beforehand.
+ */
+ public setSitting(sitting: boolean): void;
+ }
+ }
+ }
+}
diff --git a/packages/bukkit/src/typings/org.bukkit.entity.Skeleton.SkeletonType.ts b/packages/bukkit/src/typings/org.bukkit.entity.Skeleton.SkeletonType.ts
new file mode 100644
index 00000000..d699f680
--- /dev/null
+++ b/packages/bukkit/src/typings/org.bukkit.entity.Skeleton.SkeletonType.ts
@@ -0,0 +1,15 @@
+declare namespace org {
+ namespace bukkit {
+ namespace entity {
+ namespace Skeleton {
+ class SkeletonType {
+ public static NORMAL: org.bukkit.entity.Skeleton.SkeletonType;
+ public static WITHER: org.bukkit.entity.Skeleton.SkeletonType;
+ public static STRAY: org.bukkit.entity.Skeleton.SkeletonType;
+ public static values(): org.bukkit.entity.Skeleton.SkeletonType[];
+ public static valueOf(name: string): org.bukkit.entity.Skeleton.SkeletonType;
+ }
+ }
+ }
+ }
+}
diff --git a/packages/bukkit/src/typings/org.bukkit.entity.Skeleton.ts b/packages/bukkit/src/typings/org.bukkit.entity.Skeleton.ts
new file mode 100644
index 00000000..443f9927
--- /dev/null
+++ b/packages/bukkit/src/typings/org.bukkit.entity.Skeleton.ts
@@ -0,0 +1,13 @@
+declare namespace org {
+ namespace bukkit {
+ namespace entity {
+ class Skeleton {
+ /**
+ * Gets the current type of this skeleton.
+ */
+ public getSkeletonType(): org.bukkit.entity.Skeleton.SkeletonType;
+ public setSkeletonType(type: org.bukkit.entity.Skeleton.SkeletonType): void;
+ }
+ }
+ }
+}
diff --git a/packages/bukkit/src/typings/org.bukkit.entity.SkeletonHorse.ts b/packages/bukkit/src/typings/org.bukkit.entity.SkeletonHorse.ts
new file mode 100644
index 00000000..1d52c2d7
--- /dev/null
+++ b/packages/bukkit/src/typings/org.bukkit.entity.SkeletonHorse.ts
@@ -0,0 +1,8 @@
+declare namespace org {
+ namespace bukkit {
+ namespace entity {
+ class SkeletonHorse {
+ }
+ }
+ }
+}
diff --git a/packages/bukkit/src/typings/org.bukkit.entity.Slime.ts b/packages/bukkit/src/typings/org.bukkit.entity.Slime.ts
new file mode 100644
index 00000000..a62947cb
--- /dev/null
+++ b/packages/bukkit/src/typings/org.bukkit.entity.Slime.ts
@@ -0,0 +1,10 @@
+declare namespace org {
+ namespace bukkit {
+ namespace entity {
+ class Slime {
+ public getSize(): number;
+ public setSize(sz: number): void;
+ }
+ }
+ }
+}
diff --git a/packages/bukkit/src/typings/org.bukkit.entity.SmallFireball.ts b/packages/bukkit/src/typings/org.bukkit.entity.SmallFireball.ts
new file mode 100644
index 00000000..b5a11d90
--- /dev/null
+++ b/packages/bukkit/src/typings/org.bukkit.entity.SmallFireball.ts
@@ -0,0 +1,8 @@
+declare namespace org {
+ namespace bukkit {
+ namespace entity {
+ class SmallFireball {
+ }
+ }
+ }
+}
diff --git a/packages/bukkit/src/typings/org.bukkit.entity.Snowball.ts b/packages/bukkit/src/typings/org.bukkit.entity.Snowball.ts
new file mode 100644
index 00000000..fe31b927
--- /dev/null
+++ b/packages/bukkit/src/typings/org.bukkit.entity.Snowball.ts
@@ -0,0 +1,8 @@
+declare namespace org {
+ namespace bukkit {
+ namespace entity {
+ class Snowball {
+ }
+ }
+ }
+}
diff --git a/packages/bukkit/src/typings/org.bukkit.entity.Snowman.ts b/packages/bukkit/src/typings/org.bukkit.entity.Snowman.ts
new file mode 100644
index 00000000..d30b438b
--- /dev/null
+++ b/packages/bukkit/src/typings/org.bukkit.entity.Snowman.ts
@@ -0,0 +1,19 @@
+declare namespace org {
+ namespace bukkit {
+ namespace entity {
+ class Snowman {
+ /**
+ * Gets whether this snowman is in "derp mode", meaning it is not wearing a
+ * pumpkin.
+ */
+ public isDerp(): boolean;
+ /**
+ * Sets whether this snowman is in "derp mode", meaning it is not wearing a
+ * pumpkin. NOTE: This value is not persisted to disk and will therefore
+ * reset when the chunk is reloaded.
+ */
+ public setDerp(derpMode: boolean): void;
+ }
+ }
+ }
+}
diff --git a/packages/bukkit/src/typings/org.bukkit.entity.SpectralArrow.ts b/packages/bukkit/src/typings/org.bukkit.entity.SpectralArrow.ts
new file mode 100644
index 00000000..bd898ccf
--- /dev/null
+++ b/packages/bukkit/src/typings/org.bukkit.entity.SpectralArrow.ts
@@ -0,0 +1,17 @@
+declare namespace org {
+ namespace bukkit {
+ namespace entity {
+ class SpectralArrow {
+ /**
+ * Returns the amount of time that this arrow will apply
+ * the glowing effect for.
+ */
+ public getGlowingTicks(): number;
+ /**
+ * Sets the amount of time to apply the glowing effect for.
+ */
+ public setGlowingTicks(duration: number): void;
+ }
+ }
+ }
+}
diff --git a/packages/bukkit/src/typings/org.bukkit.entity.Spellcaster.Spell.ts b/packages/bukkit/src/typings/org.bukkit.entity.Spellcaster.Spell.ts
new file mode 100644
index 00000000..c267ab2b
--- /dev/null
+++ b/packages/bukkit/src/typings/org.bukkit.entity.Spellcaster.Spell.ts
@@ -0,0 +1,18 @@
+declare namespace org {
+ namespace bukkit {
+ namespace entity {
+ namespace Spellcaster {
+ class Spell {
+ public static NONE: org.bukkit.entity.Spellcaster.Spell;
+ public static SUMMON_VEX: org.bukkit.entity.Spellcaster.Spell;
+ public static FANGS: org.bukkit.entity.Spellcaster.Spell;
+ public static WOLOLO: org.bukkit.entity.Spellcaster.Spell;
+ public static DISAPPEAR: org.bukkit.entity.Spellcaster.Spell;
+ public static BLINDNESS: org.bukkit.entity.Spellcaster.Spell;
+ public static values(): org.bukkit.entity.Spellcaster.Spell[];
+ public static valueOf(name: string): org.bukkit.entity.Spellcaster.Spell;
+ }
+ }
+ }
+ }
+}
diff --git a/packages/bukkit/src/typings/org.bukkit.entity.Spellcaster.ts b/packages/bukkit/src/typings/org.bukkit.entity.Spellcaster.ts
new file mode 100644
index 00000000..1470f836
--- /dev/null
+++ b/packages/bukkit/src/typings/org.bukkit.entity.Spellcaster.ts
@@ -0,0 +1,16 @@
+declare namespace org {
+ namespace bukkit {
+ namespace entity {
+ class Spellcaster {
+ /**
+ * Gets the {@link Spell} the entity is currently using.
+ */
+ public getSpell(): org.bukkit.entity.Spellcaster.Spell;
+ /**
+ * Sets the {@link Spell} the entity is currently using.
+ */
+ public setSpell(spell: org.bukkit.entity.Spellcaster.Spell): void;
+ }
+ }
+ }
+}
diff --git a/packages/bukkit/src/typings/org.bukkit.entity.Spider.ts b/packages/bukkit/src/typings/org.bukkit.entity.Spider.ts
new file mode 100644
index 00000000..a38b1670
--- /dev/null
+++ b/packages/bukkit/src/typings/org.bukkit.entity.Spider.ts
@@ -0,0 +1,8 @@
+declare namespace org {
+ namespace bukkit {
+ namespace entity {
+ class Spider {
+ }
+ }
+ }
+}
diff --git a/packages/bukkit/src/typings/org.bukkit.entity.SplashPotion.ts b/packages/bukkit/src/typings/org.bukkit.entity.SplashPotion.ts
new file mode 100644
index 00000000..053bf707
--- /dev/null
+++ b/packages/bukkit/src/typings/org.bukkit.entity.SplashPotion.ts
@@ -0,0 +1,8 @@
+declare namespace org {
+ namespace bukkit {
+ namespace entity {
+ class SplashPotion {
+ }
+ }
+ }
+}
diff --git a/packages/bukkit/src/typings/org.bukkit.entity.Squid.ts b/packages/bukkit/src/typings/org.bukkit.entity.Squid.ts
new file mode 100644
index 00000000..a6225e82
--- /dev/null
+++ b/packages/bukkit/src/typings/org.bukkit.entity.Squid.ts
@@ -0,0 +1,8 @@
+declare namespace org {
+ namespace bukkit {
+ namespace entity {
+ class Squid {
+ }
+ }
+ }
+}
diff --git a/packages/bukkit/src/typings/org.bukkit.entity.Stray.ts b/packages/bukkit/src/typings/org.bukkit.entity.Stray.ts
new file mode 100644
index 00000000..2f674095
--- /dev/null
+++ b/packages/bukkit/src/typings/org.bukkit.entity.Stray.ts
@@ -0,0 +1,8 @@
+declare namespace org {
+ namespace bukkit {
+ namespace entity {
+ class Stray {
+ }
+ }
+ }
+}
diff --git a/packages/bukkit/src/typings/org.bukkit.entity.TNTPrimed.ts b/packages/bukkit/src/typings/org.bukkit.entity.TNTPrimed.ts
new file mode 100644
index 00000000..2945ce30
--- /dev/null
+++ b/packages/bukkit/src/typings/org.bukkit.entity.TNTPrimed.ts
@@ -0,0 +1,30 @@
+declare namespace org {
+ namespace bukkit {
+ namespace entity {
+ class TNTPrimed {
+ /**
+ * Set the number of ticks until the TNT blows up after being primed.
+ */
+ public setFuseTicks(fuseTicks: number): void;
+ /**
+ * Retrieve the number of ticks until the explosion of this TNTPrimed
+ * entity
+ */
+ public getFuseTicks(): number;
+ /**
+ * Gets the source of this primed TNT. The source is the entity
+ * responsible for the creation of this primed TNT. (I.E. player ignites
+ * TNT with flint and steel.) Take note that this can be null if there is
+ * no suitable source. (created by the {@link
+ * org.bukkit.World#spawn(Location, Class)} method, for example.)
+ *
+ * The source will become null if the chunk this primed TNT is in is
+ * unloaded then reloaded. The source entity may be invalid if for example
+ * it has since died or been unloaded. Callers should check
+ * {@link Entity#isValid()}.
+ */
+ public getSource(): org.bukkit.entity.Entity;
+ }
+ }
+ }
+}
diff --git a/packages/bukkit/src/typings/org.bukkit.entity.Tameable.ts b/packages/bukkit/src/typings/org.bukkit.entity.Tameable.ts
new file mode 100644
index 00000000..40c55e67
--- /dev/null
+++ b/packages/bukkit/src/typings/org.bukkit.entity.Tameable.ts
@@ -0,0 +1,35 @@
+declare namespace org {
+ namespace bukkit {
+ namespace entity {
+ class Tameable {
+ /**
+ * Check if this is tamed
+ *
+ * If something is tamed then a player can not tame it through normal
+ * methods, even if it does not belong to anyone in particular.
+ */
+ public isTamed(): boolean;
+ /**
+ * Sets if this has been tamed. Not necessary if the method setOwner has
+ * been used, as it tames automatically.
+ *
+ * If something is tamed then a player can not tame it through normal
+ * methods, even if it does not belong to anyone in particular.
+ */
+ public setTamed(tame: boolean): void;
+ /**
+ * Gets the current owning AnimalTamer
+ */
+ public getOwner(): org.bukkit.entity.AnimalTamer;
+ /**
+ * Set this to be owned by given AnimalTamer.
+ *
+ * If the owner is not null, this will be tamed and will have any current
+ * path it is following removed. If the owner is set to null, this will be
+ * untamed, and the current owner removed.
+ */
+ public setOwner(tamer: org.bukkit.entity.AnimalTamer): void;
+ }
+ }
+ }
+}
diff --git a/packages/bukkit/src/typings/org.bukkit.entity.ThrownExpBottle.ts b/packages/bukkit/src/typings/org.bukkit.entity.ThrownExpBottle.ts
new file mode 100644
index 00000000..a23940f2
--- /dev/null
+++ b/packages/bukkit/src/typings/org.bukkit.entity.ThrownExpBottle.ts
@@ -0,0 +1,8 @@
+declare namespace org {
+ namespace bukkit {
+ namespace entity {
+ class ThrownExpBottle {
+ }
+ }
+ }
+}
diff --git a/packages/bukkit/src/typings/org.bukkit.entity.ThrownPotion.ts b/packages/bukkit/src/typings/org.bukkit.entity.ThrownPotion.ts
new file mode 100644
index 00000000..78917190
--- /dev/null
+++ b/packages/bukkit/src/typings/org.bukkit.entity.ThrownPotion.ts
@@ -0,0 +1,28 @@
+declare namespace org {
+ namespace bukkit {
+ namespace entity {
+ class ThrownPotion {
+ /**
+ * Returns the effects that are applied by this potion.
+ */
+ public getEffects(): any[] /*java.util.Collection*/;
+ /**
+ * Returns a copy of the ItemStack for this thrown potion.
+ *
+ * Altering this copy will not alter the thrown potion directly. If you want
+ * to alter the thrown potion, you must use the {@link
+ * #setItem(ItemStack) setItemStack} method.
+ */
+ public getItem(): org.bukkit.inventory.ItemStack;
+ /**
+ * Set the ItemStack for this thrown potion.
+ *
+ * The ItemStack must be of type {@link org.bukkit.Material#SPLASH_POTION}
+ * or {@link org.bukkit.Material#LINGERING_POTION}, otherwise an exception
+ * is thrown.
+ */
+ public setItem(item: org.bukkit.inventory.ItemStack): void;
+ }
+ }
+ }
+}
diff --git a/packages/bukkit/src/typings/org.bukkit.entity.TippedArrow.ts b/packages/bukkit/src/typings/org.bukkit.entity.TippedArrow.ts
new file mode 100644
index 00000000..739574b0
--- /dev/null
+++ b/packages/bukkit/src/typings/org.bukkit.entity.TippedArrow.ts
@@ -0,0 +1,8 @@
+declare namespace org {
+ namespace bukkit {
+ namespace entity {
+ class TippedArrow {
+ }
+ }
+ }
+}
diff --git a/packages/bukkit/src/typings/org.bukkit.entity.TraderLlama.ts b/packages/bukkit/src/typings/org.bukkit.entity.TraderLlama.ts
new file mode 100644
index 00000000..ca79b6e2
--- /dev/null
+++ b/packages/bukkit/src/typings/org.bukkit.entity.TraderLlama.ts
@@ -0,0 +1,8 @@
+declare namespace org {
+ namespace bukkit {
+ namespace entity {
+ class TraderLlama {
+ }
+ }
+ }
+}
diff --git a/packages/bukkit/src/typings/org.bukkit.entity.Trident.ts b/packages/bukkit/src/typings/org.bukkit.entity.Trident.ts
new file mode 100644
index 00000000..1daf1ec3
--- /dev/null
+++ b/packages/bukkit/src/typings/org.bukkit.entity.Trident.ts
@@ -0,0 +1,8 @@
+declare namespace org {
+ namespace bukkit {
+ namespace entity {
+ class Trident {
+ }
+ }
+ }
+}
diff --git a/packages/bukkit/src/typings/org.bukkit.entity.TropicalFish.Pattern.ts b/packages/bukkit/src/typings/org.bukkit.entity.TropicalFish.Pattern.ts
new file mode 100644
index 00000000..34f1017c
--- /dev/null
+++ b/packages/bukkit/src/typings/org.bukkit.entity.TropicalFish.Pattern.ts
@@ -0,0 +1,24 @@
+declare namespace org {
+ namespace bukkit {
+ namespace entity {
+ namespace TropicalFish {
+ class Pattern {
+ public static KOB: org.bukkit.entity.TropicalFish.Pattern;
+ public static SUNSTREAK: org.bukkit.entity.TropicalFish.Pattern;
+ public static SNOOPER: org.bukkit.entity.TropicalFish.Pattern;
+ public static DASHER: org.bukkit.entity.TropicalFish.Pattern;
+ public static BRINELY: org.bukkit.entity.TropicalFish.Pattern;
+ public static SPOTTY: org.bukkit.entity.TropicalFish.Pattern;
+ public static FLOPPER: org.bukkit.entity.TropicalFish.Pattern;
+ public static STRIPEY: org.bukkit.entity.TropicalFish.Pattern;
+ public static GLITTER: org.bukkit.entity.TropicalFish.Pattern;
+ public static BLOCKFISH: org.bukkit.entity.TropicalFish.Pattern;
+ public static BETTY: org.bukkit.entity.TropicalFish.Pattern;
+ public static CLAYFISH: org.bukkit.entity.TropicalFish.Pattern;
+ public static values(): org.bukkit.entity.TropicalFish.Pattern[];
+ public static valueOf(name: string): org.bukkit.entity.TropicalFish.Pattern;
+ }
+ }
+ }
+ }
+}
diff --git a/packages/bukkit/src/typings/org.bukkit.entity.TropicalFish.ts b/packages/bukkit/src/typings/org.bukkit.entity.TropicalFish.ts
new file mode 100644
index 00000000..936c78c2
--- /dev/null
+++ b/packages/bukkit/src/typings/org.bukkit.entity.TropicalFish.ts
@@ -0,0 +1,32 @@
+declare namespace org {
+ namespace bukkit {
+ namespace entity {
+ class TropicalFish {
+ /**
+ * Gets the color of the fish's pattern.
+ */
+ public getPatternColor(): org.bukkit.DyeColor;
+ /**
+ * Sets the color of the fish's pattern
+ */
+ public setPatternColor(color: org.bukkit.DyeColor): void;
+ /**
+ * Gets the color of the fish's body.
+ */
+ public getBodyColor(): org.bukkit.DyeColor;
+ /**
+ * Sets the color of the fish's body
+ */
+ public setBodyColor(color: org.bukkit.DyeColor): void;
+ /**
+ * Gets the fish's pattern.
+ */
+ public getPattern(): org.bukkit.entity.TropicalFish.Pattern;
+ /**
+ * Sets the fish's pattern
+ */
+ public setPattern(pattern: org.bukkit.entity.TropicalFish.Pattern): void;
+ }
+ }
+ }
+}
diff --git a/packages/bukkit/src/typings/org.bukkit.entity.Turtle.ts b/packages/bukkit/src/typings/org.bukkit.entity.Turtle.ts
new file mode 100644
index 00000000..ba4fc851
--- /dev/null
+++ b/packages/bukkit/src/typings/org.bukkit.entity.Turtle.ts
@@ -0,0 +1,8 @@
+declare namespace org {
+ namespace bukkit {
+ namespace entity {
+ class Turtle {
+ }
+ }
+ }
+}
diff --git a/packages/bukkit/src/typings/org.bukkit.entity.Vehicle.ts b/packages/bukkit/src/typings/org.bukkit.entity.Vehicle.ts
new file mode 100644
index 00000000..7b29f314
--- /dev/null
+++ b/packages/bukkit/src/typings/org.bukkit.entity.Vehicle.ts
@@ -0,0 +1,16 @@
+declare namespace org {
+ namespace bukkit {
+ namespace entity {
+ class Vehicle {
+ /**
+ * Gets the vehicle's velocity.
+ */
+ public getVelocity(): org.bukkit.util.Vector;
+ /**
+ * Sets the vehicle's velocity.
+ */
+ public setVelocity(vel: org.bukkit.util.Vector): void;
+ }
+ }
+ }
+}
diff --git a/packages/bukkit/src/typings/org.bukkit.entity.Vex.ts b/packages/bukkit/src/typings/org.bukkit.entity.Vex.ts
new file mode 100644
index 00000000..7ce5d878
--- /dev/null
+++ b/packages/bukkit/src/typings/org.bukkit.entity.Vex.ts
@@ -0,0 +1,18 @@
+declare namespace org {
+ namespace bukkit {
+ namespace entity {
+ class Vex {
+ /**
+ * Gets the charging state of this entity.
+ * When this entity is charging it will having a glowing red texture.
+ */
+ public isCharging(): boolean;
+ /**
+ * Sets the charging state of this entity.
+ * When this entity is charging it will having a glowing red texture.
+ */
+ public setCharging(charging: boolean): void;
+ }
+ }
+ }
+}
diff --git a/packages/bukkit/src/typings/org.bukkit.entity.Villager.Profession.ts b/packages/bukkit/src/typings/org.bukkit.entity.Villager.Profession.ts
new file mode 100644
index 00000000..973cea86
--- /dev/null
+++ b/packages/bukkit/src/typings/org.bukkit.entity.Villager.Profession.ts
@@ -0,0 +1,28 @@
+declare namespace org {
+ namespace bukkit {
+ namespace entity {
+ namespace Villager {
+ class Profession {
+ public static NONE: org.bukkit.entity.Villager.Profession;
+ public static ARMORER: org.bukkit.entity.Villager.Profession;
+ public static BUTCHER: org.bukkit.entity.Villager.Profession;
+ public static CARTOGRAPHER: org.bukkit.entity.Villager.Profession;
+ public static CLERIC: org.bukkit.entity.Villager.Profession;
+ public static FARMER: org.bukkit.entity.Villager.Profession;
+ public static FISHERMAN: org.bukkit.entity.Villager.Profession;
+ public static FLETCHER: org.bukkit.entity.Villager.Profession;
+ public static LEATHERWORKER: org.bukkit.entity.Villager.Profession;
+ public static LIBRARIAN: org.bukkit.entity.Villager.Profession;
+ public static MASON: org.bukkit.entity.Villager.Profession;
+ public static NITWIT: org.bukkit.entity.Villager.Profession;
+ public static SHEPHERD: org.bukkit.entity.Villager.Profession;
+ public static TOOLSMITH: org.bukkit.entity.Villager.Profession;
+ public static WEAPONSMITH: org.bukkit.entity.Villager.Profession;
+ public static values(): org.bukkit.entity.Villager.Profession[];
+ public static valueOf(name: string): org.bukkit.entity.Villager.Profession;
+ public getKey(): org.bukkit.NamespacedKey;
+ }
+ }
+ }
+ }
+}
diff --git a/packages/bukkit/src/typings/org.bukkit.entity.Villager.Type.ts b/packages/bukkit/src/typings/org.bukkit.entity.Villager.Type.ts
new file mode 100644
index 00000000..661e9e68
--- /dev/null
+++ b/packages/bukkit/src/typings/org.bukkit.entity.Villager.Type.ts
@@ -0,0 +1,20 @@
+declare namespace org {
+ namespace bukkit {
+ namespace entity {
+ namespace Villager {
+ class Type {
+ public static DESERT: org.bukkit.entity.Villager.Type;
+ public static JUNGLE: org.bukkit.entity.Villager.Type;
+ public static PLAINS: org.bukkit.entity.Villager.Type;
+ public static SAVANNA: org.bukkit.entity.Villager.Type;
+ public static SNOW: org.bukkit.entity.Villager.Type;
+ public static SWAMP: org.bukkit.entity.Villager.Type;
+ public static TAIGA: org.bukkit.entity.Villager.Type;
+ public static values(): org.bukkit.entity.Villager.Type[];
+ public static valueOf(name: string): org.bukkit.entity.Villager.Type;
+ public getKey(): org.bukkit.NamespacedKey;
+ }
+ }
+ }
+ }
+}
diff --git a/packages/bukkit/src/typings/org.bukkit.entity.Villager.ts b/packages/bukkit/src/typings/org.bukkit.entity.Villager.ts
new file mode 100644
index 00000000..74725cc5
--- /dev/null
+++ b/packages/bukkit/src/typings/org.bukkit.entity.Villager.ts
@@ -0,0 +1,56 @@
+declare namespace org {
+ namespace bukkit {
+ namespace entity {
+ class Villager {
+ /**
+ * Gets the current profession of this villager.
+ */
+ public getProfession(): org.bukkit.entity.Villager.Profession;
+ /**
+ * Sets the new profession of this villager.
+ */
+ public setProfession(profession: org.bukkit.entity.Villager.Profession): void;
+ /**
+ * Gets the current type of this villager.
+ */
+ public getVillagerType(): org.bukkit.entity.Villager.Type;
+ /**
+ * Sets the new type of this villager.
+ */
+ public setVillagerType(type: org.bukkit.entity.Villager.Type): void;
+ /**
+ * Gets the level of this villager.
+ * A villager with a level of 1 and no experience is liable to lose its
+ * profession.
+ */
+ public getVillagerLevel(): number;
+ /**
+ * Sets the level of this villager.
+ * A villager with a level of 1 and no experience is liable to lose its
+ * profession.
+ */
+ public setVillagerLevel(level: number): void;
+ /**
+ * Gets the trading experience of this villager.
+ */
+ public getVillagerExperience(): number;
+ /**
+ * Sets the trading experience of this villager.
+ */
+ public setVillagerExperience(experience: number): void;
+ /**
+ * Attempts to make this villager sleep at the given location.
+ *
+ * An angry wolf can not be fed or tamed.
+ */
+ public setAngry(angry: boolean): void;
+ /**
+ * Get the collar color of this wolf
+ */
+ public getCollarColor(): org.bukkit.DyeColor;
+ /**
+ * Set the collar color of this wolf
+ */
+ public setCollarColor(color: org.bukkit.DyeColor): void;
+ }
+ }
+ }
+}
diff --git a/packages/bukkit/src/typings/org.bukkit.entity.Zombie.ts b/packages/bukkit/src/typings/org.bukkit.entity.Zombie.ts
new file mode 100644
index 00000000..5d0af9c4
--- /dev/null
+++ b/packages/bukkit/src/typings/org.bukkit.entity.Zombie.ts
@@ -0,0 +1,42 @@
+declare namespace org {
+ namespace bukkit {
+ namespace entity {
+ class Zombie {
+ /**
+ * Gets whether the zombie is a baby
+ */
+ public isBaby(): boolean;
+ /**
+ * Sets whether the zombie is a baby
+ */
+ public setBaby(flag: boolean): void;
+ /**
+ * Gets whether the zombie is a villager
+ */
+ public isVillager(): boolean;
+ public setVillager(flag: boolean): void;
+ public setVillagerProfession(profession: org.bukkit.entity.Villager.Profession): void;
+ public getVillagerProfession(): org.bukkit.entity.Villager.Profession;
+ /**
+ * Get if this entity is in the process of converting to a Drowned as a
+ * result of being underwater.
+ */
+ public isConverting(): boolean;
+ /**
+ * Gets the amount of ticks until this entity will be converted to a Drowned
+ * as a result of being underwater.
+ * When this reaches 0, the entity will be converted.
+ */
+ public getConversionTime(): number;
+ /**
+ * Sets the amount of ticks until this entity will be converted to a Drowned
+ * as a result of being underwater.
+ * When this reaches 0, the entity will be converted. A value of less than 0
+ * will stop the current conversion process without converting the current
+ * entity.
+ */
+ public setConversionTime(time: number): void;
+ }
+ }
+ }
+}
diff --git a/packages/bukkit/src/typings/org.bukkit.entity.ZombieHorse.ts b/packages/bukkit/src/typings/org.bukkit.entity.ZombieHorse.ts
new file mode 100644
index 00000000..63045af5
--- /dev/null
+++ b/packages/bukkit/src/typings/org.bukkit.entity.ZombieHorse.ts
@@ -0,0 +1,8 @@
+declare namespace org {
+ namespace bukkit {
+ namespace entity {
+ class ZombieHorse {
+ }
+ }
+ }
+}
diff --git a/packages/bukkit/src/typings/org.bukkit.entity.ZombieVillager.ts b/packages/bukkit/src/typings/org.bukkit.entity.ZombieVillager.ts
new file mode 100644
index 00000000..48ea6560
--- /dev/null
+++ b/packages/bukkit/src/typings/org.bukkit.entity.ZombieVillager.ts
@@ -0,0 +1,45 @@
+declare namespace org {
+ namespace bukkit {
+ namespace entity {
+ class ZombieVillager {
+ /**
+ * Sets the villager profession of this zombie.
+ */
+ public setVillagerProfession(profession: org.bukkit.entity.Villager.Profession): void;
+ /**
+ * Returns the villager profession of this zombie.
+ */
+ public getVillagerProfession(): org.bukkit.entity.Villager.Profession;
+ /**
+ * Get if this entity is in the process of converting to a Villager as a
+ * result of being cured.
+ */
+ public isConverting(): boolean;
+ /**
+ * Gets the amount of ticks until this entity will be converted to a
+ * Villager as a result of being cured.
+ * When this reaches 0, the entity will be converted.
+ */
+ public getConversionTime(): number;
+ /**
+ * Sets the amount of ticks until this entity will be converted to a
+ * Villager as a result of being cured.
+ * When this reaches 0, the entity will be converted. A value of less than 0
+ * will stop the current conversion process without converting the current
+ * entity.
+ */
+ public setConversionTime(time: number): void;
+ /**
+ * Gets the player who initiated the conversion.
+ */
+ public getConversionPlayer(): org.bukkit.OfflinePlayer;
+ /**
+ * Sets the player who initiated the conversion.
+ *
+ * This has no effect if this entity isn't converting currently.
+ */
+ public setConversionPlayer(conversionPlayer: org.bukkit.OfflinePlayer): void;
+ }
+ }
+ }
+}
diff --git a/packages/bukkit/src/typings/org.bukkit.entity.memory.MemoryKey.ts b/packages/bukkit/src/typings/org.bukkit.entity.memory.MemoryKey.ts
new file mode 100644
index 00000000..91d5f577
--- /dev/null
+++ b/packages/bukkit/src/typings/org.bukkit.entity.memory.MemoryKey.ts
@@ -0,0 +1,28 @@
+declare namespace org {
+ namespace bukkit {
+ namespace entity {
+ namespace memory {
+ class MemoryKey {
+ public static HOME: org.bukkit.entity.memory.MemoryKey;
+ public static MEETING_POINT: org.bukkit.entity.memory.MemoryKey;
+ public static JOB_SITE: org.bukkit.entity.memory.MemoryKey;
+ public static LAST_SLEPT: org.bukkit.entity.memory.MemoryKey;
+ public static LAST_WORKED_AT_POI: org.bukkit.entity.memory.MemoryKey;
+ public getKey(): org.bukkit.NamespacedKey;
+ /**
+ * Gets the class of values associated with this memory.
+ */
+ public getMemoryClass(): any;
+ /**
+ * Returns a {@link MemoryKey} by a {@link NamespacedKey}.
+ */
+ public static getByKey(namespacedKey: org.bukkit.NamespacedKey): org.bukkit.entity.memory.MemoryKey;
+ /**
+ * Returns the set of all MemoryKeys.
+ */
+ public static values(): any[] /*java.util.Set*/;
+ }
+ }
+ }
+ }
+}
diff --git a/packages/bukkit/src/typings/org.bukkit.entity.minecart.CommandMinecart.ts b/packages/bukkit/src/typings/org.bukkit.entity.minecart.CommandMinecart.ts
new file mode 100644
index 00000000..36fe5698
--- /dev/null
+++ b/packages/bukkit/src/typings/org.bukkit.entity.minecart.CommandMinecart.ts
@@ -0,0 +1,28 @@
+declare namespace org {
+ namespace bukkit {
+ namespace entity {
+ namespace minecart {
+ class CommandMinecart {
+ /**
+ * Gets the command that this CommandMinecart will run when activated.
+ * This will never return null. If the CommandMinecart does not have a
+ * command, an empty String will be returned instead.
+ */
+ public getCommand(): string;
+ /**
+ * Sets the command that this CommandMinecart will run when activated.
+ * Setting the command to null is the same as setting it to an empty
+ * String.
+ */
+ public setCommand(command: string): void;
+ /**
+ * Sets the name of this CommandMinecart. The name is used with commands
+ * that this CommandMinecart executes. Setting the name to null is the
+ * same as setting it to "@".
+ */
+ public setName(name: string): void;
+ }
+ }
+ }
+ }
+}
diff --git a/packages/bukkit/src/typings/org.bukkit.entity.minecart.ExplosiveMinecart.ts b/packages/bukkit/src/typings/org.bukkit.entity.minecart.ExplosiveMinecart.ts
new file mode 100644
index 00000000..8a9b0ba1
--- /dev/null
+++ b/packages/bukkit/src/typings/org.bukkit.entity.minecart.ExplosiveMinecart.ts
@@ -0,0 +1,10 @@
+declare namespace org {
+ namespace bukkit {
+ namespace entity {
+ namespace minecart {
+ class ExplosiveMinecart {
+ }
+ }
+ }
+ }
+}
diff --git a/packages/bukkit/src/typings/org.bukkit.entity.minecart.HopperMinecart.ts b/packages/bukkit/src/typings/org.bukkit.entity.minecart.HopperMinecart.ts
new file mode 100644
index 00000000..698cd14b
--- /dev/null
+++ b/packages/bukkit/src/typings/org.bukkit.entity.minecart.HopperMinecart.ts
@@ -0,0 +1,19 @@
+declare namespace org {
+ namespace bukkit {
+ namespace entity {
+ namespace minecart {
+ class HopperMinecart {
+ /**
+ * Checks whether or not this Minecart will pick up
+ * items into its inventory.
+ */
+ public isEnabled(): boolean;
+ /**
+ * Sets whether this Minecart will pick up items.
+ */
+ public setEnabled(enabled: boolean): void;
+ }
+ }
+ }
+ }
+}
diff --git a/packages/bukkit/src/typings/org.bukkit.entity.minecart.PoweredMinecart.ts b/packages/bukkit/src/typings/org.bukkit.entity.minecart.PoweredMinecart.ts
new file mode 100644
index 00000000..56344e5b
--- /dev/null
+++ b/packages/bukkit/src/typings/org.bukkit.entity.minecart.PoweredMinecart.ts
@@ -0,0 +1,10 @@
+declare namespace org {
+ namespace bukkit {
+ namespace entity {
+ namespace minecart {
+ class PoweredMinecart {
+ }
+ }
+ }
+ }
+}
diff --git a/packages/bukkit/src/typings/org.bukkit.entity.minecart.RideableMinecart.ts b/packages/bukkit/src/typings/org.bukkit.entity.minecart.RideableMinecart.ts
new file mode 100644
index 00000000..cda9f049
--- /dev/null
+++ b/packages/bukkit/src/typings/org.bukkit.entity.minecart.RideableMinecart.ts
@@ -0,0 +1,10 @@
+declare namespace org {
+ namespace bukkit {
+ namespace entity {
+ namespace minecart {
+ class RideableMinecart {
+ }
+ }
+ }
+ }
+}
diff --git a/packages/bukkit/src/typings/org.bukkit.entity.minecart.SpawnerMinecart.ts b/packages/bukkit/src/typings/org.bukkit.entity.minecart.SpawnerMinecart.ts
new file mode 100644
index 00000000..1e10542e
--- /dev/null
+++ b/packages/bukkit/src/typings/org.bukkit.entity.minecart.SpawnerMinecart.ts
@@ -0,0 +1,10 @@
+declare namespace org {
+ namespace bukkit {
+ namespace entity {
+ namespace minecart {
+ class SpawnerMinecart {
+ }
+ }
+ }
+ }
+}
diff --git a/packages/bukkit/src/typings/org.bukkit.entity.minecart.StorageMinecart.ts b/packages/bukkit/src/typings/org.bukkit.entity.minecart.StorageMinecart.ts
new file mode 100644
index 00000000..719286c9
--- /dev/null
+++ b/packages/bukkit/src/typings/org.bukkit.entity.minecart.StorageMinecart.ts
@@ -0,0 +1,10 @@
+declare namespace org {
+ namespace bukkit {
+ namespace entity {
+ namespace minecart {
+ class StorageMinecart {
+ }
+ }
+ }
+ }
+}
diff --git a/packages/bukkit/src/typings/org.bukkit.event.Cancellable.ts b/packages/bukkit/src/typings/org.bukkit.event.Cancellable.ts
new file mode 100644
index 00000000..cc66e8da
--- /dev/null
+++ b/packages/bukkit/src/typings/org.bukkit.event.Cancellable.ts
@@ -0,0 +1,18 @@
+declare namespace org {
+ namespace bukkit {
+ namespace event {
+ class Cancellable {
+ /**
+ * Gets the cancellation state of this event. A cancelled event will not
+ * be executed in the server, but will still pass to other plugins
+ */
+ public isCancelled(): boolean;
+ /**
+ * Sets the cancellation state of this event. A cancelled event will not
+ * be executed in the server, but will still pass to other plugins.
+ */
+ public setCancelled(cancel: boolean): void;
+ }
+ }
+ }
+}
diff --git a/packages/bukkit/src/typings/org.bukkit.event.Event.Result.ts b/packages/bukkit/src/typings/org.bukkit.event.Event.Result.ts
new file mode 100644
index 00000000..605f5442
--- /dev/null
+++ b/packages/bukkit/src/typings/org.bukkit.event.Event.Result.ts
@@ -0,0 +1,15 @@
+declare namespace org {
+ namespace bukkit {
+ namespace event {
+ namespace Event {
+ class Result {
+ public static DENY: org.bukkit.event.Event.Result;
+ public static DEFAULT: org.bukkit.event.Event.Result;
+ public static ALLOW: org.bukkit.event.Event.Result;
+ public static values(): org.bukkit.event.Event.Result[];
+ public static valueOf(name: string): org.bukkit.event.Event.Result;
+ }
+ }
+ }
+ }
+}
diff --git a/packages/bukkit/src/typings/org.bukkit.event.Event.ts b/packages/bukkit/src/typings/org.bukkit.event.Event.ts
new file mode 100644
index 00000000..f0009e91
--- /dev/null
+++ b/packages/bukkit/src/typings/org.bukkit.event.Event.ts
@@ -0,0 +1,46 @@
+declare namespace org {
+ namespace bukkit {
+ namespace event {
+ abstract class Event {
+ /**
+ * The default constructor is defined for cleaner code. This constructor
+ * assumes the event is synchronous.
+ */
+ constructor()
+ /**
+ * This constructor is used to explicitly declare an event as synchronous
+ * or asynchronous.
+ */
+ constructor(isAsync: boolean)
+ /**
+ * Convenience method for providing a user-friendly identifier. By
+ * default, it is the event's class's {@linkplain Class#getSimpleName()
+ * simple name}.
+ */
+ public getEventName(): string;
+ public abstract getHandlers(): org.bukkit.event.HandlerList;
+ /**
+ * Any custom event that should not by synchronized with other events must
+ * use the specific constructor. These are the caveats of using an
+ * asynchronous event:
+ *
+ * First priority to the last priority executed:
+ *
+ * If ignoreCancelled is true and the event is cancelled, the method is
+ * not called. Otherwise, the method is always called.
+ */
+ public ignoreCancelled(): boolean;
+ }
+ }
+ }
+}
diff --git a/packages/bukkit/src/typings/org.bukkit.event.EventPriority.ts b/packages/bukkit/src/typings/org.bukkit.event.EventPriority.ts
new file mode 100644
index 00000000..65ec81ff
--- /dev/null
+++ b/packages/bukkit/src/typings/org.bukkit.event.EventPriority.ts
@@ -0,0 +1,17 @@
+declare namespace org {
+ namespace bukkit {
+ namespace event {
+ class EventPriority {
+ public static LOWEST: org.bukkit.event.EventPriority;
+ public static LOW: org.bukkit.event.EventPriority;
+ public static NORMAL: org.bukkit.event.EventPriority;
+ public static HIGH: org.bukkit.event.EventPriority;
+ public static HIGHEST: org.bukkit.event.EventPriority;
+ public static MONITOR: org.bukkit.event.EventPriority;
+ public static values(): org.bukkit.event.EventPriority[];
+ public static valueOf(name: string): org.bukkit.event.EventPriority;
+ public getSlot(): number;
+ }
+ }
+ }
+}
diff --git a/packages/bukkit/src/typings/org.bukkit.event.HandlerList.ts b/packages/bukkit/src/typings/org.bukkit.event.HandlerList.ts
new file mode 100644
index 00000000..51045e98
--- /dev/null
+++ b/packages/bukkit/src/typings/org.bukkit.event.HandlerList.ts
@@ -0,0 +1,69 @@
+declare namespace org {
+ namespace bukkit {
+ namespace event {
+ class HandlerList {
+ /**
+ * Create a new handler list and initialize using EventPriority.
+ *
+ * The HandlerList is then added to meta-list for use in bakeAll()
+ */
+ constructor()
+ /**
+ * Bake all handler lists. Best used just after all normal event
+ * registration is complete, ie just after all plugins are loaded if
+ * you're using fevents in a plugin system.
+ */
+ public static bakeAll(): void;
+ /**
+ * Unregister all listeners from all handler lists.
+ */
+ public static unregisterAll(): void;
+ /**
+ * Unregister a specific plugin's listeners from all handler lists.
+ */
+ public static unregisterAll(plugin: org.bukkit.plugin.Plugin): void;
+ /**
+ * Unregister a specific listener from all handler lists.
+ */
+ public static unregisterAll(listener: org.bukkit.event.Listener): void;
+ /**
+ * Register a new listener in this handler list
+ */
+ public register(listener: org.bukkit.plugin.RegisteredListener): void;
+ /**
+ * Register a collection of new listeners in this handler list
+ */
+ public registerAll(listeners: any[] /*java.util.Collection*/): void;
+ /**
+ * Remove a listener from a specific order slot
+ */
+ public unregister(listener: org.bukkit.plugin.RegisteredListener): void;
+ /**
+ * Remove a specific plugin's listeners from this handler
+ */
+ public unregister(plugin: org.bukkit.plugin.Plugin): void;
+ /**
+ * Remove a specific listener from this handler
+ */
+ public unregister(listener: org.bukkit.event.Listener): void;
+ /**
+ * Bake HashMap and ArrayLists to 2d array - does nothing if not necessary
+ */
+ public bake(): void;
+ /**
+ * Get the baked registered listeners associated with this handler list
+ */
+ public getRegisteredListeners(): org.bukkit.plugin.RegisteredListener[];
+ /**
+ * Get a specific plugin's registered listeners associated with this
+ * handler list
+ */
+ public static getRegisteredListeners(plugin: org.bukkit.plugin.Plugin): any;
+ /**
+ * Get a list of all handler lists for every event type
+ */
+ public static getHandlerLists(): any;
+ }
+ }
+ }
+}
diff --git a/packages/bukkit/src/typings/org.bukkit.event.Listener.ts b/packages/bukkit/src/typings/org.bukkit.event.Listener.ts
new file mode 100644
index 00000000..939ef13d
--- /dev/null
+++ b/packages/bukkit/src/typings/org.bukkit.event.Listener.ts
@@ -0,0 +1,8 @@
+declare namespace org {
+ namespace bukkit {
+ namespace event {
+ class Listener {
+ }
+ }
+ }
+}
diff --git a/packages/bukkit/src/typings/org.bukkit.event.block.Action.ts b/packages/bukkit/src/typings/org.bukkit.event.block.Action.ts
new file mode 100644
index 00000000..f0bdb44b
--- /dev/null
+++ b/packages/bukkit/src/typings/org.bukkit.event.block.Action.ts
@@ -0,0 +1,17 @@
+declare namespace org {
+ namespace bukkit {
+ namespace event {
+ namespace block {
+ class Action {
+ public static LEFT_CLICK_BLOCK: org.bukkit.event.block.Action;
+ public static RIGHT_CLICK_BLOCK: org.bukkit.event.block.Action;
+ public static LEFT_CLICK_AIR: org.bukkit.event.block.Action;
+ public static RIGHT_CLICK_AIR: org.bukkit.event.block.Action;
+ public static PHYSICAL: org.bukkit.event.block.Action;
+ public static values(): org.bukkit.event.block.Action[];
+ public static valueOf(name: string): org.bukkit.event.block.Action;
+ }
+ }
+ }
+ }
+}
diff --git a/packages/bukkit/src/typings/org.bukkit.event.block.BlockBreakEvent.ts b/packages/bukkit/src/typings/org.bukkit.event.block.BlockBreakEvent.ts
new file mode 100644
index 00000000..c405b45f
--- /dev/null
+++ b/packages/bukkit/src/typings/org.bukkit.event.block.BlockBreakEvent.ts
@@ -0,0 +1,25 @@
+declare namespace org {
+ namespace bukkit {
+ namespace event {
+ namespace block {
+ class BlockBreakEvent {
+ constructor(theBlock: org.bukkit.block.Block, player: org.bukkit.entity.Player)
+ /**
+ * Gets the Player that is breaking the block involved in this event.
+ */
+ public getPlayer(): org.bukkit.entity.Player;
+ /**
+ * Sets whether or not the block will drop items as it normally would.
+ */
+ public setDropItems(dropItems: boolean): void;
+ /**
+ * Gets whether or not the block will drop items.
+ */
+ public isDropItems(): boolean;
+ public isCancelled(): boolean;
+ public setCancelled(cancel: boolean): void;
+ }
+ }
+ }
+ }
+}
diff --git a/packages/bukkit/src/typings/org.bukkit.event.block.BlockBurnEvent.ts b/packages/bukkit/src/typings/org.bukkit.event.block.BlockBurnEvent.ts
new file mode 100644
index 00000000..7f4f88f5
--- /dev/null
+++ b/packages/bukkit/src/typings/org.bukkit.event.block.BlockBurnEvent.ts
@@ -0,0 +1,20 @@
+declare namespace org {
+ namespace bukkit {
+ namespace event {
+ namespace block {
+ class BlockBurnEvent {
+ constructor(block: org.bukkit.block.Block)
+ constructor(block: org.bukkit.block.Block, ignitingBlock: org.bukkit.block.Block)
+ /**
+ * Gets the block which ignited this block.
+ */
+ public getIgnitingBlock(): org.bukkit.block.Block;
+ public isCancelled(): boolean;
+ public setCancelled(cancel: boolean): void;
+ public getHandlers(): org.bukkit.event.HandlerList;
+ public static getHandlerList(): org.bukkit.event.HandlerList;
+ }
+ }
+ }
+ }
+}
diff --git a/packages/bukkit/src/typings/org.bukkit.event.block.BlockCanBuildEvent.ts b/packages/bukkit/src/typings/org.bukkit.event.block.BlockCanBuildEvent.ts
new file mode 100644
index 00000000..7172cf23
--- /dev/null
+++ b/packages/bukkit/src/typings/org.bukkit.event.block.BlockCanBuildEvent.ts
@@ -0,0 +1,41 @@
+declare namespace org {
+ namespace bukkit {
+ namespace event {
+ namespace block {
+ class BlockCanBuildEvent {
+ constructor(block: org.bukkit.block.Block, type: org.bukkit.block.data.BlockData, canBuild: boolean)
+ constructor(block: org.bukkit.block.Block, player: org.bukkit.entity.Player, type: org.bukkit.block.data.BlockData, canBuild: boolean)
+ protected buildable: boolean;
+ protected blockData: org.bukkit.block.data.BlockData;
+ /**
+ * Gets whether or not the block can be built here.
+ *
+ * By default, returns Minecraft's answer on whether the block can be
+ * built here or not.
+ */
+ public isBuildable(): boolean;
+ /**
+ * Sets whether the block can be built here or not.
+ */
+ public setBuildable(cancel: boolean): void;
+ /**
+ * Gets the Material that we are trying to place.
+ */
+ public getMaterial(): org.bukkit.Material;
+ /**
+ * Gets the BlockData that we are trying to place.
+ */
+ public getBlockData(): org.bukkit.block.data.BlockData;
+ /**
+ * Gets the player who placed the block involved in this event.
+ *
+ * Note: Modifying the returned Vector will not change the velocity, you
+ * must use {@link #setVelocity(org.bukkit.util.Vector)} instead.
+ */
+ public getVelocity(): org.bukkit.util.Vector;
+ /**
+ * Sets the velocity of the item being dispensed.
+ */
+ public setVelocity(vel: org.bukkit.util.Vector): void;
+ public isCancelled(): boolean;
+ public setCancelled(cancel: boolean): void;
+ public getHandlers(): org.bukkit.event.HandlerList;
+ public static getHandlerList(): org.bukkit.event.HandlerList;
+ }
+ }
+ }
+ }
+}
diff --git a/packages/bukkit/src/typings/org.bukkit.event.block.BlockDropItemEvent.ts b/packages/bukkit/src/typings/org.bukkit.event.block.BlockDropItemEvent.ts
new file mode 100644
index 00000000..56c8181e
--- /dev/null
+++ b/packages/bukkit/src/typings/org.bukkit.event.block.BlockDropItemEvent.ts
@@ -0,0 +1,30 @@
+declare namespace org {
+ namespace bukkit {
+ namespace event {
+ namespace block {
+ class BlockDropItemEvent {
+ constructor(block: org.bukkit.block.Block, blockState: org.bukkit.block.BlockState, player: org.bukkit.entity.Player, items: any[] /*java.util.List*/)
+ /**
+ * Gets the Player that is breaking the block involved in this event.
+ */
+ public getPlayer(): org.bukkit.entity.Player;
+ /**
+ * Gets the BlockState of the block involved in this event before it was
+ * broken.
+ */
+ public getBlockState(): org.bukkit.block.BlockState;
+ /**
+ * Gets list of the Item drops caused by the block break.
+ * This list is mutable - removing an item from it will cause it to not
+ * drop. It is not legal however to add new items to the list.
+ */
+ public getItems(): any[] /*java.util.List*/;
+ public isCancelled(): boolean;
+ public setCancelled(cancel: boolean): void;
+ public getHandlers(): org.bukkit.event.HandlerList;
+ public static getHandlerList(): org.bukkit.event.HandlerList;
+ }
+ }
+ }
+ }
+}
diff --git a/packages/bukkit/src/typings/org.bukkit.event.block.BlockEvent.ts b/packages/bukkit/src/typings/org.bukkit.event.block.BlockEvent.ts
new file mode 100644
index 00000000..e3739445
--- /dev/null
+++ b/packages/bukkit/src/typings/org.bukkit.event.block.BlockEvent.ts
@@ -0,0 +1,16 @@
+declare namespace org {
+ namespace bukkit {
+ namespace event {
+ namespace block {
+ abstract class BlockEvent {
+ constructor(theBlock: org.bukkit.block.Block)
+ protected block: org.bukkit.block.Block;
+ /**
+ * Gets the block involved in this event.
+ */
+ public getBlock(): org.bukkit.block.Block;
+ }
+ }
+ }
+ }
+}
diff --git a/packages/bukkit/src/typings/org.bukkit.event.block.BlockExpEvent.ts b/packages/bukkit/src/typings/org.bukkit.event.block.BlockExpEvent.ts
new file mode 100644
index 00000000..d9a15f3c
--- /dev/null
+++ b/packages/bukkit/src/typings/org.bukkit.event.block.BlockExpEvent.ts
@@ -0,0 +1,22 @@
+declare namespace org {
+ namespace bukkit {
+ namespace event {
+ namespace block {
+ class BlockExpEvent {
+ constructor(block: org.bukkit.block.Block, exp: number)
+ /**
+ * Get the experience dropped by the block after the event has processed
+ */
+ public getExpToDrop(): number;
+ /**
+ * Set the amount of experience dropped by the block after the event has
+ * processed
+ */
+ public setExpToDrop(exp: number): void;
+ public getHandlers(): org.bukkit.event.HandlerList;
+ public static getHandlerList(): org.bukkit.event.HandlerList;
+ }
+ }
+ }
+ }
+}
diff --git a/packages/bukkit/src/typings/org.bukkit.event.block.BlockExplodeEvent.ts b/packages/bukkit/src/typings/org.bukkit.event.block.BlockExplodeEvent.ts
new file mode 100644
index 00000000..aefddccb
--- /dev/null
+++ b/packages/bukkit/src/typings/org.bukkit.event.block.BlockExplodeEvent.ts
@@ -0,0 +1,28 @@
+declare namespace org {
+ namespace bukkit {
+ namespace event {
+ namespace block {
+ class BlockExplodeEvent {
+ constructor(what: org.bukkit.block.Block, blocks: any[] /*java.util.List*/, yield: number)
+ public isCancelled(): boolean;
+ public setCancelled(cancel: boolean): void;
+ /**
+ * Returns the list of blocks that would have been removed or were removed
+ * from the explosion event.
+ */
+ public blockList(): any[] /*java.util.List*/;
+ /**
+ * Returns the percentage of blocks to drop from this explosion
+ */
+ public getYield(): number;
+ /**
+ * Sets the percentage of blocks to drop from this explosion
+ */
+ public setYield(yield: number): void;
+ public getHandlers(): org.bukkit.event.HandlerList;
+ public static getHandlerList(): org.bukkit.event.HandlerList;
+ }
+ }
+ }
+ }
+}
diff --git a/packages/bukkit/src/typings/org.bukkit.event.block.BlockFadeEvent.ts b/packages/bukkit/src/typings/org.bukkit.event.block.BlockFadeEvent.ts
new file mode 100644
index 00000000..520a00f3
--- /dev/null
+++ b/packages/bukkit/src/typings/org.bukkit.event.block.BlockFadeEvent.ts
@@ -0,0 +1,20 @@
+declare namespace org {
+ namespace bukkit {
+ namespace event {
+ namespace block {
+ class BlockFadeEvent {
+ constructor(block: org.bukkit.block.Block, newState: org.bukkit.block.BlockState)
+ /**
+ * Gets the state of the block that will be fading, melting or
+ * disappearing.
+ */
+ public getNewState(): org.bukkit.block.BlockState;
+ public isCancelled(): boolean;
+ public setCancelled(cancel: boolean): void;
+ public getHandlers(): org.bukkit.event.HandlerList;
+ public static getHandlerList(): org.bukkit.event.HandlerList;
+ }
+ }
+ }
+ }
+}
diff --git a/packages/bukkit/src/typings/org.bukkit.event.block.BlockFertilizeEvent.ts b/packages/bukkit/src/typings/org.bukkit.event.block.BlockFertilizeEvent.ts
new file mode 100644
index 00000000..082e36c7
--- /dev/null
+++ b/packages/bukkit/src/typings/org.bukkit.event.block.BlockFertilizeEvent.ts
@@ -0,0 +1,23 @@
+declare namespace org {
+ namespace bukkit {
+ namespace event {
+ namespace block {
+ class BlockFertilizeEvent {
+ constructor(theBlock: org.bukkit.block.Block, player: org.bukkit.entity.Player, blocks: any[] /*java.util.List*/)
+ /**
+ * Gets the player that triggered the fertilization.
+ */
+ public getPlayer(): org.bukkit.entity.Player;
+ /**
+ * Gets a list of all blocks changed by the fertilization.
+ */
+ public getBlocks(): any[] /*java.util.List*/;
+ public isCancelled(): boolean;
+ public setCancelled(cancelled: boolean): void;
+ public getHandlers(): org.bukkit.event.HandlerList;
+ public static getHandlerList(): org.bukkit.event.HandlerList;
+ }
+ }
+ }
+ }
+}
diff --git a/packages/bukkit/src/typings/org.bukkit.event.block.BlockFormEvent.ts b/packages/bukkit/src/typings/org.bukkit.event.block.BlockFormEvent.ts
new file mode 100644
index 00000000..434db8ef
--- /dev/null
+++ b/packages/bukkit/src/typings/org.bukkit.event.block.BlockFormEvent.ts
@@ -0,0 +1,13 @@
+declare namespace org {
+ namespace bukkit {
+ namespace event {
+ namespace block {
+ class BlockFormEvent {
+ constructor(block: org.bukkit.block.Block, newState: org.bukkit.block.BlockState)
+ public getHandlers(): org.bukkit.event.HandlerList;
+ public static getHandlerList(): org.bukkit.event.HandlerList;
+ }
+ }
+ }
+ }
+}
diff --git a/packages/bukkit/src/typings/org.bukkit.event.block.BlockFromToEvent.ts b/packages/bukkit/src/typings/org.bukkit.event.block.BlockFromToEvent.ts
new file mode 100644
index 00000000..a880155f
--- /dev/null
+++ b/packages/bukkit/src/typings/org.bukkit.event.block.BlockFromToEvent.ts
@@ -0,0 +1,27 @@
+declare namespace org {
+ namespace bukkit {
+ namespace event {
+ namespace block {
+ class BlockFromToEvent {
+ constructor(block: org.bukkit.block.Block, face: org.bukkit.block.BlockFace)
+ constructor(block: org.bukkit.block.Block, toBlock: org.bukkit.block.Block)
+ protected to: org.bukkit.block.Block;
+ protected face: org.bukkit.block.BlockFace;
+ protected cancel: boolean;
+ /**
+ * Gets the BlockFace that the block is moving to.
+ */
+ public getFace(): org.bukkit.block.BlockFace;
+ /**
+ * Convenience method for getting the faced Block.
+ */
+ public getToBlock(): org.bukkit.block.Block;
+ public isCancelled(): boolean;
+ public setCancelled(cancel: boolean): void;
+ public getHandlers(): org.bukkit.event.HandlerList;
+ public static getHandlerList(): org.bukkit.event.HandlerList;
+ }
+ }
+ }
+ }
+}
diff --git a/packages/bukkit/src/typings/org.bukkit.event.block.BlockGrowEvent.ts b/packages/bukkit/src/typings/org.bukkit.event.block.BlockGrowEvent.ts
new file mode 100644
index 00000000..58ef2783
--- /dev/null
+++ b/packages/bukkit/src/typings/org.bukkit.event.block.BlockGrowEvent.ts
@@ -0,0 +1,19 @@
+declare namespace org {
+ namespace bukkit {
+ namespace event {
+ namespace block {
+ class BlockGrowEvent {
+ constructor(block: org.bukkit.block.Block, newState: org.bukkit.block.BlockState)
+ /**
+ * Gets the state of the block where it will form or spread to.
+ */
+ public getNewState(): org.bukkit.block.BlockState;
+ public isCancelled(): boolean;
+ public setCancelled(cancel: boolean): void;
+ public getHandlers(): org.bukkit.event.HandlerList;
+ public static getHandlerList(): org.bukkit.event.HandlerList;
+ }
+ }
+ }
+ }
+}
diff --git a/packages/bukkit/src/typings/org.bukkit.event.block.BlockIgniteEvent.IgniteCause.ts b/packages/bukkit/src/typings/org.bukkit.event.block.BlockIgniteEvent.IgniteCause.ts
new file mode 100644
index 00000000..69f9c4d4
--- /dev/null
+++ b/packages/bukkit/src/typings/org.bukkit.event.block.BlockIgniteEvent.IgniteCause.ts
@@ -0,0 +1,21 @@
+declare namespace org {
+ namespace bukkit {
+ namespace event {
+ namespace block {
+ namespace BlockIgniteEvent {
+ class IgniteCause {
+ public static LAVA: org.bukkit.event.block.BlockIgniteEvent.IgniteCause;
+ public static FLINT_AND_STEEL: org.bukkit.event.block.BlockIgniteEvent.IgniteCause;
+ public static SPREAD: org.bukkit.event.block.BlockIgniteEvent.IgniteCause;
+ public static LIGHTNING: org.bukkit.event.block.BlockIgniteEvent.IgniteCause;
+ public static FIREBALL: org.bukkit.event.block.BlockIgniteEvent.IgniteCause;
+ public static ENDER_CRYSTAL: org.bukkit.event.block.BlockIgniteEvent.IgniteCause;
+ public static EXPLOSION: org.bukkit.event.block.BlockIgniteEvent.IgniteCause;
+ public static values(): org.bukkit.event.block.BlockIgniteEvent.IgniteCause[];
+ public static valueOf(name: string): org.bukkit.event.block.BlockIgniteEvent.IgniteCause;
+ }
+ }
+ }
+ }
+ }
+}
diff --git a/packages/bukkit/src/typings/org.bukkit.event.block.BlockIgniteEvent.ts b/packages/bukkit/src/typings/org.bukkit.event.block.BlockIgniteEvent.ts
new file mode 100644
index 00000000..40e254c4
--- /dev/null
+++ b/packages/bukkit/src/typings/org.bukkit.event.block.BlockIgniteEvent.ts
@@ -0,0 +1,33 @@
+declare namespace org {
+ namespace bukkit {
+ namespace event {
+ namespace block {
+ class BlockIgniteEvent {
+ constructor(theBlock: org.bukkit.block.Block, cause: org.bukkit.event.block.BlockIgniteEvent.IgniteCause, ignitingEntity: org.bukkit.entity.Entity)
+ constructor(theBlock: org.bukkit.block.Block, cause: org.bukkit.event.block.BlockIgniteEvent.IgniteCause, ignitingBlock: org.bukkit.block.Block)
+ constructor(theBlock: org.bukkit.block.Block, cause: org.bukkit.event.block.BlockIgniteEvent.IgniteCause, ignitingEntity: org.bukkit.entity.Entity, ignitingBlock: org.bukkit.block.Block)
+ public isCancelled(): boolean;
+ public setCancelled(cancel: boolean): void;
+ /**
+ * Gets the cause of block ignite.
+ */
+ public getCause(): org.bukkit.event.block.BlockIgniteEvent.IgniteCause;
+ /**
+ * Gets the player who ignited this block
+ */
+ public getPlayer(): org.bukkit.entity.Player;
+ /**
+ * Gets the entity who ignited this block
+ */
+ public getIgnitingEntity(): org.bukkit.entity.Entity;
+ /**
+ * Gets the block which ignited this block
+ */
+ public getIgnitingBlock(): org.bukkit.block.Block;
+ public getHandlers(): org.bukkit.event.HandlerList;
+ public static getHandlerList(): org.bukkit.event.HandlerList;
+ }
+ }
+ }
+ }
+}
diff --git a/packages/bukkit/src/typings/org.bukkit.event.block.BlockMultiPlaceEvent.ts b/packages/bukkit/src/typings/org.bukkit.event.block.BlockMultiPlaceEvent.ts
new file mode 100644
index 00000000..0fe3e49e
--- /dev/null
+++ b/packages/bukkit/src/typings/org.bukkit.event.block.BlockMultiPlaceEvent.ts
@@ -0,0 +1,17 @@
+declare namespace org {
+ namespace bukkit {
+ namespace event {
+ namespace block {
+ class BlockMultiPlaceEvent {
+ constructor(states: any[] /*java.util.List*/, clicked: org.bukkit.block.Block, itemInHand: org.bukkit.inventory.ItemStack, thePlayer: org.bukkit.entity.Player, canBuild: boolean)
+ /**
+ * Gets a list of blockstates for all blocks which were replaced by the
+ * placement of the new blocks. Most of these blocks will just have a
+ * Material type of AIR.
+ */
+ public getReplacedBlockStates(): any[] /*java.util.List*/;
+ }
+ }
+ }
+ }
+}
diff --git a/packages/bukkit/src/typings/org.bukkit.event.block.BlockPhysicsEvent.ts b/packages/bukkit/src/typings/org.bukkit.event.block.BlockPhysicsEvent.ts
new file mode 100644
index 00000000..4b9bdc1e
--- /dev/null
+++ b/packages/bukkit/src/typings/org.bukkit.event.block.BlockPhysicsEvent.ts
@@ -0,0 +1,25 @@
+declare namespace org {
+ namespace bukkit {
+ namespace event {
+ namespace block {
+ class BlockPhysicsEvent {
+ constructor(block: org.bukkit.block.Block, changed: org.bukkit.block.data.BlockData)
+ constructor(block: org.bukkit.block.Block, changed: org.bukkit.block.data.BlockData, sourceBlock: org.bukkit.block.Block)
+ /**
+ * Gets the source block that triggered this event.
+ * Note: This will default to block if not set.
+ */
+ public getSourceBlock(): org.bukkit.block.Block;
+ /**
+ * Gets the type of block that changed, causing this event
+ */
+ public getChangedType(): org.bukkit.Material;
+ public isCancelled(): boolean;
+ public setCancelled(cancel: boolean): void;
+ public getHandlers(): org.bukkit.event.HandlerList;
+ public static getHandlerList(): org.bukkit.event.HandlerList;
+ }
+ }
+ }
+ }
+}
diff --git a/packages/bukkit/src/typings/org.bukkit.event.block.BlockPistonEvent.ts b/packages/bukkit/src/typings/org.bukkit.event.block.BlockPistonEvent.ts
new file mode 100644
index 00000000..9946334b
--- /dev/null
+++ b/packages/bukkit/src/typings/org.bukkit.event.block.BlockPistonEvent.ts
@@ -0,0 +1,21 @@
+declare namespace org {
+ namespace bukkit {
+ namespace event {
+ namespace block {
+ abstract class BlockPistonEvent {
+ constructor(block: org.bukkit.block.Block, direction: org.bukkit.block.BlockFace)
+ public isCancelled(): boolean;
+ public setCancelled(cancelled: boolean): void;
+ /**
+ * Returns true if the Piston in the event is sticky.
+ */
+ public isSticky(): boolean;
+ /**
+ * Return the direction in which the piston will operate.
+ */
+ public getDirection(): org.bukkit.block.BlockFace;
+ }
+ }
+ }
+ }
+}
diff --git a/packages/bukkit/src/typings/org.bukkit.event.block.BlockPistonExtendEvent.ts b/packages/bukkit/src/typings/org.bukkit.event.block.BlockPistonExtendEvent.ts
new file mode 100644
index 00000000..8ebbc5b0
--- /dev/null
+++ b/packages/bukkit/src/typings/org.bukkit.event.block.BlockPistonExtendEvent.ts
@@ -0,0 +1,23 @@
+declare namespace org {
+ namespace bukkit {
+ namespace event {
+ namespace block {
+ class BlockPistonExtendEvent {
+ constructor(block: org.bukkit.block.Block, length: number, direction: org.bukkit.block.BlockFace)
+ constructor(block: org.bukkit.block.Block, blocks: any[] /*java.util.List*/, direction: org.bukkit.block.BlockFace)
+ /**
+ * Get the amount of blocks which will be moved while extending.
+ */
+ public getLength(): number;
+ /**
+ * Get an immutable list of the blocks which will be moved by the
+ * extending.
+ */
+ public getBlocks(): any[] /*java.util.List*/;
+ public getHandlers(): org.bukkit.event.HandlerList;
+ public static getHandlerList(): org.bukkit.event.HandlerList;
+ }
+ }
+ }
+ }
+}
diff --git a/packages/bukkit/src/typings/org.bukkit.event.block.BlockPistonRetractEvent.ts b/packages/bukkit/src/typings/org.bukkit.event.block.BlockPistonRetractEvent.ts
new file mode 100644
index 00000000..89642ca4
--- /dev/null
+++ b/packages/bukkit/src/typings/org.bukkit.event.block.BlockPistonRetractEvent.ts
@@ -0,0 +1,23 @@
+declare namespace org {
+ namespace bukkit {
+ namespace event {
+ namespace block {
+ class BlockPistonRetractEvent {
+ constructor(block: org.bukkit.block.Block, blocks: any[] /*java.util.List*/, direction: org.bukkit.block.BlockFace)
+ /**
+ * Gets the location where the possible moving block might be if the
+ * retracting piston is sticky.
+ */
+ public getRetractLocation(): org.bukkit.Location;
+ /**
+ * Get an immutable list of the blocks which will be moved by the
+ * extending.
+ */
+ public getBlocks(): any[] /*java.util.List*/;
+ public getHandlers(): org.bukkit.event.HandlerList;
+ public static getHandlerList(): org.bukkit.event.HandlerList;
+ }
+ }
+ }
+ }
+}
diff --git a/packages/bukkit/src/typings/org.bukkit.event.block.BlockPlaceEvent.ts b/packages/bukkit/src/typings/org.bukkit.event.block.BlockPlaceEvent.ts
new file mode 100644
index 00000000..ffa351bb
--- /dev/null
+++ b/packages/bukkit/src/typings/org.bukkit.event.block.BlockPlaceEvent.ts
@@ -0,0 +1,61 @@
+declare namespace org {
+ namespace bukkit {
+ namespace event {
+ namespace block {
+ class BlockPlaceEvent {
+ constructor(placedBlock: org.bukkit.block.Block, replacedBlockState: org.bukkit.block.BlockState, placedAgainst: org.bukkit.block.Block, itemInHand: org.bukkit.inventory.ItemStack, thePlayer: org.bukkit.entity.Player, canBuild: boolean)
+ constructor(placedBlock: org.bukkit.block.Block, replacedBlockState: org.bukkit.block.BlockState, placedAgainst: org.bukkit.block.Block, itemInHand: org.bukkit.inventory.ItemStack, thePlayer: org.bukkit.entity.Player, canBuild: boolean, hand: org.bukkit.inventory.EquipmentSlot)
+ protected cancel: boolean;
+ protected placedAgainst: org.bukkit.block.Block;
+ protected replacedBlockState: org.bukkit.block.BlockState;
+ protected itemInHand: org.bukkit.inventory.ItemStack;
+ protected player: org.bukkit.entity.Player;
+ protected hand: org.bukkit.inventory.EquipmentSlot;
+ public isCancelled(): boolean;
+ public setCancelled(cancel: boolean): void;
+ /**
+ * Gets the player who placed the block involved in this event.
+ */
+ public getPlayer(): org.bukkit.entity.Player;
+ /**
+ * Clarity method for getting the placed block. Not really needed except
+ * for reasons of clarity.
+ */
+ public getBlockPlaced(): org.bukkit.block.Block;
+ /**
+ * Gets the BlockState for the block which was replaced. Material type air
+ * mostly.
+ */
+ public getBlockReplacedState(): org.bukkit.block.BlockState;
+ /**
+ * Gets the block that this block was placed against
+ */
+ public getBlockAgainst(): org.bukkit.block.Block;
+ /**
+ * Gets the item in the player's hand when they placed the block.
+ */
+ public getItemInHand(): org.bukkit.inventory.ItemStack;
+ /**
+ * Gets the hand which placed the block
+ */
+ public getHand(): org.bukkit.inventory.EquipmentSlot;
+ /**
+ * Gets the value whether the player would be allowed to build here.
+ * Defaults to spawn if the server was going to stop them (such as, the
+ * player is in Spawn). Note that this is an entirely different check
+ * than BLOCK_CANBUILD, as this refers to a player, not universe-physics
+ * rule like cactus on dirt.
+ */
+ public canBuild(): boolean;
+ /**
+ * Sets the canBuild state of this event. Set to true if you want the
+ * player to be able to build.
+ */
+ public setBuild(canBuild: boolean): void;
+ public getHandlers(): org.bukkit.event.HandlerList;
+ public static getHandlerList(): org.bukkit.event.HandlerList;
+ }
+ }
+ }
+ }
+}
diff --git a/packages/bukkit/src/typings/org.bukkit.event.block.BlockRedstoneEvent.ts b/packages/bukkit/src/typings/org.bukkit.event.block.BlockRedstoneEvent.ts
new file mode 100644
index 00000000..46b8ab64
--- /dev/null
+++ b/packages/bukkit/src/typings/org.bukkit.event.block.BlockRedstoneEvent.ts
@@ -0,0 +1,25 @@
+declare namespace org {
+ namespace bukkit {
+ namespace event {
+ namespace block {
+ class BlockRedstoneEvent {
+ constructor(block: org.bukkit.block.Block, oldCurrent: number, newCurrent: number)
+ /**
+ * Gets the old current of this block
+ */
+ public getOldCurrent(): number;
+ /**
+ * Gets the new current of this block
+ */
+ public getNewCurrent(): number;
+ /**
+ * Sets the new current of this block
+ */
+ public setNewCurrent(newCurrent: number): void;
+ public getHandlers(): org.bukkit.event.HandlerList;
+ public static getHandlerList(): org.bukkit.event.HandlerList;
+ }
+ }
+ }
+ }
+}
diff --git a/packages/bukkit/src/typings/org.bukkit.event.block.BlockShearEntityEvent.ts b/packages/bukkit/src/typings/org.bukkit.event.block.BlockShearEntityEvent.ts
new file mode 100644
index 00000000..29fb4d17
--- /dev/null
+++ b/packages/bukkit/src/typings/org.bukkit.event.block.BlockShearEntityEvent.ts
@@ -0,0 +1,23 @@
+declare namespace org {
+ namespace bukkit {
+ namespace event {
+ namespace block {
+ class BlockShearEntityEvent {
+ constructor(dispenser: org.bukkit.block.Block, sheared: org.bukkit.entity.Entity, tool: org.bukkit.inventory.ItemStack)
+ /**
+ * Gets the entity that was sheared.
+ */
+ public getEntity(): org.bukkit.entity.Entity;
+ /**
+ * Gets the item used to shear this sheep.
+ */
+ public getTool(): org.bukkit.inventory.ItemStack;
+ public isCancelled(): boolean;
+ public setCancelled(cancelled: boolean): void;
+ public getHandlers(): org.bukkit.event.HandlerList;
+ public static getHandlerList(): org.bukkit.event.HandlerList;
+ }
+ }
+ }
+ }
+}
diff --git a/packages/bukkit/src/typings/org.bukkit.event.block.BlockSpreadEvent.ts b/packages/bukkit/src/typings/org.bukkit.event.block.BlockSpreadEvent.ts
new file mode 100644
index 00000000..afd6866f
--- /dev/null
+++ b/packages/bukkit/src/typings/org.bukkit.event.block.BlockSpreadEvent.ts
@@ -0,0 +1,17 @@
+declare namespace org {
+ namespace bukkit {
+ namespace event {
+ namespace block {
+ class BlockSpreadEvent {
+ constructor(block: org.bukkit.block.Block, source: org.bukkit.block.Block, newState: org.bukkit.block.BlockState)
+ /**
+ * Gets the source block involved in this event.
+ */
+ public getSource(): org.bukkit.block.Block;
+ public getHandlers(): org.bukkit.event.HandlerList;
+ public static getHandlerList(): org.bukkit.event.HandlerList;
+ }
+ }
+ }
+ }
+}
diff --git a/packages/bukkit/src/typings/org.bukkit.event.block.CauldronLevelChangeEvent.ChangeReason.ts b/packages/bukkit/src/typings/org.bukkit.event.block.CauldronLevelChangeEvent.ChangeReason.ts
new file mode 100644
index 00000000..a2df3820
--- /dev/null
+++ b/packages/bukkit/src/typings/org.bukkit.event.block.CauldronLevelChangeEvent.ChangeReason.ts
@@ -0,0 +1,23 @@
+declare namespace org {
+ namespace bukkit {
+ namespace event {
+ namespace block {
+ namespace CauldronLevelChangeEvent {
+ class ChangeReason {
+ public static BUCKET_FILL: org.bukkit.event.block.CauldronLevelChangeEvent.ChangeReason;
+ public static BUCKET_EMPTY: org.bukkit.event.block.CauldronLevelChangeEvent.ChangeReason;
+ public static BOTTLE_FILL: org.bukkit.event.block.CauldronLevelChangeEvent.ChangeReason;
+ public static BOTTLE_EMPTY: org.bukkit.event.block.CauldronLevelChangeEvent.ChangeReason;
+ public static BANNER_WASH: org.bukkit.event.block.CauldronLevelChangeEvent.ChangeReason;
+ public static ARMOR_WASH: org.bukkit.event.block.CauldronLevelChangeEvent.ChangeReason;
+ public static EXTINGUISH: org.bukkit.event.block.CauldronLevelChangeEvent.ChangeReason;
+ public static EVAPORATE: org.bukkit.event.block.CauldronLevelChangeEvent.ChangeReason;
+ public static UNKNOWN: org.bukkit.event.block.CauldronLevelChangeEvent.ChangeReason;
+ public static values(): org.bukkit.event.block.CauldronLevelChangeEvent.ChangeReason[];
+ public static valueOf(name: string): org.bukkit.event.block.CauldronLevelChangeEvent.ChangeReason;
+ }
+ }
+ }
+ }
+ }
+}
diff --git a/packages/bukkit/src/typings/org.bukkit.event.block.CauldronLevelChangeEvent.ts b/packages/bukkit/src/typings/org.bukkit.event.block.CauldronLevelChangeEvent.ts
new file mode 100644
index 00000000..6dd391dd
--- /dev/null
+++ b/packages/bukkit/src/typings/org.bukkit.event.block.CauldronLevelChangeEvent.ts
@@ -0,0 +1,23 @@
+declare namespace org {
+ namespace bukkit {
+ namespace event {
+ namespace block {
+ class CauldronLevelChangeEvent {
+ constructor(block: org.bukkit.block.Block, entity: org.bukkit.entity.Entity, reason: org.bukkit.event.block.CauldronLevelChangeEvent.ChangeReason, oldLevel: number, newLevel: number)
+ /**
+ * Get entity which did this. May be null.
+ */
+ public getEntity(): org.bukkit.entity.Entity;
+ public getReason(): org.bukkit.event.block.CauldronLevelChangeEvent.ChangeReason;
+ public getOldLevel(): number;
+ public getNewLevel(): number;
+ public setNewLevel(newLevel: number): void;
+ public isCancelled(): boolean;
+ public setCancelled(cancelled: boolean): void;
+ public getHandlers(): org.bukkit.event.HandlerList;
+ public static getHandlerList(): org.bukkit.event.HandlerList;
+ }
+ }
+ }
+ }
+}
diff --git a/packages/bukkit/src/typings/org.bukkit.event.block.EntityBlockFormEvent.ts b/packages/bukkit/src/typings/org.bukkit.event.block.EntityBlockFormEvent.ts
new file mode 100644
index 00000000..97a453a1
--- /dev/null
+++ b/packages/bukkit/src/typings/org.bukkit.event.block.EntityBlockFormEvent.ts
@@ -0,0 +1,15 @@
+declare namespace org {
+ namespace bukkit {
+ namespace event {
+ namespace block {
+ class EntityBlockFormEvent {
+ constructor(entity: org.bukkit.entity.Entity, block: org.bukkit.block.Block, blockstate: org.bukkit.block.BlockState)
+ /**
+ * Get the entity that formed the block.
+ */
+ public getEntity(): org.bukkit.entity.Entity;
+ }
+ }
+ }
+ }
+}
diff --git a/packages/bukkit/src/typings/org.bukkit.event.block.FluidLevelChangeEvent.ts b/packages/bukkit/src/typings/org.bukkit.event.block.FluidLevelChangeEvent.ts
new file mode 100644
index 00000000..751a0265
--- /dev/null
+++ b/packages/bukkit/src/typings/org.bukkit.event.block.FluidLevelChangeEvent.ts
@@ -0,0 +1,24 @@
+declare namespace org {
+ namespace bukkit {
+ namespace event {
+ namespace block {
+ class FluidLevelChangeEvent {
+ constructor(theBlock: org.bukkit.block.Block, newData: org.bukkit.block.data.BlockData)
+ /**
+ * Gets the new data of the changed block.
+ */
+ public getNewData(): org.bukkit.block.data.BlockData;
+ /**
+ * Sets the new data of the changed block. Must be of the same Material as
+ * the old one.
+ */
+ public setNewData(newData: org.bukkit.block.data.BlockData): void;
+ public isCancelled(): boolean;
+ public setCancelled(cancelled: boolean): void;
+ public getHandlers(): org.bukkit.event.HandlerList;
+ public static getHandlerList(): org.bukkit.event.HandlerList;
+ }
+ }
+ }
+ }
+}
diff --git a/packages/bukkit/src/typings/org.bukkit.event.block.LeavesDecayEvent.ts b/packages/bukkit/src/typings/org.bukkit.event.block.LeavesDecayEvent.ts
new file mode 100644
index 00000000..61b10dd9
--- /dev/null
+++ b/packages/bukkit/src/typings/org.bukkit.event.block.LeavesDecayEvent.ts
@@ -0,0 +1,15 @@
+declare namespace org {
+ namespace bukkit {
+ namespace event {
+ namespace block {
+ class LeavesDecayEvent {
+ constructor(block: org.bukkit.block.Block)
+ public isCancelled(): boolean;
+ public setCancelled(cancel: boolean): void;
+ public getHandlers(): org.bukkit.event.HandlerList;
+ public static getHandlerList(): org.bukkit.event.HandlerList;
+ }
+ }
+ }
+ }
+}
diff --git a/packages/bukkit/src/typings/org.bukkit.event.block.MoistureChangeEvent.ts b/packages/bukkit/src/typings/org.bukkit.event.block.MoistureChangeEvent.ts
new file mode 100644
index 00000000..373bcfc0
--- /dev/null
+++ b/packages/bukkit/src/typings/org.bukkit.event.block.MoistureChangeEvent.ts
@@ -0,0 +1,19 @@
+declare namespace org {
+ namespace bukkit {
+ namespace event {
+ namespace block {
+ class MoistureChangeEvent {
+ constructor(block: org.bukkit.block.Block, newState: org.bukkit.block.BlockState)
+ /**
+ * Gets the new state of the affected block.
+ */
+ public getNewState(): org.bukkit.block.BlockState;
+ public isCancelled(): boolean;
+ public setCancelled(cancel: boolean): void;
+ public getHandlers(): org.bukkit.event.HandlerList;
+ public static getHandlerList(): org.bukkit.event.HandlerList;
+ }
+ }
+ }
+ }
+}
diff --git a/packages/bukkit/src/typings/org.bukkit.event.block.NotePlayEvent.ts b/packages/bukkit/src/typings/org.bukkit.event.block.NotePlayEvent.ts
new file mode 100644
index 00000000..bce6c241
--- /dev/null
+++ b/packages/bukkit/src/typings/org.bukkit.event.block.NotePlayEvent.ts
@@ -0,0 +1,31 @@
+declare namespace org {
+ namespace bukkit {
+ namespace event {
+ namespace block {
+ class NotePlayEvent {
+ constructor(block: org.bukkit.block.Block, instrument: org.bukkit.Instrument, note: org.bukkit.Note)
+ public isCancelled(): boolean;
+ public setCancelled(cancel: boolean): void;
+ /**
+ * Gets the {@link Instrument} to be used.
+ */
+ public getInstrument(): org.bukkit.Instrument;
+ /**
+ * Gets the {@link Note} to be played.
+ */
+ public getNote(): org.bukkit.Note;
+ /**
+ * Overrides the {@link Instrument} to be used.
+ */
+ public setInstrument(instrument: org.bukkit.Instrument): void;
+ /**
+ * Overrides the {@link Note} to be played.
+ */
+ public setNote(note: org.bukkit.Note): void;
+ public getHandlers(): org.bukkit.event.HandlerList;
+ public static getHandlerList(): org.bukkit.event.HandlerList;
+ }
+ }
+ }
+ }
+}
diff --git a/packages/bukkit/src/typings/org.bukkit.event.block.SignChangeEvent.ts b/packages/bukkit/src/typings/org.bukkit.event.block.SignChangeEvent.ts
new file mode 100644
index 00000000..fd318334
--- /dev/null
+++ b/packages/bukkit/src/typings/org.bukkit.event.block.SignChangeEvent.ts
@@ -0,0 +1,31 @@
+declare namespace org {
+ namespace bukkit {
+ namespace event {
+ namespace block {
+ class SignChangeEvent {
+ constructor(theBlock: org.bukkit.block.Block, thePlayer: org.bukkit.entity.Player, theLines: string)
+ /**
+ * Gets the player changing the sign involved in this event.
+ */
+ public getPlayer(): org.bukkit.entity.Player;
+ /**
+ * Gets all of the lines of text from the sign involved in this event.
+ */
+ public getLines(): any;
+ /**
+ * Gets a single line of text from the sign involved in this event.
+ */
+ public getLine(index: number): string;
+ /**
+ * Sets a single line for the sign involved in this event
+ */
+ public setLine(index: number, line: string): void;
+ public isCancelled(): boolean;
+ public setCancelled(cancel: boolean): void;
+ public getHandlers(): org.bukkit.event.HandlerList;
+ public static getHandlerList(): org.bukkit.event.HandlerList;
+ }
+ }
+ }
+ }
+}
diff --git a/packages/bukkit/src/typings/org.bukkit.event.block.SpongeAbsorbEvent.ts b/packages/bukkit/src/typings/org.bukkit.event.block.SpongeAbsorbEvent.ts
new file mode 100644
index 00000000..150a4ea2
--- /dev/null
+++ b/packages/bukkit/src/typings/org.bukkit.event.block.SpongeAbsorbEvent.ts
@@ -0,0 +1,22 @@
+declare namespace org {
+ namespace bukkit {
+ namespace event {
+ namespace block {
+ class SpongeAbsorbEvent {
+ constructor(block: org.bukkit.block.Block, waterblocks: any[] /*java.util.List*/)
+ /**
+ * Get a list of all blocks to be removed by the sponge.
+ *
+ * It is important to note that not every entity in this list
+ * is guaranteed to be effected. The cloud may die during the
+ * application of its effects due to the depletion of {@link AreaEffectCloud#getDurationOnUse()}
+ * or {@link AreaEffectCloud#getRadiusOnUse()}
+ */
+ public getAffectedEntities(): any[] /*java.util.List*/;
+ public getHandlers(): org.bukkit.event.HandlerList;
+ public static getHandlerList(): org.bukkit.event.HandlerList;
+ }
+ }
+ }
+ }
+}
diff --git a/packages/bukkit/src/typings/org.bukkit.event.entity.BatToggleSleepEvent.ts b/packages/bukkit/src/typings/org.bukkit.event.entity.BatToggleSleepEvent.ts
new file mode 100644
index 00000000..89e7d120
--- /dev/null
+++ b/packages/bukkit/src/typings/org.bukkit.event.entity.BatToggleSleepEvent.ts
@@ -0,0 +1,19 @@
+declare namespace org {
+ namespace bukkit {
+ namespace event {
+ namespace entity {
+ class BatToggleSleepEvent {
+ constructor(what: org.bukkit.entity.Bat, awake: boolean)
+ /**
+ * Get whether or not the bat is attempting to awaken.
+ */
+ public isAwake(): boolean;
+ public setCancelled(cancel: boolean): void;
+ public isCancelled(): boolean;
+ public getHandlers(): org.bukkit.event.HandlerList;
+ public static getHandlerList(): org.bukkit.event.HandlerList;
+ }
+ }
+ }
+ }
+}
diff --git a/packages/bukkit/src/typings/org.bukkit.event.entity.CreatureSpawnEvent.SpawnReason.ts b/packages/bukkit/src/typings/org.bukkit.event.entity.CreatureSpawnEvent.SpawnReason.ts
new file mode 100644
index 00000000..e8274c99
--- /dev/null
+++ b/packages/bukkit/src/typings/org.bukkit.event.entity.CreatureSpawnEvent.SpawnReason.ts
@@ -0,0 +1,44 @@
+declare namespace org {
+ namespace bukkit {
+ namespace event {
+ namespace entity {
+ namespace CreatureSpawnEvent {
+ class SpawnReason {
+ public static NATURAL: org.bukkit.event.entity.CreatureSpawnEvent.SpawnReason;
+ public static JOCKEY: org.bukkit.event.entity.CreatureSpawnEvent.SpawnReason;
+ public static CHUNK_GEN: org.bukkit.event.entity.CreatureSpawnEvent.SpawnReason;
+ public static SPAWNER: org.bukkit.event.entity.CreatureSpawnEvent.SpawnReason;
+ public static EGG: org.bukkit.event.entity.CreatureSpawnEvent.SpawnReason;
+ public static SPAWNER_EGG: org.bukkit.event.entity.CreatureSpawnEvent.SpawnReason;
+ public static LIGHTNING: org.bukkit.event.entity.CreatureSpawnEvent.SpawnReason;
+ public static BUILD_SNOWMAN: org.bukkit.event.entity.CreatureSpawnEvent.SpawnReason;
+ public static BUILD_IRONGOLEM: org.bukkit.event.entity.CreatureSpawnEvent.SpawnReason;
+ public static BUILD_WITHER: org.bukkit.event.entity.CreatureSpawnEvent.SpawnReason;
+ public static VILLAGE_DEFENSE: org.bukkit.event.entity.CreatureSpawnEvent.SpawnReason;
+ public static VILLAGE_INVASION: org.bukkit.event.entity.CreatureSpawnEvent.SpawnReason;
+ public static BREEDING: org.bukkit.event.entity.CreatureSpawnEvent.SpawnReason;
+ public static SLIME_SPLIT: org.bukkit.event.entity.CreatureSpawnEvent.SpawnReason;
+ public static REINFORCEMENTS: org.bukkit.event.entity.CreatureSpawnEvent.SpawnReason;
+ public static NETHER_PORTAL: org.bukkit.event.entity.CreatureSpawnEvent.SpawnReason;
+ public static DISPENSE_EGG: org.bukkit.event.entity.CreatureSpawnEvent.SpawnReason;
+ public static INFECTION: org.bukkit.event.entity.CreatureSpawnEvent.SpawnReason;
+ public static CURED: org.bukkit.event.entity.CreatureSpawnEvent.SpawnReason;
+ public static OCELOT_BABY: org.bukkit.event.entity.CreatureSpawnEvent.SpawnReason;
+ public static SILVERFISH_BLOCK: org.bukkit.event.entity.CreatureSpawnEvent.SpawnReason;
+ public static MOUNT: org.bukkit.event.entity.CreatureSpawnEvent.SpawnReason;
+ public static TRAP: org.bukkit.event.entity.CreatureSpawnEvent.SpawnReason;
+ public static ENDER_PEARL: org.bukkit.event.entity.CreatureSpawnEvent.SpawnReason;
+ public static SHOULDER_ENTITY: org.bukkit.event.entity.CreatureSpawnEvent.SpawnReason;
+ public static DROWNED: org.bukkit.event.entity.CreatureSpawnEvent.SpawnReason;
+ public static SHEARED: org.bukkit.event.entity.CreatureSpawnEvent.SpawnReason;
+ public static EXPLOSION: org.bukkit.event.entity.CreatureSpawnEvent.SpawnReason;
+ public static CUSTOM: org.bukkit.event.entity.CreatureSpawnEvent.SpawnReason;
+ public static DEFAULT: org.bukkit.event.entity.CreatureSpawnEvent.SpawnReason;
+ public static values(): org.bukkit.event.entity.CreatureSpawnEvent.SpawnReason[];
+ public static valueOf(name: string): org.bukkit.event.entity.CreatureSpawnEvent.SpawnReason;
+ }
+ }
+ }
+ }
+ }
+}
diff --git a/packages/bukkit/src/typings/org.bukkit.event.entity.CreatureSpawnEvent.ts b/packages/bukkit/src/typings/org.bukkit.event.entity.CreatureSpawnEvent.ts
new file mode 100644
index 00000000..df0dbfcb
--- /dev/null
+++ b/packages/bukkit/src/typings/org.bukkit.event.entity.CreatureSpawnEvent.ts
@@ -0,0 +1,16 @@
+declare namespace org {
+ namespace bukkit {
+ namespace event {
+ namespace entity {
+ class CreatureSpawnEvent {
+ constructor(spawnee: org.bukkit.entity.LivingEntity, spawnReason: org.bukkit.event.entity.CreatureSpawnEvent.SpawnReason)
+ public getEntity(): org.bukkit.entity.LivingEntity;
+ /**
+ * Gets the reason for why the creature is being spawned.
+ */
+ public getSpawnReason(): org.bukkit.event.entity.CreatureSpawnEvent.SpawnReason;
+ }
+ }
+ }
+ }
+}
diff --git a/packages/bukkit/src/typings/org.bukkit.event.entity.CreeperPowerEvent.PowerCause.ts b/packages/bukkit/src/typings/org.bukkit.event.entity.CreeperPowerEvent.PowerCause.ts
new file mode 100644
index 00000000..c6213d7f
--- /dev/null
+++ b/packages/bukkit/src/typings/org.bukkit.event.entity.CreeperPowerEvent.PowerCause.ts
@@ -0,0 +1,17 @@
+declare namespace org {
+ namespace bukkit {
+ namespace event {
+ namespace entity {
+ namespace CreeperPowerEvent {
+ class PowerCause {
+ public static LIGHTNING: org.bukkit.event.entity.CreeperPowerEvent.PowerCause;
+ public static SET_ON: org.bukkit.event.entity.CreeperPowerEvent.PowerCause;
+ public static SET_OFF: org.bukkit.event.entity.CreeperPowerEvent.PowerCause;
+ public static values(): org.bukkit.event.entity.CreeperPowerEvent.PowerCause[];
+ public static valueOf(name: string): org.bukkit.event.entity.CreeperPowerEvent.PowerCause;
+ }
+ }
+ }
+ }
+ }
+}
diff --git a/packages/bukkit/src/typings/org.bukkit.event.entity.CreeperPowerEvent.ts b/packages/bukkit/src/typings/org.bukkit.event.entity.CreeperPowerEvent.ts
new file mode 100644
index 00000000..faf59433
--- /dev/null
+++ b/packages/bukkit/src/typings/org.bukkit.event.entity.CreeperPowerEvent.ts
@@ -0,0 +1,25 @@
+declare namespace org {
+ namespace bukkit {
+ namespace event {
+ namespace entity {
+ class CreeperPowerEvent {
+ constructor(creeper: org.bukkit.entity.Creeper, bolt: org.bukkit.entity.LightningStrike, cause: org.bukkit.event.entity.CreeperPowerEvent.PowerCause)
+ constructor(creeper: org.bukkit.entity.Creeper, cause: org.bukkit.event.entity.CreeperPowerEvent.PowerCause)
+ public isCancelled(): boolean;
+ public setCancelled(cancel: boolean): void;
+ public getEntity(): org.bukkit.entity.Creeper;
+ /**
+ * Gets the lightning bolt which is striking the Creeper.
+ */
+ public getLightning(): org.bukkit.entity.LightningStrike;
+ /**
+ * Gets the cause of the creeper being (un)powered.
+ */
+ public getCause(): org.bukkit.event.entity.CreeperPowerEvent.PowerCause;
+ public getHandlers(): org.bukkit.event.HandlerList;
+ public static getHandlerList(): org.bukkit.event.HandlerList;
+ }
+ }
+ }
+ }
+}
diff --git a/packages/bukkit/src/typings/org.bukkit.event.entity.EnderDragonChangePhaseEvent.ts b/packages/bukkit/src/typings/org.bukkit.event.entity.EnderDragonChangePhaseEvent.ts
new file mode 100644
index 00000000..06dcd7f9
--- /dev/null
+++ b/packages/bukkit/src/typings/org.bukkit.event.entity.EnderDragonChangePhaseEvent.ts
@@ -0,0 +1,29 @@
+declare namespace org {
+ namespace bukkit {
+ namespace event {
+ namespace entity {
+ class EnderDragonChangePhaseEvent {
+ constructor(enderDragon: org.bukkit.entity.EnderDragon, currentPhase: org.bukkit.entity.EnderDragon.Phase, newPhase: org.bukkit.entity.EnderDragon.Phase)
+ public getEntity(): org.bukkit.entity.EnderDragon;
+ /**
+ * Gets the current phase that the dragon is in. This method will return null
+ * when a dragon is first spawned and hasn't yet been assigned a phase.
+ */
+ public getCurrentPhase(): org.bukkit.entity.EnderDragon.Phase;
+ /**
+ * Gets the new phase that the dragon will switch to.
+ */
+ public getNewPhase(): org.bukkit.entity.EnderDragon.Phase;
+ /**
+ * Sets the new phase for the ender dragon.
+ */
+ public setNewPhase(newPhase: org.bukkit.entity.EnderDragon.Phase): void;
+ public isCancelled(): boolean;
+ public setCancelled(cancel: boolean): void;
+ public getHandlers(): org.bukkit.event.HandlerList;
+ public static getHandlerList(): org.bukkit.event.HandlerList;
+ }
+ }
+ }
+ }
+}
diff --git a/packages/bukkit/src/typings/org.bukkit.event.entity.EntityAirChangeEvent.ts b/packages/bukkit/src/typings/org.bukkit.event.entity.EntityAirChangeEvent.ts
new file mode 100644
index 00000000..737c2a52
--- /dev/null
+++ b/packages/bukkit/src/typings/org.bukkit.event.entity.EntityAirChangeEvent.ts
@@ -0,0 +1,23 @@
+declare namespace org {
+ namespace bukkit {
+ namespace event {
+ namespace entity {
+ class EntityAirChangeEvent {
+ constructor(what: org.bukkit.entity.Entity, amount: number)
+ /**
+ * Gets the amount of air the entity has left (measured in ticks).
+ */
+ public getAmount(): number;
+ /**
+ * Sets the amount of air remaining for the entity (measured in ticks.
+ */
+ public setAmount(amount: number): void;
+ public isCancelled(): boolean;
+ public setCancelled(cancelled: boolean): void;
+ public getHandlers(): org.bukkit.event.HandlerList;
+ public static getHandlerList(): org.bukkit.event.HandlerList;
+ }
+ }
+ }
+ }
+}
diff --git a/packages/bukkit/src/typings/org.bukkit.event.entity.EntityBreakDoorEvent.ts b/packages/bukkit/src/typings/org.bukkit.event.entity.EntityBreakDoorEvent.ts
new file mode 100644
index 00000000..565eb4f3
--- /dev/null
+++ b/packages/bukkit/src/typings/org.bukkit.event.entity.EntityBreakDoorEvent.ts
@@ -0,0 +1,12 @@
+declare namespace org {
+ namespace bukkit {
+ namespace event {
+ namespace entity {
+ class EntityBreakDoorEvent {
+ constructor(entity: org.bukkit.entity.LivingEntity, targetBlock: org.bukkit.block.Block)
+ public getEntity(): org.bukkit.entity.LivingEntity;
+ }
+ }
+ }
+ }
+}
diff --git a/packages/bukkit/src/typings/org.bukkit.event.entity.EntityBreedEvent.ts b/packages/bukkit/src/typings/org.bukkit.event.entity.EntityBreedEvent.ts
new file mode 100644
index 00000000..d6c2dfa4
--- /dev/null
+++ b/packages/bukkit/src/typings/org.bukkit.event.entity.EntityBreedEvent.ts
@@ -0,0 +1,41 @@
+declare namespace org {
+ namespace bukkit {
+ namespace event {
+ namespace entity {
+ class EntityBreedEvent {
+ constructor(child: org.bukkit.entity.LivingEntity, mother: org.bukkit.entity.LivingEntity, father: org.bukkit.entity.LivingEntity, breeder: org.bukkit.entity.LivingEntity, bredWith: org.bukkit.inventory.ItemStack, experience: number)
+ public getEntity(): org.bukkit.entity.LivingEntity;
+ /**
+ * Gets the parent creating this entity.
+ */
+ public getMother(): org.bukkit.entity.LivingEntity;
+ /**
+ * Gets the other parent of the newly born entity.
+ */
+ public getFather(): org.bukkit.entity.LivingEntity;
+ /**
+ * Gets the Entity responsible for breeding. Breeder is null for spontaneous
+ * conception.
+ */
+ public getBreeder(): org.bukkit.entity.LivingEntity;
+ /**
+ * The ItemStack that was used to initiate breeding, if present.
+ */
+ public getBredWith(): org.bukkit.inventory.ItemStack;
+ /**
+ * Get the amount of experience granted by breeding.
+ */
+ public getExperience(): number;
+ /**
+ * Set the amount of experience granted by breeding.
+ */
+ public setExperience(experience: number): void;
+ public isCancelled(): boolean;
+ public setCancelled(cancel: boolean): void;
+ public getHandlers(): org.bukkit.event.HandlerList;
+ public static getHandlerList(): org.bukkit.event.HandlerList;
+ }
+ }
+ }
+ }
+}
diff --git a/packages/bukkit/src/typings/org.bukkit.event.entity.EntityChangeBlockEvent.ts b/packages/bukkit/src/typings/org.bukkit.event.entity.EntityChangeBlockEvent.ts
new file mode 100644
index 00000000..1ec321b8
--- /dev/null
+++ b/packages/bukkit/src/typings/org.bukkit.event.entity.EntityChangeBlockEvent.ts
@@ -0,0 +1,27 @@
+declare namespace org {
+ namespace bukkit {
+ namespace event {
+ namespace entity {
+ class EntityChangeBlockEvent {
+ constructor(what: org.bukkit.entity.Entity, block: org.bukkit.block.Block, to: org.bukkit.block.data.BlockData)
+ /**
+ * Gets the block the entity is changing
+ */
+ public getBlock(): org.bukkit.block.Block;
+ public isCancelled(): boolean;
+ public setCancelled(cancel: boolean): void;
+ /**
+ * Gets the Material that the block is changing into
+ */
+ public getTo(): org.bukkit.Material;
+ /**
+ * Gets the data for the block that would be changed into
+ */
+ public getBlockData(): org.bukkit.block.data.BlockData;
+ public getHandlers(): org.bukkit.event.HandlerList;
+ public static getHandlerList(): org.bukkit.event.HandlerList;
+ }
+ }
+ }
+ }
+}
diff --git a/packages/bukkit/src/typings/org.bukkit.event.entity.EntityCombustByBlockEvent.ts b/packages/bukkit/src/typings/org.bukkit.event.entity.EntityCombustByBlockEvent.ts
new file mode 100644
index 00000000..5db89180
--- /dev/null
+++ b/packages/bukkit/src/typings/org.bukkit.event.entity.EntityCombustByBlockEvent.ts
@@ -0,0 +1,17 @@
+declare namespace org {
+ namespace bukkit {
+ namespace event {
+ namespace entity {
+ class EntityCombustByBlockEvent {
+ constructor(combuster: org.bukkit.block.Block, combustee: org.bukkit.entity.Entity, duration: number)
+ /**
+ * The combuster can be lava or a block that is on fire.
+ *
+ * WARNING: block may be null.
+ */
+ public getCombuster(): org.bukkit.block.Block;
+ }
+ }
+ }
+ }
+}
diff --git a/packages/bukkit/src/typings/org.bukkit.event.entity.EntityCombustByEntityEvent.ts b/packages/bukkit/src/typings/org.bukkit.event.entity.EntityCombustByEntityEvent.ts
new file mode 100644
index 00000000..017ed8ec
--- /dev/null
+++ b/packages/bukkit/src/typings/org.bukkit.event.entity.EntityCombustByEntityEvent.ts
@@ -0,0 +1,15 @@
+declare namespace org {
+ namespace bukkit {
+ namespace event {
+ namespace entity {
+ class EntityCombustByEntityEvent {
+ constructor(combuster: org.bukkit.entity.Entity, combustee: org.bukkit.entity.Entity, duration: number)
+ /**
+ * Get the entity that caused the combustion event.
+ */
+ public getCombuster(): org.bukkit.entity.Entity;
+ }
+ }
+ }
+ }
+}
diff --git a/packages/bukkit/src/typings/org.bukkit.event.entity.EntityCombustEvent.ts b/packages/bukkit/src/typings/org.bukkit.event.entity.EntityCombustEvent.ts
new file mode 100644
index 00000000..b9d05a48
--- /dev/null
+++ b/packages/bukkit/src/typings/org.bukkit.event.entity.EntityCombustEvent.ts
@@ -0,0 +1,23 @@
+declare namespace org {
+ namespace bukkit {
+ namespace event {
+ namespace entity {
+ class EntityCombustEvent {
+ constructor(combustee: org.bukkit.entity.Entity, duration: number)
+ public isCancelled(): boolean;
+ public setCancelled(cancel: boolean): void;
+ public getDuration(): number;
+ /**
+ * The number of seconds the combustee should be alight for.
+ *
+ * This value will only ever increase the combustion time, not decrease
+ * existing combustion times.
+ */
+ public setDuration(duration: number): void;
+ public getHandlers(): org.bukkit.event.HandlerList;
+ public static getHandlerList(): org.bukkit.event.HandlerList;
+ }
+ }
+ }
+ }
+}
diff --git a/packages/bukkit/src/typings/org.bukkit.event.entity.EntityCreatePortalEvent.ts b/packages/bukkit/src/typings/org.bukkit.event.entity.EntityCreatePortalEvent.ts
new file mode 100644
index 00000000..577939f9
--- /dev/null
+++ b/packages/bukkit/src/typings/org.bukkit.event.entity.EntityCreatePortalEvent.ts
@@ -0,0 +1,24 @@
+declare namespace org {
+ namespace bukkit {
+ namespace event {
+ namespace entity {
+ class EntityCreatePortalEvent {
+ constructor(what: org.bukkit.entity.LivingEntity, blocks: any[] /*java.util.List*/, type: org.bukkit.PortalType)
+ public getEntity(): org.bukkit.entity.LivingEntity;
+ /**
+ * Gets a list of all blocks associated with the portal.
+ */
+ public getBlocks(): any[] /*java.util.List*/;
+ public isCancelled(): boolean;
+ public setCancelled(cancel: boolean): void;
+ /**
+ * Gets the type of portal that is trying to be created.
+ */
+ public getPortalType(): org.bukkit.PortalType;
+ public getHandlers(): org.bukkit.event.HandlerList;
+ public static getHandlerList(): org.bukkit.event.HandlerList;
+ }
+ }
+ }
+ }
+}
diff --git a/packages/bukkit/src/typings/org.bukkit.event.entity.EntityDamageByBlockEvent.ts b/packages/bukkit/src/typings/org.bukkit.event.entity.EntityDamageByBlockEvent.ts
new file mode 100644
index 00000000..7f8cc610
--- /dev/null
+++ b/packages/bukkit/src/typings/org.bukkit.event.entity.EntityDamageByBlockEvent.ts
@@ -0,0 +1,16 @@
+declare namespace org {
+ namespace bukkit {
+ namespace event {
+ namespace entity {
+ class EntityDamageByBlockEvent {
+ constructor(damager: org.bukkit.block.Block, damagee: org.bukkit.entity.Entity, cause: org.bukkit.event.entity.EntityDamageEvent.DamageCause, damage: number)
+ constructor(damager: org.bukkit.block.Block, damagee: org.bukkit.entity.Entity, cause: org.bukkit.event.entity.EntityDamageEvent.DamageCause, modifiers: Map
+ * {@link DamageModifier#BASE} is always applicable.
+ */
+ public isApplicable(type: org.bukkit.event.entity.EntityDamageEvent.DamageModifier): boolean;
+ /**
+ * Gets the raw amount of damage caused by the event
+ */
+ public getDamage(): number;
+ /**
+ * Gets the amount of damage caused by the event after all damage
+ * reduction is applied.
+ */
+ public getFinalDamage(): number;
+ /**
+ * Sets the raw amount of damage caused by the event.
+ *
+ * For compatibility this also recalculates the modifiers and scales
+ * them by the difference between the modifier for the previous damage
+ * value and the new one.
+ */
+ public setDamage(damage: number): void;
+ /**
+ * Gets the cause of the damage.
+ */
+ public getCause(): org.bukkit.event.entity.EntityDamageEvent.DamageCause;
+ public getHandlers(): org.bukkit.event.HandlerList;
+ public static getHandlerList(): org.bukkit.event.HandlerList;
+ }
+ }
+ }
+ }
+}
diff --git a/packages/bukkit/src/typings/org.bukkit.event.entity.EntityDeathEvent.ts b/packages/bukkit/src/typings/org.bukkit.event.entity.EntityDeathEvent.ts
new file mode 100644
index 00000000..d8cf1ee9
--- /dev/null
+++ b/packages/bukkit/src/typings/org.bukkit.event.entity.EntityDeathEvent.ts
@@ -0,0 +1,33 @@
+declare namespace org {
+ namespace bukkit {
+ namespace event {
+ namespace entity {
+ class EntityDeathEvent {
+ constructor(entity: org.bukkit.entity.LivingEntity, drops: any[] /*java.util.List*/)
+ constructor(what: org.bukkit.entity.LivingEntity, drops: any[] /*java.util.List*/, droppedExp: number)
+ public getEntity(): org.bukkit.entity.LivingEntity;
+ /**
+ * Gets how much EXP should be dropped from this death.
+ *
+ * This does not indicate how much EXP should be taken from the entity in
+ * question, merely how much should be created after its death.
+ */
+ public getDroppedExp(): number;
+ /**
+ * Sets how much EXP should be dropped from this death.
+ *
+ * This does not indicate how much EXP should be taken from the entity in
+ * question, merely how much should be created after its death.
+ */
+ public setDroppedExp(exp: number): void;
+ /**
+ * Gets all the items which will drop when the entity dies
+ */
+ public getDrops(): any[] /*java.util.List*/;
+ public getHandlers(): org.bukkit.event.HandlerList;
+ public static getHandlerList(): org.bukkit.event.HandlerList;
+ }
+ }
+ }
+ }
+}
diff --git a/packages/bukkit/src/typings/org.bukkit.event.entity.EntityDropItemEvent.ts b/packages/bukkit/src/typings/org.bukkit.event.entity.EntityDropItemEvent.ts
new file mode 100644
index 00000000..67477513
--- /dev/null
+++ b/packages/bukkit/src/typings/org.bukkit.event.entity.EntityDropItemEvent.ts
@@ -0,0 +1,19 @@
+declare namespace org {
+ namespace bukkit {
+ namespace event {
+ namespace entity {
+ class EntityDropItemEvent {
+ constructor(entity: org.bukkit.entity.Entity, drop: org.bukkit.entity.Item)
+ /**
+ * Gets the Item created by the entity
+ */
+ public getItemDrop(): org.bukkit.entity.Item;
+ public isCancelled(): boolean;
+ public setCancelled(cancel: boolean): void;
+ public getHandlers(): org.bukkit.event.HandlerList;
+ public static getHandlerList(): org.bukkit.event.HandlerList;
+ }
+ }
+ }
+ }
+}
diff --git a/packages/bukkit/src/typings/org.bukkit.event.entity.EntityEvent.ts b/packages/bukkit/src/typings/org.bukkit.event.entity.EntityEvent.ts
new file mode 100644
index 00000000..16bc9eb4
--- /dev/null
+++ b/packages/bukkit/src/typings/org.bukkit.event.entity.EntityEvent.ts
@@ -0,0 +1,20 @@
+declare namespace org {
+ namespace bukkit {
+ namespace event {
+ namespace entity {
+ abstract class EntityEvent {
+ constructor(what: org.bukkit.entity.Entity)
+ protected entity: org.bukkit.entity.Entity;
+ /**
+ * Returns the Entity involved in this event
+ */
+ public getEntity(): org.bukkit.entity.Entity;
+ /**
+ * Gets the EntityType of the Entity involved in this event.
+ */
+ public getEntityType(): org.bukkit.entity.EntityType;
+ }
+ }
+ }
+ }
+}
diff --git a/packages/bukkit/src/typings/org.bukkit.event.entity.EntityExplodeEvent.ts b/packages/bukkit/src/typings/org.bukkit.event.entity.EntityExplodeEvent.ts
new file mode 100644
index 00000000..fc9d4612
--- /dev/null
+++ b/packages/bukkit/src/typings/org.bukkit.event.entity.EntityExplodeEvent.ts
@@ -0,0 +1,35 @@
+declare namespace org {
+ namespace bukkit {
+ namespace event {
+ namespace entity {
+ class EntityExplodeEvent {
+ constructor(what: org.bukkit.entity.Entity, location: org.bukkit.Location, blocks: any[] /*java.util.List*/, yield: number)
+ public isCancelled(): boolean;
+ public setCancelled(cancel: boolean): void;
+ /**
+ * Returns the list of blocks that would have been removed or were removed
+ * from the explosion event.
+ */
+ public blockList(): any[] /*java.util.List*/;
+ /**
+ * Returns the location where the explosion happened.
+ *
+ * It is not possible to get this value from the Entity as the Entity no
+ * longer exists in the world.
+ */
+ public getLocation(): org.bukkit.Location;
+ /**
+ * Returns the percentage of blocks to drop from this explosion
+ */
+ public getYield(): number;
+ /**
+ * Sets the percentage of blocks to drop from this explosion
+ */
+ public setYield(yield: number): void;
+ public getHandlers(): org.bukkit.event.HandlerList;
+ public static getHandlerList(): org.bukkit.event.HandlerList;
+ }
+ }
+ }
+ }
+}
diff --git a/packages/bukkit/src/typings/org.bukkit.event.entity.EntityInteractEvent.ts b/packages/bukkit/src/typings/org.bukkit.event.entity.EntityInteractEvent.ts
new file mode 100644
index 00000000..44adc086
--- /dev/null
+++ b/packages/bukkit/src/typings/org.bukkit.event.entity.EntityInteractEvent.ts
@@ -0,0 +1,20 @@
+declare namespace org {
+ namespace bukkit {
+ namespace event {
+ namespace entity {
+ class EntityInteractEvent {
+ constructor(entity: org.bukkit.entity.Entity, block: org.bukkit.block.Block)
+ protected block: org.bukkit.block.Block;
+ public isCancelled(): boolean;
+ public setCancelled(cancel: boolean): void;
+ /**
+ * Returns the involved block
+ */
+ public getBlock(): org.bukkit.block.Block;
+ public getHandlers(): org.bukkit.event.HandlerList;
+ public static getHandlerList(): org.bukkit.event.HandlerList;
+ }
+ }
+ }
+ }
+}
diff --git a/packages/bukkit/src/typings/org.bukkit.event.entity.EntityPickupItemEvent.ts b/packages/bukkit/src/typings/org.bukkit.event.entity.EntityPickupItemEvent.ts
new file mode 100644
index 00000000..ee5c4f38
--- /dev/null
+++ b/packages/bukkit/src/typings/org.bukkit.event.entity.EntityPickupItemEvent.ts
@@ -0,0 +1,24 @@
+declare namespace org {
+ namespace bukkit {
+ namespace event {
+ namespace entity {
+ class EntityPickupItemEvent {
+ constructor(entity: org.bukkit.entity.LivingEntity, item: org.bukkit.entity.Item, remaining: number)
+ public getEntity(): org.bukkit.entity.LivingEntity;
+ /**
+ * Gets the Item picked up by the entity.
+ */
+ public getItem(): org.bukkit.entity.Item;
+ /**
+ * Gets the amount remaining on the ground, if any
+ */
+ public getRemaining(): number;
+ public isCancelled(): boolean;
+ public setCancelled(cancel: boolean): void;
+ public getHandlers(): org.bukkit.event.HandlerList;
+ public static getHandlerList(): org.bukkit.event.HandlerList;
+ }
+ }
+ }
+ }
+}
diff --git a/packages/bukkit/src/typings/org.bukkit.event.entity.EntityPlaceEvent.ts b/packages/bukkit/src/typings/org.bukkit.event.entity.EntityPlaceEvent.ts
new file mode 100644
index 00000000..50772533
--- /dev/null
+++ b/packages/bukkit/src/typings/org.bukkit.event.entity.EntityPlaceEvent.ts
@@ -0,0 +1,27 @@
+declare namespace org {
+ namespace bukkit {
+ namespace event {
+ namespace entity {
+ class EntityPlaceEvent {
+ constructor(entity: org.bukkit.entity.Entity, player: org.bukkit.entity.Player, block: org.bukkit.block.Block, blockFace: org.bukkit.block.BlockFace)
+ /**
+ * Returns the player placing the entity
+ */
+ public getPlayer(): org.bukkit.entity.Player;
+ /**
+ * Returns the block that the entity was placed on
+ */
+ public getBlock(): org.bukkit.block.Block;
+ /**
+ * Returns the face of the block that the entity was placed on
+ */
+ public getBlockFace(): org.bukkit.block.BlockFace;
+ public isCancelled(): boolean;
+ public setCancelled(cancel: boolean): void;
+ public getHandlers(): org.bukkit.event.HandlerList;
+ public static getHandlerList(): org.bukkit.event.HandlerList;
+ }
+ }
+ }
+ }
+}
diff --git a/packages/bukkit/src/typings/org.bukkit.event.entity.EntityPortalEnterEvent.ts b/packages/bukkit/src/typings/org.bukkit.event.entity.EntityPortalEnterEvent.ts
new file mode 100644
index 00000000..b6363008
--- /dev/null
+++ b/packages/bukkit/src/typings/org.bukkit.event.entity.EntityPortalEnterEvent.ts
@@ -0,0 +1,17 @@
+declare namespace org {
+ namespace bukkit {
+ namespace event {
+ namespace entity {
+ class EntityPortalEnterEvent {
+ constructor(entity: org.bukkit.entity.Entity, location: org.bukkit.Location)
+ /**
+ * Gets the portal block the entity is touching
+ */
+ public getLocation(): org.bukkit.Location;
+ public getHandlers(): org.bukkit.event.HandlerList;
+ public static getHandlerList(): org.bukkit.event.HandlerList;
+ }
+ }
+ }
+ }
+}
diff --git a/packages/bukkit/src/typings/org.bukkit.event.entity.EntityPortalEvent.ts b/packages/bukkit/src/typings/org.bukkit.event.entity.EntityPortalEvent.ts
new file mode 100644
index 00000000..4aabcc0b
--- /dev/null
+++ b/packages/bukkit/src/typings/org.bukkit.event.entity.EntityPortalEvent.ts
@@ -0,0 +1,13 @@
+declare namespace org {
+ namespace bukkit {
+ namespace event {
+ namespace entity {
+ class EntityPortalEvent {
+ constructor(entity: org.bukkit.entity.Entity, from: org.bukkit.Location, to: org.bukkit.Location)
+ public getHandlers(): org.bukkit.event.HandlerList;
+ public static getHandlerList(): org.bukkit.event.HandlerList;
+ }
+ }
+ }
+ }
+}
diff --git a/packages/bukkit/src/typings/org.bukkit.event.entity.EntityPortalExitEvent.ts b/packages/bukkit/src/typings/org.bukkit.event.entity.EntityPortalExitEvent.ts
new file mode 100644
index 00000000..3710e52d
--- /dev/null
+++ b/packages/bukkit/src/typings/org.bukkit.event.entity.EntityPortalExitEvent.ts
@@ -0,0 +1,27 @@
+declare namespace org {
+ namespace bukkit {
+ namespace event {
+ namespace entity {
+ class EntityPortalExitEvent {
+ constructor(entity: org.bukkit.entity.Entity, from: org.bukkit.Location, to: org.bukkit.Location, before: org.bukkit.util.Vector, after: org.bukkit.util.Vector)
+ /**
+ * Gets a copy of the velocity that the entity has before entering the
+ * portal.
+ */
+ public getBefore(): org.bukkit.util.Vector;
+ /**
+ * Gets a copy of the velocity that the entity will have after exiting the
+ * portal.
+ */
+ public getAfter(): org.bukkit.util.Vector;
+ /**
+ * Sets the velocity that the entity will have after exiting the portal.
+ */
+ public setAfter(after: org.bukkit.util.Vector): void;
+ public getHandlers(): org.bukkit.event.HandlerList;
+ public static getHandlerList(): org.bukkit.event.HandlerList;
+ }
+ }
+ }
+ }
+}
diff --git a/packages/bukkit/src/typings/org.bukkit.event.entity.EntityPoseChangeEvent.ts b/packages/bukkit/src/typings/org.bukkit.event.entity.EntityPoseChangeEvent.ts
new file mode 100644
index 00000000..cd5b517a
--- /dev/null
+++ b/packages/bukkit/src/typings/org.bukkit.event.entity.EntityPoseChangeEvent.ts
@@ -0,0 +1,17 @@
+declare namespace org {
+ namespace bukkit {
+ namespace event {
+ namespace entity {
+ class EntityPoseChangeEvent {
+ constructor(who: org.bukkit.entity.Entity, pose: org.bukkit.entity.Pose)
+ /**
+ * Gets the entity's new pose.
+ */
+ public getPose(): org.bukkit.entity.Pose;
+ public getHandlers(): org.bukkit.event.HandlerList;
+ public static getHandlerList(): org.bukkit.event.HandlerList;
+ }
+ }
+ }
+ }
+}
diff --git a/packages/bukkit/src/typings/org.bukkit.event.entity.EntityPotionEffectEvent.Action.ts b/packages/bukkit/src/typings/org.bukkit.event.entity.EntityPotionEffectEvent.Action.ts
new file mode 100644
index 00000000..d8c749d0
--- /dev/null
+++ b/packages/bukkit/src/typings/org.bukkit.event.entity.EntityPotionEffectEvent.Action.ts
@@ -0,0 +1,18 @@
+declare namespace org {
+ namespace bukkit {
+ namespace event {
+ namespace entity {
+ namespace EntityPotionEffectEvent {
+ class Action {
+ public static ADDED: org.bukkit.event.entity.EntityPotionEffectEvent.Action;
+ public static CHANGED: org.bukkit.event.entity.EntityPotionEffectEvent.Action;
+ public static CLEARED: org.bukkit.event.entity.EntityPotionEffectEvent.Action;
+ public static REMOVED: org.bukkit.event.entity.EntityPotionEffectEvent.Action;
+ public static values(): org.bukkit.event.entity.EntityPotionEffectEvent.Action[];
+ public static valueOf(name: string): org.bukkit.event.entity.EntityPotionEffectEvent.Action;
+ }
+ }
+ }
+ }
+ }
+}
diff --git a/packages/bukkit/src/typings/org.bukkit.event.entity.EntityPotionEffectEvent.Cause.ts b/packages/bukkit/src/typings/org.bukkit.event.entity.EntityPotionEffectEvent.Cause.ts
new file mode 100644
index 00000000..37082b0d
--- /dev/null
+++ b/packages/bukkit/src/typings/org.bukkit.event.entity.EntityPotionEffectEvent.Cause.ts
@@ -0,0 +1,35 @@
+declare namespace org {
+ namespace bukkit {
+ namespace event {
+ namespace entity {
+ namespace EntityPotionEffectEvent {
+ class Cause {
+ public static AREA_EFFECT_CLOUD: org.bukkit.event.entity.EntityPotionEffectEvent.Cause;
+ public static ARROW: org.bukkit.event.entity.EntityPotionEffectEvent.Cause;
+ public static ATTACK: org.bukkit.event.entity.EntityPotionEffectEvent.Cause;
+ public static BEACON: org.bukkit.event.entity.EntityPotionEffectEvent.Cause;
+ public static COMMAND: org.bukkit.event.entity.EntityPotionEffectEvent.Cause;
+ public static CONDUIT: org.bukkit.event.entity.EntityPotionEffectEvent.Cause;
+ public static CONVERSION: org.bukkit.event.entity.EntityPotionEffectEvent.Cause;
+ public static DEATH: org.bukkit.event.entity.EntityPotionEffectEvent.Cause;
+ public static DOLPHIN: org.bukkit.event.entity.EntityPotionEffectEvent.Cause;
+ public static EXPIRATION: org.bukkit.event.entity.EntityPotionEffectEvent.Cause;
+ public static FOOD: org.bukkit.event.entity.EntityPotionEffectEvent.Cause;
+ public static ILLUSION: org.bukkit.event.entity.EntityPotionEffectEvent.Cause;
+ public static MILK: org.bukkit.event.entity.EntityPotionEffectEvent.Cause;
+ public static PLUGIN: org.bukkit.event.entity.EntityPotionEffectEvent.Cause;
+ public static POTION_DRINK: org.bukkit.event.entity.EntityPotionEffectEvent.Cause;
+ public static POTION_SPLASH: org.bukkit.event.entity.EntityPotionEffectEvent.Cause;
+ public static SPIDER_SPAWN: org.bukkit.event.entity.EntityPotionEffectEvent.Cause;
+ public static TOTEM: org.bukkit.event.entity.EntityPotionEffectEvent.Cause;
+ public static TURTLE_HELMET: org.bukkit.event.entity.EntityPotionEffectEvent.Cause;
+ public static UNKNOWN: org.bukkit.event.entity.EntityPotionEffectEvent.Cause;
+ public static VILLAGER_TRADE: org.bukkit.event.entity.EntityPotionEffectEvent.Cause;
+ public static values(): org.bukkit.event.entity.EntityPotionEffectEvent.Cause[];
+ public static valueOf(name: string): org.bukkit.event.entity.EntityPotionEffectEvent.Cause;
+ }
+ }
+ }
+ }
+ }
+}
diff --git a/packages/bukkit/src/typings/org.bukkit.event.entity.EntityPotionEffectEvent.ts b/packages/bukkit/src/typings/org.bukkit.event.entity.EntityPotionEffectEvent.ts
new file mode 100644
index 00000000..242b47d7
--- /dev/null
+++ b/packages/bukkit/src/typings/org.bukkit.event.entity.EntityPotionEffectEvent.ts
@@ -0,0 +1,45 @@
+declare namespace org {
+ namespace bukkit {
+ namespace event {
+ namespace entity {
+ class EntityPotionEffectEvent {
+ constructor(livingEntity: org.bukkit.entity.LivingEntity, oldEffect: org.bukkit.potion.PotionEffect, newEffect: org.bukkit.potion.PotionEffect, cause: org.bukkit.event.entity.EntityPotionEffectEvent.Cause, action: org.bukkit.event.entity.EntityPotionEffectEvent.Action, override: boolean)
+ /**
+ * Gets the old potion effect of the changed type, which will be removed.
+ */
+ public getOldEffect(): org.bukkit.potion.PotionEffect;
+ /**
+ * Gets new potion effect of the changed type to be applied.
+ */
+ public getNewEffect(): org.bukkit.potion.PotionEffect;
+ /**
+ * Gets the cause why the effect has changed.
+ */
+ public getCause(): org.bukkit.event.entity.EntityPotionEffectEvent.Cause;
+ /**
+ * Gets the action which will be performed on the potion effect type.
+ */
+ public getAction(): org.bukkit.event.entity.EntityPotionEffectEvent.Action;
+ /**
+ * Gets the modified potion effect type.
+ */
+ public getModifiedType(): org.bukkit.potion.PotionEffectType;
+ /**
+ * Returns if the new potion effect will override the old potion effect
+ * (Only applicable for the CHANGED Action).
+ */
+ public isOverride(): boolean;
+ /**
+ * Sets if the new potion effect will override the old potion effect (Only
+ * applicable for the CHANGED action).
+ */
+ public setOverride(override: boolean): void;
+ public isCancelled(): boolean;
+ public setCancelled(cancel: boolean): void;
+ public getHandlers(): org.bukkit.event.HandlerList;
+ public static getHandlerList(): org.bukkit.event.HandlerList;
+ }
+ }
+ }
+ }
+}
diff --git a/packages/bukkit/src/typings/org.bukkit.event.entity.EntityRegainHealthEvent.RegainReason.ts b/packages/bukkit/src/typings/org.bukkit.event.entity.EntityRegainHealthEvent.RegainReason.ts
new file mode 100644
index 00000000..f68f0062
--- /dev/null
+++ b/packages/bukkit/src/typings/org.bukkit.event.entity.EntityRegainHealthEvent.RegainReason.ts
@@ -0,0 +1,23 @@
+declare namespace org {
+ namespace bukkit {
+ namespace event {
+ namespace entity {
+ namespace EntityRegainHealthEvent {
+ class RegainReason {
+ public static REGEN: org.bukkit.event.entity.EntityRegainHealthEvent.RegainReason;
+ public static SATIATED: org.bukkit.event.entity.EntityRegainHealthEvent.RegainReason;
+ public static EATING: org.bukkit.event.entity.EntityRegainHealthEvent.RegainReason;
+ public static ENDER_CRYSTAL: org.bukkit.event.entity.EntityRegainHealthEvent.RegainReason;
+ public static MAGIC: org.bukkit.event.entity.EntityRegainHealthEvent.RegainReason;
+ public static MAGIC_REGEN: org.bukkit.event.entity.EntityRegainHealthEvent.RegainReason;
+ public static WITHER_SPAWN: org.bukkit.event.entity.EntityRegainHealthEvent.RegainReason;
+ public static WITHER: org.bukkit.event.entity.EntityRegainHealthEvent.RegainReason;
+ public static CUSTOM: org.bukkit.event.entity.EntityRegainHealthEvent.RegainReason;
+ public static values(): org.bukkit.event.entity.EntityRegainHealthEvent.RegainReason[];
+ public static valueOf(name: string): org.bukkit.event.entity.EntityRegainHealthEvent.RegainReason;
+ }
+ }
+ }
+ }
+ }
+}
diff --git a/packages/bukkit/src/typings/org.bukkit.event.entity.EntityRegainHealthEvent.ts b/packages/bukkit/src/typings/org.bukkit.event.entity.EntityRegainHealthEvent.ts
new file mode 100644
index 00000000..1fb37689
--- /dev/null
+++ b/packages/bukkit/src/typings/org.bukkit.event.entity.EntityRegainHealthEvent.ts
@@ -0,0 +1,27 @@
+declare namespace org {
+ namespace bukkit {
+ namespace event {
+ namespace entity {
+ class EntityRegainHealthEvent {
+ constructor(entity: org.bukkit.entity.Entity, amount: number, regainReason: org.bukkit.event.entity.EntityRegainHealthEvent.RegainReason)
+ /**
+ * Gets the amount of regained health
+ */
+ public getAmount(): number;
+ /**
+ * Sets the amount of regained health
+ */
+ public setAmount(amount: number): void;
+ public isCancelled(): boolean;
+ public setCancelled(cancel: boolean): void;
+ /**
+ * Gets the reason for why the entity is regaining health
+ */
+ public getRegainReason(): org.bukkit.event.entity.EntityRegainHealthEvent.RegainReason;
+ public getHandlers(): org.bukkit.event.HandlerList;
+ public static getHandlerList(): org.bukkit.event.HandlerList;
+ }
+ }
+ }
+ }
+}
diff --git a/packages/bukkit/src/typings/org.bukkit.event.entity.EntityResurrectEvent.ts b/packages/bukkit/src/typings/org.bukkit.event.entity.EntityResurrectEvent.ts
new file mode 100644
index 00000000..da85f125
--- /dev/null
+++ b/packages/bukkit/src/typings/org.bukkit.event.entity.EntityResurrectEvent.ts
@@ -0,0 +1,16 @@
+declare namespace org {
+ namespace bukkit {
+ namespace event {
+ namespace entity {
+ class EntityResurrectEvent {
+ constructor(what: org.bukkit.entity.LivingEntity)
+ public getEntity(): org.bukkit.entity.LivingEntity;
+ public isCancelled(): boolean;
+ public setCancelled(cancelled: boolean): void;
+ public getHandlers(): org.bukkit.event.HandlerList;
+ public static getHandlerList(): org.bukkit.event.HandlerList;
+ }
+ }
+ }
+ }
+}
diff --git a/packages/bukkit/src/typings/org.bukkit.event.entity.EntityShootBowEvent.ts b/packages/bukkit/src/typings/org.bukkit.event.entity.EntityShootBowEvent.ts
new file mode 100644
index 00000000..9ee3a741
--- /dev/null
+++ b/packages/bukkit/src/typings/org.bukkit.event.entity.EntityShootBowEvent.ts
@@ -0,0 +1,32 @@
+declare namespace org {
+ namespace bukkit {
+ namespace event {
+ namespace entity {
+ class EntityShootBowEvent {
+ constructor(shooter: org.bukkit.entity.LivingEntity, bow: org.bukkit.inventory.ItemStack, projectile: org.bukkit.entity.Entity, force: number)
+ public getEntity(): org.bukkit.entity.LivingEntity;
+ /**
+ * Gets the bow ItemStack used to fire the arrow.
+ */
+ public getBow(): org.bukkit.inventory.ItemStack;
+ /**
+ * Gets the projectile which will be launched by this event
+ */
+ public getProjectile(): org.bukkit.entity.Entity;
+ /**
+ * Replaces the projectile which will be launched
+ */
+ public setProjectile(projectile: org.bukkit.entity.Entity): void;
+ /**
+ * Gets the force the arrow was launched with
+ */
+ public getForce(): number;
+ public isCancelled(): boolean;
+ public setCancelled(cancel: boolean): void;
+ public getHandlers(): org.bukkit.event.HandlerList;
+ public static getHandlerList(): org.bukkit.event.HandlerList;
+ }
+ }
+ }
+ }
+}
diff --git a/packages/bukkit/src/typings/org.bukkit.event.entity.EntitySpawnEvent.ts b/packages/bukkit/src/typings/org.bukkit.event.entity.EntitySpawnEvent.ts
new file mode 100644
index 00000000..548a4bbc
--- /dev/null
+++ b/packages/bukkit/src/typings/org.bukkit.event.entity.EntitySpawnEvent.ts
@@ -0,0 +1,19 @@
+declare namespace org {
+ namespace bukkit {
+ namespace event {
+ namespace entity {
+ class EntitySpawnEvent {
+ constructor(spawnee: org.bukkit.entity.Entity)
+ public isCancelled(): boolean;
+ public setCancelled(cancel: boolean): void;
+ /**
+ * Gets the location at which the entity is spawning.
+ */
+ public getLocation(): org.bukkit.Location;
+ public getHandlers(): org.bukkit.event.HandlerList;
+ public static getHandlerList(): org.bukkit.event.HandlerList;
+ }
+ }
+ }
+ }
+}
diff --git a/packages/bukkit/src/typings/org.bukkit.event.entity.EntityTameEvent.ts b/packages/bukkit/src/typings/org.bukkit.event.entity.EntityTameEvent.ts
new file mode 100644
index 00000000..6b6ba66f
--- /dev/null
+++ b/packages/bukkit/src/typings/org.bukkit.event.entity.EntityTameEvent.ts
@@ -0,0 +1,20 @@
+declare namespace org {
+ namespace bukkit {
+ namespace event {
+ namespace entity {
+ class EntityTameEvent {
+ constructor(entity: org.bukkit.entity.LivingEntity, owner: org.bukkit.entity.AnimalTamer)
+ public getEntity(): org.bukkit.entity.LivingEntity;
+ public isCancelled(): boolean;
+ public setCancelled(cancel: boolean): void;
+ /**
+ * Gets the owning AnimalTamer
+ */
+ public getOwner(): org.bukkit.entity.AnimalTamer;
+ public getHandlers(): org.bukkit.event.HandlerList;
+ public static getHandlerList(): org.bukkit.event.HandlerList;
+ }
+ }
+ }
+ }
+}
diff --git a/packages/bukkit/src/typings/org.bukkit.event.entity.EntityTargetEvent.TargetReason.ts b/packages/bukkit/src/typings/org.bukkit.event.entity.EntityTargetEvent.TargetReason.ts
new file mode 100644
index 00000000..e13add5a
--- /dev/null
+++ b/packages/bukkit/src/typings/org.bukkit.event.entity.EntityTargetEvent.TargetReason.ts
@@ -0,0 +1,31 @@
+declare namespace org {
+ namespace bukkit {
+ namespace event {
+ namespace entity {
+ namespace EntityTargetEvent {
+ class TargetReason {
+ public static TARGET_DIED: org.bukkit.event.entity.EntityTargetEvent.TargetReason;
+ public static CLOSEST_PLAYER: org.bukkit.event.entity.EntityTargetEvent.TargetReason;
+ public static TARGET_ATTACKED_ENTITY: org.bukkit.event.entity.EntityTargetEvent.TargetReason;
+ public static PIG_ZOMBIE_TARGET: org.bukkit.event.entity.EntityTargetEvent.TargetReason;
+ public static FORGOT_TARGET: org.bukkit.event.entity.EntityTargetEvent.TargetReason;
+ public static TARGET_ATTACKED_OWNER: org.bukkit.event.entity.EntityTargetEvent.TargetReason;
+ public static OWNER_ATTACKED_TARGET: org.bukkit.event.entity.EntityTargetEvent.TargetReason;
+ public static RANDOM_TARGET: org.bukkit.event.entity.EntityTargetEvent.TargetReason;
+ public static DEFEND_VILLAGE: org.bukkit.event.entity.EntityTargetEvent.TargetReason;
+ public static TARGET_ATTACKED_NEARBY_ENTITY: org.bukkit.event.entity.EntityTargetEvent.TargetReason;
+ public static REINFORCEMENT_TARGET: org.bukkit.event.entity.EntityTargetEvent.TargetReason;
+ public static COLLISION: org.bukkit.event.entity.EntityTargetEvent.TargetReason;
+ public static CUSTOM: org.bukkit.event.entity.EntityTargetEvent.TargetReason;
+ public static CLOSEST_ENTITY: org.bukkit.event.entity.EntityTargetEvent.TargetReason;
+ public static FOLLOW_LEADER: org.bukkit.event.entity.EntityTargetEvent.TargetReason;
+ public static TEMPT: org.bukkit.event.entity.EntityTargetEvent.TargetReason;
+ public static UNKNOWN: org.bukkit.event.entity.EntityTargetEvent.TargetReason;
+ public static values(): org.bukkit.event.entity.EntityTargetEvent.TargetReason[];
+ public static valueOf(name: string): org.bukkit.event.entity.EntityTargetEvent.TargetReason;
+ }
+ }
+ }
+ }
+ }
+}
diff --git a/packages/bukkit/src/typings/org.bukkit.event.entity.EntityTargetEvent.ts b/packages/bukkit/src/typings/org.bukkit.event.entity.EntityTargetEvent.ts
new file mode 100644
index 00000000..8bc0e2b5
--- /dev/null
+++ b/packages/bukkit/src/typings/org.bukkit.event.entity.EntityTargetEvent.ts
@@ -0,0 +1,37 @@
+declare namespace org {
+ namespace bukkit {
+ namespace event {
+ namespace entity {
+ class EntityTargetEvent {
+ constructor(entity: org.bukkit.entity.Entity, target: org.bukkit.entity.Entity, reason: org.bukkit.event.entity.EntityTargetEvent.TargetReason)
+ public isCancelled(): boolean;
+ public setCancelled(cancel: boolean): void;
+ /**
+ * Returns the reason for the targeting
+ */
+ public getReason(): org.bukkit.event.entity.EntityTargetEvent.TargetReason;
+ /**
+ * Get the entity that this is targeting.
+ *
+ * This will be null in the case that the event is called when the mob
+ * forgets its target.
+ */
+ public getTarget(): org.bukkit.entity.Entity;
+ /**
+ * Set the entity that you want the mob to target instead.
+ *
+ * It is possible to be null, null will cause the entity to be
+ * target-less.
+ *
+ * This is different from cancelling the event. Cancelling the event will
+ * cause the entity to keep an original target, while setting to be null
+ * will cause the entity to be reset.
+ */
+ public setTarget(target: org.bukkit.entity.Entity): void;
+ public getHandlers(): org.bukkit.event.HandlerList;
+ public static getHandlerList(): org.bukkit.event.HandlerList;
+ }
+ }
+ }
+ }
+}
diff --git a/packages/bukkit/src/typings/org.bukkit.event.entity.EntityTargetLivingEntityEvent.ts b/packages/bukkit/src/typings/org.bukkit.event.entity.EntityTargetLivingEntityEvent.ts
new file mode 100644
index 00000000..aead163c
--- /dev/null
+++ b/packages/bukkit/src/typings/org.bukkit.event.entity.EntityTargetLivingEntityEvent.ts
@@ -0,0 +1,21 @@
+declare namespace org {
+ namespace bukkit {
+ namespace event {
+ namespace entity {
+ class EntityTargetLivingEntityEvent {
+ constructor(entity: org.bukkit.entity.Entity, target: org.bukkit.entity.LivingEntity, reason: org.bukkit.event.entity.EntityTargetEvent.TargetReason)
+ public getTarget(): org.bukkit.entity.LivingEntity;
+ /**
+ * Set the Entity that you want the mob to target.
+ *
+ * It is possible to be null, null will cause the entity to be
+ * target-less.
+ *
+ * Must be a LivingEntity, or null.
+ */
+ public setTarget(target: org.bukkit.entity.Entity): void;
+ }
+ }
+ }
+ }
+}
diff --git a/packages/bukkit/src/typings/org.bukkit.event.entity.EntityTeleportEvent.ts b/packages/bukkit/src/typings/org.bukkit.event.entity.EntityTeleportEvent.ts
new file mode 100644
index 00000000..7d6f4497
--- /dev/null
+++ b/packages/bukkit/src/typings/org.bukkit.event.entity.EntityTeleportEvent.ts
@@ -0,0 +1,31 @@
+declare namespace org {
+ namespace bukkit {
+ namespace event {
+ namespace entity {
+ class EntityTeleportEvent {
+ constructor(what: org.bukkit.entity.Entity, from: org.bukkit.Location, to: org.bukkit.Location)
+ public isCancelled(): boolean;
+ public setCancelled(cancel: boolean): void;
+ /**
+ * Gets the location that this entity moved from
+ */
+ public getFrom(): org.bukkit.Location;
+ /**
+ * Sets the location that this entity moved from
+ */
+ public setFrom(from: org.bukkit.Location): void;
+ /**
+ * Gets the location that this entity moved to
+ */
+ public getTo(): org.bukkit.Location;
+ /**
+ * Sets the location that this entity moved to
+ */
+ public setTo(to: org.bukkit.Location): void;
+ public getHandlers(): org.bukkit.event.HandlerList;
+ public static getHandlerList(): org.bukkit.event.HandlerList;
+ }
+ }
+ }
+ }
+}
diff --git a/packages/bukkit/src/typings/org.bukkit.event.entity.EntityToggleGlideEvent.ts b/packages/bukkit/src/typings/org.bukkit.event.entity.EntityToggleGlideEvent.ts
new file mode 100644
index 00000000..e31a7741
--- /dev/null
+++ b/packages/bukkit/src/typings/org.bukkit.event.entity.EntityToggleGlideEvent.ts
@@ -0,0 +1,16 @@
+declare namespace org {
+ namespace bukkit {
+ namespace event {
+ namespace entity {
+ class EntityToggleGlideEvent {
+ constructor(who: org.bukkit.entity.LivingEntity, isGliding: boolean)
+ public isCancelled(): boolean;
+ public setCancelled(cancel: boolean): void;
+ public isGliding(): boolean;
+ public getHandlers(): org.bukkit.event.HandlerList;
+ public static getHandlerList(): org.bukkit.event.HandlerList;
+ }
+ }
+ }
+ }
+}
diff --git a/packages/bukkit/src/typings/org.bukkit.event.entity.EntityToggleSwimEvent.ts b/packages/bukkit/src/typings/org.bukkit.event.entity.EntityToggleSwimEvent.ts
new file mode 100644
index 00000000..63d93abf
--- /dev/null
+++ b/packages/bukkit/src/typings/org.bukkit.event.entity.EntityToggleSwimEvent.ts
@@ -0,0 +1,16 @@
+declare namespace org {
+ namespace bukkit {
+ namespace event {
+ namespace entity {
+ class EntityToggleSwimEvent {
+ constructor(who: org.bukkit.entity.LivingEntity, isSwimming: boolean)
+ public isCancelled(): boolean;
+ public setCancelled(cancel: boolean): void;
+ public isSwimming(): boolean;
+ public getHandlers(): org.bukkit.event.HandlerList;
+ public static getHandlerList(): org.bukkit.event.HandlerList;
+ }
+ }
+ }
+ }
+}
diff --git a/packages/bukkit/src/typings/org.bukkit.event.entity.EntityTransformEvent.TransformReason.ts b/packages/bukkit/src/typings/org.bukkit.event.entity.EntityTransformEvent.TransformReason.ts
new file mode 100644
index 00000000..12f176d5
--- /dev/null
+++ b/packages/bukkit/src/typings/org.bukkit.event.entity.EntityTransformEvent.TransformReason.ts
@@ -0,0 +1,20 @@
+declare namespace org {
+ namespace bukkit {
+ namespace event {
+ namespace entity {
+ namespace EntityTransformEvent {
+ class TransformReason {
+ public static CURED: org.bukkit.event.entity.EntityTransformEvent.TransformReason;
+ public static INFECTION: org.bukkit.event.entity.EntityTransformEvent.TransformReason;
+ public static DROWNED: org.bukkit.event.entity.EntityTransformEvent.TransformReason;
+ public static SHEARED: org.bukkit.event.entity.EntityTransformEvent.TransformReason;
+ public static LIGHTNING: org.bukkit.event.entity.EntityTransformEvent.TransformReason;
+ public static SPLIT: org.bukkit.event.entity.EntityTransformEvent.TransformReason;
+ public static values(): org.bukkit.event.entity.EntityTransformEvent.TransformReason[];
+ public static valueOf(name: string): org.bukkit.event.entity.EntityTransformEvent.TransformReason;
+ }
+ }
+ }
+ }
+ }
+}
diff --git a/packages/bukkit/src/typings/org.bukkit.event.entity.EntityTransformEvent.ts b/packages/bukkit/src/typings/org.bukkit.event.entity.EntityTransformEvent.ts
new file mode 100644
index 00000000..f7b25413
--- /dev/null
+++ b/packages/bukkit/src/typings/org.bukkit.event.entity.EntityTransformEvent.ts
@@ -0,0 +1,28 @@
+declare namespace org {
+ namespace bukkit {
+ namespace event {
+ namespace entity {
+ class EntityTransformEvent {
+ constructor(original: org.bukkit.entity.Entity, convertedList: any[] /*java.util.List*/, transformReason: org.bukkit.event.entity.EntityTransformEvent.TransformReason)
+ /**
+ * Gets the entity that the original entity was transformed to.
+ * This returns the first entity in the transformed entity list.
+ */
+ public getTransformedEntity(): org.bukkit.entity.Entity;
+ /**
+ * Gets the entities that the original entity was transformed to.
+ */
+ public getTransformedEntities(): any[] /*java.util.List*/;
+ /**
+ * Gets the reason for the conversion that has occurred.
+ */
+ public getTransformReason(): org.bukkit.event.entity.EntityTransformEvent.TransformReason;
+ public isCancelled(): boolean;
+ public setCancelled(cancel: boolean): void;
+ public getHandlers(): org.bukkit.event.HandlerList;
+ public static getHandlerList(): org.bukkit.event.HandlerList;
+ }
+ }
+ }
+ }
+}
diff --git a/packages/bukkit/src/typings/org.bukkit.event.entity.EntityUnleashEvent.UnleashReason.ts b/packages/bukkit/src/typings/org.bukkit.event.entity.EntityUnleashEvent.UnleashReason.ts
new file mode 100644
index 00000000..d61d1568
--- /dev/null
+++ b/packages/bukkit/src/typings/org.bukkit.event.entity.EntityUnleashEvent.UnleashReason.ts
@@ -0,0 +1,18 @@
+declare namespace org {
+ namespace bukkit {
+ namespace event {
+ namespace entity {
+ namespace EntityUnleashEvent {
+ class UnleashReason {
+ public static HOLDER_GONE: org.bukkit.event.entity.EntityUnleashEvent.UnleashReason;
+ public static PLAYER_UNLEASH: org.bukkit.event.entity.EntityUnleashEvent.UnleashReason;
+ public static DISTANCE: org.bukkit.event.entity.EntityUnleashEvent.UnleashReason;
+ public static UNKNOWN: org.bukkit.event.entity.EntityUnleashEvent.UnleashReason;
+ public static values(): org.bukkit.event.entity.EntityUnleashEvent.UnleashReason[];
+ public static valueOf(name: string): org.bukkit.event.entity.EntityUnleashEvent.UnleashReason;
+ }
+ }
+ }
+ }
+ }
+}
diff --git a/packages/bukkit/src/typings/org.bukkit.event.entity.EntityUnleashEvent.ts b/packages/bukkit/src/typings/org.bukkit.event.entity.EntityUnleashEvent.ts
new file mode 100644
index 00000000..f65b3883
--- /dev/null
+++ b/packages/bukkit/src/typings/org.bukkit.event.entity.EntityUnleashEvent.ts
@@ -0,0 +1,17 @@
+declare namespace org {
+ namespace bukkit {
+ namespace event {
+ namespace entity {
+ class EntityUnleashEvent {
+ constructor(entity: org.bukkit.entity.Entity, reason: org.bukkit.event.entity.EntityUnleashEvent.UnleashReason)
+ /**
+ * Returns the reason for the unleashing.
+ */
+ public getReason(): org.bukkit.event.entity.EntityUnleashEvent.UnleashReason;
+ public getHandlers(): org.bukkit.event.HandlerList;
+ public static getHandlerList(): org.bukkit.event.HandlerList;
+ }
+ }
+ }
+ }
+}
diff --git a/packages/bukkit/src/typings/org.bukkit.event.entity.ExpBottleEvent.ts b/packages/bukkit/src/typings/org.bukkit.event.entity.ExpBottleEvent.ts
new file mode 100644
index 00000000..7d61b384
--- /dev/null
+++ b/packages/bukkit/src/typings/org.bukkit.event.entity.ExpBottleEvent.ts
@@ -0,0 +1,36 @@
+declare namespace org {
+ namespace bukkit {
+ namespace event {
+ namespace entity {
+ class ExpBottleEvent {
+ constructor(bottle: org.bukkit.entity.ThrownExpBottle, exp: number)
+ public getEntity(): org.bukkit.entity.ThrownExpBottle;
+ /**
+ * This method indicates if the particle effect should be shown.
+ */
+ public getShowEffect(): boolean;
+ /**
+ * This method sets if the particle effect will be shown.
+ *
+ * This does not change the experience created.
+ */
+ public setShowEffect(showEffect: boolean): void;
+ /**
+ * This method retrieves the amount of experience to be created.
+ *
+ * The number indicates a total amount to be divided into orbs.
+ */
+ public getExperience(): number;
+ /**
+ * This method sets the amount of experience to be created.
+ *
+ * The number indicates a total amount to be divided into orbs.
+ */
+ public setExperience(exp: number): void;
+ public getHandlers(): org.bukkit.event.HandlerList;
+ public static getHandlerList(): org.bukkit.event.HandlerList;
+ }
+ }
+ }
+ }
+}
diff --git a/packages/bukkit/src/typings/org.bukkit.event.entity.ExplosionPrimeEvent.ts b/packages/bukkit/src/typings/org.bukkit.event.entity.ExplosionPrimeEvent.ts
new file mode 100644
index 00000000..01125ace
--- /dev/null
+++ b/packages/bukkit/src/typings/org.bukkit.event.entity.ExplosionPrimeEvent.ts
@@ -0,0 +1,32 @@
+declare namespace org {
+ namespace bukkit {
+ namespace event {
+ namespace entity {
+ class ExplosionPrimeEvent {
+ constructor(what: org.bukkit.entity.Entity, radius: number, fire: boolean)
+ constructor(explosive: org.bukkit.entity.Explosive)
+ public isCancelled(): boolean;
+ public setCancelled(cancel: boolean): void;
+ /**
+ * Gets the radius of the explosion
+ */
+ public getRadius(): number;
+ /**
+ * Sets the radius of the explosion
+ */
+ public setRadius(radius: number): void;
+ /**
+ * Gets whether this explosion will create fire or not
+ */
+ public getFire(): boolean;
+ /**
+ * Sets whether this explosion will create fire or not
+ */
+ public setFire(fire: boolean): void;
+ public getHandlers(): org.bukkit.event.HandlerList;
+ public static getHandlerList(): org.bukkit.event.HandlerList;
+ }
+ }
+ }
+ }
+}
diff --git a/packages/bukkit/src/typings/org.bukkit.event.entity.FireworkExplodeEvent.ts b/packages/bukkit/src/typings/org.bukkit.event.entity.FireworkExplodeEvent.ts
new file mode 100644
index 00000000..47d12e49
--- /dev/null
+++ b/packages/bukkit/src/typings/org.bukkit.event.entity.FireworkExplodeEvent.ts
@@ -0,0 +1,21 @@
+declare namespace org {
+ namespace bukkit {
+ namespace event {
+ namespace entity {
+ class FireworkExplodeEvent {
+ constructor(what: org.bukkit.entity.Firework)
+ public isCancelled(): boolean;
+ /**
+ * Set the cancelled state of this event. If the firework explosion is
+ * cancelled, the firework will still be removed, but no particles will be
+ * displayed.
+ */
+ public setCancelled(cancel: boolean): void;
+ public getEntity(): org.bukkit.entity.Firework;
+ public getHandlers(): org.bukkit.event.HandlerList;
+ public static getHandlerList(): org.bukkit.event.HandlerList;
+ }
+ }
+ }
+ }
+}
diff --git a/packages/bukkit/src/typings/org.bukkit.event.entity.FoodLevelChangeEvent.ts b/packages/bukkit/src/typings/org.bukkit.event.entity.FoodLevelChangeEvent.ts
new file mode 100644
index 00000000..3a21c0d8
--- /dev/null
+++ b/packages/bukkit/src/typings/org.bukkit.event.entity.FoodLevelChangeEvent.ts
@@ -0,0 +1,33 @@
+declare namespace org {
+ namespace bukkit {
+ namespace event {
+ namespace entity {
+ class FoodLevelChangeEvent {
+ constructor(what: org.bukkit.entity.HumanEntity, level: number)
+ constructor(what: org.bukkit.entity.HumanEntity, level: number, item: org.bukkit.inventory.ItemStack)
+ public getEntity(): org.bukkit.entity.HumanEntity;
+ /**
+ * Gets the item that triggered this event, if any.
+ */
+ public getItem(): org.bukkit.inventory.ItemStack;
+ /**
+ * Gets the resultant food level that the entity involved in this event
+ * should be set to.
+ *
+ * Where 20 is a full food bar and 0 is an empty one.
+ */
+ public getFoodLevel(): number;
+ /**
+ * Sets the resultant food level that the entity involved in this event
+ * should be set to
+ */
+ public setFoodLevel(level: number): void;
+ public isCancelled(): boolean;
+ public setCancelled(cancel: boolean): void;
+ public getHandlers(): org.bukkit.event.HandlerList;
+ public static getHandlerList(): org.bukkit.event.HandlerList;
+ }
+ }
+ }
+ }
+}
diff --git a/packages/bukkit/src/typings/org.bukkit.event.entity.HorseJumpEvent.ts b/packages/bukkit/src/typings/org.bukkit.event.entity.HorseJumpEvent.ts
new file mode 100644
index 00000000..5be7adf4
--- /dev/null
+++ b/packages/bukkit/src/typings/org.bukkit.event.entity.HorseJumpEvent.ts
@@ -0,0 +1,43 @@
+declare namespace org {
+ namespace bukkit {
+ namespace event {
+ namespace entity {
+ class HorseJumpEvent {
+ constructor(horse: org.bukkit.entity.AbstractHorse, power: number)
+ public isCancelled(): boolean;
+ public setCancelled(cancel: boolean): void;
+ public getEntity(): org.bukkit.entity.AbstractHorse;
+ /**
+ * Gets the power of the jump.
+ *
+ * Power is a value that defines how much of the horse's jump strength
+ * should be used for the jump. Power is effectively multiplied times
+ * the horse's jump strength to determine how high the jump is; 0
+ * represents no jump strength while 1 represents full jump strength.
+ * Setting power to a value above 1 will use additional jump strength
+ * that the horse does not usually have.
+ *
+ * Power does not affect how high the horse is capable of jumping, only
+ * how much of its jumping capability will be used in this jump. To set
+ * the horse's overall jump strength, see {@link
+ * AbstractHorse#setJumpStrength(double)}.
+ */
+ public getPower(): number;
+ /**
+ * Sets the power of the jump.
+ *
+ * Jump power can be set to a value above 1.0 which will increase the
+ * strength of this jump above the horse's actual jump strength.
+ *
+ * Setting the jump power to 0 will result in the jump animation still
+ * playing, but the horse not leaving the ground. Only canceling this
+ * event will result in no jump animation at all.
+ */
+ public setPower(power: number): void;
+ public getHandlers(): org.bukkit.event.HandlerList;
+ public static getHandlerList(): org.bukkit.event.HandlerList;
+ }
+ }
+ }
+ }
+}
diff --git a/packages/bukkit/src/typings/org.bukkit.event.entity.ItemDespawnEvent.ts b/packages/bukkit/src/typings/org.bukkit.event.entity.ItemDespawnEvent.ts
new file mode 100644
index 00000000..9925cad8
--- /dev/null
+++ b/packages/bukkit/src/typings/org.bukkit.event.entity.ItemDespawnEvent.ts
@@ -0,0 +1,20 @@
+declare namespace org {
+ namespace bukkit {
+ namespace event {
+ namespace entity {
+ class ItemDespawnEvent {
+ constructor(despawnee: org.bukkit.entity.Item, loc: org.bukkit.Location)
+ public isCancelled(): boolean;
+ public setCancelled(cancel: boolean): void;
+ public getEntity(): org.bukkit.entity.Item;
+ /**
+ * Gets the location at which the item is despawning.
+ */
+ public getLocation(): org.bukkit.Location;
+ public getHandlers(): org.bukkit.event.HandlerList;
+ public static getHandlerList(): org.bukkit.event.HandlerList;
+ }
+ }
+ }
+ }
+}
diff --git a/packages/bukkit/src/typings/org.bukkit.event.entity.ItemMergeEvent.ts b/packages/bukkit/src/typings/org.bukkit.event.entity.ItemMergeEvent.ts
new file mode 100644
index 00000000..eaaa6ba8
--- /dev/null
+++ b/packages/bukkit/src/typings/org.bukkit.event.entity.ItemMergeEvent.ts
@@ -0,0 +1,20 @@
+declare namespace org {
+ namespace bukkit {
+ namespace event {
+ namespace entity {
+ class ItemMergeEvent {
+ constructor(item: org.bukkit.entity.Item, target: org.bukkit.entity.Item)
+ public isCancelled(): boolean;
+ public setCancelled(cancelled: boolean): void;
+ public getEntity(): org.bukkit.entity.Item;
+ /**
+ * Gets the Item entity the main Item is being merged into.
+ */
+ public getTarget(): org.bukkit.entity.Item;
+ public getHandlers(): org.bukkit.event.HandlerList;
+ public static getHandlerList(): org.bukkit.event.HandlerList;
+ }
+ }
+ }
+ }
+}
diff --git a/packages/bukkit/src/typings/org.bukkit.event.entity.ItemSpawnEvent.ts b/packages/bukkit/src/typings/org.bukkit.event.entity.ItemSpawnEvent.ts
new file mode 100644
index 00000000..1486449d
--- /dev/null
+++ b/packages/bukkit/src/typings/org.bukkit.event.entity.ItemSpawnEvent.ts
@@ -0,0 +1,13 @@
+declare namespace org {
+ namespace bukkit {
+ namespace event {
+ namespace entity {
+ class ItemSpawnEvent {
+ constructor(spawnee: org.bukkit.entity.Item, loc: org.bukkit.Location)
+ constructor(spawnee: org.bukkit.entity.Item)
+ public getEntity(): org.bukkit.entity.Item;
+ }
+ }
+ }
+ }
+}
diff --git a/packages/bukkit/src/typings/org.bukkit.event.entity.LingeringPotionSplashEvent.ts b/packages/bukkit/src/typings/org.bukkit.event.entity.LingeringPotionSplashEvent.ts
new file mode 100644
index 00000000..651c97a9
--- /dev/null
+++ b/packages/bukkit/src/typings/org.bukkit.event.entity.LingeringPotionSplashEvent.ts
@@ -0,0 +1,20 @@
+declare namespace org {
+ namespace bukkit {
+ namespace event {
+ namespace entity {
+ class LingeringPotionSplashEvent {
+ constructor(potion: org.bukkit.entity.ThrownPotion, entity: org.bukkit.entity.AreaEffectCloud)
+ public getEntity(): org.bukkit.entity.ThrownPotion;
+ /**
+ * Gets the AreaEffectCloud spawned
+ */
+ public getAreaEffectCloud(): org.bukkit.entity.AreaEffectCloud;
+ public isCancelled(): boolean;
+ public setCancelled(cancel: boolean): void;
+ public getHandlers(): org.bukkit.event.HandlerList;
+ public static getHandlerList(): org.bukkit.event.HandlerList;
+ }
+ }
+ }
+ }
+}
diff --git a/packages/bukkit/src/typings/org.bukkit.event.entity.PigZapEvent.ts b/packages/bukkit/src/typings/org.bukkit.event.entity.PigZapEvent.ts
new file mode 100644
index 00000000..c2836b9a
--- /dev/null
+++ b/packages/bukkit/src/typings/org.bukkit.event.entity.PigZapEvent.ts
@@ -0,0 +1,25 @@
+declare namespace org {
+ namespace bukkit {
+ namespace event {
+ namespace entity {
+ class PigZapEvent {
+ constructor(pig: org.bukkit.entity.Pig, bolt: org.bukkit.entity.LightningStrike, pigzombie: org.bukkit.entity.PigZombie)
+ public isCancelled(): boolean;
+ public setCancelled(cancel: boolean): void;
+ public getEntity(): org.bukkit.entity.Pig;
+ /**
+ * Gets the bolt which is striking the pig.
+ */
+ public getLightning(): org.bukkit.entity.LightningStrike;
+ /**
+ * Gets the zombie pig that will replace the pig, provided the event is
+ * not cancelled first.
+ */
+ public getPigZombie(): org.bukkit.entity.PigZombie;
+ public getHandlers(): org.bukkit.event.HandlerList;
+ public static getHandlerList(): org.bukkit.event.HandlerList;
+ }
+ }
+ }
+ }
+}
diff --git a/packages/bukkit/src/typings/org.bukkit.event.entity.PigZombieAngerEvent.ts b/packages/bukkit/src/typings/org.bukkit.event.entity.PigZombieAngerEvent.ts
new file mode 100644
index 00000000..633cf608
--- /dev/null
+++ b/packages/bukkit/src/typings/org.bukkit.event.entity.PigZombieAngerEvent.ts
@@ -0,0 +1,28 @@
+declare namespace org {
+ namespace bukkit {
+ namespace event {
+ namespace entity {
+ class PigZombieAngerEvent {
+ constructor(pigZombie: org.bukkit.entity.PigZombie, target: org.bukkit.entity.Entity, newAnger: number)
+ /**
+ * Gets the entity (if any) which triggered this anger update.
+ */
+ public getTarget(): org.bukkit.entity.Entity;
+ /**
+ * Gets the new anger resulting from this event.
+ */
+ public getNewAnger(): number;
+ /**
+ * Sets the new anger resulting from this event.
+ */
+ public setNewAnger(newAnger: number): void;
+ public getEntity(): org.bukkit.entity.PigZombie;
+ public isCancelled(): boolean;
+ public setCancelled(cancel: boolean): void;
+ public getHandlers(): org.bukkit.event.HandlerList;
+ public static getHandlerList(): org.bukkit.event.HandlerList;
+ }
+ }
+ }
+ }
+}
diff --git a/packages/bukkit/src/typings/org.bukkit.event.entity.PlayerDeathEvent.ts b/packages/bukkit/src/typings/org.bukkit.event.entity.PlayerDeathEvent.ts
new file mode 100644
index 00000000..5c5f6301
--- /dev/null
+++ b/packages/bukkit/src/typings/org.bukkit.event.entity.PlayerDeathEvent.ts
@@ -0,0 +1,80 @@
+declare namespace org {
+ namespace bukkit {
+ namespace event {
+ namespace entity {
+ class PlayerDeathEvent {
+ constructor(player: org.bukkit.entity.Player, drops: any[] /*java.util.List*/, droppedExp: number, deathMessage: string)
+ constructor(player: org.bukkit.entity.Player, drops: any[] /*java.util.List*/, droppedExp: number, newExp: number, deathMessage: string)
+ constructor(player: org.bukkit.entity.Player, drops: any[] /*java.util.List*/, droppedExp: number, newExp: number, newTotalExp: number, newLevel: number, deathMessage: string)
+ public getEntity(): org.bukkit.entity.Player;
+ /**
+ * Set the death message that will appear to everyone on the server.
+ */
+ public setDeathMessage(deathMessage: string): void;
+ /**
+ * Get the death message that will appear to everyone on the server.
+ */
+ public getDeathMessage(): string;
+ /**
+ * Gets how much EXP the Player should have at respawn.
+ *
+ * This does not indicate how much EXP should be dropped, please see
+ * {@link #getDroppedExp()} for that.
+ */
+ public getNewExp(): number;
+ /**
+ * Sets how much EXP the Player should have at respawn.
+ *
+ * This does not indicate how much EXP should be dropped, please see
+ * {@link #setDroppedExp(int)} for that.
+ */
+ public setNewExp(exp: number): void;
+ /**
+ * Gets the Level the Player should have at respawn.
+ */
+ public getNewLevel(): number;
+ /**
+ * Sets the Level the Player should have at respawn.
+ */
+ public setNewLevel(level: number): void;
+ /**
+ * Gets the Total EXP the Player should have at respawn.
+ */
+ public getNewTotalExp(): number;
+ /**
+ * Sets the Total EXP the Player should have at respawn.
+ */
+ public setNewTotalExp(totalExp: number): void;
+ /**
+ * Gets if the Player should keep all EXP at respawn.
+ *
+ * This flag overrides other EXP settings
+ */
+ public getKeepLevel(): boolean;
+ /**
+ * Sets if the Player should keep all EXP at respawn.
+ *
+ * This overrides all other EXP settings
+ *
+ * This doesn't prevent prevent the EXP from dropping.
+ * {@link #setDroppedExp(int)} should be used stop the
+ * EXP from dropping.
+ */
+ public setKeepLevel(keepLevel: boolean): void;
+ /**
+ * Sets if the Player keeps inventory on death.
+ *
+ * This doesn't prevent prevent the items from dropping.
+ * {@code getDrops().clear()} should be used stop the
+ * items from dropping.
+ */
+ public setKeepInventory(keepInventory: boolean): void;
+ /**
+ * Gets if the Player keeps inventory on death.
+ */
+ public getKeepInventory(): boolean;
+ }
+ }
+ }
+ }
+}
diff --git a/packages/bukkit/src/typings/org.bukkit.event.entity.PlayerLeashEntityEvent.ts b/packages/bukkit/src/typings/org.bukkit.event.entity.PlayerLeashEntityEvent.ts
new file mode 100644
index 00000000..9ab17c06
--- /dev/null
+++ b/packages/bukkit/src/typings/org.bukkit.event.entity.PlayerLeashEntityEvent.ts
@@ -0,0 +1,27 @@
+declare namespace org {
+ namespace bukkit {
+ namespace event {
+ namespace entity {
+ class PlayerLeashEntityEvent {
+ constructor(what: org.bukkit.entity.Entity, leashHolder: org.bukkit.entity.Entity, leasher: org.bukkit.entity.Player)
+ /**
+ * Returns the entity that is holding the leash.
+ */
+ public getLeashHolder(): org.bukkit.entity.Entity;
+ /**
+ * Returns the entity being leashed.
+ */
+ public getEntity(): org.bukkit.entity.Entity;
+ /**
+ * Returns the player involved in this event
+ */
+ public getPlayer(): org.bukkit.entity.Player;
+ public getHandlers(): org.bukkit.event.HandlerList;
+ public static getHandlerList(): org.bukkit.event.HandlerList;
+ public isCancelled(): boolean;
+ public setCancelled(cancel: boolean): void;
+ }
+ }
+ }
+ }
+}
diff --git a/packages/bukkit/src/typings/org.bukkit.event.entity.PotionSplashEvent.ts b/packages/bukkit/src/typings/org.bukkit.event.entity.PotionSplashEvent.ts
new file mode 100644
index 00000000..c5ead0ea
--- /dev/null
+++ b/packages/bukkit/src/typings/org.bukkit.event.entity.PotionSplashEvent.ts
@@ -0,0 +1,33 @@
+declare namespace org {
+ namespace bukkit {
+ namespace event {
+ namespace entity {
+ class PotionSplashEvent {
+ constructor(potion: org.bukkit.entity.ThrownPotion, affectedEntities: Map
+ * This action cannot be changed, and represents what the normal outcome
+ * of the event will be. To change the behavior of this
+ * InventoryClickEvent, changes must be manually applied.
+ */
+ public getAction(): org.bukkit.event.inventory.InventoryAction;
+ /**
+ * Gets the ClickType for this event.
+ *
+ * This is insulated against changes to the inventory by other plugins.
+ */
+ public getClick(): org.bukkit.event.inventory.ClickType;
+ public getHandlers(): org.bukkit.event.HandlerList;
+ public static getHandlerList(): org.bukkit.event.HandlerList;
+ }
+ }
+ }
+ }
+}
diff --git a/packages/bukkit/src/typings/org.bukkit.event.inventory.InventoryCloseEvent.ts b/packages/bukkit/src/typings/org.bukkit.event.inventory.InventoryCloseEvent.ts
new file mode 100644
index 00000000..587c5109
--- /dev/null
+++ b/packages/bukkit/src/typings/org.bukkit.event.inventory.InventoryCloseEvent.ts
@@ -0,0 +1,17 @@
+declare namespace org {
+ namespace bukkit {
+ namespace event {
+ namespace inventory {
+ class InventoryCloseEvent {
+ constructor(transaction: org.bukkit.inventory.InventoryView)
+ /**
+ * Returns the player involved in this event
+ */
+ public getPlayer(): org.bukkit.entity.HumanEntity;
+ public getHandlers(): org.bukkit.event.HandlerList;
+ public static getHandlerList(): org.bukkit.event.HandlerList;
+ }
+ }
+ }
+ }
+}
diff --git a/packages/bukkit/src/typings/org.bukkit.event.inventory.InventoryCreativeEvent.ts b/packages/bukkit/src/typings/org.bukkit.event.inventory.InventoryCreativeEvent.ts
new file mode 100644
index 00000000..68e9749f
--- /dev/null
+++ b/packages/bukkit/src/typings/org.bukkit.event.inventory.InventoryCreativeEvent.ts
@@ -0,0 +1,13 @@
+declare namespace org {
+ namespace bukkit {
+ namespace event {
+ namespace inventory {
+ class InventoryCreativeEvent {
+ constructor(what: org.bukkit.inventory.InventoryView, type: org.bukkit.event.inventory.InventoryType.SlotType, slot: number, newItem: org.bukkit.inventory.ItemStack)
+ public getCursor(): org.bukkit.inventory.ItemStack;
+ public setCursor(item: org.bukkit.inventory.ItemStack): void;
+ }
+ }
+ }
+ }
+}
diff --git a/packages/bukkit/src/typings/org.bukkit.event.inventory.InventoryDragEvent.ts b/packages/bukkit/src/typings/org.bukkit.event.inventory.InventoryDragEvent.ts
new file mode 100644
index 00000000..0f48d3e0
--- /dev/null
+++ b/packages/bukkit/src/typings/org.bukkit.event.inventory.InventoryDragEvent.ts
@@ -0,0 +1,51 @@
+declare namespace org {
+ namespace bukkit {
+ namespace event {
+ namespace inventory {
+ class InventoryDragEvent {
+ constructor(what: org.bukkit.inventory.InventoryView, newCursor: org.bukkit.inventory.ItemStack, oldCursor: org.bukkit.inventory.ItemStack, right: boolean, slots: Map
+ * Changing this item stack changes the cursor item. Note that changing
+ * the affected "dragged" slots does not change this ItemStack, nor does
+ * changing this ItemStack affect the "dragged" slots.
+ */
+ public setCursor(newCursor: org.bukkit.inventory.ItemStack): void;
+ /**
+ * Gets an ItemStack representing the cursor prior to any modifications
+ * as a result of this drag.
+ */
+ public getOldCursor(): org.bukkit.inventory.ItemStack;
+ /**
+ * Gets the DragType that describes the behavior of ItemStacks placed
+ * after this InventoryDragEvent.
+ *
+ * The ItemStacks and the raw slots that they're being applied to can be
+ * found using {@link #getNewItems()}.
+ */
+ public getType(): org.bukkit.event.inventory.DragType;
+ public getHandlers(): org.bukkit.event.HandlerList;
+ public static getHandlerList(): org.bukkit.event.HandlerList;
+ }
+ }
+ }
+ }
+}
diff --git a/packages/bukkit/src/typings/org.bukkit.event.inventory.InventoryEvent.ts b/packages/bukkit/src/typings/org.bukkit.event.inventory.InventoryEvent.ts
new file mode 100644
index 00000000..82a7eec8
--- /dev/null
+++ b/packages/bukkit/src/typings/org.bukkit.event.inventory.InventoryEvent.ts
@@ -0,0 +1,27 @@
+declare namespace org {
+ namespace bukkit {
+ namespace event {
+ namespace inventory {
+ class InventoryEvent {
+ constructor(transaction: org.bukkit.inventory.InventoryView)
+ protected transaction: org.bukkit.inventory.InventoryView;
+ /**
+ * Gets the primary Inventory involved in this transaction
+ */
+ public getInventory(): org.bukkit.inventory.Inventory;
+ /**
+ * Gets the list of players viewing the primary (upper) inventory involved
+ * in this event
+ */
+ public getViewers(): any[] /*java.util.List*/;
+ /**
+ * Gets the view object itself
+ */
+ public getView(): org.bukkit.inventory.InventoryView;
+ public getHandlers(): org.bukkit.event.HandlerList;
+ public static getHandlerList(): org.bukkit.event.HandlerList;
+ }
+ }
+ }
+ }
+}
diff --git a/packages/bukkit/src/typings/org.bukkit.event.inventory.InventoryInteractEvent.ts b/packages/bukkit/src/typings/org.bukkit.event.inventory.InventoryInteractEvent.ts
new file mode 100644
index 00000000..b541ed26
--- /dev/null
+++ b/packages/bukkit/src/typings/org.bukkit.event.inventory.InventoryInteractEvent.ts
@@ -0,0 +1,43 @@
+declare namespace org {
+ namespace bukkit {
+ namespace event {
+ namespace inventory {
+ abstract class InventoryInteractEvent {
+ constructor(transaction: org.bukkit.inventory.InventoryView)
+ /**
+ * Gets the player who performed the click.
+ */
+ public getWhoClicked(): org.bukkit.entity.HumanEntity;
+ /**
+ * Sets the result of this event. This will change whether or not this
+ * event is considered cancelled.
+ */
+ public setResult(newResult: org.bukkit.event.Event.Result): void;
+ /**
+ * Gets the {@link org.bukkit.event.Event.Result} of this event. The Result describes the
+ * behavior that will be applied to the inventory in relation to this
+ * event.
+ */
+ public getResult(): org.bukkit.event.Event.Result;
+ /**
+ * Gets whether or not this event is cancelled. This is based off of the
+ * Result value returned by {@link #getResult()}. Result.ALLOW and
+ * Result.DEFAULT will result in a returned value of false, but
+ * Result.DENY will result in a returned value of true.
+ *
+ * {@inheritDoc}
+ */
+ public isCancelled(): boolean;
+ /**
+ * Proxy method to {@link #setResult(org.bukkit.event.Event.Result)} for the Cancellable
+ * interface. {@link #setResult(org.bukkit.event.Event.Result)} is preferred, as it allows
+ * you to specify the Result beyond Result.DENY and Result.ALLOW.
+ *
+ * {@inheritDoc}
+ */
+ public setCancelled(toCancel: boolean): void;
+ }
+ }
+ }
+ }
+}
diff --git a/packages/bukkit/src/typings/org.bukkit.event.inventory.InventoryMoveItemEvent.ts b/packages/bukkit/src/typings/org.bukkit.event.inventory.InventoryMoveItemEvent.ts
new file mode 100644
index 00000000..0cdb3823
--- /dev/null
+++ b/packages/bukkit/src/typings/org.bukkit.event.inventory.InventoryMoveItemEvent.ts
@@ -0,0 +1,39 @@
+declare namespace org {
+ namespace bukkit {
+ namespace event {
+ namespace inventory {
+ class InventoryMoveItemEvent {
+ constructor(sourceInventory: org.bukkit.inventory.Inventory, itemStack: org.bukkit.inventory.ItemStack, destinationInventory: org.bukkit.inventory.Inventory, didSourceInitiate: boolean)
+ /**
+ * Gets the Inventory that the ItemStack is being taken from
+ */
+ public getSource(): org.bukkit.inventory.Inventory;
+ /**
+ * Gets the ItemStack being moved; if modified, the original item will not
+ * be removed from the source inventory.
+ */
+ public getItem(): org.bukkit.inventory.ItemStack;
+ /**
+ * Sets the ItemStack being moved; if this is different from the original
+ * ItemStack, the original item will not be removed from the source
+ * inventory.
+ */
+ public setItem(itemStack: org.bukkit.inventory.ItemStack): void;
+ /**
+ * Gets the Inventory that the ItemStack is being put into
+ */
+ public getDestination(): org.bukkit.inventory.Inventory;
+ /**
+ * Gets the Inventory that initiated the transfer. This will always be
+ * either the destination or source Inventory.
+ */
+ public getInitiator(): org.bukkit.inventory.Inventory;
+ public isCancelled(): boolean;
+ public setCancelled(cancel: boolean): void;
+ public getHandlers(): org.bukkit.event.HandlerList;
+ public static getHandlerList(): org.bukkit.event.HandlerList;
+ }
+ }
+ }
+ }
+}
diff --git a/packages/bukkit/src/typings/org.bukkit.event.inventory.InventoryOpenEvent.ts b/packages/bukkit/src/typings/org.bukkit.event.inventory.InventoryOpenEvent.ts
new file mode 100644
index 00000000..30c7afb1
--- /dev/null
+++ b/packages/bukkit/src/typings/org.bukkit.event.inventory.InventoryOpenEvent.ts
@@ -0,0 +1,33 @@
+declare namespace org {
+ namespace bukkit {
+ namespace event {
+ namespace inventory {
+ class InventoryOpenEvent {
+ constructor(transaction: org.bukkit.inventory.InventoryView)
+ /**
+ * Returns the player involved in this event
+ */
+ public getPlayer(): org.bukkit.entity.HumanEntity;
+ /**
+ * Gets the cancellation state of this event. A cancelled event will not
+ * be executed in the server, but will still pass to other plugins.
+ *
+ * If an inventory open event is cancelled, the inventory screen will not
+ * show.
+ */
+ public isCancelled(): boolean;
+ /**
+ * Sets the cancellation state of this event. A cancelled event will not
+ * be executed in the server, but will still pass to other plugins.
+ *
+ * If an inventory open event is cancelled, the inventory screen will not
+ * show.
+ */
+ public setCancelled(cancel: boolean): void;
+ public getHandlers(): org.bukkit.event.HandlerList;
+ public static getHandlerList(): org.bukkit.event.HandlerList;
+ }
+ }
+ }
+ }
+}
diff --git a/packages/bukkit/src/typings/org.bukkit.event.inventory.InventoryPickupItemEvent.ts b/packages/bukkit/src/typings/org.bukkit.event.inventory.InventoryPickupItemEvent.ts
new file mode 100644
index 00000000..96e2c92f
--- /dev/null
+++ b/packages/bukkit/src/typings/org.bukkit.event.inventory.InventoryPickupItemEvent.ts
@@ -0,0 +1,23 @@
+declare namespace org {
+ namespace bukkit {
+ namespace event {
+ namespace inventory {
+ class InventoryPickupItemEvent {
+ constructor(inventory: org.bukkit.inventory.Inventory, item: org.bukkit.entity.Item)
+ /**
+ * Gets the Inventory that picked up the item
+ */
+ public getInventory(): org.bukkit.inventory.Inventory;
+ /**
+ * Gets the Item entity that was picked up
+ */
+ public getItem(): org.bukkit.entity.Item;
+ public isCancelled(): boolean;
+ public setCancelled(cancel: boolean): void;
+ public getHandlers(): org.bukkit.event.HandlerList;
+ public static getHandlerList(): org.bukkit.event.HandlerList;
+ }
+ }
+ }
+ }
+}
diff --git a/packages/bukkit/src/typings/org.bukkit.event.inventory.InventoryType.SlotType.ts b/packages/bukkit/src/typings/org.bukkit.event.inventory.InventoryType.SlotType.ts
new file mode 100644
index 00000000..dda6b42c
--- /dev/null
+++ b/packages/bukkit/src/typings/org.bukkit.event.inventory.InventoryType.SlotType.ts
@@ -0,0 +1,21 @@
+declare namespace org {
+ namespace bukkit {
+ namespace event {
+ namespace inventory {
+ namespace InventoryType {
+ class SlotType {
+ public static RESULT: org.bukkit.event.inventory.InventoryType.SlotType;
+ public static CRAFTING: org.bukkit.event.inventory.InventoryType.SlotType;
+ public static ARMOR: org.bukkit.event.inventory.InventoryType.SlotType;
+ public static CONTAINER: org.bukkit.event.inventory.InventoryType.SlotType;
+ public static QUICKBAR: org.bukkit.event.inventory.InventoryType.SlotType;
+ public static OUTSIDE: org.bukkit.event.inventory.InventoryType.SlotType;
+ public static FUEL: org.bukkit.event.inventory.InventoryType.SlotType;
+ public static values(): org.bukkit.event.inventory.InventoryType.SlotType[];
+ public static valueOf(name: string): org.bukkit.event.inventory.InventoryType.SlotType;
+ }
+ }
+ }
+ }
+ }
+}
diff --git a/packages/bukkit/src/typings/org.bukkit.event.inventory.InventoryType.ts b/packages/bukkit/src/typings/org.bukkit.event.inventory.InventoryType.ts
new file mode 100644
index 00000000..68aa03d5
--- /dev/null
+++ b/packages/bukkit/src/typings/org.bukkit.event.inventory.InventoryType.ts
@@ -0,0 +1,43 @@
+declare namespace org {
+ namespace bukkit {
+ namespace event {
+ namespace inventory {
+ class InventoryType {
+ public static CHEST: org.bukkit.event.inventory.InventoryType;
+ public static DISPENSER: org.bukkit.event.inventory.InventoryType;
+ public static DROPPER: org.bukkit.event.inventory.InventoryType;
+ public static FURNACE: org.bukkit.event.inventory.InventoryType;
+ public static WORKBENCH: org.bukkit.event.inventory.InventoryType;
+ public static CRAFTING: org.bukkit.event.inventory.InventoryType;
+ public static ENCHANTING: org.bukkit.event.inventory.InventoryType;
+ public static BREWING: org.bukkit.event.inventory.InventoryType;
+ public static PLAYER: org.bukkit.event.inventory.InventoryType;
+ public static CREATIVE: org.bukkit.event.inventory.InventoryType;
+ public static MERCHANT: org.bukkit.event.inventory.InventoryType;
+ public static ENDER_CHEST: org.bukkit.event.inventory.InventoryType;
+ public static ANVIL: org.bukkit.event.inventory.InventoryType;
+ public static BEACON: org.bukkit.event.inventory.InventoryType;
+ public static HOPPER: org.bukkit.event.inventory.InventoryType;
+ public static SHULKER_BOX: org.bukkit.event.inventory.InventoryType;
+ public static BARREL: org.bukkit.event.inventory.InventoryType;
+ public static BLAST_FURNACE: org.bukkit.event.inventory.InventoryType;
+ public static LECTERN: org.bukkit.event.inventory.InventoryType;
+ public static SMOKER: org.bukkit.event.inventory.InventoryType;
+ public static LOOM: org.bukkit.event.inventory.InventoryType;
+ public static CARTOGRAPHY: org.bukkit.event.inventory.InventoryType;
+ public static GRINDSTONE: org.bukkit.event.inventory.InventoryType;
+ public static STONECUTTER: org.bukkit.event.inventory.InventoryType;
+ public static values(): org.bukkit.event.inventory.InventoryType[];
+ public static valueOf(name: string): org.bukkit.event.inventory.InventoryType;
+ public getDefaultSize(): number;
+ public getDefaultTitle(): string;
+ /**
+ * Denotes that this InventoryType can be created via the normal
+ * {@link org.bukkit.Bukkit#createInventory} methods.
+ */
+ public isCreatable(): boolean;
+ }
+ }
+ }
+ }
+}
diff --git a/packages/bukkit/src/typings/org.bukkit.event.inventory.PrepareAnvilEvent.ts b/packages/bukkit/src/typings/org.bukkit.event.inventory.PrepareAnvilEvent.ts
new file mode 100644
index 00000000..44d55c8e
--- /dev/null
+++ b/packages/bukkit/src/typings/org.bukkit.event.inventory.PrepareAnvilEvent.ts
@@ -0,0 +1,19 @@
+declare namespace org {
+ namespace bukkit {
+ namespace event {
+ namespace inventory {
+ class PrepareAnvilEvent {
+ constructor(inventory: org.bukkit.inventory.InventoryView, result: org.bukkit.inventory.ItemStack)
+ public getInventory(): org.bukkit.inventory.AnvilInventory;
+ /**
+ * Get result item, may be null.
+ */
+ public getResult(): org.bukkit.inventory.ItemStack;
+ public setResult(result: org.bukkit.inventory.ItemStack): void;
+ public getHandlers(): org.bukkit.event.HandlerList;
+ public static getHandlerList(): org.bukkit.event.HandlerList;
+ }
+ }
+ }
+ }
+}
diff --git a/packages/bukkit/src/typings/org.bukkit.event.inventory.PrepareItemCraftEvent.ts b/packages/bukkit/src/typings/org.bukkit.event.inventory.PrepareItemCraftEvent.ts
new file mode 100644
index 00000000..6ee41dec
--- /dev/null
+++ b/packages/bukkit/src/typings/org.bukkit.event.inventory.PrepareItemCraftEvent.ts
@@ -0,0 +1,25 @@
+declare namespace org {
+ namespace bukkit {
+ namespace event {
+ namespace inventory {
+ class PrepareItemCraftEvent {
+ constructor(what: org.bukkit.inventory.CraftingInventory, view: org.bukkit.inventory.InventoryView, isRepair: boolean)
+ /**
+ * Get the recipe that has been formed. If this event was triggered by a
+ * tool repair, this will be a temporary shapeless recipe representing the
+ * repair.
+ */
+ public getRecipe(): org.bukkit.inventory.Recipe;
+ public getInventory(): org.bukkit.inventory.CraftingInventory;
+ /**
+ * Check if this event was triggered by a tool repair operation rather
+ * than a crafting recipe.
+ */
+ public isRepair(): boolean;
+ public getHandlers(): org.bukkit.event.HandlerList;
+ public static getHandlerList(): org.bukkit.event.HandlerList;
+ }
+ }
+ }
+ }
+}
diff --git a/packages/bukkit/src/typings/org.bukkit.event.inventory.TradeSelectEvent.ts b/packages/bukkit/src/typings/org.bukkit.event.inventory.TradeSelectEvent.ts
new file mode 100644
index 00000000..87015172
--- /dev/null
+++ b/packages/bukkit/src/typings/org.bukkit.event.inventory.TradeSelectEvent.ts
@@ -0,0 +1,22 @@
+declare namespace org {
+ namespace bukkit {
+ namespace event {
+ namespace inventory {
+ class TradeSelectEvent {
+ constructor(transaction: org.bukkit.inventory.InventoryView, newIndex: number)
+ /**
+ * Used to get the index of the trade the player clicked on.
+ */
+ public getIndex(): number;
+ public getInventory(): org.bukkit.inventory.MerchantInventory;
+ /**
+ * Get the Merchant involved.
+ */
+ public getMerchant(): org.bukkit.inventory.Merchant;
+ public getHandlers(): org.bukkit.event.HandlerList;
+ public static getHandlerList(): org.bukkit.event.HandlerList;
+ }
+ }
+ }
+ }
+}
diff --git a/packages/bukkit/src/typings/org.bukkit.event.player.AsyncPlayerChatEvent.ts b/packages/bukkit/src/typings/org.bukkit.event.player.AsyncPlayerChatEvent.ts
new file mode 100644
index 00000000..6d8bf9a3
--- /dev/null
+++ b/packages/bukkit/src/typings/org.bukkit.event.player.AsyncPlayerChatEvent.ts
@@ -0,0 +1,53 @@
+declare namespace org {
+ namespace bukkit {
+ namespace event {
+ namespace player {
+ class AsyncPlayerChatEvent {
+ constructor(async: boolean, who: org.bukkit.entity.Player, message: string, players: any[] /*java.util.Set*/)
+ /**
+ * Gets the message that the player is attempting to send. This message
+ * will be used with {@link #getFormat()}.
+ */
+ public getMessage(): string;
+ /**
+ * Sets the message that the player will send. This message will be used
+ * with {@link #getFormat()}.
+ */
+ public setMessage(message: string): void;
+ /**
+ * Gets the format to use to display this chat message.
+ *
+ * When this event finishes execution, the first format parameter is the
+ * {@link Player#getDisplayName()} and the second parameter is {@link
+ * #getMessage()}
+ */
+ public getFormat(): string;
+ /**
+ * Sets the format to use to display this chat message.
+ *
+ * When this event finishes execution, the first format parameter is the
+ * {@link Player#getDisplayName()} and the second parameter is {@link
+ * #getMessage()}
+ */
+ public setFormat(format: string): void;
+ /**
+ * Gets a set of recipients that this chat message will be displayed to.
+ *
+ * The set returned is not guaranteed to be mutable and may auto-populate
+ * on access. Any listener accessing the returned set should be aware that
+ * it may reduce performance for a lazy set implementation.
+ *
+ * Listeners should be aware that modifying the list may throw {@link
+ * UnsupportedOperationException} if the event caller provides an
+ * unmodifiable set.
+ */
+ public getRecipients(): any[] /*java.util.Set*/;
+ public isCancelled(): boolean;
+ public setCancelled(cancel: boolean): void;
+ public getHandlers(): org.bukkit.event.HandlerList;
+ public static getHandlerList(): org.bukkit.event.HandlerList;
+ }
+ }
+ }
+ }
+}
diff --git a/packages/bukkit/src/typings/org.bukkit.event.player.AsyncPlayerPreLoginEvent.Result.ts b/packages/bukkit/src/typings/org.bukkit.event.player.AsyncPlayerPreLoginEvent.Result.ts
new file mode 100644
index 00000000..31765386
--- /dev/null
+++ b/packages/bukkit/src/typings/org.bukkit.event.player.AsyncPlayerPreLoginEvent.Result.ts
@@ -0,0 +1,19 @@
+declare namespace org {
+ namespace bukkit {
+ namespace event {
+ namespace player {
+ namespace AsyncPlayerPreLoginEvent {
+ class Result {
+ public static ALLOWED: org.bukkit.event.player.AsyncPlayerPreLoginEvent.Result;
+ public static KICK_FULL: org.bukkit.event.player.AsyncPlayerPreLoginEvent.Result;
+ public static KICK_BANNED: org.bukkit.event.player.AsyncPlayerPreLoginEvent.Result;
+ public static KICK_WHITELIST: org.bukkit.event.player.AsyncPlayerPreLoginEvent.Result;
+ public static KICK_OTHER: org.bukkit.event.player.AsyncPlayerPreLoginEvent.Result;
+ public static values(): org.bukkit.event.player.AsyncPlayerPreLoginEvent.Result[];
+ public static valueOf(name: string): org.bukkit.event.player.AsyncPlayerPreLoginEvent.Result;
+ }
+ }
+ }
+ }
+ }
+}
diff --git a/packages/bukkit/src/typings/org.bukkit.event.player.AsyncPlayerPreLoginEvent.ts b/packages/bukkit/src/typings/org.bukkit.event.player.AsyncPlayerPreLoginEvent.ts
new file mode 100644
index 00000000..c2d1d369
--- /dev/null
+++ b/packages/bukkit/src/typings/org.bukkit.event.player.AsyncPlayerPreLoginEvent.ts
@@ -0,0 +1,63 @@
+declare namespace org {
+ namespace bukkit {
+ namespace event {
+ namespace player {
+ class AsyncPlayerPreLoginEvent {
+ constructor(name: string, ipAddress: any)
+ constructor(name: string, ipAddress: any, uniqueId: any)
+ /**
+ * Gets the current result of the login, as an enum
+ */
+ public getLoginResult(): org.bukkit.event.player.AsyncPlayerPreLoginEvent.Result;
+ /**
+ * Gets the current result of the login, as an enum
+ */
+ public getResult(): org.bukkit.event.player.PlayerPreLoginEvent.Result;
+ /**
+ * Sets the new result of the login, as an enum
+ */
+ public setLoginResult(result: org.bukkit.event.player.AsyncPlayerPreLoginEvent.Result): void;
+ /**
+ * Sets the new result of the login, as an enum
+ */
+ public setResult(result: org.bukkit.event.player.PlayerPreLoginEvent.Result): void;
+ /**
+ * Gets the current kick message that will be used if getResult() !=
+ * Result.ALLOWED
+ */
+ public getKickMessage(): string;
+ /**
+ * Sets the kick message to display if getResult() != Result.ALLOWED
+ */
+ public setKickMessage(message: string): void;
+ /**
+ * Allows the player to log in
+ */
+ public allow(): void;
+ /**
+ * Disallows the player from logging in, with the given reason
+ */
+ public disallow(result: org.bukkit.event.player.AsyncPlayerPreLoginEvent.Result, message: string): void;
+ /**
+ * Disallows the player from logging in, with the given reason
+ */
+ public disallow(result: org.bukkit.event.player.PlayerPreLoginEvent.Result, message: string): void;
+ /**
+ * Gets the player's name.
+ */
+ public getName(): string;
+ /**
+ * Gets the player IP address.
+ */
+ public getAddress(): any;
+ /**
+ * Gets the player's unique ID.
+ */
+ public getUniqueId(): any;
+ public getHandlers(): org.bukkit.event.HandlerList;
+ public static getHandlerList(): org.bukkit.event.HandlerList;
+ }
+ }
+ }
+ }
+}
diff --git a/packages/bukkit/src/typings/org.bukkit.event.player.PlayerAchievementAwardedEvent.ts b/packages/bukkit/src/typings/org.bukkit.event.player.PlayerAchievementAwardedEvent.ts
new file mode 100644
index 00000000..003dfd9a
--- /dev/null
+++ b/packages/bukkit/src/typings/org.bukkit.event.player.PlayerAchievementAwardedEvent.ts
@@ -0,0 +1,19 @@
+declare namespace org {
+ namespace bukkit {
+ namespace event {
+ namespace player {
+ class PlayerAchievementAwardedEvent {
+ constructor(player: org.bukkit.entity.Player, achievement: org.bukkit.Achievement)
+ /**
+ * Gets the Achievement being awarded.
+ */
+ public getAchievement(): org.bukkit.Achievement;
+ public isCancelled(): boolean;
+ public setCancelled(cancel: boolean): void;
+ public getHandlers(): org.bukkit.event.HandlerList;
+ public static getHandlerList(): org.bukkit.event.HandlerList;
+ }
+ }
+ }
+ }
+}
diff --git a/packages/bukkit/src/typings/org.bukkit.event.player.PlayerAdvancementDoneEvent.ts b/packages/bukkit/src/typings/org.bukkit.event.player.PlayerAdvancementDoneEvent.ts
new file mode 100644
index 00000000..b4e3424e
--- /dev/null
+++ b/packages/bukkit/src/typings/org.bukkit.event.player.PlayerAdvancementDoneEvent.ts
@@ -0,0 +1,17 @@
+declare namespace org {
+ namespace bukkit {
+ namespace event {
+ namespace player {
+ class PlayerAdvancementDoneEvent {
+ constructor(who: org.bukkit.entity.Player, advancement: org.bukkit.advancement.Advancement)
+ /**
+ * Get the advancement which has been completed.
+ */
+ public getAdvancement(): org.bukkit.advancement.Advancement;
+ public getHandlers(): org.bukkit.event.HandlerList;
+ public static getHandlerList(): org.bukkit.event.HandlerList;
+ }
+ }
+ }
+ }
+}
diff --git a/packages/bukkit/src/typings/org.bukkit.event.player.PlayerAnimationEvent.ts b/packages/bukkit/src/typings/org.bukkit.event.player.PlayerAnimationEvent.ts
new file mode 100644
index 00000000..383f6c78
--- /dev/null
+++ b/packages/bukkit/src/typings/org.bukkit.event.player.PlayerAnimationEvent.ts
@@ -0,0 +1,22 @@
+declare namespace org {
+ namespace bukkit {
+ namespace event {
+ namespace player {
+ class PlayerAnimationEvent {
+ /**
+ * Construct a new PlayerAnimation event
+ */
+ constructor(player: org.bukkit.entity.Player)
+ /**
+ * Get the type of this animation event
+ */
+ public getAnimationType(): org.bukkit.event.player.PlayerAnimationType;
+ public isCancelled(): boolean;
+ public setCancelled(cancel: boolean): void;
+ public getHandlers(): org.bukkit.event.HandlerList;
+ public static getHandlerList(): org.bukkit.event.HandlerList;
+ }
+ }
+ }
+ }
+}
diff --git a/packages/bukkit/src/typings/org.bukkit.event.player.PlayerAnimationType.ts b/packages/bukkit/src/typings/org.bukkit.event.player.PlayerAnimationType.ts
new file mode 100644
index 00000000..79fe79ea
--- /dev/null
+++ b/packages/bukkit/src/typings/org.bukkit.event.player.PlayerAnimationType.ts
@@ -0,0 +1,13 @@
+declare namespace org {
+ namespace bukkit {
+ namespace event {
+ namespace player {
+ class PlayerAnimationType {
+ public static ARM_SWING: org.bukkit.event.player.PlayerAnimationType;
+ public static values(): org.bukkit.event.player.PlayerAnimationType[];
+ public static valueOf(name: string): org.bukkit.event.player.PlayerAnimationType;
+ }
+ }
+ }
+ }
+}
diff --git a/packages/bukkit/src/typings/org.bukkit.event.player.PlayerArmorStandManipulateEvent.ts b/packages/bukkit/src/typings/org.bukkit.event.player.PlayerArmorStandManipulateEvent.ts
new file mode 100644
index 00000000..b36dda5b
--- /dev/null
+++ b/packages/bukkit/src/typings/org.bukkit.event.player.PlayerArmorStandManipulateEvent.ts
@@ -0,0 +1,36 @@
+declare namespace org {
+ namespace bukkit {
+ namespace event {
+ namespace player {
+ class PlayerArmorStandManipulateEvent {
+ constructor(who: org.bukkit.entity.Player, clickedEntity: org.bukkit.entity.ArmorStand, playerItem: org.bukkit.inventory.ItemStack, armorStandItem: org.bukkit.inventory.ItemStack, slot: org.bukkit.inventory.EquipmentSlot)
+ /**
+ * Returns the item held by the player. If this Item is null and the armor stand Item is also null,
+ * there will be no transaction between the player and the armor stand.
+ * If the Player's item is null, but the armor stand item is not then the player will obtain the armor stand item.
+ * In the case that the Player's item is not null, but the armor stand item is null, the players item will be placed on the armor stand.
+ * If both items are not null, the items will be swapped.
+ * In the case that the event is cancelled the original items will remain the same.
+ */
+ public getPlayerItem(): org.bukkit.inventory.ItemStack;
+ /**
+ * Returns the item held by the armor stand.
+ * If this Item is null and the player's Item is also null, there will be no transaction between the player and the armor stand.
+ * If the Player's item is null, but the armor stand item is not then the player will obtain the armor stand item.
+ * In the case that the Player's item is not null, but the armor stand item is null, the players item will be placed on the armor stand.
+ * If both items are not null, the items will be swapped.
+ * In the case that the event is cancelled the original items will remain the same.
+ */
+ public getArmorStandItem(): org.bukkit.inventory.ItemStack;
+ /**
+ * Returns the raw item slot of the armor stand in this event.
+ */
+ public getSlot(): org.bukkit.inventory.EquipmentSlot;
+ public getRightClicked(): org.bukkit.entity.ArmorStand;
+ public getHandlers(): org.bukkit.event.HandlerList;
+ public static getHandlerList(): org.bukkit.event.HandlerList;
+ }
+ }
+ }
+ }
+}
diff --git a/packages/bukkit/src/typings/org.bukkit.event.player.PlayerBedEnterEvent.BedEnterResult.ts b/packages/bukkit/src/typings/org.bukkit.event.player.PlayerBedEnterEvent.BedEnterResult.ts
new file mode 100644
index 00000000..26ef1094
--- /dev/null
+++ b/packages/bukkit/src/typings/org.bukkit.event.player.PlayerBedEnterEvent.BedEnterResult.ts
@@ -0,0 +1,20 @@
+declare namespace org {
+ namespace bukkit {
+ namespace event {
+ namespace player {
+ namespace PlayerBedEnterEvent {
+ class BedEnterResult {
+ public static OK: org.bukkit.event.player.PlayerBedEnterEvent.BedEnterResult;
+ public static NOT_POSSIBLE_HERE: org.bukkit.event.player.PlayerBedEnterEvent.BedEnterResult;
+ public static NOT_POSSIBLE_NOW: org.bukkit.event.player.PlayerBedEnterEvent.BedEnterResult;
+ public static TOO_FAR_AWAY: org.bukkit.event.player.PlayerBedEnterEvent.BedEnterResult;
+ public static NOT_SAFE: org.bukkit.event.player.PlayerBedEnterEvent.BedEnterResult;
+ public static OTHER_PROBLEM: org.bukkit.event.player.PlayerBedEnterEvent.BedEnterResult;
+ public static values(): org.bukkit.event.player.PlayerBedEnterEvent.BedEnterResult[];
+ public static valueOf(name: string): org.bukkit.event.player.PlayerBedEnterEvent.BedEnterResult;
+ }
+ }
+ }
+ }
+ }
+}
diff --git a/packages/bukkit/src/typings/org.bukkit.event.player.PlayerBedEnterEvent.ts b/packages/bukkit/src/typings/org.bukkit.event.player.PlayerBedEnterEvent.ts
new file mode 100644
index 00000000..d20196ea
--- /dev/null
+++ b/packages/bukkit/src/typings/org.bukkit.event.player.PlayerBedEnterEvent.ts
@@ -0,0 +1,61 @@
+declare namespace org {
+ namespace bukkit {
+ namespace event {
+ namespace player {
+ class PlayerBedEnterEvent {
+ constructor(who: org.bukkit.entity.Player, bed: org.bukkit.block.Block, bedEnterResult: org.bukkit.event.player.PlayerBedEnterEvent.BedEnterResult)
+ constructor(who: org.bukkit.entity.Player, bed: org.bukkit.block.Block)
+ /**
+ * This describes the default outcome of this event.
+ */
+ public getBedEnterResult(): org.bukkit.event.player.PlayerBedEnterEvent.BedEnterResult;
+ /**
+ * This controls the action to take with the bed that was clicked on.
+ *
+ * In case of {@link org.bukkit.event.Event.Result#DEFAULT}, the default outcome is described by
+ * {@link #getBedEnterResult()}.
+ */
+ public useBed(): org.bukkit.event.Event.Result;
+ /**
+ * Sets the action to take with the interacted bed.
+ *
+ * {@link org.bukkit.event.Event.Result#ALLOW} will result in the player sleeping, regardless of
+ * the default outcome described by {@link #getBedEnterResult()}.
+ *
+ * Canceling the event has the same effect as setting {@link #useBed()} to
+ * {@link org.bukkit.event.Event.Result#DENY}.
+ *
+ * For backwards compatibility reasons this also returns true if
+ * {@link #useBed()} is {@link org.bukkit.event.Event.Result#DEFAULT} and the
+ * {@link #getBedEnterResult() default action} is to prevent bed entering.
+ */
+ public isCancelled(): boolean;
+ /**
+ * Sets the cancellation state of this event. A canceled event will not be
+ * executed in the server, but will still pass to other plugins.
+ *
+ * Canceling this event will prevent use of the bed.
+ */
+ public setCancelled(cancel: boolean): void;
+ /**
+ * Returns the bed block involved in this event.
+ */
+ public getBed(): org.bukkit.block.Block;
+ public getHandlers(): org.bukkit.event.HandlerList;
+ public static getHandlerList(): org.bukkit.event.HandlerList;
+ }
+ }
+ }
+ }
+}
diff --git a/packages/bukkit/src/typings/org.bukkit.event.player.PlayerBedLeaveEvent.ts b/packages/bukkit/src/typings/org.bukkit.event.player.PlayerBedLeaveEvent.ts
new file mode 100644
index 00000000..a5213ec6
--- /dev/null
+++ b/packages/bukkit/src/typings/org.bukkit.event.player.PlayerBedLeaveEvent.ts
@@ -0,0 +1,39 @@
+declare namespace org {
+ namespace bukkit {
+ namespace event {
+ namespace player {
+ class PlayerBedLeaveEvent {
+ constructor(who: org.bukkit.entity.Player, bed: org.bukkit.block.Block, setBedSpawn: boolean)
+ /**
+ * Returns the bed block involved in this event.
+ */
+ public getBed(): org.bukkit.block.Block;
+ /**
+ * Get if this event should set the new spawn location for the
+ * {@link Player}.
+ *
+ * The token is the substring starting with the character after the last
+ * space in the message.
+ */
+ public getLastToken(): string;
+ /**
+ * This is the collection of completions for this event.
+ */
+ public getTabCompletions(): any[] /*java.util.Collection*/;
+ public getHandlers(): org.bukkit.event.HandlerList;
+ public static getHandlerList(): org.bukkit.event.HandlerList;
+ }
+ }
+ }
+ }
+}
diff --git a/packages/bukkit/src/typings/org.bukkit.event.player.PlayerCommandPreprocessEvent.ts b/packages/bukkit/src/typings/org.bukkit.event.player.PlayerCommandPreprocessEvent.ts
new file mode 100644
index 00000000..51b8cda1
--- /dev/null
+++ b/packages/bukkit/src/typings/org.bukkit.event.player.PlayerCommandPreprocessEvent.ts
@@ -0,0 +1,45 @@
+declare namespace org {
+ namespace bukkit {
+ namespace event {
+ namespace player {
+ class PlayerCommandPreprocessEvent {
+ constructor(player: org.bukkit.entity.Player, message: string)
+ constructor(player: org.bukkit.entity.Player, message: string, recipients: any[] /*java.util.Set*/)
+ public isCancelled(): boolean;
+ public setCancelled(cancel: boolean): void;
+ /**
+ * Gets the command that the player is attempting to send.
+ *
+ * All commands begin with a special character; implementations do not
+ * consider the first character when executing the content.
+ */
+ public getMessage(): string;
+ /**
+ * Sets the command that the player will send.
+ *
+ * All commands begin with a special character; implementations do not
+ * consider the first character when executing the content.
+ */
+ public setMessage(command: string): void;
+ /**
+ * Sets the player that this command will be executed as.
+ */
+ public setPlayer(player: org.bukkit.entity.Player): void;
+ /**
+ * Gets a set of recipients that this chat message will be displayed to.
+ *
+ * The set returned is not guaranteed to be mutable and may auto-populate
+ * on access. Any listener accessing the returned set should be aware that
+ * it may reduce performance for a lazy set implementation. Listeners
+ * should be aware that modifying the list may throw {@link
+ * UnsupportedOperationException} if the event caller provides an
+ * unmodifiable set.
+ */
+ public getRecipients(): any[] /*java.util.Set*/;
+ public getHandlers(): org.bukkit.event.HandlerList;
+ public static getHandlerList(): org.bukkit.event.HandlerList;
+ }
+ }
+ }
+ }
+}
diff --git a/packages/bukkit/src/typings/org.bukkit.event.player.PlayerCommandSendEvent.ts b/packages/bukkit/src/typings/org.bukkit.event.player.PlayerCommandSendEvent.ts
new file mode 100644
index 00000000..b1653387
--- /dev/null
+++ b/packages/bukkit/src/typings/org.bukkit.event.player.PlayerCommandSendEvent.ts
@@ -0,0 +1,20 @@
+declare namespace org {
+ namespace bukkit {
+ namespace event {
+ namespace player {
+ class PlayerCommandSendEvent {
+ constructor(player: org.bukkit.entity.Player, commands: any[] /*java.util.Collection*/)
+ /**
+ * Returns a mutable collection of all top level commands to be sent.
+ *
+ * Note: this is a copy of the book meta. You cannot use this object to
+ * change the existing book meta.
+ */
+ public getPreviousBookMeta(): org.bukkit.inventory.meta.BookMeta;
+ /**
+ * Gets the book meta that the player is attempting to add to the book.
+ *
+ * Note: this is a copy of the proposed new book meta. Use {@link
+ * #setNewBookMeta(BookMeta)} to change what will actually be added to the
+ * book.
+ */
+ public getNewBookMeta(): org.bukkit.inventory.meta.BookMeta;
+ /**
+ * Gets the inventory slot number for the book item that triggered this
+ * event.
+ *
+ * This is a slot number on the player's hotbar in the range 0-8, or -1 for
+ * off hand.
+ */
+ public getSlot(): number;
+ /**
+ * Sets the book meta that will actually be added to the book.
+ */
+ public setNewBookMeta(newBookMeta: org.bukkit.inventory.meta.BookMeta): void;
+ /**
+ * Gets whether or not the book is being signed. If a book is signed the
+ * Material changes from BOOK_AND_QUILL to WRITTEN_BOOK.
+ */
+ public isSigning(): boolean;
+ /**
+ * Sets whether or not the book is being signed. If a book is signed the
+ * Material changes from BOOK_AND_QUILL to WRITTEN_BOOK.
+ */
+ public setSigning(signing: boolean): void;
+ public getHandlers(): org.bukkit.event.HandlerList;
+ public static getHandlerList(): org.bukkit.event.HandlerList;
+ public isCancelled(): boolean;
+ public setCancelled(cancel: boolean): void;
+ }
+ }
+ }
+ }
+}
diff --git a/packages/bukkit/src/typings/org.bukkit.event.player.PlayerEggThrowEvent.ts b/packages/bukkit/src/typings/org.bukkit.event.player.PlayerEggThrowEvent.ts
new file mode 100644
index 00000000..67e2197c
--- /dev/null
+++ b/packages/bukkit/src/typings/org.bukkit.event.player.PlayerEggThrowEvent.ts
@@ -0,0 +1,51 @@
+declare namespace org {
+ namespace bukkit {
+ namespace event {
+ namespace player {
+ class PlayerEggThrowEvent {
+ constructor(player: org.bukkit.entity.Player, egg: org.bukkit.entity.Egg, hatching: boolean, numHatches: number, hatchingType: org.bukkit.entity.EntityType)
+ /**
+ * Gets the egg involved in this event.
+ */
+ public getEgg(): org.bukkit.entity.Egg;
+ /**
+ * Gets whether the egg is hatching or not. Will be what the server
+ * would've done without interaction.
+ */
+ public isHatching(): boolean;
+ /**
+ * Sets whether the egg will hatch or not.
+ */
+ public setHatching(hatching: boolean): void;
+ /**
+ * Get the type of the mob being hatched (EntityType.CHICKEN by default)
+ */
+ public getHatchingType(): org.bukkit.entity.EntityType;
+ /**
+ * Change the type of mob being hatched by the egg
+ */
+ public setHatchingType(hatchType: org.bukkit.entity.EntityType): void;
+ /**
+ * Get the number of mob hatches from the egg. By default the number will
+ * be the number the server would've done
+ *
+ * The boolean hatching will override this number. Ie. If hatching =
+ * false, this number will not matter
+ */
+ public setNumHatches(numHatches: number): void;
+ public getHandlers(): org.bukkit.event.HandlerList;
+ public static getHandlerList(): org.bukkit.event.HandlerList;
+ }
+ }
+ }
+ }
+}
diff --git a/packages/bukkit/src/typings/org.bukkit.event.player.PlayerEvent.ts b/packages/bukkit/src/typings/org.bukkit.event.player.PlayerEvent.ts
new file mode 100644
index 00000000..69b19f45
--- /dev/null
+++ b/packages/bukkit/src/typings/org.bukkit.event.player.PlayerEvent.ts
@@ -0,0 +1,16 @@
+declare namespace org {
+ namespace bukkit {
+ namespace event {
+ namespace player {
+ abstract class PlayerEvent {
+ constructor(who: org.bukkit.entity.Player)
+ protected player: org.bukkit.entity.Player;
+ /**
+ * Returns the player involved in this event
+ */
+ public getPlayer(): org.bukkit.entity.Player;
+ }
+ }
+ }
+ }
+}
diff --git a/packages/bukkit/src/typings/org.bukkit.event.player.PlayerExpChangeEvent.ts b/packages/bukkit/src/typings/org.bukkit.event.player.PlayerExpChangeEvent.ts
new file mode 100644
index 00000000..1c1a0d22
--- /dev/null
+++ b/packages/bukkit/src/typings/org.bukkit.event.player.PlayerExpChangeEvent.ts
@@ -0,0 +1,21 @@
+declare namespace org {
+ namespace bukkit {
+ namespace event {
+ namespace player {
+ class PlayerExpChangeEvent {
+ constructor(player: org.bukkit.entity.Player, expAmount: number)
+ /**
+ * Get the amount of experience the player will receive
+ */
+ public getAmount(): number;
+ /**
+ * Set the amount of experience the player will receive
+ */
+ public setAmount(amount: number): void;
+ public getHandlers(): org.bukkit.event.HandlerList;
+ public static getHandlerList(): org.bukkit.event.HandlerList;
+ }
+ }
+ }
+ }
+}
diff --git a/packages/bukkit/src/typings/org.bukkit.event.player.PlayerFishEvent.State.ts b/packages/bukkit/src/typings/org.bukkit.event.player.PlayerFishEvent.State.ts
new file mode 100644
index 00000000..7ee635c7
--- /dev/null
+++ b/packages/bukkit/src/typings/org.bukkit.event.player.PlayerFishEvent.State.ts
@@ -0,0 +1,21 @@
+declare namespace org {
+ namespace bukkit {
+ namespace event {
+ namespace player {
+ namespace PlayerFishEvent {
+ class State {
+ public static FISHING: org.bukkit.event.player.PlayerFishEvent.State;
+ public static CAUGHT_FISH: org.bukkit.event.player.PlayerFishEvent.State;
+ public static CAUGHT_ENTITY: org.bukkit.event.player.PlayerFishEvent.State;
+ public static IN_GROUND: org.bukkit.event.player.PlayerFishEvent.State;
+ public static FAILED_ATTEMPT: org.bukkit.event.player.PlayerFishEvent.State;
+ public static REEL_IN: org.bukkit.event.player.PlayerFishEvent.State;
+ public static BITE: org.bukkit.event.player.PlayerFishEvent.State;
+ public static values(): org.bukkit.event.player.PlayerFishEvent.State[];
+ public static valueOf(name: string): org.bukkit.event.player.PlayerFishEvent.State;
+ }
+ }
+ }
+ }
+ }
+}
diff --git a/packages/bukkit/src/typings/org.bukkit.event.player.PlayerFishEvent.ts b/packages/bukkit/src/typings/org.bukkit.event.player.PlayerFishEvent.ts
new file mode 100644
index 00000000..15bf00ef
--- /dev/null
+++ b/packages/bukkit/src/typings/org.bukkit.event.player.PlayerFishEvent.ts
@@ -0,0 +1,44 @@
+declare namespace org {
+ namespace bukkit {
+ namespace event {
+ namespace player {
+ class PlayerFishEvent {
+ constructor(player: org.bukkit.entity.Player, entity: org.bukkit.entity.Entity, hookEntity: org.bukkit.entity.FishHook, state: org.bukkit.event.player.PlayerFishEvent.State)
+ /**
+ * Gets the entity caught by the player.
+ *
+ * If player has fished successfully, the result may be cast to {@link
+ * org.bukkit.entity.Item}.
+ */
+ public getCaught(): org.bukkit.entity.Entity;
+ /**
+ * Gets the fishing hook.
+ */
+ public getHook(): org.bukkit.entity.FishHook;
+ public isCancelled(): boolean;
+ public setCancelled(cancel: boolean): void;
+ /**
+ * Gets the amount of experience received when fishing.
+ *
+ * Note: This value has no default effect unless the event state is {@link
+ * State#CAUGHT_FISH}.
+ */
+ public getExpToDrop(): number;
+ /**
+ * Sets the amount of experience received when fishing.
+ *
+ * Note: This value has no default effect unless the event state is {@link
+ * State#CAUGHT_FISH}.
+ */
+ public setExpToDrop(amount: number): void;
+ /**
+ * Gets the state of the fishing
+ */
+ public getState(): org.bukkit.event.player.PlayerFishEvent.State;
+ public getHandlers(): org.bukkit.event.HandlerList;
+ public static getHandlerList(): org.bukkit.event.HandlerList;
+ }
+ }
+ }
+ }
+}
diff --git a/packages/bukkit/src/typings/org.bukkit.event.player.PlayerGameModeChangeEvent.ts b/packages/bukkit/src/typings/org.bukkit.event.player.PlayerGameModeChangeEvent.ts
new file mode 100644
index 00000000..388e4d2d
--- /dev/null
+++ b/packages/bukkit/src/typings/org.bukkit.event.player.PlayerGameModeChangeEvent.ts
@@ -0,0 +1,19 @@
+declare namespace org {
+ namespace bukkit {
+ namespace event {
+ namespace player {
+ class PlayerGameModeChangeEvent {
+ constructor(player: org.bukkit.entity.Player, newGameMode: org.bukkit.GameMode)
+ public isCancelled(): boolean;
+ public setCancelled(cancel: boolean): void;
+ /**
+ * Gets the GameMode the player is switched to.
+ */
+ public getNewGameMode(): org.bukkit.GameMode;
+ public getHandlers(): org.bukkit.event.HandlerList;
+ public static getHandlerList(): org.bukkit.event.HandlerList;
+ }
+ }
+ }
+ }
+}
diff --git a/packages/bukkit/src/typings/org.bukkit.event.player.PlayerInteractAtEntityEvent.ts b/packages/bukkit/src/typings/org.bukkit.event.player.PlayerInteractAtEntityEvent.ts
new file mode 100644
index 00000000..1ae3b14b
--- /dev/null
+++ b/packages/bukkit/src/typings/org.bukkit.event.player.PlayerInteractAtEntityEvent.ts
@@ -0,0 +1,15 @@
+declare namespace org {
+ namespace bukkit {
+ namespace event {
+ namespace player {
+ class PlayerInteractAtEntityEvent {
+ constructor(who: org.bukkit.entity.Player, clickedEntity: org.bukkit.entity.Entity, position: org.bukkit.util.Vector)
+ constructor(who: org.bukkit.entity.Player, clickedEntity: org.bukkit.entity.Entity, position: org.bukkit.util.Vector, hand: org.bukkit.inventory.EquipmentSlot)
+ public getClickedPosition(): org.bukkit.util.Vector;
+ public getHandlers(): org.bukkit.event.HandlerList;
+ public static getHandlerList(): org.bukkit.event.HandlerList;
+ }
+ }
+ }
+ }
+}
diff --git a/packages/bukkit/src/typings/org.bukkit.event.player.PlayerInteractEntityEvent.ts b/packages/bukkit/src/typings/org.bukkit.event.player.PlayerInteractEntityEvent.ts
new file mode 100644
index 00000000..3a5d658d
--- /dev/null
+++ b/packages/bukkit/src/typings/org.bukkit.event.player.PlayerInteractEntityEvent.ts
@@ -0,0 +1,25 @@
+declare namespace org {
+ namespace bukkit {
+ namespace event {
+ namespace player {
+ class PlayerInteractEntityEvent {
+ constructor(who: org.bukkit.entity.Player, clickedEntity: org.bukkit.entity.Entity)
+ constructor(who: org.bukkit.entity.Player, clickedEntity: org.bukkit.entity.Entity, hand: org.bukkit.inventory.EquipmentSlot)
+ protected clickedEntity: org.bukkit.entity.Entity;
+ public isCancelled(): boolean;
+ public setCancelled(cancel: boolean): void;
+ /**
+ * Gets the entity that was right-clicked by the player.
+ */
+ public getRightClicked(): org.bukkit.entity.Entity;
+ /**
+ * The hand used to perform this interaction.
+ */
+ public getHand(): org.bukkit.inventory.EquipmentSlot;
+ public getHandlers(): org.bukkit.event.HandlerList;
+ public static getHandlerList(): org.bukkit.event.HandlerList;
+ }
+ }
+ }
+ }
+}
diff --git a/packages/bukkit/src/typings/org.bukkit.event.player.PlayerInteractEvent.ts b/packages/bukkit/src/typings/org.bukkit.event.player.PlayerInteractEvent.ts
new file mode 100644
index 00000000..2afc85e0
--- /dev/null
+++ b/packages/bukkit/src/typings/org.bukkit.event.player.PlayerInteractEvent.ts
@@ -0,0 +1,86 @@
+declare namespace org {
+ namespace bukkit {
+ namespace event {
+ namespace player {
+ class PlayerInteractEvent {
+ constructor(who: org.bukkit.entity.Player, action: org.bukkit.event.block.Action, item: org.bukkit.inventory.ItemStack, clickedBlock: org.bukkit.block.Block, clickedFace: org.bukkit.block.BlockFace)
+ constructor(who: org.bukkit.entity.Player, action: org.bukkit.event.block.Action, item: org.bukkit.inventory.ItemStack, clickedBlock: org.bukkit.block.Block, clickedFace: org.bukkit.block.BlockFace, hand: org.bukkit.inventory.EquipmentSlot)
+ protected item: org.bukkit.inventory.ItemStack;
+ protected action: org.bukkit.event.block.Action;
+ protected blockClicked: org.bukkit.block.Block;
+ protected blockFace: org.bukkit.block.BlockFace;
+ /**
+ * Returns the action type
+ */
+ public getAction(): org.bukkit.event.block.Action;
+ /**
+ * Gets the cancellation state of this event. Set to true if you want to
+ * prevent buckets from placing water and so forth
+ */
+ public isCancelled(): boolean;
+ /**
+ * Sets the cancellation state of this event. A canceled event will not be
+ * executed in the server, but will still pass to other plugins
+ *
+ * Canceling this event will prevent use of food (player won't lose the
+ * food item), prevent bows/snowballs/eggs from firing, etc. (player won't
+ * lose the ammo)
+ */
+ public setCancelled(cancel: boolean): void;
+ /**
+ * Returns the item in hand represented by this event
+ */
+ public getItem(): org.bukkit.inventory.ItemStack;
+ /**
+ * Convenience method. Returns the material of the item represented by
+ * this event
+ */
+ public getMaterial(): org.bukkit.Material;
+ /**
+ * Check if this event involved a block
+ */
+ public hasBlock(): boolean;
+ /**
+ * Check if this event involved an item
+ */
+ public hasItem(): boolean;
+ /**
+ * Convenience method to inform the user whether this was a block
+ * placement event.
+ */
+ public isBlockInHand(): boolean;
+ /**
+ * Returns the clicked block
+ */
+ public getClickedBlock(): org.bukkit.block.Block;
+ /**
+ * Returns the face of the block that was clicked
+ */
+ public getBlockFace(): org.bukkit.block.BlockFace;
+ /**
+ * This controls the action to take with the block (if any) that was
+ * clicked on. This event gets processed for all blocks, but most don't
+ * have a default action
+ */
+ public useInteractedBlock(): org.bukkit.event.Event.Result;
+ public setUseInteractedBlock(useInteractedBlock: org.bukkit.event.Event.Result): void;
+ /**
+ * This controls the action to take with the item the player is holding.
+ * This includes both blocks and items (such as flint and steel or
+ * records). When this is set to default, it will be allowed if no action
+ * is taken on the interacted block.
+ */
+ public useItemInHand(): org.bukkit.event.Event.Result;
+ public setUseItemInHand(useItemInHand: org.bukkit.event.Event.Result): void;
+ /**
+ * The hand used to perform this interaction. May be null in the case of
+ * {@link Action#PHYSICAL}.
+ */
+ public getHand(): org.bukkit.inventory.EquipmentSlot;
+ public getHandlers(): org.bukkit.event.HandlerList;
+ public static getHandlerList(): org.bukkit.event.HandlerList;
+ }
+ }
+ }
+ }
+}
diff --git a/packages/bukkit/src/typings/org.bukkit.event.player.PlayerItemBreakEvent.ts b/packages/bukkit/src/typings/org.bukkit.event.player.PlayerItemBreakEvent.ts
new file mode 100644
index 00000000..faf4afaf
--- /dev/null
+++ b/packages/bukkit/src/typings/org.bukkit.event.player.PlayerItemBreakEvent.ts
@@ -0,0 +1,17 @@
+declare namespace org {
+ namespace bukkit {
+ namespace event {
+ namespace player {
+ class PlayerItemBreakEvent {
+ constructor(player: org.bukkit.entity.Player, brokenItem: org.bukkit.inventory.ItemStack)
+ /**
+ * Gets the item that broke
+ */
+ public getBrokenItem(): org.bukkit.inventory.ItemStack;
+ public getHandlers(): org.bukkit.event.HandlerList;
+ public static getHandlerList(): org.bukkit.event.HandlerList;
+ }
+ }
+ }
+ }
+}
diff --git a/packages/bukkit/src/typings/org.bukkit.event.player.PlayerItemConsumeEvent.ts b/packages/bukkit/src/typings/org.bukkit.event.player.PlayerItemConsumeEvent.ts
new file mode 100644
index 00000000..c9b8fda6
--- /dev/null
+++ b/packages/bukkit/src/typings/org.bukkit.event.player.PlayerItemConsumeEvent.ts
@@ -0,0 +1,25 @@
+declare namespace org {
+ namespace bukkit {
+ namespace event {
+ namespace player {
+ class PlayerItemConsumeEvent {
+ constructor(player: org.bukkit.entity.Player, item: org.bukkit.inventory.ItemStack)
+ /**
+ * Gets the item that is being consumed. Modifying the returned item will
+ * have no effect, you must use {@link
+ * #setItem(org.bukkit.inventory.ItemStack)} instead.
+ */
+ public getItem(): org.bukkit.inventory.ItemStack;
+ /**
+ * Set the item being consumed
+ */
+ public setItem(item: org.bukkit.inventory.ItemStack): void;
+ public isCancelled(): boolean;
+ public setCancelled(cancel: boolean): void;
+ public getHandlers(): org.bukkit.event.HandlerList;
+ public static getHandlerList(): org.bukkit.event.HandlerList;
+ }
+ }
+ }
+ }
+}
diff --git a/packages/bukkit/src/typings/org.bukkit.event.player.PlayerItemDamageEvent.ts b/packages/bukkit/src/typings/org.bukkit.event.player.PlayerItemDamageEvent.ts
new file mode 100644
index 00000000..e57e9f83
--- /dev/null
+++ b/packages/bukkit/src/typings/org.bukkit.event.player.PlayerItemDamageEvent.ts
@@ -0,0 +1,24 @@
+declare namespace org {
+ namespace bukkit {
+ namespace event {
+ namespace player {
+ class PlayerItemDamageEvent {
+ constructor(player: org.bukkit.entity.Player, what: org.bukkit.inventory.ItemStack, damage: number)
+ /**
+ * Gets the item being damaged.
+ */
+ public getItem(): org.bukkit.inventory.ItemStack;
+ /**
+ * Gets the amount of durability damage this item will be taking.
+ */
+ public getDamage(): number;
+ public setDamage(damage: number): void;
+ public isCancelled(): boolean;
+ public setCancelled(cancel: boolean): void;
+ public getHandlers(): org.bukkit.event.HandlerList;
+ public static getHandlerList(): org.bukkit.event.HandlerList;
+ }
+ }
+ }
+ }
+}
diff --git a/packages/bukkit/src/typings/org.bukkit.event.player.PlayerItemHeldEvent.ts b/packages/bukkit/src/typings/org.bukkit.event.player.PlayerItemHeldEvent.ts
new file mode 100644
index 00000000..3dfc1b06
--- /dev/null
+++ b/packages/bukkit/src/typings/org.bukkit.event.player.PlayerItemHeldEvent.ts
@@ -0,0 +1,23 @@
+declare namespace org {
+ namespace bukkit {
+ namespace event {
+ namespace player {
+ class PlayerItemHeldEvent {
+ constructor(player: org.bukkit.entity.Player, previous: number, current: number)
+ /**
+ * Gets the previous held slot index
+ */
+ public getPreviousSlot(): number;
+ /**
+ * Gets the new held slot index
+ */
+ public getNewSlot(): number;
+ public isCancelled(): boolean;
+ public setCancelled(cancel: boolean): void;
+ public getHandlers(): org.bukkit.event.HandlerList;
+ public static getHandlerList(): org.bukkit.event.HandlerList;
+ }
+ }
+ }
+ }
+}
diff --git a/packages/bukkit/src/typings/org.bukkit.event.player.PlayerItemMendEvent.ts b/packages/bukkit/src/typings/org.bukkit.event.player.PlayerItemMendEvent.ts
new file mode 100644
index 00000000..63476a9c
--- /dev/null
+++ b/packages/bukkit/src/typings/org.bukkit.event.player.PlayerItemMendEvent.ts
@@ -0,0 +1,35 @@
+declare namespace org {
+ namespace bukkit {
+ namespace event {
+ namespace player {
+ class PlayerItemMendEvent {
+ constructor(who: org.bukkit.entity.Player, item: org.bukkit.inventory.ItemStack, experienceOrb: org.bukkit.entity.ExperienceOrb, repairAmount: number)
+ /**
+ * Get the {@link ItemStack} to be repaired.
+ * This is not necessarily the item the player is holding.
+ */
+ public getItem(): org.bukkit.inventory.ItemStack;
+ /**
+ * Get the experience orb triggering the event.
+ */
+ public getExperienceOrb(): org.bukkit.entity.ExperienceOrb;
+ /**
+ * Get the amount the item is to be repaired.
+ * The default value is twice the value of the consumed experience orb
+ * or the remaining damage left on the item, whichever is smaller.
+ */
+ public getRepairAmount(): number;
+ /**
+ * Set the amount the item will be repaired.
+ * Half of this value will be subtracted from the experience orb which initiated this event.
+ */
+ public setRepairAmount(amount: number): void;
+ public isCancelled(): boolean;
+ public setCancelled(cancelled: boolean): void;
+ public getHandlers(): org.bukkit.event.HandlerList;
+ public static getHandlerList(): org.bukkit.event.HandlerList;
+ }
+ }
+ }
+ }
+}
diff --git a/packages/bukkit/src/typings/org.bukkit.event.player.PlayerJoinEvent.ts b/packages/bukkit/src/typings/org.bukkit.event.player.PlayerJoinEvent.ts
new file mode 100644
index 00000000..82b0908a
--- /dev/null
+++ b/packages/bukkit/src/typings/org.bukkit.event.player.PlayerJoinEvent.ts
@@ -0,0 +1,21 @@
+declare namespace org {
+ namespace bukkit {
+ namespace event {
+ namespace player {
+ class PlayerJoinEvent {
+ constructor(playerJoined: org.bukkit.entity.Player, joinMessage: string)
+ /**
+ * Gets the join message to send to all online players
+ */
+ public getJoinMessage(): string;
+ /**
+ * Sets the join message to send to all online players
+ */
+ public setJoinMessage(joinMessage: string): void;
+ public getHandlers(): org.bukkit.event.HandlerList;
+ public static getHandlerList(): org.bukkit.event.HandlerList;
+ }
+ }
+ }
+ }
+}
diff --git a/packages/bukkit/src/typings/org.bukkit.event.player.PlayerKickEvent.ts b/packages/bukkit/src/typings/org.bukkit.event.player.PlayerKickEvent.ts
new file mode 100644
index 00000000..e1279657
--- /dev/null
+++ b/packages/bukkit/src/typings/org.bukkit.event.player.PlayerKickEvent.ts
@@ -0,0 +1,31 @@
+declare namespace org {
+ namespace bukkit {
+ namespace event {
+ namespace player {
+ class PlayerKickEvent {
+ constructor(playerKicked: org.bukkit.entity.Player, kickReason: string, leaveMessage: string)
+ /**
+ * Gets the reason why the player is getting kicked
+ */
+ public getReason(): string;
+ /**
+ * Gets the leave message send to all online players
+ */
+ public getLeaveMessage(): string;
+ public isCancelled(): boolean;
+ public setCancelled(cancel: boolean): void;
+ /**
+ * Sets the reason why the player is getting kicked
+ */
+ public setReason(kickReason: string): void;
+ /**
+ * Sets the leave message send to all online players
+ */
+ public setLeaveMessage(leaveMessage: string): void;
+ public getHandlers(): org.bukkit.event.HandlerList;
+ public static getHandlerList(): org.bukkit.event.HandlerList;
+ }
+ }
+ }
+ }
+}
diff --git a/packages/bukkit/src/typings/org.bukkit.event.player.PlayerLevelChangeEvent.ts b/packages/bukkit/src/typings/org.bukkit.event.player.PlayerLevelChangeEvent.ts
new file mode 100644
index 00000000..30a5b827
--- /dev/null
+++ b/packages/bukkit/src/typings/org.bukkit.event.player.PlayerLevelChangeEvent.ts
@@ -0,0 +1,21 @@
+declare namespace org {
+ namespace bukkit {
+ namespace event {
+ namespace player {
+ class PlayerLevelChangeEvent {
+ constructor(player: org.bukkit.entity.Player, oldLevel: number, newLevel: number)
+ /**
+ * Gets the old level of the player
+ */
+ public getOldLevel(): number;
+ /**
+ * Gets the new level of the player
+ */
+ public getNewLevel(): number;
+ public getHandlers(): org.bukkit.event.HandlerList;
+ public static getHandlerList(): org.bukkit.event.HandlerList;
+ }
+ }
+ }
+ }
+}
diff --git a/packages/bukkit/src/typings/org.bukkit.event.player.PlayerLocaleChangeEvent.ts b/packages/bukkit/src/typings/org.bukkit.event.player.PlayerLocaleChangeEvent.ts
new file mode 100644
index 00000000..5fb271ab
--- /dev/null
+++ b/packages/bukkit/src/typings/org.bukkit.event.player.PlayerLocaleChangeEvent.ts
@@ -0,0 +1,14 @@
+declare namespace org {
+ namespace bukkit {
+ namespace event {
+ namespace player {
+ class PlayerLocaleChangeEvent {
+ constructor(who: org.bukkit.entity.Player, locale: string)
+ public getLocale(): string;
+ public getHandlers(): org.bukkit.event.HandlerList;
+ public static getHandlerList(): org.bukkit.event.HandlerList;
+ }
+ }
+ }
+ }
+}
diff --git a/packages/bukkit/src/typings/org.bukkit.event.player.PlayerLoginEvent.Result.ts b/packages/bukkit/src/typings/org.bukkit.event.player.PlayerLoginEvent.Result.ts
new file mode 100644
index 00000000..55ae52b2
--- /dev/null
+++ b/packages/bukkit/src/typings/org.bukkit.event.player.PlayerLoginEvent.Result.ts
@@ -0,0 +1,19 @@
+declare namespace org {
+ namespace bukkit {
+ namespace event {
+ namespace player {
+ namespace PlayerLoginEvent {
+ class Result {
+ public static ALLOWED: org.bukkit.event.player.PlayerLoginEvent.Result;
+ public static KICK_FULL: org.bukkit.event.player.PlayerLoginEvent.Result;
+ public static KICK_BANNED: org.bukkit.event.player.PlayerLoginEvent.Result;
+ public static KICK_WHITELIST: org.bukkit.event.player.PlayerLoginEvent.Result;
+ public static KICK_OTHER: org.bukkit.event.player.PlayerLoginEvent.Result;
+ public static values(): org.bukkit.event.player.PlayerLoginEvent.Result[];
+ public static valueOf(name: string): org.bukkit.event.player.PlayerLoginEvent.Result;
+ }
+ }
+ }
+ }
+ }
+}
diff --git a/packages/bukkit/src/typings/org.bukkit.event.player.PlayerLoginEvent.ts b/packages/bukkit/src/typings/org.bukkit.event.player.PlayerLoginEvent.ts
new file mode 100644
index 00000000..ead1ea78
--- /dev/null
+++ b/packages/bukkit/src/typings/org.bukkit.event.player.PlayerLoginEvent.ts
@@ -0,0 +1,57 @@
+declare namespace org {
+ namespace bukkit {
+ namespace event {
+ namespace player {
+ class PlayerLoginEvent {
+ /**
+ * This constructor defaults message to an empty string, and result to
+ * ALLOWED
+ */
+ constructor(player: org.bukkit.entity.Player, hostname: string, address: any)
+ /**
+ * This constructor pre-configures the event with a result and message
+ */
+ constructor(player: org.bukkit.entity.Player, hostname: string, address: any, result: org.bukkit.event.player.PlayerLoginEvent.Result, message: string)
+ /**
+ * Gets the current result of the login, as an enum
+ */
+ public getResult(): org.bukkit.event.player.PlayerLoginEvent.Result;
+ /**
+ * Sets the new result of the login, as an enum
+ */
+ public setResult(result: org.bukkit.event.player.PlayerLoginEvent.Result): void;
+ /**
+ * Gets the current kick message that will be used if getResult() !=
+ * Result.ALLOWED
+ */
+ public getKickMessage(): string;
+ /**
+ * Sets the kick message to display if getResult() != Result.ALLOWED
+ */
+ public setKickMessage(message: string): void;
+ /**
+ * Gets the hostname that the player used to connect to the server, or
+ * blank if unknown
+ */
+ public getHostname(): string;
+ /**
+ * Allows the player to log in
+ */
+ public allow(): void;
+ /**
+ * Disallows the player from logging in, with the given reason
+ */
+ public disallow(result: org.bukkit.event.player.PlayerLoginEvent.Result, message: string): void;
+ /**
+ * Gets the {@link InetAddress} for the Player associated with this event.
+ * This method is provided as a workaround for player.getAddress()
+ * returning null during PlayerLoginEvent.
+ */
+ public getAddress(): any;
+ public getHandlers(): org.bukkit.event.HandlerList;
+ public static getHandlerList(): org.bukkit.event.HandlerList;
+ }
+ }
+ }
+ }
+}
diff --git a/packages/bukkit/src/typings/org.bukkit.event.player.PlayerMoveEvent.ts b/packages/bukkit/src/typings/org.bukkit.event.player.PlayerMoveEvent.ts
new file mode 100644
index 00000000..c60ebf4f
--- /dev/null
+++ b/packages/bukkit/src/typings/org.bukkit.event.player.PlayerMoveEvent.ts
@@ -0,0 +1,47 @@
+declare namespace org {
+ namespace bukkit {
+ namespace event {
+ namespace player {
+ class PlayerMoveEvent {
+ constructor(player: org.bukkit.entity.Player, from: org.bukkit.Location, to: org.bukkit.Location)
+ /**
+ * Gets the cancellation state of this event. A cancelled event will not
+ * be executed in the server, but will still pass to other plugins
+ *
+ * If a move or teleport event is cancelled, the player will be moved or
+ * teleported back to the Location as defined by getFrom(). This will not
+ * fire an event
+ */
+ public isCancelled(): boolean;
+ /**
+ * Sets the cancellation state of this event. A cancelled event will not
+ * be executed in the server, but will still pass to other plugins
+ *
+ * If a move or teleport event is cancelled, the player will be moved or
+ * teleported back to the Location as defined by getFrom(). This will not
+ * fire an event
+ */
+ public setCancelled(cancel: boolean): void;
+ /**
+ * Gets the location this player moved from
+ */
+ public getFrom(): org.bukkit.Location;
+ /**
+ * Sets the location to mark as where the player moved from
+ */
+ public setFrom(from: org.bukkit.Location): void;
+ /**
+ * Gets the location this player moved to
+ */
+ public getTo(): org.bukkit.Location;
+ /**
+ * Sets the location that this player will move to
+ */
+ public setTo(to: org.bukkit.Location): void;
+ public getHandlers(): org.bukkit.event.HandlerList;
+ public static getHandlerList(): org.bukkit.event.HandlerList;
+ }
+ }
+ }
+ }
+}
diff --git a/packages/bukkit/src/typings/org.bukkit.event.player.PlayerPickupArrowEvent.ts b/packages/bukkit/src/typings/org.bukkit.event.player.PlayerPickupArrowEvent.ts
new file mode 100644
index 00000000..f060340d
--- /dev/null
+++ b/packages/bukkit/src/typings/org.bukkit.event.player.PlayerPickupArrowEvent.ts
@@ -0,0 +1,15 @@
+declare namespace org {
+ namespace bukkit {
+ namespace event {
+ namespace player {
+ class PlayerPickupArrowEvent {
+ constructor(player: org.bukkit.entity.Player, item: org.bukkit.entity.Item, arrow: org.bukkit.entity.AbstractArrow)
+ /**
+ * Get the arrow being picked up by the player
+ */
+ public getArrow(): org.bukkit.entity.AbstractArrow;
+ }
+ }
+ }
+ }
+}
diff --git a/packages/bukkit/src/typings/org.bukkit.event.player.PlayerPickupItemEvent.ts b/packages/bukkit/src/typings/org.bukkit.event.player.PlayerPickupItemEvent.ts
new file mode 100644
index 00000000..6a33094b
--- /dev/null
+++ b/packages/bukkit/src/typings/org.bukkit.event.player.PlayerPickupItemEvent.ts
@@ -0,0 +1,23 @@
+declare namespace org {
+ namespace bukkit {
+ namespace event {
+ namespace player {
+ class PlayerPickupItemEvent {
+ constructor(player: org.bukkit.entity.Player, item: org.bukkit.entity.Item, remaining: number)
+ /**
+ * Gets the Item picked up by the player.
+ */
+ public getItem(): org.bukkit.entity.Item;
+ /**
+ * Gets the amount remaining on the ground, if any
+ */
+ public getRemaining(): number;
+ public isCancelled(): boolean;
+ public setCancelled(cancel: boolean): void;
+ public getHandlers(): org.bukkit.event.HandlerList;
+ public static getHandlerList(): org.bukkit.event.HandlerList;
+ }
+ }
+ }
+ }
+}
diff --git a/packages/bukkit/src/typings/org.bukkit.event.player.PlayerPortalEvent.ts b/packages/bukkit/src/typings/org.bukkit.event.player.PlayerPortalEvent.ts
new file mode 100644
index 00000000..07d0ab1d
--- /dev/null
+++ b/packages/bukkit/src/typings/org.bukkit.event.player.PlayerPortalEvent.ts
@@ -0,0 +1,14 @@
+declare namespace org {
+ namespace bukkit {
+ namespace event {
+ namespace player {
+ class PlayerPortalEvent {
+ constructor(player: org.bukkit.entity.Player, from: org.bukkit.Location, to: org.bukkit.Location)
+ constructor(player: org.bukkit.entity.Player, from: org.bukkit.Location, to: org.bukkit.Location, cause: org.bukkit.event.player.PlayerTeleportEvent.TeleportCause)
+ public getHandlers(): org.bukkit.event.HandlerList;
+ public static getHandlerList(): org.bukkit.event.HandlerList;
+ }
+ }
+ }
+ }
+}
diff --git a/packages/bukkit/src/typings/org.bukkit.event.player.PlayerPreLoginEvent.Result.ts b/packages/bukkit/src/typings/org.bukkit.event.player.PlayerPreLoginEvent.Result.ts
new file mode 100644
index 00000000..7fcebe45
--- /dev/null
+++ b/packages/bukkit/src/typings/org.bukkit.event.player.PlayerPreLoginEvent.Result.ts
@@ -0,0 +1,19 @@
+declare namespace org {
+ namespace bukkit {
+ namespace event {
+ namespace player {
+ namespace PlayerPreLoginEvent {
+ class Result {
+ public static ALLOWED: org.bukkit.event.player.PlayerPreLoginEvent.Result;
+ public static KICK_FULL: org.bukkit.event.player.PlayerPreLoginEvent.Result;
+ public static KICK_BANNED: org.bukkit.event.player.PlayerPreLoginEvent.Result;
+ public static KICK_WHITELIST: org.bukkit.event.player.PlayerPreLoginEvent.Result;
+ public static KICK_OTHER: org.bukkit.event.player.PlayerPreLoginEvent.Result;
+ public static values(): org.bukkit.event.player.PlayerPreLoginEvent.Result[];
+ public static valueOf(name: string): org.bukkit.event.player.PlayerPreLoginEvent.Result;
+ }
+ }
+ }
+ }
+ }
+}
diff --git a/packages/bukkit/src/typings/org.bukkit.event.player.PlayerPreLoginEvent.ts b/packages/bukkit/src/typings/org.bukkit.event.player.PlayerPreLoginEvent.ts
new file mode 100644
index 00000000..6bf42e74
--- /dev/null
+++ b/packages/bukkit/src/typings/org.bukkit.event.player.PlayerPreLoginEvent.ts
@@ -0,0 +1,51 @@
+declare namespace org {
+ namespace bukkit {
+ namespace event {
+ namespace player {
+ class PlayerPreLoginEvent {
+ constructor(name: string, ipAddress: any)
+ constructor(name: string, ipAddress: any, uniqueId: any)
+ /**
+ * Gets the current result of the login, as an enum
+ */
+ public getResult(): org.bukkit.event.player.PlayerPreLoginEvent.Result;
+ /**
+ * Sets the new result of the login, as an enum
+ */
+ public setResult(result: org.bukkit.event.player.PlayerPreLoginEvent.Result): void;
+ /**
+ * Gets the current kick message that will be used if getResult() !=
+ * Result.ALLOWED
+ */
+ public getKickMessage(): string;
+ /**
+ * Sets the kick message to display if getResult() != Result.ALLOWED
+ */
+ public setKickMessage(message: string): void;
+ /**
+ * Allows the player to log in
+ */
+ public allow(): void;
+ /**
+ * Disallows the player from logging in, with the given reason
+ */
+ public disallow(result: org.bukkit.event.player.PlayerPreLoginEvent.Result, message: string): void;
+ /**
+ * Gets the player's name.
+ */
+ public getName(): string;
+ /**
+ * Gets the player IP address.
+ */
+ public getAddress(): any;
+ public getHandlers(): org.bukkit.event.HandlerList;
+ /**
+ * Gets the player's unique ID.
+ */
+ public getUniqueId(): any;
+ public static getHandlerList(): org.bukkit.event.HandlerList;
+ }
+ }
+ }
+ }
+}
diff --git a/packages/bukkit/src/typings/org.bukkit.event.player.PlayerQuitEvent.ts b/packages/bukkit/src/typings/org.bukkit.event.player.PlayerQuitEvent.ts
new file mode 100644
index 00000000..643822ab
--- /dev/null
+++ b/packages/bukkit/src/typings/org.bukkit.event.player.PlayerQuitEvent.ts
@@ -0,0 +1,21 @@
+declare namespace org {
+ namespace bukkit {
+ namespace event {
+ namespace player {
+ class PlayerQuitEvent {
+ constructor(who: org.bukkit.entity.Player, quitMessage: string)
+ /**
+ * Gets the quit message to send to all online players
+ */
+ public getQuitMessage(): string;
+ /**
+ * Sets the quit message to send to all online players
+ */
+ public setQuitMessage(quitMessage: string): void;
+ public getHandlers(): org.bukkit.event.HandlerList;
+ public static getHandlerList(): org.bukkit.event.HandlerList;
+ }
+ }
+ }
+ }
+}
diff --git a/packages/bukkit/src/typings/org.bukkit.event.player.PlayerRecipeDiscoverEvent.ts b/packages/bukkit/src/typings/org.bukkit.event.player.PlayerRecipeDiscoverEvent.ts
new file mode 100644
index 00000000..bb13d6d0
--- /dev/null
+++ b/packages/bukkit/src/typings/org.bukkit.event.player.PlayerRecipeDiscoverEvent.ts
@@ -0,0 +1,19 @@
+declare namespace org {
+ namespace bukkit {
+ namespace event {
+ namespace player {
+ class PlayerRecipeDiscoverEvent {
+ constructor(who: org.bukkit.entity.Player, recipe: org.bukkit.NamespacedKey)
+ /**
+ * Get the namespaced key of the discovered recipe.
+ */
+ public getRecipe(): org.bukkit.NamespacedKey;
+ public isCancelled(): boolean;
+ public setCancelled(cancel: boolean): void;
+ public getHandlers(): org.bukkit.event.HandlerList;
+ public static getHandlerList(): org.bukkit.event.HandlerList;
+ }
+ }
+ }
+ }
+}
diff --git a/packages/bukkit/src/typings/org.bukkit.event.player.PlayerRegisterChannelEvent.ts b/packages/bukkit/src/typings/org.bukkit.event.player.PlayerRegisterChannelEvent.ts
new file mode 100644
index 00000000..9c2bc52b
--- /dev/null
+++ b/packages/bukkit/src/typings/org.bukkit.event.player.PlayerRegisterChannelEvent.ts
@@ -0,0 +1,11 @@
+declare namespace org {
+ namespace bukkit {
+ namespace event {
+ namespace player {
+ class PlayerRegisterChannelEvent {
+ constructor(player: org.bukkit.entity.Player, channel: string)
+ }
+ }
+ }
+ }
+}
diff --git a/packages/bukkit/src/typings/org.bukkit.event.player.PlayerResourcePackStatusEvent.Status.ts b/packages/bukkit/src/typings/org.bukkit.event.player.PlayerResourcePackStatusEvent.Status.ts
new file mode 100644
index 00000000..3074fde7
--- /dev/null
+++ b/packages/bukkit/src/typings/org.bukkit.event.player.PlayerResourcePackStatusEvent.Status.ts
@@ -0,0 +1,18 @@
+declare namespace org {
+ namespace bukkit {
+ namespace event {
+ namespace player {
+ namespace PlayerResourcePackStatusEvent {
+ class Status {
+ public static SUCCESSFULLY_LOADED: org.bukkit.event.player.PlayerResourcePackStatusEvent.Status;
+ public static DECLINED: org.bukkit.event.player.PlayerResourcePackStatusEvent.Status;
+ public static FAILED_DOWNLOAD: org.bukkit.event.player.PlayerResourcePackStatusEvent.Status;
+ public static ACCEPTED: org.bukkit.event.player.PlayerResourcePackStatusEvent.Status;
+ public static values(): org.bukkit.event.player.PlayerResourcePackStatusEvent.Status[];
+ public static valueOf(name: string): org.bukkit.event.player.PlayerResourcePackStatusEvent.Status;
+ }
+ }
+ }
+ }
+ }
+}
diff --git a/packages/bukkit/src/typings/org.bukkit.event.player.PlayerResourcePackStatusEvent.ts b/packages/bukkit/src/typings/org.bukkit.event.player.PlayerResourcePackStatusEvent.ts
new file mode 100644
index 00000000..a96b4ee4
--- /dev/null
+++ b/packages/bukkit/src/typings/org.bukkit.event.player.PlayerResourcePackStatusEvent.ts
@@ -0,0 +1,17 @@
+declare namespace org {
+ namespace bukkit {
+ namespace event {
+ namespace player {
+ class PlayerResourcePackStatusEvent {
+ constructor(who: org.bukkit.entity.Player, resourcePackStatus: org.bukkit.event.player.PlayerResourcePackStatusEvent.Status)
+ /**
+ * Gets the status of this pack.
+ */
+ public getStatus(): org.bukkit.event.player.PlayerResourcePackStatusEvent.Status;
+ public getHandlers(): org.bukkit.event.HandlerList;
+ public static getHandlerList(): org.bukkit.event.HandlerList;
+ }
+ }
+ }
+ }
+}
diff --git a/packages/bukkit/src/typings/org.bukkit.event.player.PlayerRespawnEvent.ts b/packages/bukkit/src/typings/org.bukkit.event.player.PlayerRespawnEvent.ts
new file mode 100644
index 00000000..e1c6aec2
--- /dev/null
+++ b/packages/bukkit/src/typings/org.bukkit.event.player.PlayerRespawnEvent.ts
@@ -0,0 +1,25 @@
+declare namespace org {
+ namespace bukkit {
+ namespace event {
+ namespace player {
+ class PlayerRespawnEvent {
+ constructor(respawnPlayer: org.bukkit.entity.Player, respawnLocation: org.bukkit.Location, isBedSpawn: boolean)
+ /**
+ * Gets the current respawn location
+ */
+ public getRespawnLocation(): org.bukkit.Location;
+ /**
+ * Sets the new respawn location
+ */
+ public setRespawnLocation(respawnLocation: org.bukkit.Location): void;
+ /**
+ * Gets whether the respawn location is the player's bed.
+ */
+ public isBedSpawn(): boolean;
+ public getHandlers(): org.bukkit.event.HandlerList;
+ public static getHandlerList(): org.bukkit.event.HandlerList;
+ }
+ }
+ }
+ }
+}
diff --git a/packages/bukkit/src/typings/org.bukkit.event.player.PlayerRiptideEvent.ts b/packages/bukkit/src/typings/org.bukkit.event.player.PlayerRiptideEvent.ts
new file mode 100644
index 00000000..b3c2552c
--- /dev/null
+++ b/packages/bukkit/src/typings/org.bukkit.event.player.PlayerRiptideEvent.ts
@@ -0,0 +1,17 @@
+declare namespace org {
+ namespace bukkit {
+ namespace event {
+ namespace player {
+ class PlayerRiptideEvent {
+ constructor(who: org.bukkit.entity.Player, item: org.bukkit.inventory.ItemStack)
+ /**
+ * Gets the item containing the used enchantment.
+ */
+ public getItem(): org.bukkit.inventory.ItemStack;
+ public getHandlers(): org.bukkit.event.HandlerList;
+ public static getHandlerList(): org.bukkit.event.HandlerList;
+ }
+ }
+ }
+ }
+}
diff --git a/packages/bukkit/src/typings/org.bukkit.event.player.PlayerShearEntityEvent.ts b/packages/bukkit/src/typings/org.bukkit.event.player.PlayerShearEntityEvent.ts
new file mode 100644
index 00000000..b952f86a
--- /dev/null
+++ b/packages/bukkit/src/typings/org.bukkit.event.player.PlayerShearEntityEvent.ts
@@ -0,0 +1,19 @@
+declare namespace org {
+ namespace bukkit {
+ namespace event {
+ namespace player {
+ class PlayerShearEntityEvent {
+ constructor(who: org.bukkit.entity.Player, what: org.bukkit.entity.Entity)
+ public isCancelled(): boolean;
+ public setCancelled(cancel: boolean): void;
+ /**
+ * Gets the entity the player is shearing
+ */
+ public getEntity(): org.bukkit.entity.Entity;
+ public getHandlers(): org.bukkit.event.HandlerList;
+ public static getHandlerList(): org.bukkit.event.HandlerList;
+ }
+ }
+ }
+ }
+}
diff --git a/packages/bukkit/src/typings/org.bukkit.event.player.PlayerStatisticIncrementEvent.ts b/packages/bukkit/src/typings/org.bukkit.event.player.PlayerStatisticIncrementEvent.ts
new file mode 100644
index 00000000..305c69ea
--- /dev/null
+++ b/packages/bukkit/src/typings/org.bukkit.event.player.PlayerStatisticIncrementEvent.ts
@@ -0,0 +1,40 @@
+declare namespace org {
+ namespace bukkit {
+ namespace event {
+ namespace player {
+ class PlayerStatisticIncrementEvent {
+ constructor(player: org.bukkit.entity.Player, statistic: org.bukkit.Statistic, initialValue: number, newValue: number)
+ constructor(player: org.bukkit.entity.Player, statistic: org.bukkit.Statistic, initialValue: number, newValue: number, entityType: org.bukkit.entity.EntityType)
+ constructor(player: org.bukkit.entity.Player, statistic: org.bukkit.Statistic, initialValue: number, newValue: number, material: org.bukkit.Material)
+ protected statistic: org.bukkit.Statistic;
+ /**
+ * Gets the statistic that is being incremented.
+ */
+ public getStatistic(): org.bukkit.Statistic;
+ /**
+ * Gets the previous value of the statistic.
+ */
+ public getPreviousValue(): number;
+ /**
+ * Gets the new value of the statistic.
+ */
+ public getNewValue(): number;
+ /**
+ * Gets the EntityType if {@link #getStatistic() getStatistic()} is an
+ * entity statistic otherwise returns null.
+ */
+ public getEntityType(): org.bukkit.entity.EntityType;
+ /**
+ * Gets the Material if {@link #getStatistic() getStatistic()} is a block
+ * or item statistic otherwise returns null.
+ */
+ public getMaterial(): org.bukkit.Material;
+ public isCancelled(): boolean;
+ public setCancelled(cancel: boolean): void;
+ public getHandlers(): org.bukkit.event.HandlerList;
+ public static getHandlerList(): org.bukkit.event.HandlerList;
+ }
+ }
+ }
+ }
+}
diff --git a/packages/bukkit/src/typings/org.bukkit.event.player.PlayerSwapHandItemsEvent.ts b/packages/bukkit/src/typings/org.bukkit.event.player.PlayerSwapHandItemsEvent.ts
new file mode 100644
index 00000000..0dee8d4a
--- /dev/null
+++ b/packages/bukkit/src/typings/org.bukkit.event.player.PlayerSwapHandItemsEvent.ts
@@ -0,0 +1,31 @@
+declare namespace org {
+ namespace bukkit {
+ namespace event {
+ namespace player {
+ class PlayerSwapHandItemsEvent {
+ constructor(player: org.bukkit.entity.Player, mainHandItem: org.bukkit.inventory.ItemStack, offHandItem: org.bukkit.inventory.ItemStack)
+ /**
+ * Gets the item switched to the main hand.
+ */
+ public getMainHandItem(): org.bukkit.inventory.ItemStack;
+ /**
+ * Sets the item in the main hand.
+ */
+ public setMainHandItem(mainHandItem: org.bukkit.inventory.ItemStack): void;
+ /**
+ * Gets the item switched to the off hand.
+ */
+ public getOffHandItem(): org.bukkit.inventory.ItemStack;
+ /**
+ * Sets the item in the off hand.
+ */
+ public setOffHandItem(offHandItem: org.bukkit.inventory.ItemStack): void;
+ public isCancelled(): boolean;
+ public setCancelled(cancel: boolean): void;
+ public getHandlers(): org.bukkit.event.HandlerList;
+ public static getHandlerList(): org.bukkit.event.HandlerList;
+ }
+ }
+ }
+ }
+}
diff --git a/packages/bukkit/src/typings/org.bukkit.event.player.PlayerTakeLecternBookEvent.ts b/packages/bukkit/src/typings/org.bukkit.event.player.PlayerTakeLecternBookEvent.ts
new file mode 100644
index 00000000..ed865108
--- /dev/null
+++ b/packages/bukkit/src/typings/org.bukkit.event.player.PlayerTakeLecternBookEvent.ts
@@ -0,0 +1,23 @@
+declare namespace org {
+ namespace bukkit {
+ namespace event {
+ namespace player {
+ class PlayerTakeLecternBookEvent {
+ constructor(who: org.bukkit.entity.Player, lectern: org.bukkit.block.Lectern)
+ /**
+ * Gets the lectern involved.
+ */
+ public getLectern(): org.bukkit.block.Lectern;
+ /**
+ * Gets the current ItemStack on the lectern.
+ */
+ public getBook(): org.bukkit.inventory.ItemStack;
+ public isCancelled(): boolean;
+ public setCancelled(cancel: boolean): void;
+ public getHandlers(): org.bukkit.event.HandlerList;
+ public static getHandlerList(): org.bukkit.event.HandlerList;
+ }
+ }
+ }
+ }
+}
diff --git a/packages/bukkit/src/typings/org.bukkit.event.player.PlayerTeleportEvent.TeleportCause.ts b/packages/bukkit/src/typings/org.bukkit.event.player.PlayerTeleportEvent.TeleportCause.ts
new file mode 100644
index 00000000..949b75ca
--- /dev/null
+++ b/packages/bukkit/src/typings/org.bukkit.event.player.PlayerTeleportEvent.TeleportCause.ts
@@ -0,0 +1,23 @@
+declare namespace org {
+ namespace bukkit {
+ namespace event {
+ namespace player {
+ namespace PlayerTeleportEvent {
+ class TeleportCause {
+ public static ENDER_PEARL: org.bukkit.event.player.PlayerTeleportEvent.TeleportCause;
+ public static COMMAND: org.bukkit.event.player.PlayerTeleportEvent.TeleportCause;
+ public static PLUGIN: org.bukkit.event.player.PlayerTeleportEvent.TeleportCause;
+ public static NETHER_PORTAL: org.bukkit.event.player.PlayerTeleportEvent.TeleportCause;
+ public static END_PORTAL: org.bukkit.event.player.PlayerTeleportEvent.TeleportCause;
+ public static SPECTATE: org.bukkit.event.player.PlayerTeleportEvent.TeleportCause;
+ public static END_GATEWAY: org.bukkit.event.player.PlayerTeleportEvent.TeleportCause;
+ public static CHORUS_FRUIT: org.bukkit.event.player.PlayerTeleportEvent.TeleportCause;
+ public static UNKNOWN: org.bukkit.event.player.PlayerTeleportEvent.TeleportCause;
+ public static values(): org.bukkit.event.player.PlayerTeleportEvent.TeleportCause[];
+ public static valueOf(name: string): org.bukkit.event.player.PlayerTeleportEvent.TeleportCause;
+ }
+ }
+ }
+ }
+ }
+}
diff --git a/packages/bukkit/src/typings/org.bukkit.event.player.PlayerTeleportEvent.ts b/packages/bukkit/src/typings/org.bukkit.event.player.PlayerTeleportEvent.ts
new file mode 100644
index 00000000..8f39093a
--- /dev/null
+++ b/packages/bukkit/src/typings/org.bukkit.event.player.PlayerTeleportEvent.ts
@@ -0,0 +1,18 @@
+declare namespace org {
+ namespace bukkit {
+ namespace event {
+ namespace player {
+ class PlayerTeleportEvent {
+ constructor(player: org.bukkit.entity.Player, from: org.bukkit.Location, to: org.bukkit.Location)
+ constructor(player: org.bukkit.entity.Player, from: org.bukkit.Location, to: org.bukkit.Location, cause: org.bukkit.event.player.PlayerTeleportEvent.TeleportCause)
+ /**
+ * Gets the cause of this teleportation event
+ */
+ public getCause(): org.bukkit.event.player.PlayerTeleportEvent.TeleportCause;
+ public getHandlers(): org.bukkit.event.HandlerList;
+ public static getHandlerList(): org.bukkit.event.HandlerList;
+ }
+ }
+ }
+ }
+}
diff --git a/packages/bukkit/src/typings/org.bukkit.event.player.PlayerToggleFlightEvent.ts b/packages/bukkit/src/typings/org.bukkit.event.player.PlayerToggleFlightEvent.ts
new file mode 100644
index 00000000..907d0308
--- /dev/null
+++ b/packages/bukkit/src/typings/org.bukkit.event.player.PlayerToggleFlightEvent.ts
@@ -0,0 +1,19 @@
+declare namespace org {
+ namespace bukkit {
+ namespace event {
+ namespace player {
+ class PlayerToggleFlightEvent {
+ constructor(player: org.bukkit.entity.Player, isFlying: boolean)
+ /**
+ * Returns whether the player is trying to start or stop flying.
+ */
+ public isFlying(): boolean;
+ public isCancelled(): boolean;
+ public setCancelled(cancel: boolean): void;
+ public getHandlers(): org.bukkit.event.HandlerList;
+ public static getHandlerList(): org.bukkit.event.HandlerList;
+ }
+ }
+ }
+ }
+}
diff --git a/packages/bukkit/src/typings/org.bukkit.event.player.PlayerToggleSneakEvent.ts b/packages/bukkit/src/typings/org.bukkit.event.player.PlayerToggleSneakEvent.ts
new file mode 100644
index 00000000..0d704fbf
--- /dev/null
+++ b/packages/bukkit/src/typings/org.bukkit.event.player.PlayerToggleSneakEvent.ts
@@ -0,0 +1,19 @@
+declare namespace org {
+ namespace bukkit {
+ namespace event {
+ namespace player {
+ class PlayerToggleSneakEvent {
+ constructor(player: org.bukkit.entity.Player, isSneaking: boolean)
+ /**
+ * Returns whether the player is now sneaking or not.
+ */
+ public isSneaking(): boolean;
+ public isCancelled(): boolean;
+ public setCancelled(cancel: boolean): void;
+ public getHandlers(): org.bukkit.event.HandlerList;
+ public static getHandlerList(): org.bukkit.event.HandlerList;
+ }
+ }
+ }
+ }
+}
diff --git a/packages/bukkit/src/typings/org.bukkit.event.player.PlayerToggleSprintEvent.ts b/packages/bukkit/src/typings/org.bukkit.event.player.PlayerToggleSprintEvent.ts
new file mode 100644
index 00000000..c7b7f57f
--- /dev/null
+++ b/packages/bukkit/src/typings/org.bukkit.event.player.PlayerToggleSprintEvent.ts
@@ -0,0 +1,19 @@
+declare namespace org {
+ namespace bukkit {
+ namespace event {
+ namespace player {
+ class PlayerToggleSprintEvent {
+ constructor(player: org.bukkit.entity.Player, isSprinting: boolean)
+ /**
+ * Gets whether the player is now sprinting or not.
+ */
+ public isSprinting(): boolean;
+ public isCancelled(): boolean;
+ public setCancelled(cancel: boolean): void;
+ public getHandlers(): org.bukkit.event.HandlerList;
+ public static getHandlerList(): org.bukkit.event.HandlerList;
+ }
+ }
+ }
+ }
+}
diff --git a/packages/bukkit/src/typings/org.bukkit.event.player.PlayerUnleashEntityEvent.ts b/packages/bukkit/src/typings/org.bukkit.event.player.PlayerUnleashEntityEvent.ts
new file mode 100644
index 00000000..204220c2
--- /dev/null
+++ b/packages/bukkit/src/typings/org.bukkit.event.player.PlayerUnleashEntityEvent.ts
@@ -0,0 +1,17 @@
+declare namespace org {
+ namespace bukkit {
+ namespace event {
+ namespace player {
+ class PlayerUnleashEntityEvent {
+ constructor(entity: org.bukkit.entity.Entity, player: org.bukkit.entity.Player)
+ /**
+ * Returns the player who is unleashing the entity.
+ */
+ public getPlayer(): org.bukkit.entity.Player;
+ public isCancelled(): boolean;
+ public setCancelled(cancel: boolean): void;
+ }
+ }
+ }
+ }
+}
diff --git a/packages/bukkit/src/typings/org.bukkit.event.player.PlayerUnregisterChannelEvent.ts b/packages/bukkit/src/typings/org.bukkit.event.player.PlayerUnregisterChannelEvent.ts
new file mode 100644
index 00000000..58fbd6af
--- /dev/null
+++ b/packages/bukkit/src/typings/org.bukkit.event.player.PlayerUnregisterChannelEvent.ts
@@ -0,0 +1,11 @@
+declare namespace org {
+ namespace bukkit {
+ namespace event {
+ namespace player {
+ class PlayerUnregisterChannelEvent {
+ constructor(player: org.bukkit.entity.Player, channel: string)
+ }
+ }
+ }
+ }
+}
diff --git a/packages/bukkit/src/typings/org.bukkit.event.player.PlayerVelocityEvent.ts b/packages/bukkit/src/typings/org.bukkit.event.player.PlayerVelocityEvent.ts
new file mode 100644
index 00000000..abc25f9c
--- /dev/null
+++ b/packages/bukkit/src/typings/org.bukkit.event.player.PlayerVelocityEvent.ts
@@ -0,0 +1,23 @@
+declare namespace org {
+ namespace bukkit {
+ namespace event {
+ namespace player {
+ class PlayerVelocityEvent {
+ constructor(player: org.bukkit.entity.Player, velocity: org.bukkit.util.Vector)
+ public isCancelled(): boolean;
+ public setCancelled(cancel: boolean): void;
+ /**
+ * Gets the velocity vector that will be sent to the player
+ */
+ public getVelocity(): org.bukkit.util.Vector;
+ /**
+ * Sets the velocity vector that will be sent to the player
+ */
+ public setVelocity(velocity: org.bukkit.util.Vector): void;
+ public getHandlers(): org.bukkit.event.HandlerList;
+ public static getHandlerList(): org.bukkit.event.HandlerList;
+ }
+ }
+ }
+ }
+}
diff --git a/packages/bukkit/src/typings/org.bukkit.event.server.BroadcastMessageEvent.ts b/packages/bukkit/src/typings/org.bukkit.event.server.BroadcastMessageEvent.ts
new file mode 100644
index 00000000..0064af60
--- /dev/null
+++ b/packages/bukkit/src/typings/org.bukkit.event.server.BroadcastMessageEvent.ts
@@ -0,0 +1,36 @@
+declare namespace org {
+ namespace bukkit {
+ namespace event {
+ namespace server {
+ class BroadcastMessageEvent {
+ constructor(message: string, recipients: any[] /*java.util.Set*/)
+ constructor(isAsync: boolean, message: string, recipients: any[] /*java.util.Set*/)
+ /**
+ * Get the message to broadcast.
+ */
+ public getMessage(): string;
+ /**
+ * Set the message to broadcast.
+ */
+ public setMessage(message: string): void;
+ /**
+ * Gets a set of recipients that this chat message will be displayed to.
+ *
+ * The set returned is not guaranteed to be mutable and may auto-populate
+ * on access. Any listener accessing the returned set should be aware that
+ * it may reduce performance for a lazy set implementation.
+ *
+ * Listeners should be aware that modifying the list may throw {@link
+ * UnsupportedOperationException} if the event caller provides an
+ * unmodifiable set.
+ */
+ public getRecipients(): any[] /*java.util.Set*/;
+ public isCancelled(): boolean;
+ public setCancelled(cancelled: boolean): void;
+ public getHandlers(): org.bukkit.event.HandlerList;
+ public static getHandlerList(): org.bukkit.event.HandlerList;
+ }
+ }
+ }
+ }
+}
diff --git a/packages/bukkit/src/typings/org.bukkit.event.server.MapInitializeEvent.ts b/packages/bukkit/src/typings/org.bukkit.event.server.MapInitializeEvent.ts
new file mode 100644
index 00000000..dbafd9c7
--- /dev/null
+++ b/packages/bukkit/src/typings/org.bukkit.event.server.MapInitializeEvent.ts
@@ -0,0 +1,17 @@
+declare namespace org {
+ namespace bukkit {
+ namespace event {
+ namespace server {
+ class MapInitializeEvent {
+ constructor(mapView: org.bukkit.map.MapView)
+ /**
+ * Gets the map initialized in this event.
+ */
+ public getMap(): org.bukkit.map.MapView;
+ public getHandlers(): org.bukkit.event.HandlerList;
+ public static getHandlerList(): org.bukkit.event.HandlerList;
+ }
+ }
+ }
+ }
+}
diff --git a/packages/bukkit/src/typings/org.bukkit.event.server.PluginDisableEvent.ts b/packages/bukkit/src/typings/org.bukkit.event.server.PluginDisableEvent.ts
new file mode 100644
index 00000000..748c030a
--- /dev/null
+++ b/packages/bukkit/src/typings/org.bukkit.event.server.PluginDisableEvent.ts
@@ -0,0 +1,13 @@
+declare namespace org {
+ namespace bukkit {
+ namespace event {
+ namespace server {
+ class PluginDisableEvent {
+ constructor(plugin: org.bukkit.plugin.Plugin)
+ public getHandlers(): org.bukkit.event.HandlerList;
+ public static getHandlerList(): org.bukkit.event.HandlerList;
+ }
+ }
+ }
+ }
+}
diff --git a/packages/bukkit/src/typings/org.bukkit.event.server.PluginEnableEvent.ts b/packages/bukkit/src/typings/org.bukkit.event.server.PluginEnableEvent.ts
new file mode 100644
index 00000000..808f954c
--- /dev/null
+++ b/packages/bukkit/src/typings/org.bukkit.event.server.PluginEnableEvent.ts
@@ -0,0 +1,13 @@
+declare namespace org {
+ namespace bukkit {
+ namespace event {
+ namespace server {
+ class PluginEnableEvent {
+ constructor(plugin: org.bukkit.plugin.Plugin)
+ public getHandlers(): org.bukkit.event.HandlerList;
+ public static getHandlerList(): org.bukkit.event.HandlerList;
+ }
+ }
+ }
+ }
+}
diff --git a/packages/bukkit/src/typings/org.bukkit.event.server.PluginEvent.ts b/packages/bukkit/src/typings/org.bukkit.event.server.PluginEvent.ts
new file mode 100644
index 00000000..a1de6701
--- /dev/null
+++ b/packages/bukkit/src/typings/org.bukkit.event.server.PluginEvent.ts
@@ -0,0 +1,15 @@
+declare namespace org {
+ namespace bukkit {
+ namespace event {
+ namespace server {
+ abstract class PluginEvent {
+ constructor(plugin: org.bukkit.plugin.Plugin)
+ /**
+ * Gets the plugin involved in this event
+ */
+ public getPlugin(): org.bukkit.plugin.Plugin;
+ }
+ }
+ }
+ }
+}
diff --git a/packages/bukkit/src/typings/org.bukkit.event.server.RemoteServerCommandEvent.ts b/packages/bukkit/src/typings/org.bukkit.event.server.RemoteServerCommandEvent.ts
new file mode 100644
index 00000000..9ddb7ef9
--- /dev/null
+++ b/packages/bukkit/src/typings/org.bukkit.event.server.RemoteServerCommandEvent.ts
@@ -0,0 +1,13 @@
+declare namespace org {
+ namespace bukkit {
+ namespace event {
+ namespace server {
+ class RemoteServerCommandEvent {
+ constructor(sender: org.bukkit.command.CommandSender, command: string)
+ public getHandlers(): org.bukkit.event.HandlerList;
+ public static getHandlerList(): org.bukkit.event.HandlerList;
+ }
+ }
+ }
+ }
+}
diff --git a/packages/bukkit/src/typings/org.bukkit.event.server.ServerCommandEvent.ts b/packages/bukkit/src/typings/org.bukkit.event.server.ServerCommandEvent.ts
new file mode 100644
index 00000000..8d0e0022
--- /dev/null
+++ b/packages/bukkit/src/typings/org.bukkit.event.server.ServerCommandEvent.ts
@@ -0,0 +1,28 @@
+declare namespace org {
+ namespace bukkit {
+ namespace event {
+ namespace server {
+ class ServerCommandEvent {
+ constructor(sender: org.bukkit.command.CommandSender, command: string)
+ /**
+ * Gets the command that the user is attempting to execute from the
+ * console
+ */
+ public getCommand(): string;
+ /**
+ * Sets the command that the server will execute
+ */
+ public setCommand(message: string): void;
+ /**
+ * Get the command sender.
+ */
+ public getSender(): org.bukkit.command.CommandSender;
+ public getHandlers(): org.bukkit.event.HandlerList;
+ public static getHandlerList(): org.bukkit.event.HandlerList;
+ public isCancelled(): boolean;
+ public setCancelled(cancel: boolean): void;
+ }
+ }
+ }
+ }
+}
diff --git a/packages/bukkit/src/typings/org.bukkit.event.server.ServerEvent.ts b/packages/bukkit/src/typings/org.bukkit.event.server.ServerEvent.ts
new file mode 100644
index 00000000..cc99946d
--- /dev/null
+++ b/packages/bukkit/src/typings/org.bukkit.event.server.ServerEvent.ts
@@ -0,0 +1,12 @@
+declare namespace org {
+ namespace bukkit {
+ namespace event {
+ namespace server {
+ abstract class ServerEvent {
+ constructor()
+ constructor(isAsync: boolean)
+ }
+ }
+ }
+ }
+}
diff --git a/packages/bukkit/src/typings/org.bukkit.event.server.ServerListPingEvent.ts b/packages/bukkit/src/typings/org.bukkit.event.server.ServerListPingEvent.ts
new file mode 100644
index 00000000..d40c53d0
--- /dev/null
+++ b/packages/bukkit/src/typings/org.bukkit.event.server.ServerListPingEvent.ts
@@ -0,0 +1,56 @@
+declare namespace org {
+ namespace bukkit {
+ namespace event {
+ namespace server {
+ class ServerListPingEvent {
+ constructor(address: any, motd: string, numPlayers: number, maxPlayers: number)
+ /**
+ * This constructor is intended for implementations that provide the
+ * {@link #iterator()} method, thus provided the {@link #getNumPlayers()}
+ * count.
+ */
+ constructor(address: any, motd: string, maxPlayers: number)
+ /**
+ * Get the address the ping is coming from.
+ */
+ public getAddress(): any;
+ /**
+ * Get the message of the day message.
+ */
+ public getMotd(): string;
+ /**
+ * Change the message of the day message.
+ */
+ public setMotd(motd: string): void;
+ /**
+ * Get the number of players sent.
+ */
+ public getNumPlayers(): number;
+ /**
+ * Get the maximum number of players sent.
+ */
+ public getMaxPlayers(): number;
+ /**
+ * Set the maximum number of players sent.
+ */
+ public setMaxPlayers(maxPlayers: number): void;
+ /**
+ * Sets the server-icon sent to the client.
+ */
+ public setServerIcon(icon: org.bukkit.util.CachedServerIcon): void;
+ public getHandlers(): org.bukkit.event.HandlerList;
+ public static getHandlerList(): org.bukkit.event.HandlerList;
+ /**
+ * {@inheritDoc}
+ *
+ * Calling the {@link Iterator#remove()} method will force that particular
+ * player to not be displayed on the player list, decrease the size
+ * returned by {@link #getNumPlayers()}, and will not be returned again by
+ * any new iterator.
+ */
+ public iterator(): any;
+ }
+ }
+ }
+ }
+}
diff --git a/packages/bukkit/src/typings/org.bukkit.event.server.ServerLoadEvent.LoadType.ts b/packages/bukkit/src/typings/org.bukkit.event.server.ServerLoadEvent.LoadType.ts
new file mode 100644
index 00000000..a6167718
--- /dev/null
+++ b/packages/bukkit/src/typings/org.bukkit.event.server.ServerLoadEvent.LoadType.ts
@@ -0,0 +1,16 @@
+declare namespace org {
+ namespace bukkit {
+ namespace event {
+ namespace server {
+ namespace ServerLoadEvent {
+ class LoadType {
+ public static STARTUP: org.bukkit.event.server.ServerLoadEvent.LoadType;
+ public static RELOAD: org.bukkit.event.server.ServerLoadEvent.LoadType;
+ public static values(): org.bukkit.event.server.ServerLoadEvent.LoadType[];
+ public static valueOf(name: string): org.bukkit.event.server.ServerLoadEvent.LoadType;
+ }
+ }
+ }
+ }
+ }
+}
diff --git a/packages/bukkit/src/typings/org.bukkit.event.server.ServerLoadEvent.ts b/packages/bukkit/src/typings/org.bukkit.event.server.ServerLoadEvent.ts
new file mode 100644
index 00000000..9114ba4a
--- /dev/null
+++ b/packages/bukkit/src/typings/org.bukkit.event.server.ServerLoadEvent.ts
@@ -0,0 +1,20 @@
+declare namespace org {
+ namespace bukkit {
+ namespace event {
+ namespace server {
+ class ServerLoadEvent {
+ /**
+ * Creates a {@code ServerLoadEvent} with a given loading type.
+ */
+ constructor(type: org.bukkit.event.server.ServerLoadEvent.LoadType)
+ /**
+ * Gets the context in which the server was loaded.
+ */
+ public getType(): org.bukkit.event.server.ServerLoadEvent.LoadType;
+ public getHandlers(): org.bukkit.event.HandlerList;
+ public static getHandlerList(): org.bukkit.event.HandlerList;
+ }
+ }
+ }
+ }
+}
diff --git a/packages/bukkit/src/typings/org.bukkit.event.server.ServiceEvent.ts b/packages/bukkit/src/typings/org.bukkit.event.server.ServiceEvent.ts
new file mode 100644
index 00000000..4e45672d
--- /dev/null
+++ b/packages/bukkit/src/typings/org.bukkit.event.server.ServiceEvent.ts
@@ -0,0 +1,12 @@
+declare namespace org {
+ namespace bukkit {
+ namespace event {
+ namespace server {
+ abstract class ServiceEvent {
+ constructor(provider: org.bukkit.plugin.RegisteredServiceProvider)
+ public getProvider(): org.bukkit.plugin.RegisteredServiceProvider;
+ }
+ }
+ }
+ }
+}
diff --git a/packages/bukkit/src/typings/org.bukkit.event.server.ServiceRegisterEvent.ts b/packages/bukkit/src/typings/org.bukkit.event.server.ServiceRegisterEvent.ts
new file mode 100644
index 00000000..1bbe471d
--- /dev/null
+++ b/packages/bukkit/src/typings/org.bukkit.event.server.ServiceRegisterEvent.ts
@@ -0,0 +1,13 @@
+declare namespace org {
+ namespace bukkit {
+ namespace event {
+ namespace server {
+ class ServiceRegisterEvent {
+ constructor(registeredProvider: org.bukkit.plugin.RegisteredServiceProvider)
+ public getHandlers(): org.bukkit.event.HandlerList;
+ public static getHandlerList(): org.bukkit.event.HandlerList;
+ }
+ }
+ }
+ }
+}
diff --git a/packages/bukkit/src/typings/org.bukkit.event.server.ServiceUnregisterEvent.ts b/packages/bukkit/src/typings/org.bukkit.event.server.ServiceUnregisterEvent.ts
new file mode 100644
index 00000000..30316c75
--- /dev/null
+++ b/packages/bukkit/src/typings/org.bukkit.event.server.ServiceUnregisterEvent.ts
@@ -0,0 +1,13 @@
+declare namespace org {
+ namespace bukkit {
+ namespace event {
+ namespace server {
+ class ServiceUnregisterEvent {
+ constructor(serviceProvider: org.bukkit.plugin.RegisteredServiceProvider)
+ public getHandlers(): org.bukkit.event.HandlerList;
+ public static getHandlerList(): org.bukkit.event.HandlerList;
+ }
+ }
+ }
+ }
+}
diff --git a/packages/bukkit/src/typings/org.bukkit.event.server.TabCompleteEvent.ts b/packages/bukkit/src/typings/org.bukkit.event.server.TabCompleteEvent.ts
new file mode 100644
index 00000000..9ab24b9c
--- /dev/null
+++ b/packages/bukkit/src/typings/org.bukkit.event.server.TabCompleteEvent.ts
@@ -0,0 +1,32 @@
+declare namespace org {
+ namespace bukkit {
+ namespace event {
+ namespace server {
+ class TabCompleteEvent {
+ constructor(sender: org.bukkit.command.CommandSender, buffer: string, completions: any[] /*java.util.List*/)
+ /**
+ * Get the sender completing this command.
+ */
+ public getSender(): org.bukkit.command.CommandSender;
+ /**
+ * Return the entire buffer which formed the basis of this completion.
+ */
+ public getBuffer(): string;
+ /**
+ * The list of completions which will be offered to the sender, in order.
+ * This list is mutable and reflects what will be offered.
+ */
+ public getCompletions(): any[] /*java.util.List*/;
+ /**
+ * Set the completions offered, overriding any already set.
+ */
+ public setCompletions(completions: any[] /*java.util.List*/): void;
+ public isCancelled(): boolean;
+ public setCancelled(cancelled: boolean): void;
+ public getHandlers(): org.bukkit.event.HandlerList;
+ public static getHandlerList(): org.bukkit.event.HandlerList;
+ }
+ }
+ }
+ }
+}
diff --git a/packages/bukkit/src/typings/org.bukkit.event.vehicle.VehicleBlockCollisionEvent.ts b/packages/bukkit/src/typings/org.bukkit.event.vehicle.VehicleBlockCollisionEvent.ts
new file mode 100644
index 00000000..3f2d116f
--- /dev/null
+++ b/packages/bukkit/src/typings/org.bukkit.event.vehicle.VehicleBlockCollisionEvent.ts
@@ -0,0 +1,17 @@
+declare namespace org {
+ namespace bukkit {
+ namespace event {
+ namespace vehicle {
+ class VehicleBlockCollisionEvent {
+ constructor(vehicle: org.bukkit.entity.Vehicle, block: org.bukkit.block.Block)
+ /**
+ * Gets the block the vehicle collided with
+ */
+ public getBlock(): org.bukkit.block.Block;
+ public getHandlers(): org.bukkit.event.HandlerList;
+ public static getHandlerList(): org.bukkit.event.HandlerList;
+ }
+ }
+ }
+ }
+}
diff --git a/packages/bukkit/src/typings/org.bukkit.event.vehicle.VehicleCollisionEvent.ts b/packages/bukkit/src/typings/org.bukkit.event.vehicle.VehicleCollisionEvent.ts
new file mode 100644
index 00000000..8e46f0d5
--- /dev/null
+++ b/packages/bukkit/src/typings/org.bukkit.event.vehicle.VehicleCollisionEvent.ts
@@ -0,0 +1,11 @@
+declare namespace org {
+ namespace bukkit {
+ namespace event {
+ namespace vehicle {
+ abstract class VehicleCollisionEvent {
+ constructor(vehicle: org.bukkit.entity.Vehicle)
+ }
+ }
+ }
+ }
+}
diff --git a/packages/bukkit/src/typings/org.bukkit.event.vehicle.VehicleCreateEvent.ts b/packages/bukkit/src/typings/org.bukkit.event.vehicle.VehicleCreateEvent.ts
new file mode 100644
index 00000000..ab05bad7
--- /dev/null
+++ b/packages/bukkit/src/typings/org.bukkit.event.vehicle.VehicleCreateEvent.ts
@@ -0,0 +1,15 @@
+declare namespace org {
+ namespace bukkit {
+ namespace event {
+ namespace vehicle {
+ class VehicleCreateEvent {
+ constructor(vehicle: org.bukkit.entity.Vehicle)
+ public isCancelled(): boolean;
+ public setCancelled(cancelled: boolean): void;
+ public getHandlers(): org.bukkit.event.HandlerList;
+ public static getHandlerList(): org.bukkit.event.HandlerList;
+ }
+ }
+ }
+ }
+}
diff --git a/packages/bukkit/src/typings/org.bukkit.event.vehicle.VehicleDamageEvent.ts b/packages/bukkit/src/typings/org.bukkit.event.vehicle.VehicleDamageEvent.ts
new file mode 100644
index 00000000..7777b17b
--- /dev/null
+++ b/packages/bukkit/src/typings/org.bukkit.event.vehicle.VehicleDamageEvent.ts
@@ -0,0 +1,27 @@
+declare namespace org {
+ namespace bukkit {
+ namespace event {
+ namespace vehicle {
+ class VehicleDamageEvent {
+ constructor(vehicle: org.bukkit.entity.Vehicle, attacker: org.bukkit.entity.Entity, damage: number)
+ /**
+ * Gets the Entity that is attacking the vehicle
+ */
+ public getAttacker(): org.bukkit.entity.Entity;
+ /**
+ * Gets the damage done to the vehicle
+ */
+ public getDamage(): number;
+ /**
+ * Sets the damage done to the vehicle
+ */
+ public setDamage(damage: number): void;
+ public isCancelled(): boolean;
+ public setCancelled(cancel: boolean): void;
+ public getHandlers(): org.bukkit.event.HandlerList;
+ public static getHandlerList(): org.bukkit.event.HandlerList;
+ }
+ }
+ }
+ }
+}
diff --git a/packages/bukkit/src/typings/org.bukkit.event.vehicle.VehicleDestroyEvent.ts b/packages/bukkit/src/typings/org.bukkit.event.vehicle.VehicleDestroyEvent.ts
new file mode 100644
index 00000000..07e02289
--- /dev/null
+++ b/packages/bukkit/src/typings/org.bukkit.event.vehicle.VehicleDestroyEvent.ts
@@ -0,0 +1,19 @@
+declare namespace org {
+ namespace bukkit {
+ namespace event {
+ namespace vehicle {
+ class VehicleDestroyEvent {
+ constructor(vehicle: org.bukkit.entity.Vehicle, attacker: org.bukkit.entity.Entity)
+ /**
+ * Gets the Entity that has destroyed the vehicle, potentially null
+ */
+ public getAttacker(): org.bukkit.entity.Entity;
+ public isCancelled(): boolean;
+ public setCancelled(cancel: boolean): void;
+ public getHandlers(): org.bukkit.event.HandlerList;
+ public static getHandlerList(): org.bukkit.event.HandlerList;
+ }
+ }
+ }
+ }
+}
diff --git a/packages/bukkit/src/typings/org.bukkit.event.vehicle.VehicleEnterEvent.ts b/packages/bukkit/src/typings/org.bukkit.event.vehicle.VehicleEnterEvent.ts
new file mode 100644
index 00000000..c0f31a4b
--- /dev/null
+++ b/packages/bukkit/src/typings/org.bukkit.event.vehicle.VehicleEnterEvent.ts
@@ -0,0 +1,19 @@
+declare namespace org {
+ namespace bukkit {
+ namespace event {
+ namespace vehicle {
+ class VehicleEnterEvent {
+ constructor(vehicle: org.bukkit.entity.Vehicle, entered: org.bukkit.entity.Entity)
+ /**
+ * Gets the Entity that entered the vehicle.
+ */
+ public getEntered(): org.bukkit.entity.Entity;
+ public isCancelled(): boolean;
+ public setCancelled(cancel: boolean): void;
+ public getHandlers(): org.bukkit.event.HandlerList;
+ public static getHandlerList(): org.bukkit.event.HandlerList;
+ }
+ }
+ }
+ }
+}
diff --git a/packages/bukkit/src/typings/org.bukkit.event.vehicle.VehicleEntityCollisionEvent.ts b/packages/bukkit/src/typings/org.bukkit.event.vehicle.VehicleEntityCollisionEvent.ts
new file mode 100644
index 00000000..b836ea7b
--- /dev/null
+++ b/packages/bukkit/src/typings/org.bukkit.event.vehicle.VehicleEntityCollisionEvent.ts
@@ -0,0 +1,20 @@
+declare namespace org {
+ namespace bukkit {
+ namespace event {
+ namespace vehicle {
+ class VehicleEntityCollisionEvent {
+ constructor(vehicle: org.bukkit.entity.Vehicle, entity: org.bukkit.entity.Entity)
+ public getEntity(): org.bukkit.entity.Entity;
+ public isCancelled(): boolean;
+ public setCancelled(cancel: boolean): void;
+ public isPickupCancelled(): boolean;
+ public setPickupCancelled(cancel: boolean): void;
+ public isCollisionCancelled(): boolean;
+ public setCollisionCancelled(cancel: boolean): void;
+ public getHandlers(): org.bukkit.event.HandlerList;
+ public static getHandlerList(): org.bukkit.event.HandlerList;
+ }
+ }
+ }
+ }
+}
diff --git a/packages/bukkit/src/typings/org.bukkit.event.vehicle.VehicleEvent.ts b/packages/bukkit/src/typings/org.bukkit.event.vehicle.VehicleEvent.ts
new file mode 100644
index 00000000..933d0982
--- /dev/null
+++ b/packages/bukkit/src/typings/org.bukkit.event.vehicle.VehicleEvent.ts
@@ -0,0 +1,16 @@
+declare namespace org {
+ namespace bukkit {
+ namespace event {
+ namespace vehicle {
+ abstract class VehicleEvent {
+ constructor(vehicle: org.bukkit.entity.Vehicle)
+ protected vehicle: org.bukkit.entity.Vehicle;
+ /**
+ * Get the vehicle.
+ */
+ public getVehicle(): org.bukkit.entity.Vehicle;
+ }
+ }
+ }
+ }
+}
diff --git a/packages/bukkit/src/typings/org.bukkit.event.vehicle.VehicleExitEvent.ts b/packages/bukkit/src/typings/org.bukkit.event.vehicle.VehicleExitEvent.ts
new file mode 100644
index 00000000..ba6f1559
--- /dev/null
+++ b/packages/bukkit/src/typings/org.bukkit.event.vehicle.VehicleExitEvent.ts
@@ -0,0 +1,19 @@
+declare namespace org {
+ namespace bukkit {
+ namespace event {
+ namespace vehicle {
+ class VehicleExitEvent {
+ constructor(vehicle: org.bukkit.entity.Vehicle, exited: org.bukkit.entity.LivingEntity)
+ /**
+ * Get the living entity that exited the vehicle.
+ */
+ public getExited(): org.bukkit.entity.LivingEntity;
+ public isCancelled(): boolean;
+ public setCancelled(cancel: boolean): void;
+ public getHandlers(): org.bukkit.event.HandlerList;
+ public static getHandlerList(): org.bukkit.event.HandlerList;
+ }
+ }
+ }
+ }
+}
diff --git a/packages/bukkit/src/typings/org.bukkit.event.vehicle.VehicleMoveEvent.ts b/packages/bukkit/src/typings/org.bukkit.event.vehicle.VehicleMoveEvent.ts
new file mode 100644
index 00000000..b8930301
--- /dev/null
+++ b/packages/bukkit/src/typings/org.bukkit.event.vehicle.VehicleMoveEvent.ts
@@ -0,0 +1,21 @@
+declare namespace org {
+ namespace bukkit {
+ namespace event {
+ namespace vehicle {
+ class VehicleMoveEvent {
+ constructor(vehicle: org.bukkit.entity.Vehicle, from: org.bukkit.Location, to: org.bukkit.Location)
+ /**
+ * Get the previous position.
+ */
+ public getFrom(): org.bukkit.Location;
+ /**
+ * Get the next position.
+ */
+ public getTo(): org.bukkit.Location;
+ public getHandlers(): org.bukkit.event.HandlerList;
+ public static getHandlerList(): org.bukkit.event.HandlerList;
+ }
+ }
+ }
+ }
+}
diff --git a/packages/bukkit/src/typings/org.bukkit.event.vehicle.VehicleUpdateEvent.ts b/packages/bukkit/src/typings/org.bukkit.event.vehicle.VehicleUpdateEvent.ts
new file mode 100644
index 00000000..d512c40c
--- /dev/null
+++ b/packages/bukkit/src/typings/org.bukkit.event.vehicle.VehicleUpdateEvent.ts
@@ -0,0 +1,13 @@
+declare namespace org {
+ namespace bukkit {
+ namespace event {
+ namespace vehicle {
+ class VehicleUpdateEvent {
+ constructor(vehicle: org.bukkit.entity.Vehicle)
+ public getHandlers(): org.bukkit.event.HandlerList;
+ public static getHandlerList(): org.bukkit.event.HandlerList;
+ }
+ }
+ }
+ }
+}
diff --git a/packages/bukkit/src/typings/org.bukkit.event.weather.LightningStrikeEvent.Cause.ts b/packages/bukkit/src/typings/org.bukkit.event.weather.LightningStrikeEvent.Cause.ts
new file mode 100644
index 00000000..c9ec34ca
--- /dev/null
+++ b/packages/bukkit/src/typings/org.bukkit.event.weather.LightningStrikeEvent.Cause.ts
@@ -0,0 +1,19 @@
+declare namespace org {
+ namespace bukkit {
+ namespace event {
+ namespace weather {
+ namespace LightningStrikeEvent {
+ class Cause {
+ public static COMMAND: org.bukkit.event.weather.LightningStrikeEvent.Cause;
+ public static TRIDENT: org.bukkit.event.weather.LightningStrikeEvent.Cause;
+ public static TRAP: org.bukkit.event.weather.LightningStrikeEvent.Cause;
+ public static WEATHER: org.bukkit.event.weather.LightningStrikeEvent.Cause;
+ public static UNKNOWN: org.bukkit.event.weather.LightningStrikeEvent.Cause;
+ public static values(): org.bukkit.event.weather.LightningStrikeEvent.Cause[];
+ public static valueOf(name: string): org.bukkit.event.weather.LightningStrikeEvent.Cause;
+ }
+ }
+ }
+ }
+ }
+}
diff --git a/packages/bukkit/src/typings/org.bukkit.event.weather.LightningStrikeEvent.ts b/packages/bukkit/src/typings/org.bukkit.event.weather.LightningStrikeEvent.ts
new file mode 100644
index 00000000..b211c482
--- /dev/null
+++ b/packages/bukkit/src/typings/org.bukkit.event.weather.LightningStrikeEvent.ts
@@ -0,0 +1,24 @@
+declare namespace org {
+ namespace bukkit {
+ namespace event {
+ namespace weather {
+ class LightningStrikeEvent {
+ constructor(world: org.bukkit.World, bolt: org.bukkit.entity.LightningStrike)
+ constructor(world: org.bukkit.World, bolt: org.bukkit.entity.LightningStrike, cause: org.bukkit.event.weather.LightningStrikeEvent.Cause)
+ public isCancelled(): boolean;
+ public setCancelled(cancel: boolean): void;
+ /**
+ * Gets the bolt which is striking the earth.
+ */
+ public getLightning(): org.bukkit.entity.LightningStrike;
+ /**
+ * Gets the cause of this lightning strike.
+ */
+ public getCause(): org.bukkit.event.weather.LightningStrikeEvent.Cause;
+ public getHandlers(): org.bukkit.event.HandlerList;
+ public static getHandlerList(): org.bukkit.event.HandlerList;
+ }
+ }
+ }
+ }
+}
diff --git a/packages/bukkit/src/typings/org.bukkit.event.weather.ThunderChangeEvent.ts b/packages/bukkit/src/typings/org.bukkit.event.weather.ThunderChangeEvent.ts
new file mode 100644
index 00000000..3666be50
--- /dev/null
+++ b/packages/bukkit/src/typings/org.bukkit.event.weather.ThunderChangeEvent.ts
@@ -0,0 +1,19 @@
+declare namespace org {
+ namespace bukkit {
+ namespace event {
+ namespace weather {
+ class ThunderChangeEvent {
+ constructor(world: org.bukkit.World, to: boolean)
+ public isCancelled(): boolean;
+ public setCancelled(cancel: boolean): void;
+ /**
+ * Gets the state of thunder that the world is being set to
+ */
+ public toThunderState(): boolean;
+ public getHandlers(): org.bukkit.event.HandlerList;
+ public static getHandlerList(): org.bukkit.event.HandlerList;
+ }
+ }
+ }
+ }
+}
diff --git a/packages/bukkit/src/typings/org.bukkit.event.weather.WeatherChangeEvent.ts b/packages/bukkit/src/typings/org.bukkit.event.weather.WeatherChangeEvent.ts
new file mode 100644
index 00000000..ff389dd0
--- /dev/null
+++ b/packages/bukkit/src/typings/org.bukkit.event.weather.WeatherChangeEvent.ts
@@ -0,0 +1,19 @@
+declare namespace org {
+ namespace bukkit {
+ namespace event {
+ namespace weather {
+ class WeatherChangeEvent {
+ constructor(world: org.bukkit.World, to: boolean)
+ public isCancelled(): boolean;
+ public setCancelled(cancel: boolean): void;
+ /**
+ * Gets the state of weather that the world is being set to
+ */
+ public toWeatherState(): boolean;
+ public getHandlers(): org.bukkit.event.HandlerList;
+ public static getHandlerList(): org.bukkit.event.HandlerList;
+ }
+ }
+ }
+ }
+}
diff --git a/packages/bukkit/src/typings/org.bukkit.event.weather.WeatherEvent.ts b/packages/bukkit/src/typings/org.bukkit.event.weather.WeatherEvent.ts
new file mode 100644
index 00000000..40930255
--- /dev/null
+++ b/packages/bukkit/src/typings/org.bukkit.event.weather.WeatherEvent.ts
@@ -0,0 +1,16 @@
+declare namespace org {
+ namespace bukkit {
+ namespace event {
+ namespace weather {
+ abstract class WeatherEvent {
+ constructor(where: org.bukkit.World)
+ protected world: org.bukkit.World;
+ /**
+ * Returns the World where this event is occurring
+ */
+ public getWorld(): org.bukkit.World;
+ }
+ }
+ }
+ }
+}
diff --git a/packages/bukkit/src/typings/org.bukkit.event.world.ChunkEvent.ts b/packages/bukkit/src/typings/org.bukkit.event.world.ChunkEvent.ts
new file mode 100644
index 00000000..67ef8619
--- /dev/null
+++ b/packages/bukkit/src/typings/org.bukkit.event.world.ChunkEvent.ts
@@ -0,0 +1,16 @@
+declare namespace org {
+ namespace bukkit {
+ namespace event {
+ namespace world {
+ abstract class ChunkEvent {
+ constructor(chunk: org.bukkit.Chunk)
+ protected chunk: org.bukkit.Chunk;
+ /**
+ * Gets the chunk being loaded/unloaded
+ */
+ public getChunk(): org.bukkit.Chunk;
+ }
+ }
+ }
+ }
+}
diff --git a/packages/bukkit/src/typings/org.bukkit.event.world.ChunkLoadEvent.ts b/packages/bukkit/src/typings/org.bukkit.event.world.ChunkLoadEvent.ts
new file mode 100644
index 00000000..f80b1b5d
--- /dev/null
+++ b/packages/bukkit/src/typings/org.bukkit.event.world.ChunkLoadEvent.ts
@@ -0,0 +1,19 @@
+declare namespace org {
+ namespace bukkit {
+ namespace event {
+ namespace world {
+ class ChunkLoadEvent {
+ constructor(chunk: org.bukkit.Chunk, newChunk: boolean)
+ /**
+ * Gets if this chunk was newly created or not.
+ *
+ * Note that if this chunk is new, it will not be populated at this time.
+ */
+ public isNewChunk(): boolean;
+ public getHandlers(): org.bukkit.event.HandlerList;
+ public static getHandlerList(): org.bukkit.event.HandlerList;
+ }
+ }
+ }
+ }
+}
diff --git a/packages/bukkit/src/typings/org.bukkit.event.world.ChunkPopulateEvent.ts b/packages/bukkit/src/typings/org.bukkit.event.world.ChunkPopulateEvent.ts
new file mode 100644
index 00000000..a215c8f8
--- /dev/null
+++ b/packages/bukkit/src/typings/org.bukkit.event.world.ChunkPopulateEvent.ts
@@ -0,0 +1,13 @@
+declare namespace org {
+ namespace bukkit {
+ namespace event {
+ namespace world {
+ class ChunkPopulateEvent {
+ constructor(chunk: org.bukkit.Chunk)
+ public getHandlers(): org.bukkit.event.HandlerList;
+ public static getHandlerList(): org.bukkit.event.HandlerList;
+ }
+ }
+ }
+ }
+}
diff --git a/packages/bukkit/src/typings/org.bukkit.event.world.ChunkUnloadEvent.ts b/packages/bukkit/src/typings/org.bukkit.event.world.ChunkUnloadEvent.ts
new file mode 100644
index 00000000..5a2aefcd
--- /dev/null
+++ b/packages/bukkit/src/typings/org.bukkit.event.world.ChunkUnloadEvent.ts
@@ -0,0 +1,22 @@
+declare namespace org {
+ namespace bukkit {
+ namespace event {
+ namespace world {
+ class ChunkUnloadEvent {
+ constructor(chunk: org.bukkit.Chunk)
+ constructor(chunk: org.bukkit.Chunk, save: boolean)
+ /**
+ * Return whether this chunk will be saved to disk.
+ */
+ public isSaveChunk(): boolean;
+ /**
+ * Set whether this chunk will be saved to disk.
+ */
+ public setSaveChunk(saveChunk: boolean): void;
+ public getHandlers(): org.bukkit.event.HandlerList;
+ public static getHandlerList(): org.bukkit.event.HandlerList;
+ }
+ }
+ }
+ }
+}
diff --git a/packages/bukkit/src/typings/org.bukkit.event.world.PortalCreateEvent.CreateReason.ts b/packages/bukkit/src/typings/org.bukkit.event.world.PortalCreateEvent.CreateReason.ts
new file mode 100644
index 00000000..562afb54
--- /dev/null
+++ b/packages/bukkit/src/typings/org.bukkit.event.world.PortalCreateEvent.CreateReason.ts
@@ -0,0 +1,17 @@
+declare namespace org {
+ namespace bukkit {
+ namespace event {
+ namespace world {
+ namespace PortalCreateEvent {
+ class CreateReason {
+ public static FIRE: org.bukkit.event.world.PortalCreateEvent.CreateReason;
+ public static NETHER_PAIR: org.bukkit.event.world.PortalCreateEvent.CreateReason;
+ public static END_PLATFORM: org.bukkit.event.world.PortalCreateEvent.CreateReason;
+ public static values(): org.bukkit.event.world.PortalCreateEvent.CreateReason[];
+ public static valueOf(name: string): org.bukkit.event.world.PortalCreateEvent.CreateReason;
+ }
+ }
+ }
+ }
+ }
+}
diff --git a/packages/bukkit/src/typings/org.bukkit.event.world.PortalCreateEvent.ts b/packages/bukkit/src/typings/org.bukkit.event.world.PortalCreateEvent.ts
new file mode 100644
index 00000000..0bc7acf9
--- /dev/null
+++ b/packages/bukkit/src/typings/org.bukkit.event.world.PortalCreateEvent.ts
@@ -0,0 +1,28 @@
+declare namespace org {
+ namespace bukkit {
+ namespace event {
+ namespace world {
+ class PortalCreateEvent {
+ constructor(blocks: any[] /*java.util.List*/, world: org.bukkit.World, reason: org.bukkit.event.world.PortalCreateEvent.CreateReason)
+ constructor(blocks: any[] /*java.util.List*/, world: org.bukkit.World, entity: org.bukkit.entity.Entity, reason: org.bukkit.event.world.PortalCreateEvent.CreateReason)
+ /**
+ * Gets an array list of all the blocks associated with the created portal
+ */
+ public getBlocks(): any[] /*java.util.List*/;
+ /**
+ * Returns the Entity that triggered this portal creation (if available)
+ */
+ public getEntity(): org.bukkit.entity.Entity;
+ public isCancelled(): boolean;
+ public setCancelled(cancel: boolean): void;
+ /**
+ * Gets the reason for the portal's creation
+ */
+ public getReason(): org.bukkit.event.world.PortalCreateEvent.CreateReason;
+ public getHandlers(): org.bukkit.event.HandlerList;
+ public static getHandlerList(): org.bukkit.event.HandlerList;
+ }
+ }
+ }
+ }
+}
diff --git a/packages/bukkit/src/typings/org.bukkit.event.world.SpawnChangeEvent.ts b/packages/bukkit/src/typings/org.bukkit.event.world.SpawnChangeEvent.ts
new file mode 100644
index 00000000..b2cd4bfe
--- /dev/null
+++ b/packages/bukkit/src/typings/org.bukkit.event.world.SpawnChangeEvent.ts
@@ -0,0 +1,17 @@
+declare namespace org {
+ namespace bukkit {
+ namespace event {
+ namespace world {
+ class SpawnChangeEvent {
+ constructor(world: org.bukkit.World, previousLocation: org.bukkit.Location)
+ /**
+ * Gets the previous spawn location
+ */
+ public getPreviousLocation(): org.bukkit.Location;
+ public getHandlers(): org.bukkit.event.HandlerList;
+ public static getHandlerList(): org.bukkit.event.HandlerList;
+ }
+ }
+ }
+ }
+}
diff --git a/packages/bukkit/src/typings/org.bukkit.event.world.StructureGrowEvent.ts b/packages/bukkit/src/typings/org.bukkit.event.world.StructureGrowEvent.ts
new file mode 100644
index 00000000..519db52c
--- /dev/null
+++ b/packages/bukkit/src/typings/org.bukkit.event.world.StructureGrowEvent.ts
@@ -0,0 +1,36 @@
+declare namespace org {
+ namespace bukkit {
+ namespace event {
+ namespace world {
+ class StructureGrowEvent {
+ constructor(location: org.bukkit.Location, species: org.bukkit.TreeType, bonemeal: boolean, player: org.bukkit.entity.Player, blocks: any[] /*java.util.List*/)
+ /**
+ * Gets the location of the structure.
+ */
+ public getLocation(): org.bukkit.Location;
+ /**
+ * Gets the species type (birch, normal, pine, red mushroom, brown
+ * mushroom)
+ */
+ public getSpecies(): org.bukkit.TreeType;
+ /**
+ * Checks if structure was grown using bonemeal.
+ */
+ public isFromBonemeal(): boolean;
+ /**
+ * Gets the player that created the structure.
+ */
+ public getPlayer(): org.bukkit.entity.Player;
+ /**
+ * Gets a list of all blocks associated with the structure.
+ */
+ public getBlocks(): any[] /*java.util.List*/;
+ public isCancelled(): boolean;
+ public setCancelled(cancel: boolean): void;
+ public getHandlers(): org.bukkit.event.HandlerList;
+ public static getHandlerList(): org.bukkit.event.HandlerList;
+ }
+ }
+ }
+ }
+}
diff --git a/packages/bukkit/src/typings/org.bukkit.event.world.WorldEvent.ts b/packages/bukkit/src/typings/org.bukkit.event.world.WorldEvent.ts
new file mode 100644
index 00000000..47088312
--- /dev/null
+++ b/packages/bukkit/src/typings/org.bukkit.event.world.WorldEvent.ts
@@ -0,0 +1,15 @@
+declare namespace org {
+ namespace bukkit {
+ namespace event {
+ namespace world {
+ abstract class WorldEvent {
+ constructor(world: org.bukkit.World)
+ /**
+ * Gets the world primarily involved with this event
+ */
+ public getWorld(): org.bukkit.World;
+ }
+ }
+ }
+ }
+}
diff --git a/packages/bukkit/src/typings/org.bukkit.event.world.WorldInitEvent.ts b/packages/bukkit/src/typings/org.bukkit.event.world.WorldInitEvent.ts
new file mode 100644
index 00000000..9688b1c6
--- /dev/null
+++ b/packages/bukkit/src/typings/org.bukkit.event.world.WorldInitEvent.ts
@@ -0,0 +1,13 @@
+declare namespace org {
+ namespace bukkit {
+ namespace event {
+ namespace world {
+ class WorldInitEvent {
+ constructor(world: org.bukkit.World)
+ public getHandlers(): org.bukkit.event.HandlerList;
+ public static getHandlerList(): org.bukkit.event.HandlerList;
+ }
+ }
+ }
+ }
+}
diff --git a/packages/bukkit/src/typings/org.bukkit.event.world.WorldLoadEvent.ts b/packages/bukkit/src/typings/org.bukkit.event.world.WorldLoadEvent.ts
new file mode 100644
index 00000000..32827b68
--- /dev/null
+++ b/packages/bukkit/src/typings/org.bukkit.event.world.WorldLoadEvent.ts
@@ -0,0 +1,13 @@
+declare namespace org {
+ namespace bukkit {
+ namespace event {
+ namespace world {
+ class WorldLoadEvent {
+ constructor(world: org.bukkit.World)
+ public getHandlers(): org.bukkit.event.HandlerList;
+ public static getHandlerList(): org.bukkit.event.HandlerList;
+ }
+ }
+ }
+ }
+}
diff --git a/packages/bukkit/src/typings/org.bukkit.event.world.WorldSaveEvent.ts b/packages/bukkit/src/typings/org.bukkit.event.world.WorldSaveEvent.ts
new file mode 100644
index 00000000..5cc0123c
--- /dev/null
+++ b/packages/bukkit/src/typings/org.bukkit.event.world.WorldSaveEvent.ts
@@ -0,0 +1,13 @@
+declare namespace org {
+ namespace bukkit {
+ namespace event {
+ namespace world {
+ class WorldSaveEvent {
+ constructor(world: org.bukkit.World)
+ public getHandlers(): org.bukkit.event.HandlerList;
+ public static getHandlerList(): org.bukkit.event.HandlerList;
+ }
+ }
+ }
+ }
+}
diff --git a/packages/bukkit/src/typings/org.bukkit.event.world.WorldUnloadEvent.ts b/packages/bukkit/src/typings/org.bukkit.event.world.WorldUnloadEvent.ts
new file mode 100644
index 00000000..d93a3122
--- /dev/null
+++ b/packages/bukkit/src/typings/org.bukkit.event.world.WorldUnloadEvent.ts
@@ -0,0 +1,15 @@
+declare namespace org {
+ namespace bukkit {
+ namespace event {
+ namespace world {
+ class WorldUnloadEvent {
+ constructor(world: org.bukkit.World)
+ public isCancelled(): boolean;
+ public setCancelled(cancel: boolean): void;
+ public getHandlers(): org.bukkit.event.HandlerList;
+ public static getHandlerList(): org.bukkit.event.HandlerList;
+ }
+ }
+ }
+ }
+}
diff --git a/packages/bukkit/src/typings/org.bukkit.generator.BlockPopulator.ts b/packages/bukkit/src/typings/org.bukkit.generator.BlockPopulator.ts
new file mode 100644
index 00000000..43f7b4ae
--- /dev/null
+++ b/packages/bukkit/src/typings/org.bukkit.generator.BlockPopulator.ts
@@ -0,0 +1,19 @@
+declare namespace org {
+ namespace bukkit {
+ namespace generator {
+ abstract class BlockPopulator {
+ constructor()
+ /**
+ * Populates an area of blocks at or around the given chunk.
+ *
+ * The chunks on each side of the specified chunk must already exist; that
+ * is, there must be one north, east, south and west of the specified
+ * chunk. The "corner" chunks may not exist, in which scenario the
+ * populator should record any changes required for those chunks and
+ * perform the changes when they are ready.
+ */
+ public abstract populate(world: org.bukkit.World, random: any, source: org.bukkit.Chunk): void;
+ }
+ }
+ }
+}
diff --git a/packages/bukkit/src/typings/org.bukkit.generator.ChunkGenerator.BiomeGrid.ts b/packages/bukkit/src/typings/org.bukkit.generator.ChunkGenerator.BiomeGrid.ts
new file mode 100644
index 00000000..d3afffac
--- /dev/null
+++ b/packages/bukkit/src/typings/org.bukkit.generator.ChunkGenerator.BiomeGrid.ts
@@ -0,0 +1,18 @@
+declare namespace org {
+ namespace bukkit {
+ namespace generator {
+ namespace ChunkGenerator {
+ class BiomeGrid {
+ /**
+ * Get biome at x, z within chunk being generated
+ */
+ public getBiome(x: number, z: number): org.bukkit.block.Biome;
+ /**
+ * Set biome at x, z within chunk being generated
+ */
+ public setBiome(x: number, z: number, bio: org.bukkit.block.Biome): void;
+ }
+ }
+ }
+ }
+}
diff --git a/packages/bukkit/src/typings/org.bukkit.generator.ChunkGenerator.ChunkData.ts b/packages/bukkit/src/typings/org.bukkit.generator.ChunkGenerator.ChunkData.ts
new file mode 100644
index 00000000..035e8ac1
--- /dev/null
+++ b/packages/bukkit/src/typings/org.bukkit.generator.ChunkGenerator.ChunkData.ts
@@ -0,0 +1,68 @@
+declare namespace org {
+ namespace bukkit {
+ namespace generator {
+ namespace ChunkGenerator {
+ class ChunkData {
+ /**
+ * Get the maximum height for the chunk.
+ * Setting blocks at or above this height will do nothing.
+ */
+ public getMaxHeight(): number;
+ /**
+ * Set the block at x,y,z in the chunk data to material.
+ * Note: setting blocks outside the chunk's bounds does nothing.
+ */
+ public setBlock(x: number, y: number, z: number, material: org.bukkit.Material): void;
+ /**
+ * Set the block at x,y,z in the chunk data to material.
+ * Setting blocks outside the chunk's bounds does nothing.
+ */
+ public setBlock(x: number, y: number, z: number, material: org.bukkit.material.MaterialData): void;
+ /**
+ * Set the block at x,y,z in the chunk data to material.
+ * Setting blocks outside the chunk's bounds does nothing.
+ */
+ public setBlock(x: number, y: number, z: number, blockData: org.bukkit.block.data.BlockData): void;
+ /**
+ * Set a region of this chunk from xMin, yMin, zMin (inclusive)
+ * to xMax, yMax, zMax (exclusive) to material.
+ * Setting blocks outside the chunk's bounds does nothing.
+ */
+ public setRegion(xMin: number, yMin: number, zMin: number, xMax: number, yMax: number, zMax: number, material: org.bukkit.Material): void;
+ /**
+ * Set a region of this chunk from xMin, yMin, zMin (inclusive)
+ * to xMax, yMax, zMax (exclusive) to material.
+ * Setting blocks outside the chunk's bounds does nothing.
+ */
+ public setRegion(xMin: number, yMin: number, zMin: number, xMax: number, yMax: number, zMax: number, material: org.bukkit.material.MaterialData): void;
+ /**
+ * Set a region of this chunk from xMin, yMin, zMin (inclusive) to xMax,
+ * yMax, zMax (exclusive) to material.
+ * Setting blocks outside the chunk's bounds does nothing.
+ */
+ public setRegion(xMin: number, yMin: number, zMin: number, xMax: number, yMax: number, zMax: number, blockData: org.bukkit.block.data.BlockData): void;
+ /**
+ * Get the type of the block at x, y, z.
+ * Getting blocks outside the chunk's bounds returns air.
+ */
+ public getType(x: number, y: number, z: number): org.bukkit.Material;
+ /**
+ * Get the type and data of the block at x, y, z.
+ * Getting blocks outside the chunk's bounds returns air.
+ */
+ public getTypeAndData(x: number, y: number, z: number): org.bukkit.material.MaterialData;
+ /**
+ * Get the type and data of the block at x, y, z.
+ * Getting blocks outside the chunk's bounds returns air.
+ */
+ public getBlockData(x: number, y: number, z: number): org.bukkit.block.data.BlockData;
+ /**
+ * Get the block data at x,y,z in the chunk data.
+ * Getting blocks outside the chunk's bounds returns 0.
+ */
+ public getData(x: number, y: number, z: number): number;
+ }
+ }
+ }
+ }
+}
diff --git a/packages/bukkit/src/typings/org.bukkit.generator.ChunkGenerator.ts b/packages/bukkit/src/typings/org.bukkit.generator.ChunkGenerator.ts
new file mode 100644
index 00000000..5861082e
--- /dev/null
+++ b/packages/bukkit/src/typings/org.bukkit.generator.ChunkGenerator.ts
@@ -0,0 +1,49 @@
+declare namespace org {
+ namespace bukkit {
+ namespace generator {
+ abstract class ChunkGenerator {
+ constructor()
+ /**
+ * Shapes the chunk for the given coordinates.
+ * This method must return a ChunkData.
+ *
+ * Notes:
+ *
+ * This method should never attempt to get the Chunk at
+ * the passed coordinates, as doing so may cause an infinite loop
+ *
+ * This method should never modify a ChunkData after it has
+ * been returned.
+ *
+ * This method must return a ChunkData returned by {@link ChunkGenerator#createChunkData(org.bukkit.World)}
+ */
+ public generateChunkData(world: org.bukkit.World, random: any, x: number, z: number, biome: org.bukkit.generator.ChunkGenerator.BiomeGrid): org.bukkit.generator.ChunkGenerator.ChunkData;
+ /**
+ * Create a ChunkData for a world.
+ */
+ protected createChunkData(world: org.bukkit.World): org.bukkit.generator.ChunkGenerator.ChunkData;
+ /**
+ * Tests if the specified location is valid for a natural spawn position
+ */
+ public canSpawn(world: org.bukkit.World, x: number, z: number): boolean;
+ /**
+ * Gets a list of default {@link BlockPopulator}s to apply to a given
+ * world
+ */
+ public getDefaultPopulators(world: org.bukkit.World): any[] /*java.util.List*/;
+ /**
+ * Gets a fixed spawn location to use for a given world.
+ *
+ * A null value is returned if a world should not use a fixed spawn point,
+ * and will instead attempt to find one randomly.
+ */
+ public getFixedSpawnLocation(world: org.bukkit.World, random: any): org.bukkit.Location;
+ /**
+ * Gets if this ChunkGenerator is parallel capable.
+ * See {@link ChunkGenerator} for more information.
+ */
+ public isParallelCapable(): boolean;
+ }
+ }
+ }
+}
diff --git a/packages/bukkit/src/typings/org.bukkit.help.GenericCommandHelpTopic.ts b/packages/bukkit/src/typings/org.bukkit.help.GenericCommandHelpTopic.ts
new file mode 100644
index 00000000..e44740e3
--- /dev/null
+++ b/packages/bukkit/src/typings/org.bukkit.help.GenericCommandHelpTopic.ts
@@ -0,0 +1,11 @@
+declare namespace org {
+ namespace bukkit {
+ namespace help {
+ class GenericCommandHelpTopic {
+ constructor(command: org.bukkit.command.Command)
+ protected command: org.bukkit.command.Command;
+ public canSee(sender: org.bukkit.command.CommandSender): boolean;
+ }
+ }
+ }
+}
diff --git a/packages/bukkit/src/typings/org.bukkit.help.HelpMap.ts b/packages/bukkit/src/typings/org.bukkit.help.HelpMap.ts
new file mode 100644
index 00000000..258b70c9
--- /dev/null
+++ b/packages/bukkit/src/typings/org.bukkit.help.HelpMap.ts
@@ -0,0 +1,44 @@
+declare namespace org {
+ namespace bukkit {
+ namespace help {
+ class HelpMap {
+ /**
+ * Returns a help topic for a given topic name.
+ */
+ public getHelpTopic(topicName: string): org.bukkit.help.HelpTopic;
+ /**
+ * Returns a collection of all the registered help topics.
+ */
+ public getHelpTopics(): any[] /*java.util.Collection*/;
+ /**
+ * Adds a topic to the server's help index.
+ */
+ public addTopic(topic: org.bukkit.help.HelpTopic): void;
+ /**
+ * Clears out the contents of the help index. Normally called during
+ * server reload.
+ */
+ public clear(): void;
+ /**
+ * Associates a {@link HelpTopicFactory} object with given command base
+ * class. Plugins typically call this method during {@code onLoad()}. Once
+ * registered, the custom HelpTopicFactory will be used to create a custom
+ * {@link HelpTopic} for all commands deriving from the {@code
+ * commandClass} base class, or all commands deriving from {@link
+ * org.bukkit.command.PluginCommand} who's executor derives from {@code
+ * commandClass} base class.
+ */
+ public registerHelpTopicFactory(commandClass: any, factory: org.bukkit.help.HelpTopicFactory): void;
+ /**
+ * Gets the list of plugins the server administrator has chosen to exclude
+ * from the help index. Plugin authors who choose to directly extend
+ * {@link org.bukkit.command.Command} instead of {@link
+ * org.bukkit.command.PluginCommand} will need to check this collection in
+ * their {@link HelpTopicFactory} implementations to ensure they meet the
+ * server administrator's expectations.
+ */
+ public getIgnoredPlugins(): any[] /*java.util.List*/;
+ }
+ }
+ }
+}
diff --git a/packages/bukkit/src/typings/org.bukkit.help.HelpTopic.ts b/packages/bukkit/src/typings/org.bukkit.help.HelpTopic.ts
new file mode 100644
index 00000000..7c0617e7
--- /dev/null
+++ b/packages/bukkit/src/typings/org.bukkit.help.HelpTopic.ts
@@ -0,0 +1,61 @@
+declare namespace org {
+ namespace bukkit {
+ namespace help {
+ abstract class HelpTopic {
+ constructor()
+ protected name: string;
+ protected shortText: string;
+ protected fullText: string;
+ protected amendedPermission: string;
+ /**
+ * Determines if a {@link Player} is allowed to see this help topic.
+ *
+ * HelpTopic implementations should take server administrator wishes into
+ * account as set by the {@link HelpTopic#amendCanSee(String)} function.
+ */
+ public abstract canSee(player: org.bukkit.command.CommandSender): boolean;
+ /**
+ * Allows the server administrator to override the permission required to
+ * see a help topic.
+ *
+ * HelpTopic implementations should take this into account when
+ * determining topic visibility on the {@link
+ * HelpTopic#canSee(org.bukkit.command.CommandSender)} function.
+ */
+ public amendCanSee(amendedPermission: string): void;
+ /**
+ * Returns the name of this help topic.
+ */
+ public getName(): string;
+ /**
+ * Returns a brief description that will be displayed in the topic index.
+ */
+ public getShortText(): string;
+ /**
+ * Returns the full description of this help topic that is displayed when
+ * the user requests this topic's details.
+ *
+ * The result will be paginated to properly fit the user's client.
+ */
+ public getFullText(forWho: org.bukkit.command.CommandSender): string;
+ /**
+ * Allows the server admin (or another plugin) to add or replace the
+ * contents of a help topic.
+ *
+ * A null in either parameter will leave that part of the topic unchanged.
+ * In either amending parameter, the string {@literal
+ * By default, this level is set to 40. Players in creative mode ignore the
+ * maximum repair cost.
+ */
+ public getMaximumRepairCost(): number;
+ /**
+ * Set the maximum experience cost (in levels) to be allowed by the current
+ * repair. The default value set by vanilla Minecraft is 40.
+ */
+ public setMaximumRepairCost(levels: number): void;
+ }
+ }
+ }
+}
diff --git a/packages/bukkit/src/typings/org.bukkit.inventory.BeaconInventory.ts b/packages/bukkit/src/typings/org.bukkit.inventory.BeaconInventory.ts
new file mode 100644
index 00000000..05905e64
--- /dev/null
+++ b/packages/bukkit/src/typings/org.bukkit.inventory.BeaconInventory.ts
@@ -0,0 +1,16 @@
+declare namespace org {
+ namespace bukkit {
+ namespace inventory {
+ class BeaconInventory {
+ /**
+ * Set the item powering the beacon.
+ */
+ public setItem(item: org.bukkit.inventory.ItemStack): void;
+ /**
+ * Get the item powering the beacon.
+ */
+ public getItem(): org.bukkit.inventory.ItemStack;
+ }
+ }
+ }
+}
diff --git a/packages/bukkit/src/typings/org.bukkit.inventory.BlastingRecipe.ts b/packages/bukkit/src/typings/org.bukkit.inventory.BlastingRecipe.ts
new file mode 100644
index 00000000..e85a7cfe
--- /dev/null
+++ b/packages/bukkit/src/typings/org.bukkit.inventory.BlastingRecipe.ts
@@ -0,0 +1,10 @@
+declare namespace org {
+ namespace bukkit {
+ namespace inventory {
+ class BlastingRecipe {
+ constructor(key: org.bukkit.NamespacedKey, result: org.bukkit.inventory.ItemStack, source: org.bukkit.Material, experience: number, cookingTime: number)
+ constructor(key: org.bukkit.NamespacedKey, result: org.bukkit.inventory.ItemStack, input: org.bukkit.inventory.RecipeChoice, experience: number, cookingTime: number)
+ }
+ }
+ }
+}
diff --git a/packages/bukkit/src/typings/org.bukkit.inventory.BlockInventoryHolder.ts b/packages/bukkit/src/typings/org.bukkit.inventory.BlockInventoryHolder.ts
new file mode 100644
index 00000000..98492510
--- /dev/null
+++ b/packages/bukkit/src/typings/org.bukkit.inventory.BlockInventoryHolder.ts
@@ -0,0 +1,12 @@
+declare namespace org {
+ namespace bukkit {
+ namespace inventory {
+ class BlockInventoryHolder {
+ /**
+ * Gets the block associated with this holder.
+ */
+ public getBlock(): org.bukkit.block.Block;
+ }
+ }
+ }
+}
diff --git a/packages/bukkit/src/typings/org.bukkit.inventory.BrewerInventory.ts b/packages/bukkit/src/typings/org.bukkit.inventory.BrewerInventory.ts
new file mode 100644
index 00000000..f936afbe
--- /dev/null
+++ b/packages/bukkit/src/typings/org.bukkit.inventory.BrewerInventory.ts
@@ -0,0 +1,26 @@
+declare namespace org {
+ namespace bukkit {
+ namespace inventory {
+ class BrewerInventory {
+ /**
+ * Get the current ingredient for brewing.
+ */
+ public getIngredient(): org.bukkit.inventory.ItemStack;
+ /**
+ * Set the current ingredient for brewing.
+ */
+ public setIngredient(ingredient: org.bukkit.inventory.ItemStack): void;
+ /**
+ * Get the current fuel for brewing.
+ */
+ public getFuel(): org.bukkit.inventory.ItemStack;
+ /**
+ * Set the current fuel for brewing. Generally only
+ * {@link Material#BLAZE_POWDER} will be of use.
+ */
+ public setFuel(fuel: org.bukkit.inventory.ItemStack): void;
+ public getHolder(): org.bukkit.block.BrewingStand;
+ }
+ }
+ }
+}
diff --git a/packages/bukkit/src/typings/org.bukkit.inventory.CampfireRecipe.ts b/packages/bukkit/src/typings/org.bukkit.inventory.CampfireRecipe.ts
new file mode 100644
index 00000000..4d95b17d
--- /dev/null
+++ b/packages/bukkit/src/typings/org.bukkit.inventory.CampfireRecipe.ts
@@ -0,0 +1,10 @@
+declare namespace org {
+ namespace bukkit {
+ namespace inventory {
+ class CampfireRecipe {
+ constructor(key: org.bukkit.NamespacedKey, result: org.bukkit.inventory.ItemStack, source: org.bukkit.Material, experience: number, cookingTime: number)
+ constructor(key: org.bukkit.NamespacedKey, result: org.bukkit.inventory.ItemStack, input: org.bukkit.inventory.RecipeChoice, experience: number, cookingTime: number)
+ }
+ }
+ }
+}
diff --git a/packages/bukkit/src/typings/org.bukkit.inventory.CartographyInventory.ts b/packages/bukkit/src/typings/org.bukkit.inventory.CartographyInventory.ts
new file mode 100644
index 00000000..03463ad4
--- /dev/null
+++ b/packages/bukkit/src/typings/org.bukkit.inventory.CartographyInventory.ts
@@ -0,0 +1,8 @@
+declare namespace org {
+ namespace bukkit {
+ namespace inventory {
+ class CartographyInventory {
+ }
+ }
+ }
+}
diff --git a/packages/bukkit/src/typings/org.bukkit.inventory.CookingRecipe.ts b/packages/bukkit/src/typings/org.bukkit.inventory.CookingRecipe.ts
new file mode 100644
index 00000000..de1dc9a2
--- /dev/null
+++ b/packages/bukkit/src/typings/org.bukkit.inventory.CookingRecipe.ts
@@ -0,0 +1,63 @@
+declare namespace org {
+ namespace bukkit {
+ namespace inventory {
+ abstract class CookingRecipe {
+ /**
+ * Create a cooking recipe to craft the specified ItemStack.
+ */
+ constructor(key: org.bukkit.NamespacedKey, result: org.bukkit.inventory.ItemStack, source: org.bukkit.Material, experience: number, cookingTime: number)
+ /**
+ * Create a cooking recipe to craft the specified ItemStack.
+ */
+ constructor(key: org.bukkit.NamespacedKey, result: org.bukkit.inventory.ItemStack, input: org.bukkit.inventory.RecipeChoice, experience: number, cookingTime: number)
+ /**
+ * Sets the input of this cooking recipe.
+ */
+ public setInput(input: org.bukkit.Material): org.bukkit.inventory.CookingRecipe;
+ /**
+ * Get the input material.
+ */
+ public getInput(): org.bukkit.inventory.ItemStack;
+ /**
+ * Sets the input of this cooking recipe.
+ */
+ public setInputChoice(input: org.bukkit.inventory.RecipeChoice): org.bukkit.inventory.CookingRecipe;
+ /**
+ * Get the input choice.
+ */
+ public getInputChoice(): org.bukkit.inventory.RecipeChoice;
+ /**
+ * Get the result of this recipe.
+ */
+ public getResult(): org.bukkit.inventory.ItemStack;
+ /**
+ * Sets the experience given by this recipe.
+ */
+ public setExperience(experience: number): void;
+ /**
+ * Get the experience given by this recipe.
+ */
+ public getExperience(): number;
+ /**
+ * Set the cooking time for this recipe in ticks.
+ */
+ public setCookingTime(cookingTime: number): void;
+ /**
+ * Get the cooking time for this recipe in ticks.
+ */
+ public getCookingTime(): number;
+ public getKey(): org.bukkit.NamespacedKey;
+ /**
+ * Get the group of this recipe. Recipes with the same group may be grouped
+ * together when displayed in the client.
+ */
+ public getGroup(): string;
+ /**
+ * Set the group of this recipe. Recipes with the same group may be grouped
+ * together when displayed in the client.
+ */
+ public setGroup(group: string): void;
+ }
+ }
+ }
+}
diff --git a/packages/bukkit/src/typings/org.bukkit.inventory.CraftingInventory.ts b/packages/bukkit/src/typings/org.bukkit.inventory.CraftingInventory.ts
new file mode 100644
index 00000000..c69cc1aa
--- /dev/null
+++ b/packages/bukkit/src/typings/org.bukkit.inventory.CraftingInventory.ts
@@ -0,0 +1,28 @@
+declare namespace org {
+ namespace bukkit {
+ namespace inventory {
+ class CraftingInventory {
+ /**
+ * Check what item is in the result slot of this crafting inventory.
+ */
+ public getResult(): org.bukkit.inventory.ItemStack;
+ /**
+ * Get the contents of the crafting matrix.
+ */
+ public getMatrix(): org.bukkit.inventory.ItemStack[];
+ /**
+ * Set the item in the result slot of the crafting inventory.
+ */
+ public setResult(newResult: org.bukkit.inventory.ItemStack): void;
+ /**
+ * Replace the contents of the crafting matrix
+ */
+ public setMatrix(contents: org.bukkit.inventory.ItemStack): void;
+ /**
+ * Get the current recipe formed on the crafting inventory, if any.
+ */
+ public getRecipe(): org.bukkit.inventory.Recipe;
+ }
+ }
+ }
+}
diff --git a/packages/bukkit/src/typings/org.bukkit.inventory.DoubleChestInventory.ts b/packages/bukkit/src/typings/org.bukkit.inventory.DoubleChestInventory.ts
new file mode 100644
index 00000000..3105ed80
--- /dev/null
+++ b/packages/bukkit/src/typings/org.bukkit.inventory.DoubleChestInventory.ts
@@ -0,0 +1,17 @@
+declare namespace org {
+ namespace bukkit {
+ namespace inventory {
+ class DoubleChestInventory {
+ /**
+ * Get the left half of this double chest.
+ */
+ public getLeftSide(): org.bukkit.inventory.Inventory;
+ /**
+ * Get the right side of this double chest.
+ */
+ public getRightSide(): org.bukkit.inventory.Inventory;
+ public getHolder(): org.bukkit.block.DoubleChest;
+ }
+ }
+ }
+}
diff --git a/packages/bukkit/src/typings/org.bukkit.inventory.EnchantingInventory.ts b/packages/bukkit/src/typings/org.bukkit.inventory.EnchantingInventory.ts
new file mode 100644
index 00000000..74931229
--- /dev/null
+++ b/packages/bukkit/src/typings/org.bukkit.inventory.EnchantingInventory.ts
@@ -0,0 +1,24 @@
+declare namespace org {
+ namespace bukkit {
+ namespace inventory {
+ class EnchantingInventory {
+ /**
+ * Set the item being enchanted.
+ */
+ public setItem(item: org.bukkit.inventory.ItemStack): void;
+ /**
+ * Get the item being enchanted.
+ */
+ public getItem(): org.bukkit.inventory.ItemStack;
+ /**
+ * Set the secondary item being used for the enchant.
+ */
+ public setSecondary(item: org.bukkit.inventory.ItemStack): void;
+ /**
+ * Get the secondary item being used for the enchant.
+ */
+ public getSecondary(): org.bukkit.inventory.ItemStack;
+ }
+ }
+ }
+}
diff --git a/packages/bukkit/src/typings/org.bukkit.inventory.EntityEquipment.ts b/packages/bukkit/src/typings/org.bukkit.inventory.EntityEquipment.ts
new file mode 100644
index 00000000..85d6dc52
--- /dev/null
+++ b/packages/bukkit/src/typings/org.bukkit.inventory.EntityEquipment.ts
@@ -0,0 +1,188 @@
+declare namespace org {
+ namespace bukkit {
+ namespace inventory {
+ class EntityEquipment {
+ /**
+ * Gets a copy of the item the entity is currently holding
+ * in their main hand.
+ */
+ public getItemInMainHand(): org.bukkit.inventory.ItemStack;
+ /**
+ * Sets the item the entity is holding in their main hand.
+ */
+ public setItemInMainHand(item: org.bukkit.inventory.ItemStack): void;
+ /**
+ * Gets a copy of the item the entity is currently holding
+ * in their off hand.
+ */
+ public getItemInOffHand(): org.bukkit.inventory.ItemStack;
+ /**
+ * Sets the item the entity is holding in their off hand.
+ */
+ public setItemInOffHand(item: org.bukkit.inventory.ItemStack): void;
+ /**
+ * Gets a copy of the item the entity is currently holding
+ */
+ public getItemInHand(): org.bukkit.inventory.ItemStack;
+ /**
+ * Sets the item the entity is holding
+ */
+ public setItemInHand(stack: org.bukkit.inventory.ItemStack): void;
+ /**
+ * Gets a copy of the helmet currently being worn by the entity
+ */
+ public getHelmet(): org.bukkit.inventory.ItemStack;
+ /**
+ * Sets the helmet worn by the entity
+ */
+ public setHelmet(helmet: org.bukkit.inventory.ItemStack): void;
+ /**
+ * Gets a copy of the chest plate currently being worn by the entity
+ */
+ public getChestplate(): org.bukkit.inventory.ItemStack;
+ /**
+ * Sets the chest plate worn by the entity
+ */
+ public setChestplate(chestplate: org.bukkit.inventory.ItemStack): void;
+ /**
+ * Gets a copy of the leggings currently being worn by the entity
+ */
+ public getLeggings(): org.bukkit.inventory.ItemStack;
+ /**
+ * Sets the leggings worn by the entity
+ */
+ public setLeggings(leggings: org.bukkit.inventory.ItemStack): void;
+ /**
+ * Gets a copy of the boots currently being worn by the entity
+ */
+ public getBoots(): org.bukkit.inventory.ItemStack;
+ /**
+ * Sets the boots worn by the entity
+ */
+ public setBoots(boots: org.bukkit.inventory.ItemStack): void;
+ /**
+ * Gets a copy of all worn armor
+ */
+ public getArmorContents(): org.bukkit.inventory.ItemStack[];
+ /**
+ * Sets the entities armor to the provided array of ItemStacks
+ */
+ public setArmorContents(items: org.bukkit.inventory.ItemStack): void;
+ /**
+ * Clears the entity of all armor and held items
+ */
+ public clear(): void;
+ public getItemInHandDropChance(): number;
+ public setItemInHandDropChance(chance: number): void;
+ /**
+ * Gets the chance of the main hand item being dropped upon this creature's
+ * death.
+ *
+ * Caveats:
+ *
+ * The returned HashMap contains what it couldn't store, where the key is
+ * the index of the parameter, and the value is the ItemStack at that
+ * index of the varargs parameter. If all items are stored, it will return
+ * an empty HashMap.
+ *
+ * If you pass in ItemStacks which exceed the maximum stack size for the
+ * Material, first they will be added to partial stacks where
+ * Material.getMaxStackSize() is not exceeded, up to
+ * Material.getMaxStackSize(). When there are no partial stacks left
+ * stacks will be split on Inventory.getMaxStackSize() allowing you to
+ * exceed the maximum stack size for that material.
+ *
+ * It is known that in some implementations this method will also set
+ * the inputted argument amount to the number of that item not placed in
+ * slots.
+ */
+ public addItem(items: org.bukkit.inventory.ItemStack): any;
+ /**
+ * Removes the given ItemStacks from the inventory.
+ *
+ * It will try to remove 'as much as possible' from the types and amounts
+ * you give as arguments.
+ *
+ * The returned HashMap contains what it couldn't remove, where the key is
+ * the index of the parameter, and the value is the ItemStack at that
+ * index of the varargs parameter. If all the given ItemStacks are
+ * removed, it will return an empty HashMap.
+ *
+ * It is known that in some implementations this method will also set the
+ * inputted argument amount to the number of that item not removed from
+ * slots.
+ */
+ public removeItem(items: org.bukkit.inventory.ItemStack): any;
+ /**
+ * Returns all ItemStacks from the inventory
+ */
+ public getContents(): org.bukkit.inventory.ItemStack[];
+ /**
+ * Completely replaces the inventory's contents. Removes all existing
+ * contents and replaces it with the ItemStacks given in the array.
+ */
+ public setContents(items: org.bukkit.inventory.ItemStack): void;
+ /**
+ * Return the contents from the section of the inventory where items can
+ * reasonably be expected to be stored. In most cases this will represent
+ * the entire inventory, but in some cases it may exclude armor or result
+ * slots.
+ *
+ * This will only return true if both the type and the amount of the stack
+ * match.
+ */
+ public contains(item: org.bukkit.inventory.ItemStack): boolean;
+ /**
+ * Checks if the inventory contains any ItemStacks with the given
+ * material, adding to at least the minimum amount specified.
+ */
+ public contains(material: org.bukkit.Material, amount: number): boolean;
+ /**
+ * Checks if the inventory contains at least the minimum amount specified
+ * of exactly matching ItemStacks.
+ *
+ * An ItemStack only counts if both the type and the amount of the stack
+ * match.
+ */
+ public contains(item: org.bukkit.inventory.ItemStack, amount: number): boolean;
+ /**
+ * Checks if the inventory contains ItemStacks matching the given
+ * ItemStack whose amounts sum to at least the minimum amount specified.
+ */
+ public containsAtLeast(item: org.bukkit.inventory.ItemStack, amount: number): boolean;
+ /**
+ * Returns a HashMap with all slots and ItemStacks in the inventory with
+ * the given Material.
+ *
+ * The HashMap contains entries where, the key is the slot index, and the
+ * value is the ItemStack in that slot. If no matching ItemStack with the
+ * given Material is found, an empty map is returned.
+ */
+ public all(material: org.bukkit.Material): any;
+ /**
+ * Finds all slots in the inventory containing any ItemStacks with the
+ * given ItemStack. This will only match slots if both the type and the
+ * amount of the stack match
+ *
+ * The HashMap contains entries where, the key is the slot index, and the
+ * value is the ItemStack in that slot. If no matching ItemStack with the
+ * given Material is found, an empty map is returned.
+ */
+ public all(item: org.bukkit.inventory.ItemStack): any;
+ /**
+ * Finds the first slot in the inventory containing an ItemStack with the
+ * given material
+ */
+ public first(material: org.bukkit.Material): number;
+ /**
+ * Returns the first slot in the inventory containing an ItemStack with
+ * the given stack. This will only match a slot if both the type and the
+ * amount of the stack match
+ */
+ public first(item: org.bukkit.inventory.ItemStack): number;
+ /**
+ * Returns the first empty Slot.
+ */
+ public firstEmpty(): number;
+ /**
+ * Removes all stacks in the inventory matching the given material.
+ */
+ public remove(material: org.bukkit.Material): void;
+ /**
+ * Removes all stacks in the inventory matching the given stack.
+ *
+ * This will only match a slot if both the type and the amount of the
+ * stack match
+ */
+ public remove(item: org.bukkit.inventory.ItemStack): void;
+ /**
+ * Clears out a particular slot in the index.
+ */
+ public clear(index: number): void;
+ /**
+ * Clears out the whole Inventory.
+ */
+ public clear(): void;
+ /**
+ * Gets a list of players viewing the inventory. Note that a player is
+ * considered to be viewing their own inventory and internal crafting
+ * screen even when said inventory is not open. They will normally be
+ * considered to be viewing their inventory even when they have a
+ * different inventory screen open, but it's possible for customized
+ * inventory screens to exclude the viewer's inventory, so this should
+ * never be assumed to be non-empty.
+ */
+ public getViewers(): any[] /*java.util.List*/;
+ /**
+ * Returns what type of inventory this is.
+ */
+ public getType(): org.bukkit.event.inventory.InventoryType;
+ /**
+ * Gets the block or entity belonging to the open inventory
+ */
+ public getHolder(): org.bukkit.inventory.InventoryHolder;
+ public iterator(): any;
+ /**
+ * Returns an iterator starting at the given index. If the index is
+ * positive, then the first call to next() will return the item at that
+ * index; if it is negative, the first call to previous will return the
+ * item at index (getSize() + index).
+ */
+ public iterator(index: number): any;
+ /**
+ * Get the location of the block or entity which corresponds to this inventory. May return null if this container
+ * was custom created or is a virtual / subcontainer.
+ */
+ public getLocation(): org.bukkit.Location;
+ }
+ }
+ }
+}
diff --git a/packages/bukkit/src/typings/org.bukkit.inventory.InventoryHolder.ts b/packages/bukkit/src/typings/org.bukkit.inventory.InventoryHolder.ts
new file mode 100644
index 00000000..e11a9e3d
--- /dev/null
+++ b/packages/bukkit/src/typings/org.bukkit.inventory.InventoryHolder.ts
@@ -0,0 +1,12 @@
+declare namespace org {
+ namespace bukkit {
+ namespace inventory {
+ class InventoryHolder {
+ /**
+ * Get the object's inventory.
+ */
+ public getInventory(): org.bukkit.inventory.Inventory;
+ }
+ }
+ }
+}
diff --git a/packages/bukkit/src/typings/org.bukkit.inventory.InventoryView.Property.ts b/packages/bukkit/src/typings/org.bukkit.inventory.InventoryView.Property.ts
new file mode 100644
index 00000000..9e9558fd
--- /dev/null
+++ b/packages/bukkit/src/typings/org.bukkit.inventory.InventoryView.Property.ts
@@ -0,0 +1,34 @@
+declare namespace org {
+ namespace bukkit {
+ namespace inventory {
+ namespace InventoryView {
+ class Property {
+ public static BREW_TIME: org.bukkit.inventory.InventoryView.Property;
+ public static BURN_TIME: org.bukkit.inventory.InventoryView.Property;
+ public static TICKS_FOR_CURRENT_FUEL: org.bukkit.inventory.InventoryView.Property;
+ public static COOK_TIME: org.bukkit.inventory.InventoryView.Property;
+ public static TICKS_FOR_CURRENT_SMELTING: org.bukkit.inventory.InventoryView.Property;
+ public static ENCHANT_BUTTON1: org.bukkit.inventory.InventoryView.Property;
+ public static ENCHANT_BUTTON2: org.bukkit.inventory.InventoryView.Property;
+ public static ENCHANT_BUTTON3: org.bukkit.inventory.InventoryView.Property;
+ public static ENCHANT_XP_SEED: org.bukkit.inventory.InventoryView.Property;
+ public static ENCHANT_ID1: org.bukkit.inventory.InventoryView.Property;
+ public static ENCHANT_ID2: org.bukkit.inventory.InventoryView.Property;
+ public static ENCHANT_ID3: org.bukkit.inventory.InventoryView.Property;
+ public static ENCHANT_LEVEL1: org.bukkit.inventory.InventoryView.Property;
+ public static ENCHANT_LEVEL2: org.bukkit.inventory.InventoryView.Property;
+ public static ENCHANT_LEVEL3: org.bukkit.inventory.InventoryView.Property;
+ public static LEVELS: org.bukkit.inventory.InventoryView.Property;
+ public static PRIMARY_EFFECT: org.bukkit.inventory.InventoryView.Property;
+ public static SECONDARY_EFFECT: org.bukkit.inventory.InventoryView.Property;
+ public static REPAIR_COST: org.bukkit.inventory.InventoryView.Property;
+ public static BOOK_PAGE: org.bukkit.inventory.InventoryView.Property;
+ public static values(): org.bukkit.inventory.InventoryView.Property[];
+ public static valueOf(name: string): org.bukkit.inventory.InventoryView.Property;
+ public getType(): org.bukkit.event.inventory.InventoryType;
+ public getId(): number;
+ }
+ }
+ }
+ }
+}
diff --git a/packages/bukkit/src/typings/org.bukkit.inventory.InventoryView.ts b/packages/bukkit/src/typings/org.bukkit.inventory.InventoryView.ts
new file mode 100644
index 00000000..3cad6374
--- /dev/null
+++ b/packages/bukkit/src/typings/org.bukkit.inventory.InventoryView.ts
@@ -0,0 +1,93 @@
+declare namespace org {
+ namespace bukkit {
+ namespace inventory {
+ abstract class InventoryView {
+ constructor()
+ public static OUTSIDE: number;
+ /**
+ * Get the upper inventory involved in this transaction.
+ */
+ public abstract getTopInventory(): org.bukkit.inventory.Inventory;
+ /**
+ * Get the lower inventory involved in this transaction.
+ */
+ public abstract getBottomInventory(): org.bukkit.inventory.Inventory;
+ /**
+ * Get the player viewing.
+ */
+ public abstract getPlayer(): org.bukkit.entity.HumanEntity;
+ /**
+ * Determine the type of inventory involved in the transaction. This
+ * indicates the window style being shown. It will never return PLAYER,
+ * since that is common to all windows.
+ */
+ public abstract getType(): org.bukkit.event.inventory.InventoryType;
+ /**
+ * Sets one item in this inventory view by its raw slot ID.
+ *
+ * Note: If slot ID -999 is chosen, it may be expected that the item is
+ * dropped on the ground. This is not required behaviour, however.
+ */
+ public setItem(slot: number, item: org.bukkit.inventory.ItemStack): void;
+ /**
+ * Gets one item in this inventory view by its raw slot ID.
+ */
+ public getItem(slot: number): org.bukkit.inventory.ItemStack;
+ /**
+ * Sets the item on the cursor of one of the viewing players.
+ */
+ public setCursor(item: org.bukkit.inventory.ItemStack): void;
+ /**
+ * Get the item on the cursor of one of the viewing players.
+ */
+ public getCursor(): org.bukkit.inventory.ItemStack;
+ /**
+ * Gets the inventory corresponding to the given raw slot ID.
+ * If the slot ID is {@link #OUTSIDE} null will be returned, otherwise
+ * behaviour for illegal and negative slot IDs is undefined.
+ * May be used with {@link #convertSlot(int)} to directly index an
+ * underlying inventory.
+ */
+ public getInventory(rawSlot: number): org.bukkit.inventory.Inventory;
+ /**
+ * Converts a raw slot ID into its local slot ID into whichever of the two
+ * inventories the slot points to.
+ *
+ * If the raw slot refers to the upper inventory, it will be returned
+ * unchanged and thus be suitable for getTopInventory().getItem(); if it
+ * refers to the lower inventory, the output will differ from the input
+ * and be suitable for getBottomInventory().getItem().
+ */
+ public convertSlot(rawSlot: number): number;
+ /**
+ * Determine the type of the slot by its raw slot ID.
+ *
+ * If the type of the slot is unknown, then
+ * {@link InventoryType.SlotType#CONTAINER} will be returned.
+ */
+ public getSlotType(slot: number): org.bukkit.event.inventory.InventoryType.SlotType;
+ /**
+ * Closes the inventory view.
+ */
+ public close(): void;
+ /**
+ * Check the total number of slots in this view, combining the upper and
+ * lower inventories.
+ *
+ * Note though that it's possible for this to be greater than the sum of
+ * the two inventories if for example some slots are not being used.
+ */
+ public countSlots(): number;
+ /**
+ * Sets an extra property of this inventory if supported by that
+ * inventory, for example the state of a progress bar.
+ */
+ public setProperty(prop: org.bukkit.inventory.InventoryView.Property, value: number): boolean;
+ /**
+ * Get the title of this inventory window.
+ */
+ public abstract getTitle(): string;
+ }
+ }
+ }
+}
diff --git a/packages/bukkit/src/typings/org.bukkit.inventory.ItemFactory.ts b/packages/bukkit/src/typings/org.bukkit.inventory.ItemFactory.ts
new file mode 100644
index 00000000..27b31681
--- /dev/null
+++ b/packages/bukkit/src/typings/org.bukkit.inventory.ItemFactory.ts
@@ -0,0 +1,69 @@
+declare namespace org {
+ namespace bukkit {
+ namespace inventory {
+ class ItemFactory {
+ /**
+ * This creates a new item meta for the material.
+ */
+ public getItemMeta(material: org.bukkit.Material): org.bukkit.inventory.meta.ItemMeta;
+ /**
+ * This method checks the item meta to confirm that it is applicable (no
+ * data lost if applied) to the specified ItemStack.
+ *
+ * A {@link SkullMeta} would not be valid for a sword, but a normal {@link
+ * ItemMeta} from an enchanted dirt block would.
+ */
+ public isApplicable(meta: org.bukkit.inventory.meta.ItemMeta, stack: org.bukkit.inventory.ItemStack): boolean;
+ /**
+ * This method checks the item meta to confirm that it is applicable (no
+ * data lost if applied) to the specified Material.
+ *
+ * A {@link SkullMeta} would not be valid for a sword, but a normal {@link
+ * ItemMeta} from an enchanted dirt block would.
+ */
+ public isApplicable(meta: org.bukkit.inventory.meta.ItemMeta, material: org.bukkit.Material): boolean;
+ /**
+ * This method is used to compare two item meta data objects.
+ */
+ public equals(meta1: org.bukkit.inventory.meta.ItemMeta, meta2: org.bukkit.inventory.meta.ItemMeta): boolean;
+ /**
+ * Returns an appropriate item meta for the specified stack.
+ *
+ * The item meta returned will always be a valid meta for a given
+ * ItemStack of the specified material. It may be a more or less specific
+ * meta, and could also be the same meta or meta type as the parameter.
+ * The item meta returned will also always be the most appropriate meta.
+ *
+ * Example, if a {@link SkullMeta} is being applied to a book, this method
+ * would return a {@link BookMeta} containing all information in the
+ * specified meta that is applicable to an {@link ItemMeta}, the highest
+ * common interface.
+ */
+ public asMetaFor(meta: org.bukkit.inventory.meta.ItemMeta, stack: org.bukkit.inventory.ItemStack): org.bukkit.inventory.meta.ItemMeta;
+ /**
+ * Returns an appropriate item meta for the specified material.
+ *
+ * The item meta returned will always be a valid meta for a given
+ * ItemStack of the specified material. It may be a more or less specific
+ * meta, and could also be the same meta or meta type as the parameter.
+ * The item meta returned will also always be the most appropriate meta.
+ *
+ * Example, if a {@link SkullMeta} is being applied to a book, this method
+ * would return a {@link BookMeta} containing all information in the
+ * specified meta that is applicable to an {@link ItemMeta}, the highest
+ * common interface.
+ */
+ public asMetaFor(meta: org.bukkit.inventory.meta.ItemMeta, material: org.bukkit.Material): org.bukkit.inventory.meta.ItemMeta;
+ /**
+ * Returns the default color for all leather armor.
+ */
+ public getDefaultLeatherColor(): org.bukkit.Color;
+ /**
+ * Apply a material change for an item meta. Do not use under any
+ * circumstances.
+ */
+ public updateMaterial(meta: org.bukkit.inventory.meta.ItemMeta, material: org.bukkit.Material): org.bukkit.Material;
+ }
+ }
+ }
+}
diff --git a/packages/bukkit/src/typings/org.bukkit.inventory.ItemFlag.ts b/packages/bukkit/src/typings/org.bukkit.inventory.ItemFlag.ts
new file mode 100644
index 00000000..780129c2
--- /dev/null
+++ b/packages/bukkit/src/typings/org.bukkit.inventory.ItemFlag.ts
@@ -0,0 +1,16 @@
+declare namespace org {
+ namespace bukkit {
+ namespace inventory {
+ class ItemFlag {
+ public static HIDE_ENCHANTS: org.bukkit.inventory.ItemFlag;
+ public static HIDE_ATTRIBUTES: org.bukkit.inventory.ItemFlag;
+ public static HIDE_UNBREAKABLE: org.bukkit.inventory.ItemFlag;
+ public static HIDE_DESTROYS: org.bukkit.inventory.ItemFlag;
+ public static HIDE_PLACED_ON: org.bukkit.inventory.ItemFlag;
+ public static HIDE_POTION_EFFECTS: org.bukkit.inventory.ItemFlag;
+ public static values(): org.bukkit.inventory.ItemFlag[];
+ public static valueOf(name: string): org.bukkit.inventory.ItemFlag;
+ }
+ }
+ }
+}
diff --git a/packages/bukkit/src/typings/org.bukkit.inventory.ItemStack.ts b/packages/bukkit/src/typings/org.bukkit.inventory.ItemStack.ts
new file mode 100644
index 00000000..d93531b5
--- /dev/null
+++ b/packages/bukkit/src/typings/org.bukkit.inventory.ItemStack.ts
@@ -0,0 +1,141 @@
+declare namespace org {
+ namespace bukkit {
+ namespace inventory {
+ class ItemStack {
+ constructor()
+ /**
+ * Defaults stack size to 1, with no extra data
+ */
+ constructor(type: org.bukkit.Material)
+ /**
+ * An item stack with no extra data
+ */
+ constructor(type: org.bukkit.Material, amount: number)
+ /**
+ * An item stack with the specified damage / durability
+ */
+ constructor(type: org.bukkit.Material, amount: number, damage: number)
+ constructor(type: org.bukkit.Material, amount: number, damage: number, data: any)
+ /**
+ * Creates a new item stack derived from the specified stack
+ */
+ constructor(stack: org.bukkit.inventory.ItemStack)
+ /**
+ * Gets the type of this item
+ */
+ public getType(): org.bukkit.Material;
+ /**
+ * Sets the type of this item
+ *
+ * Note that in doing so you will reset the MaterialData for this stack
+ */
+ public setType(type: org.bukkit.Material): void;
+ /**
+ * Gets the amount of items in this stack
+ */
+ public getAmount(): number;
+ /**
+ * Sets the amount of items in this stack
+ */
+ public setAmount(amount: number): void;
+ /**
+ * Gets the MaterialData for this stack of items
+ */
+ public getData(): org.bukkit.material.MaterialData;
+ /**
+ * Sets the MaterialData for this stack of items
+ */
+ public setData(data: org.bukkit.material.MaterialData): void;
+ /**
+ * Sets the durability of this item
+ */
+ public setDurability(durability: number): void;
+ /**
+ * Gets the durability of this item
+ */
+ public getDurability(): number;
+ /**
+ * Get the maximum stacksize for the material hold in this ItemStack.
+ * (Returns -1 if it has no idea)
+ */
+ public getMaxStackSize(): number;
+ public toString(): string;
+ public equals(obj: any): boolean;
+ /**
+ * This method is the same as equals, but does not consider stack size
+ * (amount).
+ */
+ public isSimilar(stack: org.bukkit.inventory.ItemStack): boolean;
+ public clone(): org.bukkit.inventory.ItemStack;
+ public hashCode(): number;
+ /**
+ * Checks if this ItemStack contains the given {@link Enchantment}
+ */
+ public containsEnchantment(ench: org.bukkit.enchantments.Enchantment): boolean;
+ /**
+ * Gets the level of the specified enchantment on this item stack
+ */
+ public getEnchantmentLevel(ench: org.bukkit.enchantments.Enchantment): number;
+ /**
+ * Gets a map containing all enchantments and their levels on this item.
+ */
+ public getEnchantments(): Map
+ * This method is the same as calling {@link
+ * #addEnchantment(org.bukkit.enchantments.Enchantment, int)} for each
+ * element of the map.
+ */
+ public addEnchantments(enchantments: Map
+ * If this item stack already contained the given enchantment (at any
+ * level), it will be replaced.
+ */
+ public addEnchantment(ench: org.bukkit.enchantments.Enchantment, level: number): void;
+ /**
+ * Adds the specified enchantments to this item stack in an unsafe manner.
+ *
+ * This method is the same as calling {@link
+ * #addUnsafeEnchantment(org.bukkit.enchantments.Enchantment, int)} for
+ * each element of the map.
+ */
+ public addUnsafeEnchantments(enchantments: Map
+ * If this item stack already contained the given enchantment (at any
+ * level), it will be replaced.
+ *
+ * This method is unsafe and will ignore level restrictions or item type.
+ * Use at your own discretion.
+ */
+ public addUnsafeEnchantment(ench: org.bukkit.enchantments.Enchantment, level: number): void;
+ /**
+ * Removes the specified {@link Enchantment} if it exists on this
+ * ItemStack
+ */
+ public removeEnchantment(ench: org.bukkit.enchantments.Enchantment): number;
+ public serialize(): Map
+ * This will be
+ * Indexes 0 through 8 refer to the hotbar. 9 through 35 refer to the main inventory, counting up from 9 at the top
+ * left corner of the inventory, moving to the right, and moving to the row below it back on the left side when it
+ * reaches the end of the row. It follows the same path in the inventory like you would read a book.
+ *
+ * Indexes 36 through 39 refer to the armor slots. Though you can set armor with this method using these indexes,
+ * you are encouraged to use the provided methods for those slots.
+ *
+ * Index 40 refers to the off hand (shield) item slot. Though you can set off hand with this method using this index,
+ * you are encouraged to use the provided method for this slot.
+ *
+ * If you attempt to use this method with an index less than 0 or greater than 40, an ArrayIndexOutOfBounds
+ * exception will be thrown.
+ */
+ public setItem(index: number, item: org.bukkit.inventory.ItemStack): void;
+ /**
+ * Put the given ItemStacks into the armor slots
+ */
+ public setArmorContents(items: org.bukkit.inventory.ItemStack): void;
+ /**
+ * Put the given ItemStacks into the extra slots
+ *
+ * This validates whether the slot is between 0 and 8 inclusive.
+ */
+ public setHeldItemSlot(slot: number): void;
+ public getHolder(): org.bukkit.entity.HumanEntity;
+ }
+ }
+ }
+}
diff --git a/packages/bukkit/src/typings/org.bukkit.inventory.Recipe.ts b/packages/bukkit/src/typings/org.bukkit.inventory.Recipe.ts
new file mode 100644
index 00000000..4a4c1626
--- /dev/null
+++ b/packages/bukkit/src/typings/org.bukkit.inventory.Recipe.ts
@@ -0,0 +1,12 @@
+declare namespace org {
+ namespace bukkit {
+ namespace inventory {
+ class Recipe {
+ /**
+ * Get the result of this recipe.
+ */
+ public getResult(): org.bukkit.inventory.ItemStack;
+ }
+ }
+ }
+}
diff --git a/packages/bukkit/src/typings/org.bukkit.inventory.RecipeChoice.ExactChoice.ts b/packages/bukkit/src/typings/org.bukkit.inventory.RecipeChoice.ExactChoice.ts
new file mode 100644
index 00000000..0edb6d97
--- /dev/null
+++ b/packages/bukkit/src/typings/org.bukkit.inventory.RecipeChoice.ExactChoice.ts
@@ -0,0 +1,20 @@
+declare namespace org {
+ namespace bukkit {
+ namespace inventory {
+ namespace RecipeChoice {
+ class ExactChoice {
+ constructor(stack: org.bukkit.inventory.ItemStack)
+ constructor(stacks: org.bukkit.inventory.ItemStack)
+ constructor(choices: any[] /*java.util.List*/)
+ public getItemStack(): org.bukkit.inventory.ItemStack;
+ public getChoices(): any[] /*java.util.List*/;
+ public clone(): org.bukkit.inventory.RecipeChoice.ExactChoice;
+ public test(t: org.bukkit.inventory.ItemStack): boolean;
+ public hashCode(): number;
+ public equals(obj: any): boolean;
+ public toString(): string;
+ }
+ }
+ }
+ }
+}
diff --git a/packages/bukkit/src/typings/org.bukkit.inventory.RecipeChoice.MaterialChoice.ts b/packages/bukkit/src/typings/org.bukkit.inventory.RecipeChoice.MaterialChoice.ts
new file mode 100644
index 00000000..662f9811
--- /dev/null
+++ b/packages/bukkit/src/typings/org.bukkit.inventory.RecipeChoice.MaterialChoice.ts
@@ -0,0 +1,25 @@
+declare namespace org {
+ namespace bukkit {
+ namespace inventory {
+ namespace RecipeChoice {
+ class MaterialChoice {
+ constructor(choice: org.bukkit.Material)
+ constructor(choices: org.bukkit.Material)
+ /**
+ * Constructs a MaterialChoice with the current values of the specified
+ * tag.
+ */
+ constructor(choices: org.bukkit.Tag)
+ constructor(choices: any[] /*java.util.List*/)
+ public test(t: org.bukkit.inventory.ItemStack): boolean;
+ public getItemStack(): org.bukkit.inventory.ItemStack;
+ public getChoices(): any[] /*java.util.List*/;
+ public clone(): org.bukkit.inventory.RecipeChoice.MaterialChoice;
+ public hashCode(): number;
+ public equals(obj: any): boolean;
+ public toString(): string;
+ }
+ }
+ }
+ }
+}
diff --git a/packages/bukkit/src/typings/org.bukkit.inventory.RecipeChoice.ts b/packages/bukkit/src/typings/org.bukkit.inventory.RecipeChoice.ts
new file mode 100644
index 00000000..5044c8f8
--- /dev/null
+++ b/packages/bukkit/src/typings/org.bukkit.inventory.RecipeChoice.ts
@@ -0,0 +1,14 @@
+declare namespace org {
+ namespace bukkit {
+ namespace inventory {
+ class RecipeChoice {
+ /**
+ * Gets a single item stack representative of this stack choice.
+ */
+ public getItemStack(): org.bukkit.inventory.ItemStack;
+ public clone(): org.bukkit.inventory.RecipeChoice;
+ public test(itemStack: org.bukkit.inventory.ItemStack): boolean;
+ }
+ }
+ }
+}
diff --git a/packages/bukkit/src/typings/org.bukkit.inventory.ShapedRecipe.ts b/packages/bukkit/src/typings/org.bukkit.inventory.ShapedRecipe.ts
new file mode 100644
index 00000000..043254b5
--- /dev/null
+++ b/packages/bukkit/src/typings/org.bukkit.inventory.ShapedRecipe.ts
@@ -0,0 +1,61 @@
+declare namespace org {
+ namespace bukkit {
+ namespace inventory {
+ class ShapedRecipe {
+ constructor(result: org.bukkit.inventory.ItemStack)
+ /**
+ * Create a shaped recipe to craft the specified ItemStack. The
+ * constructor merely determines the result and type; to set the actual
+ * recipe, you'll need to call the appropriate methods.
+ */
+ constructor(key: org.bukkit.NamespacedKey, result: org.bukkit.inventory.ItemStack)
+ /**
+ * Set the shape of this recipe to the specified rows. Each character
+ * represents a different ingredient; exactly what each character
+ * represents is set separately. The first row supplied corresponds with
+ * the upper most part of the recipe on the workbench e.g. if all three
+ * rows are supplies the first string represents the top row on the
+ * workbench.
+ */
+ public shape(shape: string): org.bukkit.inventory.ShapedRecipe;
+ /**
+ * Sets the material that a character in the recipe shape refers to.
+ */
+ public setIngredient(key: string, ingredient: org.bukkit.material.MaterialData): org.bukkit.inventory.ShapedRecipe;
+ /**
+ * Sets the material that a character in the recipe shape refers to.
+ */
+ public setIngredient(key: string, ingredient: org.bukkit.Material): org.bukkit.inventory.ShapedRecipe;
+ /**
+ * Sets the material that a character in the recipe shape refers to.
+ */
+ public setIngredient(key: string, ingredient: org.bukkit.Material, raw: number): org.bukkit.inventory.ShapedRecipe;
+ public setIngredient(key: string, ingredient: org.bukkit.inventory.RecipeChoice): org.bukkit.inventory.ShapedRecipe;
+ /**
+ * Get a copy of the ingredients map.
+ */
+ public getIngredientMap(): Map
+ * Plugins should check that hasTitle() returns true before calling this
+ * method.
+ */
+ public getTitle(): string;
+ /**
+ * Sets the title of the book.
+ *
+ * Limited to 16 characters. Removes title when given null.
+ */
+ public setTitle(title: string): boolean;
+ /**
+ * Checks for the existence of an author in the book.
+ */
+ public hasAuthor(): boolean;
+ /**
+ * Gets the author of the book.
+ *
+ * Plugins should check that hasAuthor() returns true before calling this
+ * method.
+ */
+ public getAuthor(): string;
+ /**
+ * Sets the author of the book. Removes author when given null.
+ */
+ public setAuthor(author: string): void;
+ /**
+ * Checks for the existence of generation level in the book.
+ */
+ public hasGeneration(): boolean;
+ /**
+ * Gets the generation of the book.
+ *
+ * Plugins should check that hasGeneration() returns true before calling
+ * this method.
+ */
+ public getGeneration(): org.bukkit.inventory.meta.BookMeta.Generation;
+ /**
+ * Sets the generation of the book. Removes generation when given null.
+ */
+ public setGeneration(generation: org.bukkit.inventory.meta.BookMeta.Generation): void;
+ /**
+ * Checks for the existence of pages in the book.
+ */
+ public hasPages(): boolean;
+ /**
+ * Gets the specified page in the book. The given page must exist.
+ *
+ * Pages are 1-indexed.
+ */
+ public getPage(page: number): string;
+ /**
+ * Sets the specified page in the book. Pages of the book must be
+ * contiguous.
+ *
+ * The data can be up to 256 characters in length, additional characters
+ * are truncated.
+ *
+ * Pages are 1-indexed.
+ */
+ public setPage(page: number, data: string): void;
+ /**
+ * Gets all the pages in the book.
+ */
+ public getPages(): any[] /*java.util.List*/;
+ /**
+ * Clears the existing book pages, and sets the book to use the provided
+ * pages. Maximum 50 pages with 256 characters per page.
+ */
+ public setPages(pages: any[] /*java.util.List*/): void;
+ /**
+ * Clears the existing book pages, and sets the book to use the provided
+ * pages. Maximum 50 pages with 256 characters per page.
+ */
+ public setPages(pages: string): void;
+ /**
+ * Adds new pages to the end of the book. Up to a maximum of 50 pages with
+ * 256 characters per page.
+ */
+ public addPage(pages: string): void;
+ /**
+ * Gets the number of pages in the book.
+ */
+ public getPageCount(): number;
+ public clone(): org.bukkit.inventory.meta.BookMeta;
+ }
+ }
+ }
+ }
+}
diff --git a/packages/bukkit/src/typings/org.bukkit.inventory.meta.CrossbowMeta.ts b/packages/bukkit/src/typings/org.bukkit.inventory.meta.CrossbowMeta.ts
new file mode 100644
index 00000000..598747eb
--- /dev/null
+++ b/packages/bukkit/src/typings/org.bukkit.inventory.meta.CrossbowMeta.ts
@@ -0,0 +1,27 @@
+declare namespace org {
+ namespace bukkit {
+ namespace inventory {
+ namespace meta {
+ class CrossbowMeta {
+ /**
+ * Returns whether the item has any charged projectiles.
+ */
+ public hasChargedProjectiles(): boolean;
+ /**
+ * Returns an immutable list of the projectiles charged on this item.
+ */
+ public getChargedProjectiles(): any[] /*java.util.List*/;
+ /**
+ * Sets the projectiles charged on this item.
+ * Removes all projectiles when given null.
+ */
+ public setChargedProjectiles(projectiles: any[] /*java.util.List*/): void;
+ /**
+ * Adds a charged projectile to this item.
+ */
+ public addChargedProjectile(item: org.bukkit.inventory.ItemStack): void;
+ }
+ }
+ }
+ }
+}
diff --git a/packages/bukkit/src/typings/org.bukkit.inventory.meta.Damageable.ts b/packages/bukkit/src/typings/org.bukkit.inventory.meta.Damageable.ts
new file mode 100644
index 00000000..8a545afa
--- /dev/null
+++ b/packages/bukkit/src/typings/org.bukkit.inventory.meta.Damageable.ts
@@ -0,0 +1,23 @@
+declare namespace org {
+ namespace bukkit {
+ namespace inventory {
+ namespace meta {
+ class Damageable {
+ /**
+ * Checks to see if this item has damage
+ */
+ public hasDamage(): boolean;
+ /**
+ * Gets the damage
+ */
+ public getDamage(): number;
+ /**
+ * Sets the damage
+ */
+ public setDamage(damage: number): void;
+ public clone(): org.bukkit.inventory.meta.Damageable;
+ }
+ }
+ }
+ }
+}
diff --git a/packages/bukkit/src/typings/org.bukkit.inventory.meta.EnchantmentStorageMeta.ts b/packages/bukkit/src/typings/org.bukkit.inventory.meta.EnchantmentStorageMeta.ts
new file mode 100644
index 00000000..6addf116
--- /dev/null
+++ b/packages/bukkit/src/typings/org.bukkit.inventory.meta.EnchantmentStorageMeta.ts
@@ -0,0 +1,40 @@
+declare namespace org {
+ namespace bukkit {
+ namespace inventory {
+ namespace meta {
+ class EnchantmentStorageMeta {
+ /**
+ * Checks for the existence of any stored enchantments.
+ */
+ public hasStoredEnchants(): boolean;
+ /**
+ * Checks for storage of the specified enchantment.
+ */
+ public hasStoredEnchant(ench: org.bukkit.enchantments.Enchantment): boolean;
+ /**
+ * Checks for the level of the stored enchantment.
+ */
+ public getStoredEnchantLevel(ench: org.bukkit.enchantments.Enchantment): number;
+ /**
+ * Gets a copy the stored enchantments in this ItemMeta.
+ */
+ public getStoredEnchants(): Map
+ * Plugins should check that hasDisplayName() returns
+ * Plugins should check that hasLocalizedName() returns
+ * Plugins should check if hasLore() returns
+ * CustomModelData is an integer that may be associated client side with a
+ * custom item model.
+ */
+ public hasCustomModelData(): boolean;
+ /**
+ * Gets the custom model data that is set.
+ *
+ * CustomModelData is an integer that may be associated client side with a
+ * custom item model.
+ *
+ * Plugins should check that hasCustomModelData() returns
+ * CustomModelData is an integer that may be associated client side with a
+ * custom item model.
+ */
+ public setCustomModelData(data: any): void;
+ /**
+ * Checks for the existence of any enchantments.
+ */
+ public hasEnchants(): boolean;
+ /**
+ * Checks for existence of the specified enchantment.
+ */
+ public hasEnchant(ench: org.bukkit.enchantments.Enchantment): boolean;
+ /**
+ * Checks for the level of the specified enchantment.
+ */
+ public getEnchantLevel(ench: org.bukkit.enchantments.Enchantment): number;
+ /**
+ * Returns a copy the enchantments in this ItemMeta.
+ * Plugins should check that hasMapId() returns
+ * Plugins should check that hasMapView() returns
+ * The implementation may allow null to clear the associated map, but
+ * this is not required and is liable to generate a new (undefined) map when
+ * the item is first used.
+ */
+ public setMapView(map: org.bukkit.map.MapView): void;
+ /**
+ * Checks to see if this map is scaling.
+ */
+ public isScaling(): boolean;
+ /**
+ * Sets if this map is scaling or not.
+ */
+ public setScaling(value: boolean): void;
+ /**
+ * Checks for existence of a location name.
+ */
+ public hasLocationName(): boolean;
+ /**
+ * Gets the location name that is set.
+ *
+ * Plugins should check that hasLocationName() returns
+ * Plugins should check that hasColor() returns
+ * Plugins should check that hasCustomEffects() returns true before calling
+ * this method.
+ */
+ public getCustomEffects(): any[] /*java.util.List*/;
+ /**
+ * Adds a custom potion effect to this potion.
+ */
+ public addCustomEffect(effect: org.bukkit.potion.PotionEffect, overwrite: boolean): boolean;
+ /**
+ * Removes a custom potion effect from this potion.
+ */
+ public removeCustomEffect(type: org.bukkit.potion.PotionEffectType): boolean;
+ /**
+ * Checks for a specific custom potion effect type on this potion.
+ */
+ public hasCustomEffect(type: org.bukkit.potion.PotionEffectType): boolean;
+ /**
+ * Moves a potion effect to the top of the potion effect list.
+ *
+ * This causes the client to display the potion effect in the potion's name.
+ */
+ public setMainEffect(type: org.bukkit.potion.PotionEffectType): boolean;
+ /**
+ * Removes all custom potion effects from this potion.
+ */
+ public clearCustomEffects(): boolean;
+ /**
+ * Checks for existence of a potion color.
+ */
+ public hasColor(): boolean;
+ /**
+ * Gets the potion color that is set. A custom potion color will alter the
+ * display of the potion in an inventory slot.
+ *
+ * Plugins should check that hasColor() returns
+ * Plugins should check that hasOwner() returns true before calling this
+ * plugin.
+ */
+ public setOwningPlayer(owner: org.bukkit.OfflinePlayer): boolean;
+ public clone(): org.bukkit.inventory.meta.SkullMeta;
+ }
+ }
+ }
+ }
+}
diff --git a/packages/bukkit/src/typings/org.bukkit.inventory.meta.SpawnEggMeta.ts b/packages/bukkit/src/typings/org.bukkit.inventory.meta.SpawnEggMeta.ts
new file mode 100644
index 00000000..ce2974c6
--- /dev/null
+++ b/packages/bukkit/src/typings/org.bukkit.inventory.meta.SpawnEggMeta.ts
@@ -0,0 +1,19 @@
+declare namespace org {
+ namespace bukkit {
+ namespace inventory {
+ namespace meta {
+ class SpawnEggMeta {
+ /**
+ * Get the type of entity this egg will spawn.
+ */
+ public getSpawnedType(): org.bukkit.entity.EntityType;
+ /**
+ * Set the type of entity this egg will spawn.
+ */
+ public setSpawnedType(type: org.bukkit.entity.EntityType): void;
+ public clone(): org.bukkit.inventory.meta.SpawnEggMeta;
+ }
+ }
+ }
+ }
+}
diff --git a/packages/bukkit/src/typings/org.bukkit.inventory.meta.TropicalFishBucketMeta.ts b/packages/bukkit/src/typings/org.bukkit.inventory.meta.TropicalFishBucketMeta.ts
new file mode 100644
index 00000000..d8cf5f3c
--- /dev/null
+++ b/packages/bukkit/src/typings/org.bukkit.inventory.meta.TropicalFishBucketMeta.ts
@@ -0,0 +1,58 @@
+declare namespace org {
+ namespace bukkit {
+ namespace inventory {
+ namespace meta {
+ class TropicalFishBucketMeta {
+ /**
+ * Gets the color of the fish's pattern.
+ *
+ * Plugins should check that hasVariant() returns
+ * Setting this when hasVariant() returns
+ * Plugins should check that hasVariant() returns
+ * Setting this when hasVariant() returns
+ * Plugins should check that hasVariant() returns
+ * Setting this when hasVariant() returns
+ * Note that tracks are bidirectional and that the direction returned is
+ * the ascending direction if the track is set on a slope. If it is set as
+ * a curve, the corner of the track should be supplied.
+ */
+ public setDirection(face: org.bukkit.block.BlockFace, isOnSlope: boolean): void;
+ public clone(): org.bukkit.material.Rails;
+ }
+ }
+ }
+}
diff --git a/packages/bukkit/src/typings/org.bukkit.material.Redstone.ts b/packages/bukkit/src/typings/org.bukkit.material.Redstone.ts
new file mode 100644
index 00000000..ec40d344
--- /dev/null
+++ b/packages/bukkit/src/typings/org.bukkit.material.Redstone.ts
@@ -0,0 +1,13 @@
+declare namespace org {
+ namespace bukkit {
+ namespace material {
+ class Redstone {
+ /**
+ * Gets the current state of this Material, indicating if it's powered or
+ * unpowered
+ */
+ public isPowered(): boolean;
+ }
+ }
+ }
+}
diff --git a/packages/bukkit/src/typings/org.bukkit.material.RedstoneTorch.ts b/packages/bukkit/src/typings/org.bukkit.material.RedstoneTorch.ts
new file mode 100644
index 00000000..cc64534b
--- /dev/null
+++ b/packages/bukkit/src/typings/org.bukkit.material.RedstoneTorch.ts
@@ -0,0 +1,18 @@
+declare namespace org {
+ namespace bukkit {
+ namespace material {
+ class RedstoneTorch {
+ constructor()
+ constructor(type: org.bukkit.Material)
+ constructor(type: org.bukkit.Material, data: number)
+ /**
+ * Gets the current state of this Material, indicating if it's powered or
+ * unpowered
+ */
+ public isPowered(): boolean;
+ public toString(): string;
+ public clone(): org.bukkit.material.RedstoneTorch;
+ }
+ }
+ }
+}
diff --git a/packages/bukkit/src/typings/org.bukkit.material.RedstoneWire.ts b/packages/bukkit/src/typings/org.bukkit.material.RedstoneWire.ts
new file mode 100644
index 00000000..518372f6
--- /dev/null
+++ b/packages/bukkit/src/typings/org.bukkit.material.RedstoneWire.ts
@@ -0,0 +1,18 @@
+declare namespace org {
+ namespace bukkit {
+ namespace material {
+ class RedstoneWire {
+ constructor()
+ constructor(type: org.bukkit.Material)
+ constructor(type: org.bukkit.Material, data: number)
+ /**
+ * Gets the current state of this Material, indicating if it's powered or
+ * unpowered
+ */
+ public isPowered(): boolean;
+ public toString(): string;
+ public clone(): org.bukkit.material.RedstoneWire;
+ }
+ }
+ }
+}
diff --git a/packages/bukkit/src/typings/org.bukkit.material.Sandstone.ts b/packages/bukkit/src/typings/org.bukkit.material.Sandstone.ts
new file mode 100644
index 00000000..a15c368b
--- /dev/null
+++ b/packages/bukkit/src/typings/org.bukkit.material.Sandstone.ts
@@ -0,0 +1,22 @@
+declare namespace org {
+ namespace bukkit {
+ namespace material {
+ class Sandstone {
+ constructor()
+ constructor(type: org.bukkit.SandstoneType)
+ constructor(type: org.bukkit.Material)
+ constructor(type: org.bukkit.Material, data: number)
+ /**
+ * Gets the current type of this sandstone
+ */
+ public getType(): org.bukkit.SandstoneType;
+ /**
+ * Sets the type of this sandstone
+ */
+ public setType(type: org.bukkit.SandstoneType): void;
+ public toString(): string;
+ public clone(): org.bukkit.material.Sandstone;
+ }
+ }
+ }
+}
diff --git a/packages/bukkit/src/typings/org.bukkit.material.Sapling.ts b/packages/bukkit/src/typings/org.bukkit.material.Sapling.ts
new file mode 100644
index 00000000..41420167
--- /dev/null
+++ b/packages/bukkit/src/typings/org.bukkit.material.Sapling.ts
@@ -0,0 +1,45 @@
+declare namespace org {
+ namespace bukkit {
+ namespace material {
+ class Sapling {
+ /**
+ * Constructs a sapling.
+ */
+ constructor()
+ /**
+ * Constructs a sapling of the given tree species.
+ */
+ constructor(species: org.bukkit.TreeSpecies)
+ /**
+ * Constructs a sapling of the given tree species and if is it instant
+ * growable
+ */
+ constructor(species: org.bukkit.TreeSpecies, isInstantGrowable: boolean)
+ /**
+ * Constructs a sapling of the given type.
+ */
+ constructor(type: org.bukkit.Material)
+ /**
+ * Constructs a sapling of the given type and tree species.
+ */
+ constructor(type: org.bukkit.Material, species: org.bukkit.TreeSpecies)
+ /**
+ * Constructs a sapling of the given type and tree species and if is it
+ * instant growable
+ */
+ constructor(type: org.bukkit.Material, species: org.bukkit.TreeSpecies, isInstantGrowable: boolean)
+ constructor(type: org.bukkit.Material, data: number)
+ /**
+ * Checks if the Sapling would grow when next ticked with bonemeal
+ */
+ public isInstantGrowable(): boolean;
+ /**
+ * Set whether this sapling will grow when next ticked with bonemeal
+ */
+ public setIsInstantGrowable(isInstantGrowable: boolean): void;
+ public toString(): string;
+ public clone(): org.bukkit.material.Sapling;
+ }
+ }
+ }
+}
diff --git a/packages/bukkit/src/typings/org.bukkit.material.Sign.ts b/packages/bukkit/src/typings/org.bukkit.material.Sign.ts
new file mode 100644
index 00000000..e4b9690e
--- /dev/null
+++ b/packages/bukkit/src/typings/org.bukkit.material.Sign.ts
@@ -0,0 +1,26 @@
+declare namespace org {
+ namespace bukkit {
+ namespace material {
+ class Sign {
+ constructor()
+ constructor(type: org.bukkit.Material)
+ constructor(type: org.bukkit.Material, data: number)
+ /**
+ * Check if this sign is attached to a wall
+ */
+ public isWallSign(): boolean;
+ /**
+ * Gets the face that this block is attached on
+ */
+ public getAttachedFace(): org.bukkit.block.BlockFace;
+ /**
+ * Gets the direction that this sign is currently facing
+ */
+ public getFacing(): org.bukkit.block.BlockFace;
+ public setFacingDirection(face: org.bukkit.block.BlockFace): void;
+ public toString(): string;
+ public clone(): org.bukkit.material.Sign;
+ }
+ }
+ }
+}
diff --git a/packages/bukkit/src/typings/org.bukkit.material.SimpleAttachableMaterialData.ts b/packages/bukkit/src/typings/org.bukkit.material.SimpleAttachableMaterialData.ts
new file mode 100644
index 00000000..1e6414dd
--- /dev/null
+++ b/packages/bukkit/src/typings/org.bukkit.material.SimpleAttachableMaterialData.ts
@@ -0,0 +1,14 @@
+declare namespace org {
+ namespace bukkit {
+ namespace material {
+ abstract class SimpleAttachableMaterialData {
+ constructor(type: org.bukkit.Material, direction: org.bukkit.block.BlockFace)
+ constructor(type: org.bukkit.Material)
+ constructor(type: org.bukkit.Material, data: number)
+ public getFacing(): org.bukkit.block.BlockFace;
+ public toString(): string;
+ public clone(): org.bukkit.material.SimpleAttachableMaterialData;
+ }
+ }
+ }
+}
diff --git a/packages/bukkit/src/typings/org.bukkit.material.Skull.ts b/packages/bukkit/src/typings/org.bukkit.material.Skull.ts
new file mode 100644
index 00000000..f5ac94d7
--- /dev/null
+++ b/packages/bukkit/src/typings/org.bukkit.material.Skull.ts
@@ -0,0 +1,19 @@
+declare namespace org {
+ namespace bukkit {
+ namespace material {
+ class Skull {
+ constructor()
+ /**
+ * Instantiate a skull facing in a particular direction.
+ */
+ constructor(direction: org.bukkit.block.BlockFace)
+ constructor(type: org.bukkit.Material)
+ constructor(type: org.bukkit.Material, data: number)
+ public setFacingDirection(face: org.bukkit.block.BlockFace): void;
+ public getFacing(): org.bukkit.block.BlockFace;
+ public toString(): string;
+ public clone(): org.bukkit.material.Skull;
+ }
+ }
+ }
+}
diff --git a/packages/bukkit/src/typings/org.bukkit.material.SmoothBrick.ts b/packages/bukkit/src/typings/org.bukkit.material.SmoothBrick.ts
new file mode 100644
index 00000000..234a7955
--- /dev/null
+++ b/packages/bukkit/src/typings/org.bukkit.material.SmoothBrick.ts
@@ -0,0 +1,13 @@
+declare namespace org {
+ namespace bukkit {
+ namespace material {
+ class SmoothBrick {
+ constructor()
+ constructor(type: org.bukkit.Material)
+ constructor(type: org.bukkit.Material, data: number)
+ public getTextures(): any[] /*java.util.List*/;
+ public clone(): org.bukkit.material.SmoothBrick;
+ }
+ }
+ }
+}
diff --git a/packages/bukkit/src/typings/org.bukkit.material.SpawnEgg.ts b/packages/bukkit/src/typings/org.bukkit.material.SpawnEgg.ts
new file mode 100644
index 00000000..ffb10b13
--- /dev/null
+++ b/packages/bukkit/src/typings/org.bukkit.material.SpawnEgg.ts
@@ -0,0 +1,22 @@
+declare namespace org {
+ namespace bukkit {
+ namespace material {
+ class SpawnEgg {
+ constructor()
+ constructor(type: org.bukkit.Material, data: number)
+ constructor(data: number)
+ constructor(type: org.bukkit.entity.EntityType)
+ /**
+ * Get the type of entity this egg will spawn.
+ */
+ public getSpawnedType(): org.bukkit.entity.EntityType;
+ /**
+ * Set the type of entity this egg will spawn.
+ */
+ public setSpawnedType(type: org.bukkit.entity.EntityType): void;
+ public toString(): string;
+ public clone(): org.bukkit.material.SpawnEgg;
+ }
+ }
+ }
+}
diff --git a/packages/bukkit/src/typings/org.bukkit.material.Stairs.ts b/packages/bukkit/src/typings/org.bukkit.material.Stairs.ts
new file mode 100644
index 00000000..3d9ee9d2
--- /dev/null
+++ b/packages/bukkit/src/typings/org.bukkit.material.Stairs.ts
@@ -0,0 +1,27 @@
+declare namespace org {
+ namespace bukkit {
+ namespace material {
+ class Stairs {
+ constructor(type: org.bukkit.Material)
+ constructor(type: org.bukkit.Material, data: number)
+ public getAscendingDirection(): org.bukkit.block.BlockFace;
+ public getDescendingDirection(): org.bukkit.block.BlockFace;
+ /**
+ * Set the direction the stair part of the block is facing
+ */
+ public setFacingDirection(face: org.bukkit.block.BlockFace): void;
+ public getFacing(): org.bukkit.block.BlockFace;
+ /**
+ * Test if step is inverted
+ */
+ public isInverted(): boolean;
+ /**
+ * Set step inverted state
+ */
+ public setInverted(inv: boolean): void;
+ public toString(): string;
+ public clone(): org.bukkit.material.Stairs;
+ }
+ }
+ }
+}
diff --git a/packages/bukkit/src/typings/org.bukkit.material.Step.ts b/packages/bukkit/src/typings/org.bukkit.material.Step.ts
new file mode 100644
index 00000000..94c6bc37
--- /dev/null
+++ b/packages/bukkit/src/typings/org.bukkit.material.Step.ts
@@ -0,0 +1,24 @@
+declare namespace org {
+ namespace bukkit {
+ namespace material {
+ class Step {
+ constructor()
+ constructor(type: org.bukkit.Material)
+ constructor(type: org.bukkit.Material, data: number)
+ public getTextures(): any[] /*java.util.List*/;
+ /**
+ * Test if step is inverted
+ */
+ public isInverted(): boolean;
+ /**
+ * Set step inverted state
+ */
+ public setInverted(inv: boolean): void;
+ protected getTextureIndex(): number;
+ protected setTextureIndex(idx: number): void;
+ public clone(): org.bukkit.material.Step;
+ public toString(): string;
+ }
+ }
+ }
+}
diff --git a/packages/bukkit/src/typings/org.bukkit.material.TexturedMaterial.ts b/packages/bukkit/src/typings/org.bukkit.material.TexturedMaterial.ts
new file mode 100644
index 00000000..092e9d42
--- /dev/null
+++ b/packages/bukkit/src/typings/org.bukkit.material.TexturedMaterial.ts
@@ -0,0 +1,33 @@
+declare namespace org {
+ namespace bukkit {
+ namespace material {
+ abstract class TexturedMaterial {
+ constructor(m: org.bukkit.Material)
+ constructor(type: org.bukkit.Material, data: number)
+ /**
+ * Retrieve a list of possible textures. The first element of the list
+ * will be used as a default.
+ */
+ public abstract getTextures(): any[] /*java.util.List*/;
+ /**
+ * Gets the current Material this block is made of
+ */
+ public getMaterial(): org.bukkit.Material;
+ /**
+ * Sets the material this block is made of
+ */
+ public setMaterial(material: org.bukkit.Material): void;
+ /**
+ * Get material index from data
+ */
+ protected getTextureIndex(): number;
+ /**
+ * Set material index
+ */
+ protected setTextureIndex(idx: number): void;
+ public toString(): string;
+ public clone(): org.bukkit.material.TexturedMaterial;
+ }
+ }
+ }
+}
diff --git a/packages/bukkit/src/typings/org.bukkit.material.Torch.ts b/packages/bukkit/src/typings/org.bukkit.material.Torch.ts
new file mode 100644
index 00000000..bc00dafc
--- /dev/null
+++ b/packages/bukkit/src/typings/org.bukkit.material.Torch.ts
@@ -0,0 +1,17 @@
+declare namespace org {
+ namespace bukkit {
+ namespace material {
+ class Torch {
+ constructor()
+ constructor(type: org.bukkit.Material)
+ constructor(type: org.bukkit.Material, data: number)
+ /**
+ * Gets the face that this block is attached on
+ */
+ public getAttachedFace(): org.bukkit.block.BlockFace;
+ public setFacingDirection(face: org.bukkit.block.BlockFace): void;
+ public clone(): org.bukkit.material.Torch;
+ }
+ }
+ }
+}
diff --git a/packages/bukkit/src/typings/org.bukkit.material.TrapDoor.ts b/packages/bukkit/src/typings/org.bukkit.material.TrapDoor.ts
new file mode 100644
index 00000000..53e2e816
--- /dev/null
+++ b/packages/bukkit/src/typings/org.bukkit.material.TrapDoor.ts
@@ -0,0 +1,25 @@
+declare namespace org {
+ namespace bukkit {
+ namespace material {
+ class TrapDoor {
+ constructor()
+ constructor(type: org.bukkit.Material)
+ constructor(type: org.bukkit.Material, data: number)
+ public isOpen(): boolean;
+ public setOpen(isOpen: boolean): void;
+ /**
+ * Test if trapdoor is inverted
+ */
+ public isInverted(): boolean;
+ /**
+ * Set trapdoor inverted state
+ */
+ public setInverted(inv: boolean): void;
+ public getAttachedFace(): org.bukkit.block.BlockFace;
+ public setFacingDirection(face: org.bukkit.block.BlockFace): void;
+ public toString(): string;
+ public clone(): org.bukkit.material.TrapDoor;
+ }
+ }
+ }
+}
diff --git a/packages/bukkit/src/typings/org.bukkit.material.Tree.ts b/packages/bukkit/src/typings/org.bukkit.material.Tree.ts
new file mode 100644
index 00000000..63310800
--- /dev/null
+++ b/packages/bukkit/src/typings/org.bukkit.material.Tree.ts
@@ -0,0 +1,47 @@
+declare namespace org {
+ namespace bukkit {
+ namespace material {
+ class Tree {
+ /**
+ * Constructs a tree block.
+ */
+ constructor()
+ /**
+ * Constructs a tree block of the given tree species.
+ */
+ constructor(species: org.bukkit.TreeSpecies)
+ /**
+ * Constructs a tree block of the given tree species, and facing the given
+ * direction.
+ */
+ constructor(species: org.bukkit.TreeSpecies, dir: org.bukkit.block.BlockFace)
+ /**
+ * Constructs a tree block of the given type.
+ */
+ constructor(type: org.bukkit.Material)
+ /**
+ * Constructs a tree block of the given type and tree species.
+ */
+ constructor(type: org.bukkit.Material, species: org.bukkit.TreeSpecies)
+ /**
+ * Constructs a tree block of the given type and tree species, and facing
+ * the given direction.
+ */
+ constructor(type: org.bukkit.Material, species: org.bukkit.TreeSpecies, dir: org.bukkit.block.BlockFace)
+ constructor(type: org.bukkit.Material, data: number)
+ protected static DEFAULT_TYPE: org.bukkit.Material;
+ protected static DEFAULT_DIRECTION: org.bukkit.block.BlockFace;
+ /**
+ * Get direction of the log
+ */
+ public getDirection(): org.bukkit.block.BlockFace;
+ /**
+ * Set direction of the log
+ */
+ public setDirection(dir: org.bukkit.block.BlockFace): void;
+ public toString(): string;
+ public clone(): org.bukkit.material.Tree;
+ }
+ }
+ }
+}
diff --git a/packages/bukkit/src/typings/org.bukkit.material.Tripwire.ts b/packages/bukkit/src/typings/org.bukkit.material.Tripwire.ts
new file mode 100644
index 00000000..8e22f7a2
--- /dev/null
+++ b/packages/bukkit/src/typings/org.bukkit.material.Tripwire.ts
@@ -0,0 +1,28 @@
+declare namespace org {
+ namespace bukkit {
+ namespace material {
+ class Tripwire {
+ constructor()
+ constructor(type: org.bukkit.Material, data: number)
+ /**
+ * Test if tripwire is currently activated
+ */
+ public isActivated(): boolean;
+ /**
+ * Set tripwire activated state
+ */
+ public setActivated(act: boolean): void;
+ /**
+ * Test if object triggering this tripwire directly
+ */
+ public isObjectTriggering(): boolean;
+ /**
+ * Set object triggering state for this tripwire
+ */
+ public setObjectTriggering(trig: boolean): void;
+ public clone(): org.bukkit.material.Tripwire;
+ public toString(): string;
+ }
+ }
+ }
+}
diff --git a/packages/bukkit/src/typings/org.bukkit.material.TripwireHook.ts b/packages/bukkit/src/typings/org.bukkit.material.TripwireHook.ts
new file mode 100644
index 00000000..b2838ef5
--- /dev/null
+++ b/packages/bukkit/src/typings/org.bukkit.material.TripwireHook.ts
@@ -0,0 +1,32 @@
+declare namespace org {
+ namespace bukkit {
+ namespace material {
+ class TripwireHook {
+ constructor()
+ constructor(type: org.bukkit.Material, data: number)
+ constructor(dir: org.bukkit.block.BlockFace)
+ /**
+ * Test if tripwire is connected
+ */
+ public isConnected(): boolean;
+ /**
+ * Set tripwire connection state
+ */
+ public setConnected(connected: boolean): void;
+ /**
+ * Test if hook is currently activated
+ */
+ public isActivated(): boolean;
+ /**
+ * Set hook activated state
+ */
+ public setActivated(act: boolean): void;
+ public setFacingDirection(face: org.bukkit.block.BlockFace): void;
+ public getAttachedFace(): org.bukkit.block.BlockFace;
+ public isPowered(): boolean;
+ public clone(): org.bukkit.material.TripwireHook;
+ public toString(): string;
+ }
+ }
+ }
+}
diff --git a/packages/bukkit/src/typings/org.bukkit.material.Vine.ts b/packages/bukkit/src/typings/org.bukkit.material.Vine.ts
new file mode 100644
index 00000000..5b36abc1
--- /dev/null
+++ b/packages/bukkit/src/typings/org.bukkit.material.Vine.ts
@@ -0,0 +1,29 @@
+declare namespace org {
+ namespace bukkit {
+ namespace material {
+ class Vine {
+ constructor()
+ constructor(type: org.bukkit.Material, data: number)
+ constructor(data: number)
+ constructor(faces: org.bukkit.block.BlockFace)
+ constructor(faces: any)
+ /**
+ * Check if the vine is attached to the specified face of an adjacent
+ * block. You can check two faces at once by passing e.g. {@link
+ * BlockFace#NORTH_EAST}.
+ */
+ public isOnFace(face: org.bukkit.block.BlockFace): boolean;
+ /**
+ * Attach the vine to the specified face of an adjacent block.
+ */
+ public putOnFace(face: org.bukkit.block.BlockFace): void;
+ /**
+ * Detach the vine from the specified face of an adjacent block.
+ */
+ public removeFromFace(face: org.bukkit.block.BlockFace): void;
+ public toString(): string;
+ public clone(): org.bukkit.material.Vine;
+ }
+ }
+ }
+}
diff --git a/packages/bukkit/src/typings/org.bukkit.material.Wood.ts b/packages/bukkit/src/typings/org.bukkit.material.Wood.ts
new file mode 100644
index 00000000..dda46dc8
--- /dev/null
+++ b/packages/bukkit/src/typings/org.bukkit.material.Wood.ts
@@ -0,0 +1,37 @@
+declare namespace org {
+ namespace bukkit {
+ namespace material {
+ class Wood {
+ /**
+ * Constructs a wood block.
+ */
+ constructor()
+ /**
+ * Constructs a wood block of the given tree species.
+ */
+ constructor(species: org.bukkit.TreeSpecies)
+ /**
+ * Constructs a wood block of the given type.
+ */
+ constructor(type: org.bukkit.Material)
+ /**
+ * Constructs a wood block of the given type and tree species.
+ */
+ constructor(type: org.bukkit.Material, species: org.bukkit.TreeSpecies)
+ constructor(type: org.bukkit.Material, data: number)
+ protected static DEFAULT_TYPE: org.bukkit.Material;
+ protected static DEFAULT_SPECIES: org.bukkit.TreeSpecies;
+ /**
+ * Gets the current species of this wood block
+ */
+ public getSpecies(): org.bukkit.TreeSpecies;
+ /**
+ * Sets the species of this wood block
+ */
+ public setSpecies(species: org.bukkit.TreeSpecies): void;
+ public toString(): string;
+ public clone(): org.bukkit.material.Wood;
+ }
+ }
+ }
+}
diff --git a/packages/bukkit/src/typings/org.bukkit.material.WoodenStep.ts b/packages/bukkit/src/typings/org.bukkit.material.WoodenStep.ts
new file mode 100644
index 00000000..93c4d83c
--- /dev/null
+++ b/packages/bukkit/src/typings/org.bukkit.material.WoodenStep.ts
@@ -0,0 +1,34 @@
+declare namespace org {
+ namespace bukkit {
+ namespace material {
+ class WoodenStep {
+ /**
+ * Constructs a wooden step.
+ */
+ constructor()
+ /**
+ * Constructs a wooden step of the given tree species.
+ */
+ constructor(species: org.bukkit.TreeSpecies)
+ /**
+ * Constructs a wooden step of the given type and tree species, either
+ * inverted or not.
+ */
+ constructor(species: org.bukkit.TreeSpecies, inv: boolean)
+ constructor(type: org.bukkit.Material, data: number)
+ protected static DEFAULT_TYPE: org.bukkit.Material;
+ protected static DEFAULT_INVERTED: boolean;
+ /**
+ * Test if step is inverted
+ */
+ public isInverted(): boolean;
+ /**
+ * Set step inverted state
+ */
+ public setInverted(inv: boolean): void;
+ public clone(): org.bukkit.material.WoodenStep;
+ public toString(): string;
+ }
+ }
+ }
+}
diff --git a/packages/bukkit/src/typings/org.bukkit.material.Wool.ts b/packages/bukkit/src/typings/org.bukkit.material.Wool.ts
new file mode 100644
index 00000000..89e97ce5
--- /dev/null
+++ b/packages/bukkit/src/typings/org.bukkit.material.Wool.ts
@@ -0,0 +1,22 @@
+declare namespace org {
+ namespace bukkit {
+ namespace material {
+ class Wool {
+ constructor()
+ constructor(color: org.bukkit.DyeColor)
+ constructor(type: org.bukkit.Material)
+ constructor(type: org.bukkit.Material, data: number)
+ /**
+ * Gets the current color of this dye
+ */
+ public getColor(): org.bukkit.DyeColor;
+ /**
+ * Sets the color of this dye
+ */
+ public setColor(color: org.bukkit.DyeColor): void;
+ public toString(): string;
+ public clone(): org.bukkit.material.Wool;
+ }
+ }
+ }
+}
diff --git a/packages/bukkit/src/typings/org.bukkit.material.types.MushroomBlockTexture.ts b/packages/bukkit/src/typings/org.bukkit.material.types.MushroomBlockTexture.ts
new file mode 100644
index 00000000..fb98942d
--- /dev/null
+++ b/packages/bukkit/src/typings/org.bukkit.material.types.MushroomBlockTexture.ts
@@ -0,0 +1,41 @@
+declare namespace org {
+ namespace bukkit {
+ namespace material {
+ namespace types {
+ class MushroomBlockTexture {
+ public static ALL_PORES: org.bukkit.material.types.MushroomBlockTexture;
+ public static CAP_NORTH_WEST: org.bukkit.material.types.MushroomBlockTexture;
+ public static CAP_NORTH: org.bukkit.material.types.MushroomBlockTexture;
+ public static CAP_NORTH_EAST: org.bukkit.material.types.MushroomBlockTexture;
+ public static CAP_WEST: org.bukkit.material.types.MushroomBlockTexture;
+ public static CAP_TOP: org.bukkit.material.types.MushroomBlockTexture;
+ public static CAP_EAST: org.bukkit.material.types.MushroomBlockTexture;
+ public static CAP_SOUTH_WEST: org.bukkit.material.types.MushroomBlockTexture;
+ public static CAP_SOUTH: org.bukkit.material.types.MushroomBlockTexture;
+ public static CAP_SOUTH_EAST: org.bukkit.material.types.MushroomBlockTexture;
+ public static STEM_SIDES: org.bukkit.material.types.MushroomBlockTexture;
+ public static ALL_CAP: org.bukkit.material.types.MushroomBlockTexture;
+ public static ALL_STEM: org.bukkit.material.types.MushroomBlockTexture;
+ public static values(): org.bukkit.material.types.MushroomBlockTexture[];
+ public static valueOf(name: string): org.bukkit.material.types.MushroomBlockTexture;
+ /**
+ * Gets the associated data value representing this mushroom block face.
+ */
+ public getData(): number;
+ /**
+ * Gets the face that has cap texture.
+ */
+ public getCapFace(): org.bukkit.block.BlockFace;
+ /**
+ * Gets the MushroomBlockType with the given data value.
+ */
+ public static getByData(data: number): org.bukkit.material.types.MushroomBlockTexture;
+ /**
+ * Gets the MushroomBlockType with cap texture on the given block face.
+ */
+ public static getCapByFace(face: org.bukkit.block.BlockFace): org.bukkit.material.types.MushroomBlockTexture;
+ }
+ }
+ }
+ }
+}
diff --git a/packages/bukkit/src/typings/org.bukkit.metadata.FixedMetadataValue.ts b/packages/bukkit/src/typings/org.bukkit.metadata.FixedMetadataValue.ts
new file mode 100644
index 00000000..6c04f059
--- /dev/null
+++ b/packages/bukkit/src/typings/org.bukkit.metadata.FixedMetadataValue.ts
@@ -0,0 +1,14 @@
+declare namespace org {
+ namespace bukkit {
+ namespace metadata {
+ class FixedMetadataValue {
+ /**
+ * Initializes a FixedMetadataValue with an Object
+ */
+ constructor(owningPlugin: org.bukkit.plugin.Plugin, value: any)
+ public invalidate(): void;
+ public value(): any;
+ }
+ }
+ }
+}
diff --git a/packages/bukkit/src/typings/org.bukkit.metadata.LazyMetadataValue.CacheStrategy.ts b/packages/bukkit/src/typings/org.bukkit.metadata.LazyMetadataValue.CacheStrategy.ts
new file mode 100644
index 00000000..0a12cd3c
--- /dev/null
+++ b/packages/bukkit/src/typings/org.bukkit.metadata.LazyMetadataValue.CacheStrategy.ts
@@ -0,0 +1,15 @@
+declare namespace org {
+ namespace bukkit {
+ namespace metadata {
+ namespace LazyMetadataValue {
+ class CacheStrategy {
+ public static CACHE_AFTER_FIRST_EVAL: org.bukkit.metadata.LazyMetadataValue.CacheStrategy;
+ public static NEVER_CACHE: org.bukkit.metadata.LazyMetadataValue.CacheStrategy;
+ public static CACHE_ETERNALLY: org.bukkit.metadata.LazyMetadataValue.CacheStrategy;
+ public static values(): org.bukkit.metadata.LazyMetadataValue.CacheStrategy[];
+ public static valueOf(name: string): org.bukkit.metadata.LazyMetadataValue.CacheStrategy;
+ }
+ }
+ }
+ }
+}
diff --git a/packages/bukkit/src/typings/org.bukkit.metadata.LazyMetadataValue.ts b/packages/bukkit/src/typings/org.bukkit.metadata.LazyMetadataValue.ts
new file mode 100644
index 00000000..dc65fb28
--- /dev/null
+++ b/packages/bukkit/src/typings/org.bukkit.metadata.LazyMetadataValue.ts
@@ -0,0 +1,24 @@
+declare namespace org {
+ namespace bukkit {
+ namespace metadata {
+ class LazyMetadataValue {
+ /**
+ * Initialized a LazyMetadataValue object with the default
+ * CACHE_AFTER_FIRST_EVAL cache strategy.
+ */
+ constructor(owningPlugin: org.bukkit.plugin.Plugin, lazyValue: any)
+ /**
+ * Initializes a LazyMetadataValue object with a specific cache strategy.
+ */
+ constructor(owningPlugin: org.bukkit.plugin.Plugin, cacheStrategy: org.bukkit.metadata.LazyMetadataValue.CacheStrategy, lazyValue: any)
+ /**
+ * Protected special constructor used by FixedMetadataValue to bypass
+ * standard setup.
+ */
+ constructor(owningPlugin: org.bukkit.plugin.Plugin)
+ public value(): any;
+ public invalidate(): void;
+ }
+ }
+ }
+}
diff --git a/packages/bukkit/src/typings/org.bukkit.metadata.MetadataConversionException.ts b/packages/bukkit/src/typings/org.bukkit.metadata.MetadataConversionException.ts
new file mode 100644
index 00000000..80586cc3
--- /dev/null
+++ b/packages/bukkit/src/typings/org.bukkit.metadata.MetadataConversionException.ts
@@ -0,0 +1,8 @@
+declare namespace org {
+ namespace bukkit {
+ namespace metadata {
+ class MetadataConversionException {
+ }
+ }
+ }
+}
diff --git a/packages/bukkit/src/typings/org.bukkit.metadata.MetadataEvaluationException.ts b/packages/bukkit/src/typings/org.bukkit.metadata.MetadataEvaluationException.ts
new file mode 100644
index 00000000..3553c483
--- /dev/null
+++ b/packages/bukkit/src/typings/org.bukkit.metadata.MetadataEvaluationException.ts
@@ -0,0 +1,8 @@
+declare namespace org {
+ namespace bukkit {
+ namespace metadata {
+ class MetadataEvaluationException {
+ }
+ }
+ }
+}
diff --git a/packages/bukkit/src/typings/org.bukkit.metadata.MetadataStore.ts b/packages/bukkit/src/typings/org.bukkit.metadata.MetadataStore.ts
new file mode 100644
index 00000000..c0bc87e4
--- /dev/null
+++ b/packages/bukkit/src/typings/org.bukkit.metadata.MetadataStore.ts
@@ -0,0 +1,31 @@
+declare namespace org {
+ namespace bukkit {
+ namespace metadata {
+ class MetadataStore {
+ /**
+ * Adds a metadata value to an object.
+ */
+ public setMetadata(subject: any, metadataKey: string, newMetadataValue: org.bukkit.metadata.MetadataValue): void;
+ /**
+ * Returns all metadata values attached to an object. If multiple plugins
+ * have attached metadata, each will value will be included.
+ */
+ public getMetadata(subject: any, metadataKey: string): any[] /*java.util.List*/;
+ /**
+ * Tests to see if a metadata attribute has been set on an object.
+ */
+ public hasMetadata(subject: any, metadataKey: string): boolean;
+ /**
+ * Removes a metadata item owned by a plugin from a subject.
+ */
+ public removeMetadata(subject: any, metadataKey: string, owningPlugin: org.bukkit.plugin.Plugin): void;
+ /**
+ * Invalidates all metadata in the metadata store that originates from the
+ * given plugin. Doing this will force each invalidated metadata item to
+ * be recalculated the next time it is accessed.
+ */
+ public invalidateAll(owningPlugin: org.bukkit.plugin.Plugin): void;
+ }
+ }
+ }
+}
diff --git a/packages/bukkit/src/typings/org.bukkit.metadata.MetadataStoreBase.ts b/packages/bukkit/src/typings/org.bukkit.metadata.MetadataStoreBase.ts
new file mode 100644
index 00000000..3a942455
--- /dev/null
+++ b/packages/bukkit/src/typings/org.bukkit.metadata.MetadataStoreBase.ts
@@ -0,0 +1,54 @@
+declare namespace org {
+ namespace bukkit {
+ namespace metadata {
+ abstract class MetadataStoreBase {
+ constructor()
+ /**
+ * Adds a metadata value to an object. Each metadata value is owned by a
+ * specific {@link Plugin}. If a plugin has already added a metadata value
+ * to an object, that value will be replaced with the value of {@code
+ * newMetadataValue}. Multiple plugins can set independent values for the
+ * same {@code metadataKey} without conflict.
+ *
+ * Implementation note: I considered using a {@link
+ * java.util.concurrent.locks.ReadWriteLock} for controlling access to
+ * {@code metadataMap}, but decided that the added overhead wasn't worth
+ * the finer grained access control.
+ *
+ * Bukkit is almost entirely single threaded so locking overhead shouldn't
+ * pose a problem.
+ */
+ public setMetadata(subject: any, metadataKey: string, newMetadataValue: org.bukkit.metadata.MetadataValue): void;
+ /**
+ * Returns all metadata values attached to an object. If multiple
+ * have attached metadata, each will value will be included.
+ */
+ public getMetadata(subject: any, metadataKey: string): any[] /*java.util.List*/;
+ /**
+ * Tests to see if a metadata attribute has been set on an object.
+ */
+ public hasMetadata(subject: any, metadataKey: string): boolean;
+ /**
+ * Removes a metadata item owned by a plugin from a subject.
+ */
+ public removeMetadata(subject: any, metadataKey: string, owningPlugin: org.bukkit.plugin.Plugin): void;
+ /**
+ * Invalidates all metadata in the metadata store that originates from the
+ * given plugin. Doing this will force each invalidated metadata item to
+ * be recalculated the next time it is accessed.
+ */
+ public invalidateAll(owningPlugin: org.bukkit.plugin.Plugin): void;
+ /**
+ * Creates a unique name for the object receiving metadata by combining
+ * unique data from the subject with a metadataKey.
+ *
+ * The name created must be globally unique for the given object and any
+ * two equivalent objects must generate the same unique name. For example,
+ * two Player objects must generate the same string if they represent the
+ * same player, even if the objects would fail a reference equality test.
+ */
+ protected abstract disambiguate(subject: any, metadataKey: string): string;
+ }
+ }
+ }
+}
diff --git a/packages/bukkit/src/typings/org.bukkit.metadata.MetadataValue.ts b/packages/bukkit/src/typings/org.bukkit.metadata.MetadataValue.ts
new file mode 100644
index 00000000..fbf2c920
--- /dev/null
+++ b/packages/bukkit/src/typings/org.bukkit.metadata.MetadataValue.ts
@@ -0,0 +1,53 @@
+declare namespace org {
+ namespace bukkit {
+ namespace metadata {
+ class MetadataValue {
+ /**
+ * Fetches the value of this metadata item.
+ */
+ public value(): any;
+ /**
+ * Attempts to convert the value of this metadata item into an int.
+ */
+ public asInt(): number;
+ /**
+ * Attempts to convert the value of this metadata item into a float.
+ */
+ public asFloat(): number;
+ /**
+ * Attempts to convert the value of this metadata item into a double.
+ */
+ public asDouble(): number;
+ /**
+ * Attempts to convert the value of this metadata item into a long.
+ */
+ public asLong(): number;
+ /**
+ * Attempts to convert the value of this metadata item into a short.
+ */
+ public asShort(): number;
+ /**
+ * Attempts to convert the value of this metadata item into a byte.
+ */
+ public asByte(): number;
+ /**
+ * Attempts to convert the value of this metadata item into a boolean.
+ */
+ public asBoolean(): boolean;
+ /**
+ * Attempts to convert the value of this metadata item into a string.
+ */
+ public asString(): string;
+ /**
+ * Returns the {@link Plugin} that created this metadata item.
+ */
+ public getOwningPlugin(): org.bukkit.plugin.Plugin;
+ /**
+ * Invalidates this metadata item, forcing it to recompute when next
+ * accessed.
+ */
+ public invalidate(): void;
+ }
+ }
+ }
+}
diff --git a/packages/bukkit/src/typings/org.bukkit.metadata.MetadataValueAdapter.ts b/packages/bukkit/src/typings/org.bukkit.metadata.MetadataValueAdapter.ts
new file mode 100644
index 00000000..e853e23a
--- /dev/null
+++ b/packages/bukkit/src/typings/org.bukkit.metadata.MetadataValueAdapter.ts
@@ -0,0 +1,19 @@
+declare namespace org {
+ namespace bukkit {
+ namespace metadata {
+ abstract class MetadataValueAdapter {
+ constructor(owningPlugin: org.bukkit.plugin.Plugin)
+ protected owningPlugin: any;
+ public getOwningPlugin(): org.bukkit.plugin.Plugin;
+ public asInt(): number;
+ public asFloat(): number;
+ public asDouble(): number;
+ public asLong(): number;
+ public asShort(): number;
+ public asByte(): number;
+ public asBoolean(): boolean;
+ public asString(): string;
+ }
+ }
+ }
+}
diff --git a/packages/bukkit/src/typings/org.bukkit.metadata.Metadatable.ts b/packages/bukkit/src/typings/org.bukkit.metadata.Metadatable.ts
new file mode 100644
index 00000000..a95c7f38
--- /dev/null
+++ b/packages/bukkit/src/typings/org.bukkit.metadata.Metadatable.ts
@@ -0,0 +1,27 @@
+declare namespace org {
+ namespace bukkit {
+ namespace metadata {
+ class Metadatable {
+ /**
+ * Sets a metadata value in the implementing object's metadata store.
+ */
+ public setMetadata(metadataKey: string, newMetadataValue: org.bukkit.metadata.MetadataValue): void;
+ /**
+ * Returns a list of previously set metadata values from the implementing
+ * object's metadata store.
+ */
+ public getMetadata(metadataKey: string): any[] /*java.util.List*/;
+ /**
+ * Tests to see whether the implementing object contains the given
+ * metadata value in its metadata store.
+ */
+ public hasMetadata(metadataKey: string): boolean;
+ /**
+ * Removes the given metadata value from the implementing object's
+ * metadata store.
+ */
+ public removeMetadata(metadataKey: string, owningPlugin: org.bukkit.plugin.Plugin): void;
+ }
+ }
+ }
+}
diff --git a/packages/bukkit/src/typings/org.bukkit.permissions.Permissible.ts b/packages/bukkit/src/typings/org.bukkit.permissions.Permissible.ts
new file mode 100644
index 00000000..640d4102
--- /dev/null
+++ b/packages/bukkit/src/typings/org.bukkit.permissions.Permissible.ts
@@ -0,0 +1,67 @@
+declare namespace org {
+ namespace bukkit {
+ namespace permissions {
+ class Permissible {
+ /**
+ * Checks if this object contains an override for the specified
+ * permission, by fully qualified name
+ */
+ public isPermissionSet(name: string): boolean;
+ /**
+ * Checks if this object contains an override for the specified {@link
+ * Permission}
+ */
+ public isPermissionSet(perm: org.bukkit.permissions.Permission): boolean;
+ /**
+ * Gets the value of the specified permission, if set.
+ *
+ * If a permission override is not set on this object, the default value
+ * of the permission will be returned.
+ */
+ public hasPermission(name: string): boolean;
+ /**
+ * Gets the value of the specified permission, if set.
+ *
+ * If a permission override is not set on this object, the default value
+ * of the permission will be returned
+ */
+ public hasPermission(perm: org.bukkit.permissions.Permission): boolean;
+ /**
+ * Adds a new {@link PermissionAttachment} with a single permission by
+ * name and value
+ */
+ public addAttachment(plugin: org.bukkit.plugin.Plugin, name: string, value: boolean): org.bukkit.permissions.PermissionAttachment;
+ /**
+ * Adds a new empty {@link PermissionAttachment} to this object
+ */
+ public addAttachment(plugin: org.bukkit.plugin.Plugin): org.bukkit.permissions.PermissionAttachment;
+ /**
+ * Temporarily adds a new {@link PermissionAttachment} with a single
+ * permission by name and value
+ */
+ public addAttachment(plugin: org.bukkit.plugin.Plugin, name: string, value: boolean, ticks: number): org.bukkit.permissions.PermissionAttachment;
+ /**
+ * Temporarily adds a new empty {@link PermissionAttachment} to this
+ * object
+ */
+ public addAttachment(plugin: org.bukkit.plugin.Plugin, ticks: number): org.bukkit.permissions.PermissionAttachment;
+ /**
+ * Removes the given {@link PermissionAttachment} from this object
+ */
+ public removeAttachment(attachment: org.bukkit.permissions.PermissionAttachment): void;
+ /**
+ * Recalculates the permissions for this object, if the attachments have
+ * changed values.
+ *
+ * This should very rarely need to be called from a plugin.
+ */
+ public recalculatePermissions(): void;
+ /**
+ * Gets a set containing all of the permissions currently in effect by
+ * this object
+ */
+ public getEffectivePermissions(): any[] /*java.util.Set*/;
+ }
+ }
+ }
+}
diff --git a/packages/bukkit/src/typings/org.bukkit.permissions.PermissibleBase.ts b/packages/bukkit/src/typings/org.bukkit.permissions.PermissibleBase.ts
new file mode 100644
index 00000000..681da228
--- /dev/null
+++ b/packages/bukkit/src/typings/org.bukkit.permissions.PermissibleBase.ts
@@ -0,0 +1,23 @@
+declare namespace org {
+ namespace bukkit {
+ namespace permissions {
+ class PermissibleBase {
+ constructor(opable: org.bukkit.permissions.ServerOperator)
+ public isOp(): boolean;
+ public setOp(value: boolean): void;
+ public isPermissionSet(name: string): boolean;
+ public isPermissionSet(perm: org.bukkit.permissions.Permission): boolean;
+ public hasPermission(inName: string): boolean;
+ public hasPermission(perm: org.bukkit.permissions.Permission): boolean;
+ public addAttachment(plugin: org.bukkit.plugin.Plugin, name: string, value: boolean): org.bukkit.permissions.PermissionAttachment;
+ public addAttachment(plugin: org.bukkit.plugin.Plugin): org.bukkit.permissions.PermissionAttachment;
+ public removeAttachment(attachment: org.bukkit.permissions.PermissionAttachment): void;
+ public recalculatePermissions(): void;
+ public clearPermissions(): void;
+ public addAttachment(plugin: org.bukkit.plugin.Plugin, name: string, value: boolean, ticks: number): org.bukkit.permissions.PermissionAttachment;
+ public addAttachment(plugin: org.bukkit.plugin.Plugin, ticks: number): org.bukkit.permissions.PermissionAttachment;
+ public getEffectivePermissions(): any[] /*java.util.Set*/;
+ }
+ }
+ }
+}
diff --git a/packages/bukkit/src/typings/org.bukkit.permissions.Permission.ts b/packages/bukkit/src/typings/org.bukkit.permissions.Permission.ts
new file mode 100644
index 00000000..9f6b627b
--- /dev/null
+++ b/packages/bukkit/src/typings/org.bukkit.permissions.Permission.ts
@@ -0,0 +1,120 @@
+declare namespace org {
+ namespace bukkit {
+ namespace permissions {
+ class Permission {
+ constructor(name: string)
+ constructor(name: string, description: string)
+ constructor(name: string, defaultValue: org.bukkit.permissions.PermissionDefault)
+ constructor(name: string, description: string, defaultValue: org.bukkit.permissions.PermissionDefault)
+ constructor(name: string, children: Map
+ * If you change this map in any form, you must call {@link
+ * #recalculatePermissibles()} to recalculate all {@link Permissible}s
+ */
+ public getChildren(): Map
+ * This will not be saved to disk, and is a temporary operation until the
+ * server reloads permissions. Changing this default will cause all {@link
+ * Permissible}s that contain this permission to recalculate their
+ * permissions
+ */
+ public setDefault(value: org.bukkit.permissions.PermissionDefault): void;
+ /**
+ * Gets a brief description of this permission, may be empty
+ */
+ public getDescription(): string;
+ /**
+ * Sets the description of this permission.
+ *
+ * This will not be saved to disk, and is a temporary operation until the
+ * server reloads permissions.
+ */
+ public setDescription(value: string): void;
+ /**
+ * Gets a set containing every {@link Permissible} that has this
+ * permission.
+ *
+ * This set cannot be modified.
+ */
+ public getPermissibles(): any[] /*java.util.Set*/;
+ /**
+ * Recalculates all {@link Permissible}s that contain this permission.
+ *
+ * This should be called after modifying the children, and is
+ * automatically called after modifying the default value
+ */
+ public recalculatePermissibles(): void;
+ /**
+ * Adds this permission to the specified parent permission.
+ *
+ * If the parent permission does not exist, it will be created and
+ * registered.
+ */
+ public addParent(name: string, value: boolean): org.bukkit.permissions.Permission;
+ /**
+ * Adds this permission to the specified parent permission.
+ */
+ public addParent(perm: org.bukkit.permissions.Permission, value: boolean): void;
+ /**
+ * Loads a list of Permissions from a map of data, usually used from
+ * retrieval from a yaml file.
+ *
+ * The data may contain a list of name:data, where the data contains the
+ * following keys:
+ *
+ * The data may contain the following keys:
+ *
+ * The data may contain the following keys:
+ *
+ * This map may be modified but will not affect the attachment, as it is a
+ * copy.
+ */
+ public getPermissions(): Map
+ * If the permission does not exist in this attachment, nothing will
+ * happen.
+ */
+ public unsetPermission(name: string): void;
+ /**
+ * Removes the specified permission from this attachment.
+ *
+ * If the permission does not exist in this attachment, nothing will
+ * happen.
+ */
+ public unsetPermission(perm: org.bukkit.permissions.Permission): void;
+ /**
+ * Removes this attachment from its registered {@link Permissible}
+ */
+ public remove(): boolean;
+ }
+ }
+ }
+}
diff --git a/packages/bukkit/src/typings/org.bukkit.permissions.PermissionAttachmentInfo.ts b/packages/bukkit/src/typings/org.bukkit.permissions.PermissionAttachmentInfo.ts
new file mode 100644
index 00000000..7d32ed39
--- /dev/null
+++ b/packages/bukkit/src/typings/org.bukkit.permissions.PermissionAttachmentInfo.ts
@@ -0,0 +1,26 @@
+declare namespace org {
+ namespace bukkit {
+ namespace permissions {
+ class PermissionAttachmentInfo {
+ constructor(permissible: org.bukkit.permissions.Permissible, permission: string, attachment: org.bukkit.permissions.PermissionAttachment, value: boolean)
+ /**
+ * Gets the permissible this is attached to
+ */
+ public getPermissible(): org.bukkit.permissions.Permissible;
+ /**
+ * Gets the permission being set
+ */
+ public getPermission(): string;
+ /**
+ * Gets the attachment providing this permission. This may be null for
+ * default permissions (usually parent permissions).
+ */
+ public getAttachment(): org.bukkit.permissions.PermissionAttachment;
+ /**
+ * Gets the value of this permission
+ */
+ public getValue(): boolean;
+ }
+ }
+ }
+}
diff --git a/packages/bukkit/src/typings/org.bukkit.permissions.PermissionDefault.ts b/packages/bukkit/src/typings/org.bukkit.permissions.PermissionDefault.ts
new file mode 100644
index 00000000..36156d83
--- /dev/null
+++ b/packages/bukkit/src/typings/org.bukkit.permissions.PermissionDefault.ts
@@ -0,0 +1,24 @@
+declare namespace org {
+ namespace bukkit {
+ namespace permissions {
+ class PermissionDefault {
+ public static TRUE: org.bukkit.permissions.PermissionDefault;
+ public static FALSE: org.bukkit.permissions.PermissionDefault;
+ public static OP: org.bukkit.permissions.PermissionDefault;
+ public static NOT_OP: org.bukkit.permissions.PermissionDefault;
+ public static values(): org.bukkit.permissions.PermissionDefault[];
+ public static valueOf(name: string): org.bukkit.permissions.PermissionDefault;
+ /**
+ * Calculates the value of this PermissionDefault for the given operator
+ * value
+ */
+ public getValue(op: boolean): boolean;
+ /**
+ * Looks up a PermissionDefault by name
+ */
+ public static getByName(name: string): org.bukkit.permissions.PermissionDefault;
+ public toString(): string;
+ }
+ }
+ }
+}
diff --git a/packages/bukkit/src/typings/org.bukkit.permissions.PermissionRemovedExecutor.ts b/packages/bukkit/src/typings/org.bukkit.permissions.PermissionRemovedExecutor.ts
new file mode 100644
index 00000000..dce1f5a3
--- /dev/null
+++ b/packages/bukkit/src/typings/org.bukkit.permissions.PermissionRemovedExecutor.ts
@@ -0,0 +1,13 @@
+declare namespace org {
+ namespace bukkit {
+ namespace permissions {
+ class PermissionRemovedExecutor {
+ /**
+ * Called when a {@link PermissionAttachment} is removed from a {@link
+ * Permissible}
+ */
+ public attachmentRemoved(attachment: org.bukkit.permissions.PermissionAttachment): void;
+ }
+ }
+ }
+}
diff --git a/packages/bukkit/src/typings/org.bukkit.permissions.ServerOperator.ts b/packages/bukkit/src/typings/org.bukkit.permissions.ServerOperator.ts
new file mode 100644
index 00000000..e2926b12
--- /dev/null
+++ b/packages/bukkit/src/typings/org.bukkit.permissions.ServerOperator.ts
@@ -0,0 +1,16 @@
+declare namespace org {
+ namespace bukkit {
+ namespace permissions {
+ class ServerOperator {
+ /**
+ * Checks if this object is a server operator
+ */
+ public isOp(): boolean;
+ /**
+ * Sets the operator status of this object
+ */
+ public setOp(value: boolean): void;
+ }
+ }
+ }
+}
diff --git a/packages/bukkit/src/typings/org.bukkit.persistence.PersistentDataAdapterContext.ts b/packages/bukkit/src/typings/org.bukkit.persistence.PersistentDataAdapterContext.ts
new file mode 100644
index 00000000..d00c2334
--- /dev/null
+++ b/packages/bukkit/src/typings/org.bukkit.persistence.PersistentDataAdapterContext.ts
@@ -0,0 +1,12 @@
+declare namespace org {
+ namespace bukkit {
+ namespace persistence {
+ class PersistentDataAdapterContext {
+ /**
+ * Creates a new and empty meta container instance.
+ */
+ public newPersistentDataContainer(): org.bukkit.persistence.PersistentDataContainer;
+ }
+ }
+ }
+}
diff --git a/packages/bukkit/src/typings/org.bukkit.persistence.PersistentDataContainer.ts b/packages/bukkit/src/typings/org.bukkit.persistence.PersistentDataContainer.ts
new file mode 100644
index 00000000..aa6e84ad
--- /dev/null
+++ b/packages/bukkit/src/typings/org.bukkit.persistence.PersistentDataContainer.ts
@@ -0,0 +1,60 @@
+declare namespace org {
+ namespace bukkit {
+ namespace persistence {
+ class PersistentDataContainer {
+ /**
+ * Stores a metadata value on the {@link PersistentDataHolder} instance.
+ *
+ * This API cannot be used to manipulate minecraft data, as the values will
+ * be stored using your namespace. This method will override any existing
+ * value the {@link PersistentDataHolder} may have stored under the provided
+ * key.
+ */
+ public set(key: org.bukkit.NamespacedKey, type: org.bukkit.persistence.PersistentDataType, value: any): void;
+ /**
+ * Returns if the persistent metadata provider has metadata registered
+ * matching the provided parameters.
+ *
+ * This method will only return if the found value has the same primitive
+ * data type as the provided key.
+ *
+ * Storing a value using a custom {@link PersistentDataType} implementation
+ * will not store the complex data type. Therefore storing a UUID (by
+ * storing a byte[]) will match has("key" ,
+ * {@link PersistentDataType#BYTE_ARRAY}). Likewise a stored byte[] will
+ * always match your UUID {@link PersistentDataType} even if it is not 16
+ * bytes long.
+ *
+ * This method is only usable for custom object keys. Overwriting existing
+ * tags, like the the display name, will not work as the values are stored
+ * using your namespace.
+ */
+ public has(key: org.bukkit.NamespacedKey, type: org.bukkit.persistence.PersistentDataType): boolean;
+ /**
+ * Returns the metadata value that is stored on the
+ * {@link PersistentDataHolder} instance.
+ */
+ public get(key: org.bukkit.NamespacedKey, type: org.bukkit.persistence.PersistentDataType): any;
+ /**
+ * Returns the metadata value that is stored on the
+ * {@link PersistentDataHolder} instance. If the value does not exist in the
+ * container, the default value provided is returned.
+ */
+ public getOrDefault(key: org.bukkit.NamespacedKey, type: org.bukkit.persistence.PersistentDataType, defaultValue: any): any;
+ /**
+ * Removes a custom key from the {@link PersistentDataHolder} instance.
+ */
+ public remove(key: org.bukkit.NamespacedKey): void;
+ /**
+ * Returns if the container instance is empty, therefore has no entries
+ * inside it.
+ */
+ public isEmpty(): boolean;
+ /**
+ * Returns the adapter context this tag container uses.
+ */
+ public getAdapterContext(): org.bukkit.persistence.PersistentDataAdapterContext;
+ }
+ }
+ }
+}
diff --git a/packages/bukkit/src/typings/org.bukkit.persistence.PersistentDataHolder.ts b/packages/bukkit/src/typings/org.bukkit.persistence.PersistentDataHolder.ts
new file mode 100644
index 00000000..7860343a
--- /dev/null
+++ b/packages/bukkit/src/typings/org.bukkit.persistence.PersistentDataHolder.ts
@@ -0,0 +1,15 @@
+declare namespace org {
+ namespace bukkit {
+ namespace persistence {
+ class PersistentDataHolder {
+ /**
+ * Returns a custom tag container capable of storing tags on the object.
+ * Note that the tags stored on this container are all stored under their
+ * own custom namespace therefore modifying default tags using this
+ * {@link PersistentDataHolder} is impossible.
+ */
+ public getPersistentDataContainer(): org.bukkit.persistence.PersistentDataContainer;
+ }
+ }
+ }
+}
diff --git a/packages/bukkit/src/typings/org.bukkit.persistence.PersistentDataType.PrimitivePersistentDataType.ts b/packages/bukkit/src/typings/org.bukkit.persistence.PersistentDataType.PrimitivePersistentDataType.ts
new file mode 100644
index 00000000..d6fadf44
--- /dev/null
+++ b/packages/bukkit/src/typings/org.bukkit.persistence.PersistentDataType.PrimitivePersistentDataType.ts
@@ -0,0 +1,14 @@
+declare namespace org {
+ namespace bukkit {
+ namespace persistence {
+ namespace PersistentDataType {
+ class PrimitivePersistentDataType {
+ public getPrimitiveType(): any;
+ public getComplexType(): any;
+ public toPrimitive(complex: any, context: org.bukkit.persistence.PersistentDataAdapterContext): any;
+ public fromPrimitive(primitive: any, context: org.bukkit.persistence.PersistentDataAdapterContext): any;
+ }
+ }
+ }
+ }
+}
diff --git a/packages/bukkit/src/typings/org.bukkit.persistence.PersistentDataType.ts b/packages/bukkit/src/typings/org.bukkit.persistence.PersistentDataType.ts
new file mode 100644
index 00000000..0af48b7f
--- /dev/null
+++ b/packages/bukkit/src/typings/org.bukkit.persistence.PersistentDataType.ts
@@ -0,0 +1,36 @@
+declare namespace org {
+ namespace bukkit {
+ namespace persistence {
+ class PersistentDataType {
+ public static BYTE: org.bukkit.persistence.PersistentDataType;
+ public static SHORT: org.bukkit.persistence.PersistentDataType;
+ public static INTEGER: org.bukkit.persistence.PersistentDataType;
+ public static LONG: org.bukkit.persistence.PersistentDataType;
+ public static FLOAT: org.bukkit.persistence.PersistentDataType;
+ public static DOUBLE: org.bukkit.persistence.PersistentDataType;
+ public static STRING: org.bukkit.persistence.PersistentDataType;
+ public static BYTE_ARRAY: org.bukkit.persistence.PersistentDataType;
+ public static INTEGER_ARRAY: org.bukkit.persistence.PersistentDataType;
+ public static LONG_ARRAY: org.bukkit.persistence.PersistentDataType;
+ public static TAG_CONTAINER: org.bukkit.persistence.PersistentDataType;
+ /**
+ * Returns the primitive data type of this tag.
+ */
+ public getPrimitiveType(): any;
+ /**
+ * Returns the complex object type the primitive value resembles.
+ */
+ public getComplexType(): any;
+ /**
+ * Returns the primitive data that resembles the complex object passed to
+ * this method.
+ */
+ public toPrimitive(complex: any, context: org.bukkit.persistence.PersistentDataAdapterContext): any;
+ /**
+ * Creates a complex object based of the passed primitive value
+ */
+ public fromPrimitive(primitive: any, context: org.bukkit.persistence.PersistentDataAdapterContext): any;
+ }
+ }
+ }
+}
diff --git a/packages/bukkit/src/typings/org.bukkit.plugin.AuthorNagException.ts b/packages/bukkit/src/typings/org.bukkit.plugin.AuthorNagException.ts
new file mode 100644
index 00000000..73a88b5c
--- /dev/null
+++ b/packages/bukkit/src/typings/org.bukkit.plugin.AuthorNagException.ts
@@ -0,0 +1,13 @@
+declare namespace org {
+ namespace bukkit {
+ namespace plugin {
+ class AuthorNagException {
+ /**
+ * Constructs a new AuthorNagException based on the given Exception
+ */
+ constructor(message: string)
+ public getMessage(): string;
+ }
+ }
+ }
+}
diff --git a/packages/bukkit/src/typings/org.bukkit.plugin.EventExecutor.ts b/packages/bukkit/src/typings/org.bukkit.plugin.EventExecutor.ts
new file mode 100644
index 00000000..5c8f18a4
--- /dev/null
+++ b/packages/bukkit/src/typings/org.bukkit.plugin.EventExecutor.ts
@@ -0,0 +1,9 @@
+declare namespace org {
+ namespace bukkit {
+ namespace plugin {
+ class EventExecutor {
+ public execute(listener: org.bukkit.event.Listener, event: org.bukkit.event.Event): void;
+ }
+ }
+ }
+}
diff --git a/packages/bukkit/src/typings/org.bukkit.plugin.IllegalPluginAccessException.ts b/packages/bukkit/src/typings/org.bukkit.plugin.IllegalPluginAccessException.ts
new file mode 100644
index 00000000..57963146
--- /dev/null
+++ b/packages/bukkit/src/typings/org.bukkit.plugin.IllegalPluginAccessException.ts
@@ -0,0 +1,18 @@
+declare namespace org {
+ namespace bukkit {
+ namespace plugin {
+ class IllegalPluginAccessException {
+ /**
+ * Creates a new instance of
+ * If there is a default config.yml embedded in this plugin, it will be
+ * provided as a default for this Configuration.
+ */
+ public getConfig(): org.bukkit.configuration.file.FileConfiguration;
+ /**
+ * Gets an embedded resource in this plugin
+ */
+ public getResource(filename: string): any;
+ /**
+ * Saves the {@link FileConfiguration} retrievable by {@link #getConfig()}.
+ */
+ public saveConfig(): void;
+ /**
+ * Saves the raw contents of the default config.yml file to the location
+ * retrievable by {@link #getConfig()}.
+ *
+ * This should fail silently if the config.yml already exists.
+ */
+ public saveDefaultConfig(): void;
+ /**
+ * Saves the raw contents of any resource embedded with a plugin's .jar
+ * file assuming it can be found using {@link #getResource(String)}.
+ *
+ * The resource is saved into the plugin's data folder using the same
+ * hierarchy as the .jar file (subdirectories are preserved).
+ */
+ public saveResource(resourcePath: string, replace: boolean): void;
+ /**
+ * Discards any data in {@link #getConfig()} and reloads from disk.
+ */
+ public reloadConfig(): void;
+ /**
+ * Gets the associated PluginLoader responsible for this plugin
+ */
+ public getPluginLoader(): org.bukkit.plugin.PluginLoader;
+ /**
+ * Returns the Server instance currently running this plugin
+ */
+ public getServer(): org.bukkit.Server;
+ /**
+ * Returns a value indicating whether or not this plugin is currently
+ * enabled
+ */
+ public isEnabled(): boolean;
+ /**
+ * Called when this plugin is disabled
+ */
+ public onDisable(): void;
+ /**
+ * Called after a plugin is loaded but before it has been enabled.
+ *
+ * When multiple plugins are loaded, the onLoad() for all plugins is
+ * called before any onEnable() is called.
+ */
+ public onLoad(): void;
+ /**
+ * Called when this plugin is enabled
+ */
+ public onEnable(): void;
+ /**
+ * Simple boolean if we can still nag to the logs about things
+ */
+ public isNaggable(): boolean;
+ /**
+ * Set naggable state
+ */
+ public setNaggable(canNag: boolean): void;
+ /**
+ * Gets a {@link ChunkGenerator} for use in a default world, as specified
+ * in the server configuration
+ */
+ public getDefaultWorldGenerator(worldName: string, id: string): org.bukkit.generator.ChunkGenerator;
+ /**
+ * Returns the plugin logger associated with this server's logger. The
+ * returned logger automatically tags all log messages with the plugin's
+ * name.
+ */
+ public getLogger(): any;
+ /**
+ * Returns the name of the plugin.
+ *
+ * This should return the bare name of the plugin and should be used for
+ * comparison.
+ */
+ public getName(): string;
+ }
+ }
+ }
+}
diff --git a/packages/bukkit/src/typings/org.bukkit.plugin.PluginAwareness.Flags.ts b/packages/bukkit/src/typings/org.bukkit.plugin.PluginAwareness.Flags.ts
new file mode 100644
index 00000000..0a93f516
--- /dev/null
+++ b/packages/bukkit/src/typings/org.bukkit.plugin.PluginAwareness.Flags.ts
@@ -0,0 +1,13 @@
+declare namespace org {
+ namespace bukkit {
+ namespace plugin {
+ namespace PluginAwareness {
+ class Flags {
+ public static UTF8: org.bukkit.plugin.PluginAwareness.Flags;
+ public static values(): org.bukkit.plugin.PluginAwareness.Flags[];
+ public static valueOf(name: string): org.bukkit.plugin.PluginAwareness.Flags;
+ }
+ }
+ }
+ }
+}
diff --git a/packages/bukkit/src/typings/org.bukkit.plugin.PluginAwareness.ts b/packages/bukkit/src/typings/org.bukkit.plugin.PluginAwareness.ts
new file mode 100644
index 00000000..44eb29a0
--- /dev/null
+++ b/packages/bukkit/src/typings/org.bukkit.plugin.PluginAwareness.ts
@@ -0,0 +1,8 @@
+declare namespace org {
+ namespace bukkit {
+ namespace plugin {
+ class PluginAwareness {
+ }
+ }
+ }
+}
diff --git a/packages/bukkit/src/typings/org.bukkit.plugin.PluginBase.ts b/packages/bukkit/src/typings/org.bukkit.plugin.PluginBase.ts
new file mode 100644
index 00000000..c603d406
--- /dev/null
+++ b/packages/bukkit/src/typings/org.bukkit.plugin.PluginBase.ts
@@ -0,0 +1,12 @@
+declare namespace org {
+ namespace bukkit {
+ namespace plugin {
+ abstract class PluginBase {
+ constructor()
+ public hashCode(): number;
+ public equals(obj: any): boolean;
+ public getName(): string;
+ }
+ }
+ }
+}
diff --git a/packages/bukkit/src/typings/org.bukkit.plugin.PluginDescriptionFile.ts b/packages/bukkit/src/typings/org.bukkit.plugin.PluginDescriptionFile.ts
new file mode 100644
index 00000000..4747d2a8
--- /dev/null
+++ b/packages/bukkit/src/typings/org.bukkit.plugin.PluginDescriptionFile.ts
@@ -0,0 +1,532 @@
+declare namespace org {
+ namespace bukkit {
+ namespace plugin {
+ class PluginDescriptionFile {
+ constructor(stream: any)
+ /**
+ * Loads a PluginDescriptionFile from the specified reader
+ */
+ constructor(reader: any)
+ /**
+ * Creates a new PluginDescriptionFile with the given detailed
+ */
+ constructor(pluginName: string, pluginVersion: string, mainClass: string)
+ /**
+ * Gives the name of the plugin. This name is a unique identifier for
+ * plugins.
+ *
+ * In the plugin.yml, this entry is named
+ * Example:
+ * In the plugin.yml, this entry is named
+ * Example:
+ * In the plugin.yml, this entry is named
+ * Example:
+ *
+ * In the plugin.yml, this entry is named
+ * Example:
+ *
+ * In the plugin.yml, this entry is named
+ * Example:
+ * In the plugin.yml, this has two entries,
+ * Single author example:
+ *
+ * In the plugin.yml, this entry is named
+ * Example:
+ *
+ * In the plugin.yml, this entry is named
+ * Example:
+ *
+ * In the plugin.yml, this entry is named
+ * Example:
+ *
+ * In the plugin.yml, this entry is named
+ * Example:
+ *
+ * In the plugin.yml, this entry is named
+ * Example:
+ * Note: Command aliases may not have a colon in them.
+ * Here is an example bringing together the piecemeal examples above, as
+ * well as few more definitions:
+ * A list of optional properties for permissions:
+ *
+ * For reference:
+ * Child permissions may be defined in a number of ways:
+ * Here is an example using some of the properties:
+ * In the plugin.yml, this entry is named
+ * Example:
+ * In the plugin.yml, this entry is named
+ * Example:
+ * Note: Although unknown versions of some future awareness are
+ * gracefully substituted, previous versions of Bukkit (ones prior to the
+ * first implementation of awareness) will fail to load a plugin that
+ * defines any awareness.
+ */
+ public getAwareness(): any[] /*java.util.Set*/;
+ /**
+ * Returns the name of a plugin, including the version. This method is
+ * provided for convenience; it uses the {@link #getName()} and {@link
+ * #getVersion()} entries.
+ */
+ public getFullName(): string;
+ /**
+ * Gives the API version which this plugin is designed to support. No
+ * specific format is guaranteed.
+ *
+ * In the plugin.yml, this entry is named
+ * Example:
+ * Attempting to enable a plugin that is already enabled will have no
+ * effect
+ */
+ public enablePlugin(plugin: org.bukkit.plugin.Plugin): void;
+ /**
+ * Disables the specified plugin
+ *
+ * Attempting to disable a plugin that is not enabled will have no effect
+ */
+ public disablePlugin(plugin: org.bukkit.plugin.Plugin): void;
+ }
+ }
+ }
+}
diff --git a/packages/bukkit/src/typings/org.bukkit.plugin.PluginLogger.ts b/packages/bukkit/src/typings/org.bukkit.plugin.PluginLogger.ts
new file mode 100644
index 00000000..c0d91275
--- /dev/null
+++ b/packages/bukkit/src/typings/org.bukkit.plugin.PluginLogger.ts
@@ -0,0 +1,13 @@
+declare namespace org {
+ namespace bukkit {
+ namespace plugin {
+ class PluginLogger {
+ /**
+ * Creates a new PluginLogger that extracts the name from a plugin.
+ */
+ constructor(context: org.bukkit.plugin.Plugin)
+ public log(logRecord: any): void;
+ }
+ }
+ }
+}
diff --git a/packages/bukkit/src/typings/org.bukkit.plugin.PluginManager.ts b/packages/bukkit/src/typings/org.bukkit.plugin.PluginManager.ts
new file mode 100644
index 00000000..253fb7d9
--- /dev/null
+++ b/packages/bukkit/src/typings/org.bukkit.plugin.PluginManager.ts
@@ -0,0 +1,165 @@
+declare namespace org {
+ namespace bukkit {
+ namespace plugin {
+ class PluginManager {
+ /**
+ * Registers the specified plugin loader
+ */
+ public registerInterface(loader: any): void;
+ /**
+ * Checks if the given plugin is loaded and returns it when applicable
+ *
+ * Please note that the name of the plugin is case-sensitive
+ */
+ public getPlugin(name: string): org.bukkit.plugin.Plugin;
+ /**
+ * Gets a list of all currently loaded plugins
+ */
+ public getPlugins(): org.bukkit.plugin.Plugin[];
+ /**
+ * Checks if the given plugin is enabled or not
+ *
+ * Please note that the name of the plugin is case-sensitive.
+ */
+ public isPluginEnabled(name: string): boolean;
+ /**
+ * Checks if the given plugin is enabled or not
+ */
+ public isPluginEnabled(plugin: org.bukkit.plugin.Plugin): boolean;
+ /**
+ * Loads the plugin in the specified file
+ *
+ * File must be valid according to the current enabled Plugin interfaces
+ */
+ public loadPlugin(file: any): org.bukkit.plugin.Plugin;
+ /**
+ * Loads the plugins contained within the specified directory
+ */
+ public loadPlugins(directory: any): org.bukkit.plugin.Plugin[];
+ /**
+ * Disables all the loaded plugins
+ */
+ public disablePlugins(): void;
+ /**
+ * Disables and removes all plugins
+ */
+ public clearPlugins(): void;
+ /**
+ * Calls an event with the given details
+ */
+ public callEvent(event: org.bukkit.event.Event): void;
+ /**
+ * Registers all the events in the given listener class
+ */
+ public registerEvents(listener: org.bukkit.event.Listener, plugin: org.bukkit.plugin.Plugin): void;
+ /**
+ * Registers the specified executor to the given event class
+ */
+ public registerEvent(event: any, listener: org.bukkit.event.Listener, priority: org.bukkit.event.EventPriority, executor: org.bukkit.plugin.EventExecutor, plugin: org.bukkit.plugin.Plugin): void;
+ /**
+ * Registers the specified executor to the given event class
+ */
+ public registerEvent(event: any, listener: org.bukkit.event.Listener, priority: org.bukkit.event.EventPriority, executor: org.bukkit.plugin.EventExecutor, plugin: org.bukkit.plugin.Plugin, ignoreCancelled: boolean): void;
+ /**
+ * Enables the specified plugin
+ *
+ * Attempting to enable a plugin that is already enabled will have no
+ * effect
+ */
+ public enablePlugin(plugin: org.bukkit.plugin.Plugin): void;
+ /**
+ * Disables the specified plugin
+ *
+ * Attempting to disable a plugin that is not enabled will have no effect
+ */
+ public disablePlugin(plugin: org.bukkit.plugin.Plugin): void;
+ /**
+ * Gets a {@link Permission} from its fully qualified name
+ */
+ public getPermission(name: string): org.bukkit.permissions.Permission;
+ /**
+ * Adds a {@link Permission} to this plugin manager.
+ *
+ * If a permission is already defined with the given name of the new
+ * permission, an exception will be thrown.
+ */
+ public addPermission(perm: org.bukkit.permissions.Permission): void;
+ /**
+ * Removes a {@link Permission} registration from this plugin manager.
+ *
+ * If the specified permission does not exist in this plugin manager,
+ * nothing will happen.
+ *
+ * Removing a permission registration will not remove the
+ * permission from any {@link Permissible}s that have it.
+ */
+ public removePermission(perm: org.bukkit.permissions.Permission): void;
+ /**
+ * Removes a {@link Permission} registration from this plugin manager.
+ *
+ * If the specified permission does not exist in this plugin manager,
+ * nothing will happen.
+ *
+ * Removing a permission registration will not remove the
+ * permission from any {@link Permissible}s that have it.
+ */
+ public removePermission(name: string): void;
+ /**
+ * Gets the default permissions for the given op status
+ */
+ public getDefaultPermissions(op: boolean): any[] /*java.util.Set*/;
+ /**
+ * Recalculates the defaults for the given {@link Permission}.
+ *
+ * This will have no effect if the specified permission is not registered
+ * here.
+ */
+ public recalculatePermissionDefaults(perm: org.bukkit.permissions.Permission): void;
+ /**
+ * Subscribes the given Permissible for information about the requested
+ * Permission, by name.
+ *
+ * If the specified Permission changes in any form, the Permissible will
+ * be asked to recalculate.
+ */
+ public subscribeToPermission(permission: string, permissible: org.bukkit.permissions.Permissible): void;
+ /**
+ * Unsubscribes the given Permissible for information about the requested
+ * Permission, by name.
+ */
+ public unsubscribeFromPermission(permission: string, permissible: org.bukkit.permissions.Permissible): void;
+ /**
+ * Gets a set containing all subscribed {@link Permissible}s to the given
+ * permission, by name
+ */
+ public getPermissionSubscriptions(permission: string): any[] /*java.util.Set*/;
+ /**
+ * Subscribes to the given Default permissions by operator status
+ *
+ * If the specified defaults change in any form, the Permissible will be
+ * asked to recalculate.
+ */
+ public subscribeToDefaultPerms(op: boolean, permissible: org.bukkit.permissions.Permissible): void;
+ /**
+ * Unsubscribes from the given Default permissions by operator status
+ */
+ public unsubscribeFromDefaultPerms(op: boolean, permissible: org.bukkit.permissions.Permissible): void;
+ /**
+ * Gets a set containing all subscribed {@link Permissible}s to the given
+ * default list, by op status
+ */
+ public getDefaultPermSubscriptions(op: boolean): any[] /*java.util.Set*/;
+ /**
+ * Gets a set of all registered permissions.
+ *
+ * This set is a copy and will not be modified live.
+ */
+ public getPermissions(): any[] /*java.util.Set*/;
+ /**
+ * Returns whether or not timing code should be used for event calls
+ */
+ public useTimings(): boolean;
+ }
+ }
+ }
+}
diff --git a/packages/bukkit/src/typings/org.bukkit.plugin.RegisteredListener.ts b/packages/bukkit/src/typings/org.bukkit.plugin.RegisteredListener.ts
new file mode 100644
index 00000000..6785d927
--- /dev/null
+++ b/packages/bukkit/src/typings/org.bukkit.plugin.RegisteredListener.ts
@@ -0,0 +1,29 @@
+declare namespace org {
+ namespace bukkit {
+ namespace plugin {
+ class RegisteredListener {
+ constructor(listener: org.bukkit.event.Listener, executor: org.bukkit.plugin.EventExecutor, priority: org.bukkit.event.EventPriority, plugin: org.bukkit.plugin.Plugin, ignoreCancelled: boolean)
+ /**
+ * Gets the listener for this registration
+ */
+ public getListener(): org.bukkit.event.Listener;
+ /**
+ * Gets the plugin for this registration
+ */
+ public getPlugin(): org.bukkit.plugin.Plugin;
+ /**
+ * Gets the priority for this registration
+ */
+ public getPriority(): org.bukkit.event.EventPriority;
+ /**
+ * Calls the event executor
+ */
+ public callEvent(event: org.bukkit.event.Event): void;
+ /**
+ * Whether this listener accepts cancelled events
+ */
+ public isIgnoringCancelled(): boolean;
+ }
+ }
+ }
+}
diff --git a/packages/bukkit/src/typings/org.bukkit.plugin.RegisteredServiceProvider.ts b/packages/bukkit/src/typings/org.bukkit.plugin.RegisteredServiceProvider.ts
new file mode 100644
index 00000000..3928ecf8
--- /dev/null
+++ b/packages/bukkit/src/typings/org.bukkit.plugin.RegisteredServiceProvider.ts
@@ -0,0 +1,14 @@
+declare namespace org {
+ namespace bukkit {
+ namespace plugin {
+ class RegisteredServiceProvider {
+ constructor(service: any, provider: any, priority: org.bukkit.plugin.ServicePriority, plugin: org.bukkit.plugin.Plugin)
+ public getService(): any;
+ public getPlugin(): org.bukkit.plugin.Plugin;
+ public getProvider(): any;
+ public getPriority(): org.bukkit.plugin.ServicePriority;
+ public compareTo(other: org.bukkit.plugin.RegisteredServiceProvider): number;
+ }
+ }
+ }
+}
diff --git a/packages/bukkit/src/typings/org.bukkit.plugin.ServicePriority.ts b/packages/bukkit/src/typings/org.bukkit.plugin.ServicePriority.ts
new file mode 100644
index 00000000..1eb67a22
--- /dev/null
+++ b/packages/bukkit/src/typings/org.bukkit.plugin.ServicePriority.ts
@@ -0,0 +1,15 @@
+declare namespace org {
+ namespace bukkit {
+ namespace plugin {
+ class ServicePriority {
+ public static Lowest: org.bukkit.plugin.ServicePriority;
+ public static Low: org.bukkit.plugin.ServicePriority;
+ public static Normal: org.bukkit.plugin.ServicePriority;
+ public static High: org.bukkit.plugin.ServicePriority;
+ public static Highest: org.bukkit.plugin.ServicePriority;
+ public static values(): org.bukkit.plugin.ServicePriority[];
+ public static valueOf(name: string): org.bukkit.plugin.ServicePriority;
+ }
+ }
+ }
+}
diff --git a/packages/bukkit/src/typings/org.bukkit.plugin.ServicesManager.ts b/packages/bukkit/src/typings/org.bukkit.plugin.ServicesManager.ts
new file mode 100644
index 00000000..5651d250
--- /dev/null
+++ b/packages/bukkit/src/typings/org.bukkit.plugin.ServicesManager.ts
@@ -0,0 +1,54 @@
+declare namespace org {
+ namespace bukkit {
+ namespace plugin {
+ class ServicesManager {
+ /**
+ * Register a provider of a service.
+ */
+ public register(service: any, provider: any, plugin: org.bukkit.plugin.Plugin, priority: org.bukkit.plugin.ServicePriority): void;
+ /**
+ * Unregister all the providers registered by a particular plugin.
+ */
+ public unregisterAll(plugin: org.bukkit.plugin.Plugin): void;
+ /**
+ * Unregister a particular provider for a particular service.
+ */
+ public unregister(service: any, provider: any): void;
+ /**
+ * Unregister a particular provider.
+ */
+ public unregister(provider: any): void;
+ /**
+ * Queries for a provider. This may return if no provider has been
+ * registered for a service. The highest priority provider is returned.
+ */
+ public load(service: any): any;
+ /**
+ * Queries for a provider registration. This may return if no provider
+ * has been registered for a service.
+ */
+ public getRegistration(service: any): org.bukkit.plugin.RegisteredServiceProvider;
+ /**
+ * Get registrations of providers for a plugin.
+ */
+ public getRegistrations(plugin: org.bukkit.plugin.Plugin): any[] /*java.util.List*/;
+ /**
+ * Get registrations of providers for a service. The returned list is
+ * unmodifiable.
+ */
+ public getRegistrations(service: any): any[] /*java.util.Collection*/;
+ /**
+ * Get a list of known services. A service is known if it has registered
+ * providers for it.
+ */
+ public getKnownServices(): any[] /*java.util.Collection*/;
+ /**
+ * Returns whether a provider has been registered for a service. Do not
+ * check this first only to call
+ * File must be valid according to the current enabled Plugin interfaces
+ */
+ public loadPlugin(file: any): org.bukkit.plugin.Plugin;
+ /**
+ * Checks if the given plugin is loaded and returns it when applicable
+ *
+ * Please note that the name of the plugin is case-sensitive
+ */
+ public getPlugin(name: string): org.bukkit.plugin.Plugin;
+ public getPlugins(): org.bukkit.plugin.Plugin[];
+ /**
+ * Checks if the given plugin is enabled or not
+ *
+ * Please note that the name of the plugin is case-sensitive.
+ */
+ public isPluginEnabled(name: string): boolean;
+ /**
+ * Checks if the given plugin is enabled or not
+ */
+ public isPluginEnabled(plugin: org.bukkit.plugin.Plugin): boolean;
+ public enablePlugin(plugin: org.bukkit.plugin.Plugin): void;
+ public disablePlugins(): void;
+ public disablePlugin(plugin: org.bukkit.plugin.Plugin): void;
+ public clearPlugins(): void;
+ /**
+ * Calls an event with the given details.
+ *
+ * This method only synchronizes when the event is not asynchronous.
+ */
+ public callEvent(event: org.bukkit.event.Event): void;
+ public registerEvents(listener: org.bukkit.event.Listener, plugin: org.bukkit.plugin.Plugin): void;
+ public registerEvent(event: any, listener: org.bukkit.event.Listener, priority: org.bukkit.event.EventPriority, executor: org.bukkit.plugin.EventExecutor, plugin: org.bukkit.plugin.Plugin): void;
+ /**
+ * Registers the given event to the specified listener using a directly
+ * passed EventExecutor
+ */
+ public registerEvent(event: any, listener: org.bukkit.event.Listener, priority: org.bukkit.event.EventPriority, executor: org.bukkit.plugin.EventExecutor, plugin: org.bukkit.plugin.Plugin, ignoreCancelled: boolean): void;
+ public getPermission(name: string): org.bukkit.permissions.Permission;
+ public addPermission(perm: org.bukkit.permissions.Permission): void;
+ public addPermission(perm: org.bukkit.permissions.Permission, dirty: boolean): void;
+ public getDefaultPermissions(op: boolean): any[] /*java.util.Set*/;
+ public removePermission(perm: org.bukkit.permissions.Permission): void;
+ public removePermission(name: string): void;
+ public recalculatePermissionDefaults(perm: org.bukkit.permissions.Permission): void;
+ public dirtyPermissibles(): void;
+ public subscribeToPermission(permission: string, permissible: org.bukkit.permissions.Permissible): void;
+ public unsubscribeFromPermission(permission: string, permissible: org.bukkit.permissions.Permissible): void;
+ public getPermissionSubscriptions(permission: string): any[] /*java.util.Set*/;
+ public subscribeToDefaultPerms(op: boolean, permissible: org.bukkit.permissions.Permissible): void;
+ public unsubscribeFromDefaultPerms(op: boolean, permissible: org.bukkit.permissions.Permissible): void;
+ public getDefaultPermSubscriptions(op: boolean): any[] /*java.util.Set*/;
+ public getPermissions(): any[] /*java.util.Set*/;
+ public useTimings(): boolean;
+ /**
+ * Sets whether or not per event timing code should be used
+ */
+ public useTimings(use: boolean): void;
+ }
+ }
+ }
+}
diff --git a/packages/bukkit/src/typings/org.bukkit.plugin.SimpleServicesManager.ts b/packages/bukkit/src/typings/org.bukkit.plugin.SimpleServicesManager.ts
new file mode 100644
index 00000000..87d2042f
--- /dev/null
+++ b/packages/bukkit/src/typings/org.bukkit.plugin.SimpleServicesManager.ts
@@ -0,0 +1,53 @@
+declare namespace org {
+ namespace bukkit {
+ namespace plugin {
+ class SimpleServicesManager {
+ constructor()
+ /**
+ * Register a provider of a service.
+ */
+ public register(service: any, provider: any, plugin: org.bukkit.plugin.Plugin, priority: org.bukkit.plugin.ServicePriority): void;
+ /**
+ * Unregister all the providers registered by a particular plugin.
+ */
+ public unregisterAll(plugin: org.bukkit.plugin.Plugin): void;
+ /**
+ * Unregister a particular provider for a particular service.
+ */
+ public unregister(service: any, provider: any): void;
+ /**
+ * Unregister a particular provider.
+ */
+ public unregister(provider: any): void;
+ /**
+ * Queries for a provider. This may return if no provider has been
+ * registered for a service. The highest priority provider is returned.
+ */
+ public load(service: any): any;
+ /**
+ * Queries for a provider registration. This may return if no provider
+ * has been registered for a service.
+ */
+ public getRegistration(service: any): org.bukkit.plugin.RegisteredServiceProvider;
+ /**
+ * Get registrations of providers for a plugin.
+ */
+ public getRegistrations(plugin: org.bukkit.plugin.Plugin): any[] /*java.util.List*/;
+ /**
+ * Get registrations of providers for a service. The returned list is
+ * an unmodifiable copy.
+ */
+ public getRegistrations(service: any): any[] /*java.util.List*/;
+ /**
+ * Get a list of known services. A service is known if it has registered
+ * providers for it.
+ */
+ public getKnownServices(): any[] /*java.util.Set*/;
+ /**
+ * Returns whether a provider has been registered for a service.
+ */
+ public isProvidedFor(service: any): boolean;
+ }
+ }
+ }
+}
diff --git a/packages/bukkit/src/typings/org.bukkit.plugin.TimedRegisteredListener.ts b/packages/bukkit/src/typings/org.bukkit.plugin.TimedRegisteredListener.ts
new file mode 100644
index 00000000..196d57d9
--- /dev/null
+++ b/packages/bukkit/src/typings/org.bukkit.plugin.TimedRegisteredListener.ts
@@ -0,0 +1,37 @@
+declare namespace org {
+ namespace bukkit {
+ namespace plugin {
+ class TimedRegisteredListener {
+ constructor(pluginListener: org.bukkit.event.Listener, eventExecutor: org.bukkit.plugin.EventExecutor, eventPriority: org.bukkit.event.EventPriority, registeredPlugin: org.bukkit.plugin.Plugin, listenCancelled: boolean)
+ public callEvent(event: org.bukkit.event.Event): void;
+ /**
+ * Resets the call count and total time for this listener
+ */
+ public reset(): void;
+ /**
+ * Gets the total times this listener has been called
+ */
+ public getCount(): number;
+ /**
+ * Gets the total time calls to this listener have taken
+ */
+ public getTotalTime(): number;
+ /**
+ * Gets the class of the events this listener handled. If it handled
+ * multiple classes of event, the closest shared superclass will be
+ * returned, such that for any event this listener has handled,
+ *
+ * The returned reader will read text with the UTF-8 charset.
+ */
+ protected getTextResource(file: string): any;
+ public reloadConfig(): void;
+ public saveConfig(): void;
+ public saveDefaultConfig(): void;
+ public saveResource(resourcePath: string, replace: boolean): void;
+ public getResource(filename: string): any;
+ /**
+ * Returns the ClassLoader which holds this plugin
+ */
+ protected getClassLoader(): any;
+ /**
+ * Sets the enabled state of this plugin
+ */
+ protected setEnabled(enabled: boolean): void;
+ /**
+ * {@inheritDoc}
+ */
+ public onCommand(sender: org.bukkit.command.CommandSender, command: org.bukkit.command.Command, label: string, args: string): boolean;
+ /**
+ * {@inheritDoc}
+ */
+ public onTabComplete(sender: org.bukkit.command.CommandSender, command: org.bukkit.command.Command, alias: string, args: string): any[] /*java.util.List*/;
+ /**
+ * Gets the command with the given name, specific to this plugin. Commands
+ * need to be registered in the {@link PluginDescriptionFile#getCommands()
+ * PluginDescriptionFile} to exist at runtime.
+ */
+ public getCommand(name: string): org.bukkit.command.PluginCommand;
+ public onLoad(): void;
+ public onDisable(): void;
+ public onEnable(): void;
+ public getDefaultWorldGenerator(worldName: string, id: string): org.bukkit.generator.ChunkGenerator;
+ public isNaggable(): boolean;
+ public setNaggable(canNag: boolean): void;
+ public getLogger(): any;
+ public toString(): string;
+ /**
+ * This method provides fast access to the plugin that has {@link
+ * #getProvidingPlugin(Class) provided} the given plugin class, which is
+ * usually the plugin that implemented it.
+ *
+ * An exception to this would be if plugin's jar that contained the class
+ * does not extend the class, where the intended plugin would have
+ * resided in a different jar / classloader.
+ */
+ public static getPlugin(clazz: any): org.bukkit.plugin.java.JavaPlugin;
+ /**
+ * This method provides fast access to the plugin that has provided the
+ * given class.
+ */
+ public static getProvidingPlugin(clazz: any): org.bukkit.plugin.java.JavaPlugin;
+ }
+ }
+ }
+ }
+}
diff --git a/packages/bukkit/src/typings/org.bukkit.plugin.java.JavaPluginLoader.ts b/packages/bukkit/src/typings/org.bukkit.plugin.java.JavaPluginLoader.ts
new file mode 100644
index 00000000..5445cbcc
--- /dev/null
+++ b/packages/bukkit/src/typings/org.bukkit.plugin.java.JavaPluginLoader.ts
@@ -0,0 +1,20 @@
+declare namespace org {
+ namespace bukkit {
+ namespace plugin {
+ namespace java {
+ class JavaPluginLoader {
+ /**
+ * This class was not meant to be constructed explicitly
+ */
+ constructor(instance: org.bukkit.Server)
+ public loadPlugin(file: any): org.bukkit.plugin.Plugin;
+ public getPluginDescription(file: any): org.bukkit.plugin.PluginDescriptionFile;
+ public getPluginFileFilters(): any;
+ public createRegisteredListeners(listener: org.bukkit.event.Listener, plugin: org.bukkit.plugin.Plugin): Map
+ * A registration is considered valid if it has not be unregistered and
+ * that the plugin is still enabled.
+ */
+ public isRegistrationValid(registration: org.bukkit.plugin.messaging.PluginMessageListenerRegistration): boolean;
+ /**
+ * Checks if the specified plugin has registered to receive incoming
+ * messages through the requested channel.
+ */
+ public isIncomingChannelRegistered(plugin: org.bukkit.plugin.Plugin, channel: string): boolean;
+ /**
+ * Checks if the specified plugin has registered to send outgoing messages
+ * through the requested channel.
+ */
+ public isOutgoingChannelRegistered(plugin: org.bukkit.plugin.Plugin, channel: string): boolean;
+ /**
+ * Dispatches the specified incoming message to any registered listeners.
+ */
+ public dispatchIncomingMessage(source: org.bukkit.entity.Player, channel: string, message: number): void;
+ }
+ }
+ }
+ }
+}
diff --git a/packages/bukkit/src/typings/org.bukkit.plugin.messaging.PluginChannelDirection.ts b/packages/bukkit/src/typings/org.bukkit.plugin.messaging.PluginChannelDirection.ts
new file mode 100644
index 00000000..ed9842a3
--- /dev/null
+++ b/packages/bukkit/src/typings/org.bukkit.plugin.messaging.PluginChannelDirection.ts
@@ -0,0 +1,14 @@
+declare namespace org {
+ namespace bukkit {
+ namespace plugin {
+ namespace messaging {
+ class PluginChannelDirection {
+ public static INCOMING: org.bukkit.plugin.messaging.PluginChannelDirection;
+ public static OUTGOING: org.bukkit.plugin.messaging.PluginChannelDirection;
+ public static values(): org.bukkit.plugin.messaging.PluginChannelDirection[];
+ public static valueOf(name: string): org.bukkit.plugin.messaging.PluginChannelDirection;
+ }
+ }
+ }
+ }
+}
diff --git a/packages/bukkit/src/typings/org.bukkit.plugin.messaging.PluginMessageListener.ts b/packages/bukkit/src/typings/org.bukkit.plugin.messaging.PluginMessageListener.ts
new file mode 100644
index 00000000..b2fbc9be
--- /dev/null
+++ b/packages/bukkit/src/typings/org.bukkit.plugin.messaging.PluginMessageListener.ts
@@ -0,0 +1,15 @@
+declare namespace org {
+ namespace bukkit {
+ namespace plugin {
+ namespace messaging {
+ class PluginMessageListener {
+ /**
+ * A method that will be thrown when a PluginMessageSource sends a plugin
+ * message on a registered channel.
+ */
+ public onPluginMessageReceived(channel: string, player: org.bukkit.entity.Player, message: number): void;
+ }
+ }
+ }
+ }
+}
diff --git a/packages/bukkit/src/typings/org.bukkit.plugin.messaging.PluginMessageListenerRegistration.ts b/packages/bukkit/src/typings/org.bukkit.plugin.messaging.PluginMessageListenerRegistration.ts
new file mode 100644
index 00000000..064905f0
--- /dev/null
+++ b/packages/bukkit/src/typings/org.bukkit.plugin.messaging.PluginMessageListenerRegistration.ts
@@ -0,0 +1,29 @@
+declare namespace org {
+ namespace bukkit {
+ namespace plugin {
+ namespace messaging {
+ class PluginMessageListenerRegistration {
+ constructor(messenger: org.bukkit.plugin.messaging.Messenger, plugin: org.bukkit.plugin.Plugin, channel: string, listener: org.bukkit.plugin.messaging.PluginMessageListener)
+ /**
+ * Gets the plugin channel that this registration is about.
+ */
+ public getChannel(): string;
+ /**
+ * Gets the registered listener described by this registration.
+ */
+ public getListener(): org.bukkit.plugin.messaging.PluginMessageListener;
+ /**
+ * Gets the plugin that this registration is for.
+ */
+ public getPlugin(): org.bukkit.plugin.Plugin;
+ /**
+ * Checks if this registration is still valid.
+ */
+ public isValid(): boolean;
+ public equals(obj: any): boolean;
+ public hashCode(): number;
+ }
+ }
+ }
+ }
+}
diff --git a/packages/bukkit/src/typings/org.bukkit.plugin.messaging.PluginMessageRecipient.ts b/packages/bukkit/src/typings/org.bukkit.plugin.messaging.PluginMessageRecipient.ts
new file mode 100644
index 00000000..206a29ba
--- /dev/null
+++ b/packages/bukkit/src/typings/org.bukkit.plugin.messaging.PluginMessageRecipient.ts
@@ -0,0 +1,24 @@
+declare namespace org {
+ namespace bukkit {
+ namespace plugin {
+ namespace messaging {
+ class PluginMessageRecipient {
+ /**
+ * Sends this recipient a Plugin Message on the specified outgoing
+ * channel.
+ *
+ * The message may not be larger than {@link Messenger#MAX_MESSAGE_SIZE}
+ * bytes, and the plugin must be registered to send messages on the
+ * specified channel.
+ */
+ public sendPluginMessage(source: org.bukkit.plugin.Plugin, channel: string, message: number): void;
+ /**
+ * Gets a set containing all the Plugin Channels that this client is
+ * listening on.
+ */
+ public getListeningPluginChannels(): any[] /*java.util.Set*/;
+ }
+ }
+ }
+ }
+}
diff --git a/packages/bukkit/src/typings/org.bukkit.plugin.messaging.ReservedChannelException.ts b/packages/bukkit/src/typings/org.bukkit.plugin.messaging.ReservedChannelException.ts
new file mode 100644
index 00000000..9524b322
--- /dev/null
+++ b/packages/bukkit/src/typings/org.bukkit.plugin.messaging.ReservedChannelException.ts
@@ -0,0 +1,12 @@
+declare namespace org {
+ namespace bukkit {
+ namespace plugin {
+ namespace messaging {
+ class ReservedChannelException {
+ constructor()
+ constructor(name: string)
+ }
+ }
+ }
+ }
+}
diff --git a/packages/bukkit/src/typings/org.bukkit.plugin.messaging.StandardMessenger.ts b/packages/bukkit/src/typings/org.bukkit.plugin.messaging.StandardMessenger.ts
new file mode 100644
index 00000000..90b8e28b
--- /dev/null
+++ b/packages/bukkit/src/typings/org.bukkit.plugin.messaging.StandardMessenger.ts
@@ -0,0 +1,43 @@
+declare namespace org {
+ namespace bukkit {
+ namespace plugin {
+ namespace messaging {
+ class StandardMessenger {
+ constructor()
+ public isReservedChannel(channel: string): boolean;
+ public registerOutgoingPluginChannel(plugin: org.bukkit.plugin.Plugin, channel: string): void;
+ public unregisterOutgoingPluginChannel(plugin: org.bukkit.plugin.Plugin, channel: string): void;
+ public unregisterOutgoingPluginChannel(plugin: org.bukkit.plugin.Plugin): void;
+ public registerIncomingPluginChannel(plugin: org.bukkit.plugin.Plugin, channel: string, listener: org.bukkit.plugin.messaging.PluginMessageListener): org.bukkit.plugin.messaging.PluginMessageListenerRegistration;
+ public unregisterIncomingPluginChannel(plugin: org.bukkit.plugin.Plugin, channel: string, listener: org.bukkit.plugin.messaging.PluginMessageListener): void;
+ public unregisterIncomingPluginChannel(plugin: org.bukkit.plugin.Plugin, channel: string): void;
+ public unregisterIncomingPluginChannel(plugin: org.bukkit.plugin.Plugin): void;
+ public getOutgoingChannels(): any[] /*java.util.Set*/;
+ public getOutgoingChannels(plugin: org.bukkit.plugin.Plugin): any[] /*java.util.Set*/;
+ public getIncomingChannels(): any[] /*java.util.Set*/;
+ public getIncomingChannels(plugin: org.bukkit.plugin.Plugin): any[] /*java.util.Set*/;
+ public getIncomingChannelRegistrations(plugin: org.bukkit.plugin.Plugin): any[] /*java.util.Set*/;
+ public getIncomingChannelRegistrations(channel: string): any[] /*java.util.Set*/;
+ public getIncomingChannelRegistrations(plugin: org.bukkit.plugin.Plugin, channel: string): any[] /*java.util.Set*/;
+ public isRegistrationValid(registration: org.bukkit.plugin.messaging.PluginMessageListenerRegistration): boolean;
+ public isIncomingChannelRegistered(plugin: org.bukkit.plugin.Plugin, channel: string): boolean;
+ public isOutgoingChannelRegistered(plugin: org.bukkit.plugin.Plugin, channel: string): boolean;
+ public dispatchIncomingMessage(source: org.bukkit.entity.Player, channel: string, message: number): void;
+ /**
+ * Validates a Plugin Channel name.
+ */
+ public static validateChannel(channel: string): void;
+ /**
+ * Validates and corrects a Plugin Channel name. Method is not reentrant / idempotent.
+ */
+ public static validateAndCorrectChannel(channel: string): string;
+ /**
+ * Validates the input of a Plugin Message, ensuring the arguments are all
+ * valid.
+ */
+ public static validatePluginMessage(messenger: org.bukkit.plugin.messaging.Messenger, source: org.bukkit.plugin.Plugin, channel: string, message: number): void;
+ }
+ }
+ }
+ }
+}
diff --git a/packages/bukkit/src/typings/org.bukkit.potion.Potion.ts b/packages/bukkit/src/typings/org.bukkit.potion.Potion.ts
new file mode 100644
index 00000000..5eb39269
--- /dev/null
+++ b/packages/bukkit/src/typings/org.bukkit.potion.Potion.ts
@@ -0,0 +1,108 @@
+declare namespace org {
+ namespace bukkit {
+ namespace potion {
+ class Potion {
+ /**
+ * Construct a new potion of the given type. Unless the type is {@link
+ * PotionType#WATER}, it will be level one, without extended duration.
+ * Don't use this constructor to create a no-effect potion other than
+ * water bottle.
+ */
+ constructor(type: org.bukkit.potion.PotionType)
+ /**
+ * Create a new potion of the given type and level.
+ */
+ constructor(type: org.bukkit.potion.PotionType, level: number)
+ /**
+ * Create a new potion of the given type and level.
+ */
+ constructor(type: org.bukkit.potion.PotionType, level: number, splash: boolean)
+ /**
+ * Create a new potion of the given type and level.
+ */
+ constructor(type: org.bukkit.potion.PotionType, level: number, splash: boolean, extended: boolean)
+ /**
+ * Chain this to the constructor to make the potion a splash potion.
+ */
+ public splash(): org.bukkit.potion.Potion;
+ /**
+ * Chain this to the constructor to extend the potion's duration.
+ */
+ public extend(): org.bukkit.potion.Potion;
+ /**
+ * Applies the effects of this potion to the given {@link ItemStack}. The
+ * ItemStack must be a potion.
+ */
+ public apply(to: org.bukkit.inventory.ItemStack): void;
+ /**
+ * Applies the effects that would be applied by this potion to the given
+ * {@link LivingEntity}.
+ */
+ public apply(to: org.bukkit.entity.LivingEntity): void;
+ public equals(obj: any): boolean;
+ /**
+ * Returns a collection of {@link PotionEffect}s that this {@link Potion}
+ * would confer upon a {@link LivingEntity}.
+ */
+ public getEffects(): any[] /*java.util.Collection*/;
+ /**
+ * Returns the level of this potion.
+ */
+ public getLevel(): number;
+ /**
+ * Returns the {@link PotionType} of this potion.
+ */
+ public getType(): org.bukkit.potion.PotionType;
+ /**
+ * Returns whether this potion has an extended duration.
+ */
+ public hasExtendedDuration(): boolean;
+ public hashCode(): number;
+ /**
+ * Returns whether this potion is a splash potion.
+ */
+ public isSplash(): boolean;
+ /**
+ * Set whether this potion has extended duration. This will cause the
+ * potion to have roughly 8/3 more duration than a regular potion.
+ */
+ public setHasExtendedDuration(isExtended: boolean): void;
+ /**
+ * Sets whether this potion is a splash potion. Splash potions can be
+ * thrown for a radius effect.
+ */
+ public setSplash(isSplash: boolean): void;
+ /**
+ * Sets the {@link PotionType} of this potion.
+ */
+ public setType(type: org.bukkit.potion.PotionType): void;
+ /**
+ * Sets the level of this potion.
+ */
+ public setLevel(level: number): void;
+ /**
+ * Converts this potion to a valid potion damage short, usable for potion
+ * item stacks.
+ */
+ public toDamageValue(): number;
+ /**
+ * Converts this potion to an {@link ItemStack} with the specified amount
+ * and a correct damage value.
+ */
+ public toItemStack(amount: number): org.bukkit.inventory.ItemStack;
+ public static fromDamage(damage: number): org.bukkit.potion.Potion;
+ public static fromItemStack(item: org.bukkit.inventory.ItemStack): org.bukkit.potion.Potion;
+ /**
+ * Returns an instance of {@link PotionBrewer}.
+ */
+ public static getBrewer(): org.bukkit.potion.PotionBrewer;
+ /**
+ * Sets the current instance of {@link PotionBrewer}. Generally not to be
+ * used from within a plugin.
+ */
+ public static setPotionBrewer(other: org.bukkit.potion.PotionBrewer): void;
+ public getNameId(): number;
+ }
+ }
+ }
+}
diff --git a/packages/bukkit/src/typings/org.bukkit.potion.PotionBrewer.ts b/packages/bukkit/src/typings/org.bukkit.potion.PotionBrewer.ts
new file mode 100644
index 00000000..fd99aefc
--- /dev/null
+++ b/packages/bukkit/src/typings/org.bukkit.potion.PotionBrewer.ts
@@ -0,0 +1,23 @@
+declare namespace org {
+ namespace bukkit {
+ namespace potion {
+ class PotionBrewer {
+ /**
+ * Creates a {@link PotionEffect} from the given {@link PotionEffectType},
+ * applying duration modifiers and checks.
+ */
+ public createEffect(potion: org.bukkit.potion.PotionEffectType, duration: number, amplifier: number): org.bukkit.potion.PotionEffect;
+ /**
+ * Returns a collection of {@link PotionEffect} that would be applied from
+ * a potion with the given data value.
+ */
+ public getEffectsFromDamage(damage: number): any[] /*java.util.Collection*/;
+ /**
+ * Returns a collection of {@link PotionEffect} that would be applied from
+ * a potion with the given type.
+ */
+ public getEffects(type: org.bukkit.potion.PotionType, upgraded: boolean, extended: boolean): any[] /*java.util.Collection*/;
+ }
+ }
+ }
+}
diff --git a/packages/bukkit/src/typings/org.bukkit.potion.PotionData.ts b/packages/bukkit/src/typings/org.bukkit.potion.PotionData.ts
new file mode 100644
index 00000000..5eb4431d
--- /dev/null
+++ b/packages/bukkit/src/typings/org.bukkit.potion.PotionData.ts
@@ -0,0 +1,31 @@
+declare namespace org {
+ namespace bukkit {
+ namespace potion {
+ class PotionData {
+ /**
+ * Instantiates a final PotionData object to contain information about a
+ * Potion
+ */
+ constructor(type: org.bukkit.potion.PotionType, extended: boolean, upgraded: boolean)
+ constructor(type: org.bukkit.potion.PotionType)
+ /**
+ * Gets the type of the potion, Type matches up with each kind of craftable
+ * potion
+ */
+ public getType(): org.bukkit.potion.PotionType;
+ /**
+ * Checks if the potion is in an upgraded state. This refers to whether or
+ * not the potion is Tier 2, such as Potion of Fire Resistance II.
+ */
+ public isUpgraded(): boolean;
+ /**
+ * Checks if the potion is in an extended state. This refers to the extended
+ * duration potions
+ */
+ public isExtended(): boolean;
+ public hashCode(): number;
+ public equals(obj: any): boolean;
+ }
+ }
+ }
+}
diff --git a/packages/bukkit/src/typings/org.bukkit.potion.PotionEffect.ts b/packages/bukkit/src/typings/org.bukkit.potion.PotionEffect.ts
new file mode 100644
index 00000000..4b4d863a
--- /dev/null
+++ b/packages/bukkit/src/typings/org.bukkit.potion.PotionEffect.ts
@@ -0,0 +1,59 @@
+declare namespace org {
+ namespace bukkit {
+ namespace potion {
+ class PotionEffect {
+ /**
+ * Creates a potion effect.
+ */
+ constructor(type: org.bukkit.potion.PotionEffectType, duration: number, amplifier: number, ambient: boolean, particles: boolean, icon: boolean)
+ /**
+ * Creates a potion effect with no defined color.
+ */
+ constructor(type: org.bukkit.potion.PotionEffectType, duration: number, amplifier: number, ambient: boolean, particles: boolean)
+ /**
+ * Creates a potion effect. Assumes that particles are visible
+ */
+ constructor(type: org.bukkit.potion.PotionEffectType, duration: number, amplifier: number, ambient: boolean)
+ /**
+ * Creates a potion effect. Assumes ambient is true.
+ */
+ constructor(type: org.bukkit.potion.PotionEffectType, duration: number, amplifier: number)
+ /**
+ * Constructor for deserialization.
+ */
+ constructor(map: Map
+ * Generally not to be used from within a plugin.
+ */
+ public static registerPotionEffectType(type: org.bukkit.potion.PotionEffectType): void;
+ /**
+ * Stops accepting any effect type registrations.
+ */
+ public static stopAcceptingRegistrations(): void;
+ /**
+ * Returns an array of all the registered {@link PotionEffectType}s.
+ * This array is not necessarily in any particular order.
+ */
+ public static values(): org.bukkit.potion.PotionEffectType[];
+ }
+ }
+ }
+}
diff --git a/packages/bukkit/src/typings/org.bukkit.potion.PotionEffectTypeWrapper.ts b/packages/bukkit/src/typings/org.bukkit.potion.PotionEffectTypeWrapper.ts
new file mode 100644
index 00000000..ea866081
--- /dev/null
+++ b/packages/bukkit/src/typings/org.bukkit.potion.PotionEffectTypeWrapper.ts
@@ -0,0 +1,17 @@
+declare namespace org {
+ namespace bukkit {
+ namespace potion {
+ class PotionEffectTypeWrapper {
+ constructor(id: number)
+ public getDurationModifier(): number;
+ public getName(): string;
+ /**
+ * Get the potion type bound to this wrapper.
+ */
+ public getType(): org.bukkit.potion.PotionEffectType;
+ public isInstant(): boolean;
+ public getColor(): org.bukkit.Color;
+ }
+ }
+ }
+}
diff --git a/packages/bukkit/src/typings/org.bukkit.potion.PotionType.ts b/packages/bukkit/src/typings/org.bukkit.potion.PotionType.ts
new file mode 100644
index 00000000..8f346466
--- /dev/null
+++ b/packages/bukkit/src/typings/org.bukkit.potion.PotionType.ts
@@ -0,0 +1,46 @@
+declare namespace org {
+ namespace bukkit {
+ namespace potion {
+ class PotionType {
+ public static UNCRAFTABLE: org.bukkit.potion.PotionType;
+ public static WATER: org.bukkit.potion.PotionType;
+ public static MUNDANE: org.bukkit.potion.PotionType;
+ public static THICK: org.bukkit.potion.PotionType;
+ public static AWKWARD: org.bukkit.potion.PotionType;
+ public static NIGHT_VISION: org.bukkit.potion.PotionType;
+ public static INVISIBILITY: org.bukkit.potion.PotionType;
+ public static JUMP: org.bukkit.potion.PotionType;
+ public static FIRE_RESISTANCE: org.bukkit.potion.PotionType;
+ public static SPEED: org.bukkit.potion.PotionType;
+ public static SLOWNESS: org.bukkit.potion.PotionType;
+ public static WATER_BREATHING: org.bukkit.potion.PotionType;
+ public static INSTANT_HEAL: org.bukkit.potion.PotionType;
+ public static INSTANT_DAMAGE: org.bukkit.potion.PotionType;
+ public static POISON: org.bukkit.potion.PotionType;
+ public static REGEN: org.bukkit.potion.PotionType;
+ public static STRENGTH: org.bukkit.potion.PotionType;
+ public static WEAKNESS: org.bukkit.potion.PotionType;
+ public static LUCK: org.bukkit.potion.PotionType;
+ public static TURTLE_MASTER: org.bukkit.potion.PotionType;
+ public static SLOW_FALLING: org.bukkit.potion.PotionType;
+ public static values(): org.bukkit.potion.PotionType[];
+ public static valueOf(name: string): org.bukkit.potion.PotionType;
+ public getEffectType(): org.bukkit.potion.PotionEffectType;
+ public isInstant(): boolean;
+ /**
+ * Checks if the potion type has an upgraded state.
+ * This refers to whether or not the potion type can be Tier 2,
+ * such as Potion of Fire Resistance II.
+ */
+ public isUpgradeable(): boolean;
+ /**
+ * Checks if the potion type has an extended state.
+ * This refers to the extended duration potions
+ */
+ public isExtendable(): boolean;
+ public getMaxLevel(): number;
+ public static getByEffect(effectType: org.bukkit.potion.PotionEffectType): org.bukkit.potion.PotionType;
+ }
+ }
+ }
+}
diff --git a/packages/bukkit/src/typings/org.bukkit.projectiles.BlockProjectileSource.ts b/packages/bukkit/src/typings/org.bukkit.projectiles.BlockProjectileSource.ts
new file mode 100644
index 00000000..ed9ec4b0
--- /dev/null
+++ b/packages/bukkit/src/typings/org.bukkit.projectiles.BlockProjectileSource.ts
@@ -0,0 +1,12 @@
+declare namespace org {
+ namespace bukkit {
+ namespace projectiles {
+ class BlockProjectileSource {
+ /**
+ * Gets the block this projectile source belongs to.
+ */
+ public getBlock(): org.bukkit.block.Block;
+ }
+ }
+ }
+}
diff --git a/packages/bukkit/src/typings/org.bukkit.projectiles.ProjectileSource.ts b/packages/bukkit/src/typings/org.bukkit.projectiles.ProjectileSource.ts
new file mode 100644
index 00000000..3ee122cc
--- /dev/null
+++ b/packages/bukkit/src/typings/org.bukkit.projectiles.ProjectileSource.ts
@@ -0,0 +1,17 @@
+declare namespace org {
+ namespace bukkit {
+ namespace projectiles {
+ class ProjectileSource {
+ /**
+ * Launches a {@link Projectile} from the ProjectileSource.
+ */
+ public launchProjectile(projectile: any): org.bukkit.entity.Projectile;
+ /**
+ * Launches a {@link Projectile} from the ProjectileSource with an
+ * initial velocity.
+ */
+ public launchProjectile(projectile: any, velocity: org.bukkit.util.Vector): org.bukkit.entity.Projectile;
+ }
+ }
+ }
+}
diff --git a/packages/bukkit/src/typings/org.bukkit.scheduler.BukkitRunnable.ts b/packages/bukkit/src/typings/org.bukkit.scheduler.BukkitRunnable.ts
new file mode 100644
index 00000000..e6da0b89
--- /dev/null
+++ b/packages/bukkit/src/typings/org.bukkit.scheduler.BukkitRunnable.ts
@@ -0,0 +1,57 @@
+declare namespace org {
+ namespace bukkit {
+ namespace scheduler {
+ abstract class BukkitRunnable {
+ constructor()
+ /**
+ * Returns true if this task has been cancelled.
+ */
+ public isCancelled(): boolean;
+ /**
+ * Attempts to cancel this task.
+ */
+ public cancel(): void;
+ /**
+ * Schedules this in the Bukkit scheduler to run on next tick.
+ */
+ public runTask(plugin: org.bukkit.plugin.Plugin): org.bukkit.scheduler.BukkitTask;
+ /**
+ * Asynchronous tasks should never access any API in Bukkit. Great care
+ * should be taken to assure the thread-safety of asynchronous tasks.
+ *
+ * Schedules this in the Bukkit scheduler to run asynchronously.
+ */
+ public runTaskAsynchronously(plugin: org.bukkit.plugin.Plugin): org.bukkit.scheduler.BukkitTask;
+ /**
+ * Schedules this to run after the specified number of server ticks.
+ */
+ public runTaskLater(plugin: org.bukkit.plugin.Plugin, delay: number): org.bukkit.scheduler.BukkitTask;
+ /**
+ * Asynchronous tasks should never access any API in Bukkit. Great care
+ * should be taken to assure the thread-safety of asynchronous tasks.
+ *
+ * Schedules this to run asynchronously after the specified number of
+ * server ticks.
+ */
+ public runTaskLaterAsynchronously(plugin: org.bukkit.plugin.Plugin, delay: number): org.bukkit.scheduler.BukkitTask;
+ /**
+ * Schedules this to repeatedly run until cancelled, starting after the
+ * specified number of server ticks.
+ */
+ public runTaskTimer(plugin: org.bukkit.plugin.Plugin, delay: number, period: number): org.bukkit.scheduler.BukkitTask;
+ /**
+ * Asynchronous tasks should never access any API in Bukkit. Great care
+ * should be taken to assure the thread-safety of asynchronous tasks.
+ *
+ * Schedules this to repeatedly run asynchronously until cancelled,
+ * starting after the specified number of server ticks.
+ */
+ public runTaskTimerAsynchronously(plugin: org.bukkit.plugin.Plugin, delay: number, period: number): org.bukkit.scheduler.BukkitTask;
+ /**
+ * Gets the task id for this runnable.
+ */
+ public getTaskId(): number;
+ }
+ }
+ }
+}
diff --git a/packages/bukkit/src/typings/org.bukkit.scheduler.BukkitScheduler.ts b/packages/bukkit/src/typings/org.bukkit.scheduler.BukkitScheduler.ts
new file mode 100644
index 00000000..fe9a09d8
--- /dev/null
+++ b/packages/bukkit/src/typings/org.bukkit.scheduler.BukkitScheduler.ts
@@ -0,0 +1,184 @@
+declare namespace org {
+ namespace bukkit {
+ namespace scheduler {
+ class BukkitScheduler {
+ /**
+ * Schedules a once off task to occur after a delay.
+ *
+ * This task will be executed by the main server thread.
+ */
+ public scheduleSyncDelayedTask(plugin: org.bukkit.plugin.Plugin, task: any, delay: number): number;
+ public scheduleSyncDelayedTask(plugin: org.bukkit.plugin.Plugin, task: org.bukkit.scheduler.BukkitRunnable, delay: number): number;
+ /**
+ * Schedules a once off task to occur as soon as possible.
+ *
+ * This task will be executed by the main server thread.
+ */
+ public scheduleSyncDelayedTask(plugin: org.bukkit.plugin.Plugin, task: any): number;
+ public scheduleSyncDelayedTask(plugin: org.bukkit.plugin.Plugin, task: org.bukkit.scheduler.BukkitRunnable): number;
+ /**
+ * Schedules a repeating task.
+ *
+ * This task will be executed by the main server thread.
+ */
+ public scheduleSyncRepeatingTask(plugin: org.bukkit.plugin.Plugin, task: any, delay: number, period: number): number;
+ public scheduleSyncRepeatingTask(plugin: org.bukkit.plugin.Plugin, task: org.bukkit.scheduler.BukkitRunnable, delay: number, period: number): number;
+ /**
+ * Asynchronous tasks should never access any API in Bukkit. Great care
+ * should be taken to assure the thread-safety of asynchronous tasks.
+ *
+ * Schedules a once off task to occur after a delay. This task will be
+ * executed by a thread managed by the scheduler.
+ */
+ public scheduleAsyncDelayedTask(plugin: org.bukkit.plugin.Plugin, task: any, delay: number): number;
+ /**
+ * Asynchronous tasks should never access any API in Bukkit. Great care
+ * should be taken to assure the thread-safety of asynchronous tasks.
+ *
+ * Schedules a once off task to occur as soon as possible. This task will
+ * be executed by a thread managed by the scheduler.
+ */
+ public scheduleAsyncDelayedTask(plugin: org.bukkit.plugin.Plugin, task: any): number;
+ /**
+ * Asynchronous tasks should never access any API in Bukkit. Great care
+ * should be taken to assure the thread-safety of asynchronous tasks.
+ *
+ * Schedules a repeating task. This task will be executed by a thread
+ * managed by the scheduler.
+ */
+ public scheduleAsyncRepeatingTask(plugin: org.bukkit.plugin.Plugin, task: any, delay: number, period: number): number;
+ /**
+ * Calls a method on the main thread and returns a Future object. This
+ * task will be executed by the main server thread.
+ *
+ * A repeating task might not be running currently, but will be running in
+ * the future. A task that has finished, and does not repeat, will not be
+ * running ever again.
+ *
+ * Explicitly, a task is running if there exists a thread for it, and that
+ * thread is alive.
+ */
+ public isCurrentlyRunning(taskId: number): boolean;
+ /**
+ * Check if the task queued to be run later.
+ *
+ * If a repeating task is currently running, it might not be queued now
+ * but could be in the future. A task that is not queued, and not running,
+ * will not be queued again.
+ */
+ public isQueued(taskId: number): boolean;
+ /**
+ * Returns a list of all active workers.
+ *
+ * This list contains asynch tasks that are being executed by separate
+ * threads.
+ */
+ public getActiveWorkers(): any[] /*java.util.List*/;
+ /**
+ * Returns a list of all pending tasks. The ordering of the tasks is not
+ * related to their order of execution.
+ */
+ public getPendingTasks(): any[] /*java.util.List*/;
+ /**
+ * Returns a task that will run on the next server tick.
+ */
+ public runTask(plugin: org.bukkit.plugin.Plugin, task: any): org.bukkit.scheduler.BukkitTask;
+ /**
+ * Returns a task that will run on the next server tick.
+ */
+ public runTask(plugin: org.bukkit.plugin.Plugin, task: any): void;
+ public runTask(plugin: org.bukkit.plugin.Plugin, task: org.bukkit.scheduler.BukkitRunnable): org.bukkit.scheduler.BukkitTask;
+ /**
+ * Asynchronous tasks should never access any API in Bukkit. Great care
+ * should be taken to assure the thread-safety of asynchronous tasks.
+ *
+ * Returns a task that will run asynchronously.
+ */
+ public runTaskAsynchronously(plugin: org.bukkit.plugin.Plugin, task: any): org.bukkit.scheduler.BukkitTask;
+ /**
+ * Asynchronous tasks should never access any API in Bukkit. Great care
+ * should be taken to assure the thread-safety of asynchronous tasks.
+ *
+ * Returns a task that will run asynchronously.
+ */
+ public runTaskAsynchronously(plugin: org.bukkit.plugin.Plugin, task: any): void;
+ public runTaskAsynchronously(plugin: org.bukkit.plugin.Plugin, task: org.bukkit.scheduler.BukkitRunnable): org.bukkit.scheduler.BukkitTask;
+ /**
+ * Returns a task that will run after the specified number of server
+ * ticks.
+ */
+ public runTaskLater(plugin: org.bukkit.plugin.Plugin, task: any, delay: number): org.bukkit.scheduler.BukkitTask;
+ /**
+ * Returns a task that will run after the specified number of server
+ * ticks.
+ */
+ public runTaskLater(plugin: org.bukkit.plugin.Plugin, task: any, delay: number): void;
+ public runTaskLater(plugin: org.bukkit.plugin.Plugin, task: org.bukkit.scheduler.BukkitRunnable, delay: number): org.bukkit.scheduler.BukkitTask;
+ /**
+ * Asynchronous tasks should never access any API in Bukkit. Great care
+ * should be taken to assure the thread-safety of asynchronous tasks.
+ *
+ * Returns a task that will run asynchronously after the specified number
+ * of server ticks.
+ */
+ public runTaskLaterAsynchronously(plugin: org.bukkit.plugin.Plugin, task: any, delay: number): org.bukkit.scheduler.BukkitTask;
+ /**
+ * Asynchronous tasks should never access any API in Bukkit. Great care
+ * should be taken to assure the thread-safety of asynchronous tasks.
+ *
+ * Returns a task that will run asynchronously after the specified number
+ * of server ticks.
+ */
+ public runTaskLaterAsynchronously(plugin: org.bukkit.plugin.Plugin, task: any, delay: number): void;
+ public runTaskLaterAsynchronously(plugin: org.bukkit.plugin.Plugin, task: org.bukkit.scheduler.BukkitRunnable, delay: number): org.bukkit.scheduler.BukkitTask;
+ /**
+ * Returns a task that will repeatedly run until cancelled, starting after
+ * the specified number of server ticks.
+ */
+ public runTaskTimer(plugin: org.bukkit.plugin.Plugin, task: any, delay: number, period: number): org.bukkit.scheduler.BukkitTask;
+ /**
+ * Returns a task that will repeatedly run until cancelled, starting after
+ * the specified number of server ticks.
+ */
+ public runTaskTimer(plugin: org.bukkit.plugin.Plugin, task: any, delay: number, period: number): void;
+ public runTaskTimer(plugin: org.bukkit.plugin.Plugin, task: org.bukkit.scheduler.BukkitRunnable, delay: number, period: number): org.bukkit.scheduler.BukkitTask;
+ /**
+ * Asynchronous tasks should never access any API in Bukkit. Great care
+ * should be taken to assure the thread-safety of asynchronous tasks.
+ *
+ * Returns a task that will repeatedly run asynchronously until cancelled,
+ * starting after the specified number of server ticks.
+ */
+ public runTaskTimerAsynchronously(plugin: org.bukkit.plugin.Plugin, task: any, delay: number, period: number): org.bukkit.scheduler.BukkitTask;
+ /**
+ * Asynchronous tasks should never access any API in Bukkit. Great care
+ * should be taken to assure the thread-safety of asynchronous tasks.
+ *
+ * Returns a task that will repeatedly run asynchronously until cancelled,
+ * starting after the specified number of server ticks.
+ */
+ public runTaskTimerAsynchronously(plugin: org.bukkit.plugin.Plugin, task: any, delay: number, period: number): void;
+ public runTaskTimerAsynchronously(plugin: org.bukkit.plugin.Plugin, task: org.bukkit.scheduler.BukkitRunnable, delay: number, period: number): org.bukkit.scheduler.BukkitTask;
+ }
+ }
+ }
+}
diff --git a/packages/bukkit/src/typings/org.bukkit.scheduler.BukkitTask.ts b/packages/bukkit/src/typings/org.bukkit.scheduler.BukkitTask.ts
new file mode 100644
index 00000000..fe78061e
--- /dev/null
+++ b/packages/bukkit/src/typings/org.bukkit.scheduler.BukkitTask.ts
@@ -0,0 +1,28 @@
+declare namespace org {
+ namespace bukkit {
+ namespace scheduler {
+ class BukkitTask {
+ /**
+ * Returns the taskId for the task.
+ */
+ public getTaskId(): number;
+ /**
+ * Returns the Plugin that owns this task.
+ */
+ public getOwner(): org.bukkit.plugin.Plugin;
+ /**
+ * Returns true if the Task is a sync task.
+ */
+ public isSync(): boolean;
+ /**
+ * Returns true if this task has been cancelled.
+ */
+ public isCancelled(): boolean;
+ /**
+ * Will attempt to cancel this task.
+ */
+ public cancel(): void;
+ }
+ }
+ }
+}
diff --git a/packages/bukkit/src/typings/org.bukkit.scheduler.BukkitWorker.ts b/packages/bukkit/src/typings/org.bukkit.scheduler.BukkitWorker.ts
new file mode 100644
index 00000000..1fa0ba13
--- /dev/null
+++ b/packages/bukkit/src/typings/org.bukkit.scheduler.BukkitWorker.ts
@@ -0,0 +1,20 @@
+declare namespace org {
+ namespace bukkit {
+ namespace scheduler {
+ class BukkitWorker {
+ /**
+ * Returns the taskId for the task being executed by this worker.
+ */
+ public getTaskId(): number;
+ /**
+ * Returns the Plugin that owns this task.
+ */
+ public getOwner(): org.bukkit.plugin.Plugin;
+ /**
+ * Returns the thread for the worker.
+ */
+ public getThread(): any;
+ }
+ }
+ }
+}
diff --git a/packages/bukkit/src/typings/org.bukkit.scoreboard.Criterias.ts b/packages/bukkit/src/typings/org.bukkit.scoreboard.Criterias.ts
new file mode 100644
index 00000000..e6002f7a
--- /dev/null
+++ b/packages/bukkit/src/typings/org.bukkit.scoreboard.Criterias.ts
@@ -0,0 +1,12 @@
+declare namespace org {
+ namespace bukkit {
+ namespace scoreboard {
+ class Criterias {
+ public static HEALTH: string;
+ public static PLAYER_KILLS: string;
+ public static TOTAL_KILLS: string;
+ public static DEATHS: string;
+ }
+ }
+ }
+}
diff --git a/packages/bukkit/src/typings/org.bukkit.scoreboard.DisplaySlot.ts b/packages/bukkit/src/typings/org.bukkit.scoreboard.DisplaySlot.ts
new file mode 100644
index 00000000..0ffb36f7
--- /dev/null
+++ b/packages/bukkit/src/typings/org.bukkit.scoreboard.DisplaySlot.ts
@@ -0,0 +1,13 @@
+declare namespace org {
+ namespace bukkit {
+ namespace scoreboard {
+ class DisplaySlot {
+ public static BELOW_NAME: org.bukkit.scoreboard.DisplaySlot;
+ public static PLAYER_LIST: org.bukkit.scoreboard.DisplaySlot;
+ public static SIDEBAR: org.bukkit.scoreboard.DisplaySlot;
+ public static values(): org.bukkit.scoreboard.DisplaySlot[];
+ public static valueOf(name: string): org.bukkit.scoreboard.DisplaySlot;
+ }
+ }
+ }
+}
diff --git a/packages/bukkit/src/typings/org.bukkit.scoreboard.NameTagVisibility.ts b/packages/bukkit/src/typings/org.bukkit.scoreboard.NameTagVisibility.ts
new file mode 100644
index 00000000..a9537630
--- /dev/null
+++ b/packages/bukkit/src/typings/org.bukkit.scoreboard.NameTagVisibility.ts
@@ -0,0 +1,14 @@
+declare namespace org {
+ namespace bukkit {
+ namespace scoreboard {
+ class NameTagVisibility {
+ public static ALWAYS: org.bukkit.scoreboard.NameTagVisibility;
+ public static NEVER: org.bukkit.scoreboard.NameTagVisibility;
+ public static HIDE_FOR_OTHER_TEAMS: org.bukkit.scoreboard.NameTagVisibility;
+ public static HIDE_FOR_OWN_TEAM: org.bukkit.scoreboard.NameTagVisibility;
+ public static values(): org.bukkit.scoreboard.NameTagVisibility[];
+ public static valueOf(name: string): org.bukkit.scoreboard.NameTagVisibility;
+ }
+ }
+ }
+}
diff --git a/packages/bukkit/src/typings/org.bukkit.scoreboard.Objective.ts b/packages/bukkit/src/typings/org.bukkit.scoreboard.Objective.ts
new file mode 100644
index 00000000..45fa151d
--- /dev/null
+++ b/packages/bukkit/src/typings/org.bukkit.scoreboard.Objective.ts
@@ -0,0 +1,61 @@
+declare namespace org {
+ namespace bukkit {
+ namespace scoreboard {
+ class Objective {
+ /**
+ * Gets the name of this Objective
+ */
+ public getName(): string;
+ /**
+ * Gets the name displayed to players for this objective
+ */
+ public getDisplayName(): string;
+ /**
+ * Sets the name displayed to players for this objective.
+ */
+ public setDisplayName(displayName: string): void;
+ /**
+ * Gets the criteria this objective tracks.
+ */
+ public getCriteria(): string;
+ /**
+ * Gets if the objective's scores can be modified directly by a plugin.
+ */
+ public isModifiable(): boolean;
+ /**
+ * Gets the scoreboard to which this objective is attached.
+ */
+ public getScoreboard(): org.bukkit.scoreboard.Scoreboard;
+ /**
+ * Unregisters this objective from the {@link Scoreboard scoreboard.}
+ */
+ public unregister(): void;
+ /**
+ * Sets this objective to display on the specified slot for the
+ * scoreboard, removing it from any other display slot.
+ */
+ public setDisplaySlot(slot: org.bukkit.scoreboard.DisplaySlot): void;
+ /**
+ * Gets the display slot this objective is displayed at.
+ */
+ public getDisplaySlot(): org.bukkit.scoreboard.DisplaySlot;
+ /**
+ * Sets manner in which this objective will be rendered.
+ */
+ public setRenderType(renderType: org.bukkit.scoreboard.RenderType): void;
+ /**
+ * Sets manner in which this objective will be rendered.
+ */
+ public getRenderType(): org.bukkit.scoreboard.RenderType;
+ /**
+ * Gets a player's Score for an Objective on this Scoreboard
+ */
+ public getScore(player: org.bukkit.OfflinePlayer): org.bukkit.scoreboard.Score;
+ /**
+ * Gets an entry's Score for an Objective on this Scoreboard.
+ */
+ public getScore(entry: string): org.bukkit.scoreboard.Score;
+ }
+ }
+ }
+}
diff --git a/packages/bukkit/src/typings/org.bukkit.scoreboard.RenderType.ts b/packages/bukkit/src/typings/org.bukkit.scoreboard.RenderType.ts
new file mode 100644
index 00000000..1d36fa5e
--- /dev/null
+++ b/packages/bukkit/src/typings/org.bukkit.scoreboard.RenderType.ts
@@ -0,0 +1,12 @@
+declare namespace org {
+ namespace bukkit {
+ namespace scoreboard {
+ class RenderType {
+ public static INTEGER: org.bukkit.scoreboard.RenderType;
+ public static HEARTS: org.bukkit.scoreboard.RenderType;
+ public static values(): org.bukkit.scoreboard.RenderType[];
+ public static valueOf(name: string): org.bukkit.scoreboard.RenderType;
+ }
+ }
+ }
+}
diff --git a/packages/bukkit/src/typings/org.bukkit.scoreboard.Score.ts b/packages/bukkit/src/typings/org.bukkit.scoreboard.Score.ts
new file mode 100644
index 00000000..56f9ba67
--- /dev/null
+++ b/packages/bukkit/src/typings/org.bukkit.scoreboard.Score.ts
@@ -0,0 +1,36 @@
+declare namespace org {
+ namespace bukkit {
+ namespace scoreboard {
+ class Score {
+ /**
+ * Gets the OfflinePlayer being tracked by this Score
+ */
+ public getPlayer(): org.bukkit.OfflinePlayer;
+ /**
+ * Gets the entry being tracked by this Score
+ */
+ public getEntry(): string;
+ /**
+ * Gets the Objective being tracked by this Score
+ */
+ public getObjective(): org.bukkit.scoreboard.Objective;
+ /**
+ * Gets the current score
+ */
+ public getScore(): number;
+ /**
+ * Sets the current score.
+ */
+ public setScore(score: number): void;
+ /**
+ * Shows if this score has been set at any point in time.
+ */
+ public isScoreSet(): boolean;
+ /**
+ * Gets the scoreboard for the associated objective.
+ */
+ public getScoreboard(): org.bukkit.scoreboard.Scoreboard;
+ }
+ }
+ }
+}
diff --git a/packages/bukkit/src/typings/org.bukkit.scoreboard.Scoreboard.ts b/packages/bukkit/src/typings/org.bukkit.scoreboard.Scoreboard.ts
new file mode 100644
index 00000000..984ba7a5
--- /dev/null
+++ b/packages/bukkit/src/typings/org.bukkit.scoreboard.Scoreboard.ts
@@ -0,0 +1,85 @@
+declare namespace org {
+ namespace bukkit {
+ namespace scoreboard {
+ class Scoreboard {
+ /**
+ * Registers an Objective on this Scoreboard
+ */
+ public registerNewObjective(name: string, criteria: string): org.bukkit.scoreboard.Objective;
+ /**
+ * Registers an Objective on this Scoreboard
+ */
+ public registerNewObjective(name: string, criteria: string, displayName: string): org.bukkit.scoreboard.Objective;
+ /**
+ * Registers an Objective on this Scoreboard
+ */
+ public registerNewObjective(name: string, criteria: string, displayName: string, renderType: org.bukkit.scoreboard.RenderType): org.bukkit.scoreboard.Objective;
+ /**
+ * Gets an Objective on this Scoreboard by name
+ */
+ public getObjective(name: string): org.bukkit.scoreboard.Objective;
+ /**
+ * Gets all Objectives of a Criteria on the Scoreboard
+ */
+ public getObjectivesByCriteria(criteria: string): any[] /*java.util.Set*/;
+ /**
+ * Gets all Objectives on this Scoreboard
+ */
+ public getObjectives(): any[] /*java.util.Set*/;
+ /**
+ * Gets the Objective currently displayed in a DisplaySlot on this
+ * Scoreboard
+ */
+ public getObjective(slot: org.bukkit.scoreboard.DisplaySlot): org.bukkit.scoreboard.Objective;
+ /**
+ * Gets all scores for a player on this Scoreboard
+ */
+ public getScores(player: org.bukkit.OfflinePlayer): any[] /*java.util.Set*/;
+ /**
+ * Gets all scores for an entry on this Scoreboard
+ */
+ public getScores(entry: string): any[] /*java.util.Set*/;
+ /**
+ * Removes all scores for a player on this Scoreboard
+ */
+ public resetScores(player: org.bukkit.OfflinePlayer): void;
+ /**
+ * Removes all scores for an entry on this Scoreboard
+ */
+ public resetScores(entry: string): void;
+ /**
+ * Gets a player's Team on this Scoreboard
+ */
+ public getPlayerTeam(player: org.bukkit.OfflinePlayer): org.bukkit.scoreboard.Team;
+ /**
+ * Gets a entries Team on this Scoreboard
+ */
+ public getEntryTeam(entry: string): org.bukkit.scoreboard.Team;
+ /**
+ * Gets a Team by name on this Scoreboard
+ */
+ public getTeam(teamName: string): org.bukkit.scoreboard.Team;
+ /**
+ * Gets all teams on this Scoreboard
+ */
+ public getTeams(): any[] /*java.util.Set*/;
+ /**
+ * Registers a Team on this Scoreboard
+ */
+ public registerNewTeam(name: string): org.bukkit.scoreboard.Team;
+ /**
+ * Gets all players tracked by this Scoreboard
+ */
+ public getPlayers(): any[] /*java.util.Set*/;
+ /**
+ * Gets all entries tracked by this Scoreboard
+ */
+ public getEntries(): any[] /*java.util.Set*/;
+ /**
+ * Clears any objective in the specified slot.
+ */
+ public clearSlot(slot: org.bukkit.scoreboard.DisplaySlot): void;
+ }
+ }
+ }
+}
diff --git a/packages/bukkit/src/typings/org.bukkit.scoreboard.ScoreboardManager.ts b/packages/bukkit/src/typings/org.bukkit.scoreboard.ScoreboardManager.ts
new file mode 100644
index 00000000..06d8dc23
--- /dev/null
+++ b/packages/bukkit/src/typings/org.bukkit.scoreboard.ScoreboardManager.ts
@@ -0,0 +1,21 @@
+declare namespace org {
+ namespace bukkit {
+ namespace scoreboard {
+ class ScoreboardManager {
+ /**
+ * Gets the primary Scoreboard controlled by the server.
+ *
+ * This Scoreboard is saved by the server, is affected by the /scoreboard
+ * command, and is the scoreboard shown by default to players.
+ */
+ public getMainScoreboard(): org.bukkit.scoreboard.Scoreboard;
+ /**
+ * Gets a new Scoreboard to be tracked by the server. This scoreboard will
+ * be tracked as long as a reference is kept, either by a player or by a
+ * plugin.
+ */
+ public getNewScoreboard(): org.bukkit.scoreboard.Scoreboard;
+ }
+ }
+ }
+}
diff --git a/packages/bukkit/src/typings/org.bukkit.scoreboard.Team.Option.ts b/packages/bukkit/src/typings/org.bukkit.scoreboard.Team.Option.ts
new file mode 100644
index 00000000..c702a804
--- /dev/null
+++ b/packages/bukkit/src/typings/org.bukkit.scoreboard.Team.Option.ts
@@ -0,0 +1,15 @@
+declare namespace org {
+ namespace bukkit {
+ namespace scoreboard {
+ namespace Team {
+ class Option {
+ public static NAME_TAG_VISIBILITY: org.bukkit.scoreboard.Team.Option;
+ public static DEATH_MESSAGE_VISIBILITY: org.bukkit.scoreboard.Team.Option;
+ public static COLLISION_RULE: org.bukkit.scoreboard.Team.Option;
+ public static values(): org.bukkit.scoreboard.Team.Option[];
+ public static valueOf(name: string): org.bukkit.scoreboard.Team.Option;
+ }
+ }
+ }
+ }
+}
diff --git a/packages/bukkit/src/typings/org.bukkit.scoreboard.Team.OptionStatus.ts b/packages/bukkit/src/typings/org.bukkit.scoreboard.Team.OptionStatus.ts
new file mode 100644
index 00000000..eda7226b
--- /dev/null
+++ b/packages/bukkit/src/typings/org.bukkit.scoreboard.Team.OptionStatus.ts
@@ -0,0 +1,16 @@
+declare namespace org {
+ namespace bukkit {
+ namespace scoreboard {
+ namespace Team {
+ class OptionStatus {
+ public static ALWAYS: org.bukkit.scoreboard.Team.OptionStatus;
+ public static NEVER: org.bukkit.scoreboard.Team.OptionStatus;
+ public static FOR_OTHER_TEAMS: org.bukkit.scoreboard.Team.OptionStatus;
+ public static FOR_OWN_TEAM: org.bukkit.scoreboard.Team.OptionStatus;
+ public static values(): org.bukkit.scoreboard.Team.OptionStatus[];
+ public static valueOf(name: string): org.bukkit.scoreboard.Team.OptionStatus;
+ }
+ }
+ }
+ }
+}
diff --git a/packages/bukkit/src/typings/org.bukkit.scoreboard.Team.ts b/packages/bukkit/src/typings/org.bukkit.scoreboard.Team.ts
new file mode 100644
index 00000000..a5644923
--- /dev/null
+++ b/packages/bukkit/src/typings/org.bukkit.scoreboard.Team.ts
@@ -0,0 +1,132 @@
+declare namespace org {
+ namespace bukkit {
+ namespace scoreboard {
+ class Team {
+ /**
+ * Gets the name of this Team
+ */
+ public getName(): string;
+ /**
+ * Gets the name displayed to entries for this team
+ */
+ public getDisplayName(): string;
+ /**
+ * Sets the name displayed to entries for this team
+ */
+ public setDisplayName(displayName: string): void;
+ /**
+ * Gets the prefix prepended to the display of entries on this team.
+ */
+ public getPrefix(): string;
+ /**
+ * Sets the prefix prepended to the display of entries on this team.
+ */
+ public setPrefix(prefix: string): void;
+ /**
+ * Gets the suffix appended to the display of entries on this team.
+ */
+ public getSuffix(): string;
+ /**
+ * Sets the suffix appended to the display of entries on this team.
+ */
+ public setSuffix(suffix: string): void;
+ /**
+ * Gets the color of the team.
+ *
+ * This will remove the player from any other team on the scoreboard.
+ */
+ public addPlayer(player: org.bukkit.OfflinePlayer): void;
+ /**
+ * This puts the specified entry onto this team for the scoreboard.
+ *
+ * This will remove the entry from any other team on the scoreboard.
+ */
+ public addEntry(entry: string): void;
+ /**
+ * Removes the player from this team.
+ */
+ public removePlayer(player: org.bukkit.OfflinePlayer): boolean;
+ /**
+ * Removes the entry from this team.
+ */
+ public removeEntry(entry: string): boolean;
+ /**
+ * Unregisters this team from the Scoreboard
+ */
+ public unregister(): void;
+ /**
+ * Checks to see if the specified player is a member of this team.
+ */
+ public hasPlayer(player: org.bukkit.OfflinePlayer): boolean;
+ /**
+ * Checks to see if the specified entry is a member of this team.
+ */
+ public hasEntry(entry: string): boolean;
+ /**
+ * Get an option for this team
+ */
+ public getOption(option: org.bukkit.scoreboard.Team.Option): org.bukkit.scoreboard.Team.OptionStatus;
+ /**
+ * Set an option for this team
+ */
+ public setOption(option: org.bukkit.scoreboard.Team.Option, status: org.bukkit.scoreboard.Team.OptionStatus): void;
+ }
+ }
+ }
+}
diff --git a/packages/bukkit/src/typings/org.bukkit.util.BlockIterator.ts b/packages/bukkit/src/typings/org.bukkit.util.BlockIterator.ts
new file mode 100644
index 00000000..1e5d6606
--- /dev/null
+++ b/packages/bukkit/src/typings/org.bukkit.util.BlockIterator.ts
@@ -0,0 +1,53 @@
+declare namespace org {
+ namespace bukkit {
+ namespace util {
+ class BlockIterator {
+ /**
+ * Constructs the BlockIterator.
+ *
+ * This considers all blocks as 1x1x1 in size.
+ */
+ constructor(world: org.bukkit.World, start: org.bukkit.util.Vector, direction: org.bukkit.util.Vector, yOffset: number, maxDistance: number)
+ /**
+ * Constructs the BlockIterator.
+ *
+ * This considers all blocks as 1x1x1 in size.
+ */
+ constructor(loc: org.bukkit.Location, yOffset: number, maxDistance: number)
+ /**
+ * Constructs the BlockIterator.
+ *
+ * This considers all blocks as 1x1x1 in size.
+ */
+ constructor(loc: org.bukkit.Location, yOffset: number)
+ /**
+ * Constructs the BlockIterator.
+ *
+ * This considers all blocks as 1x1x1 in size.
+ */
+ constructor(loc: org.bukkit.Location)
+ /**
+ * Constructs the BlockIterator.
+ *
+ * This considers all blocks as 1x1x1 in size.
+ */
+ constructor(entity: org.bukkit.entity.LivingEntity, maxDistance: number)
+ /**
+ * Constructs the BlockIterator.
+ *
+ * This considers all blocks as 1x1x1 in size.
+ */
+ constructor(entity: org.bukkit.entity.LivingEntity)
+ /**
+ * Returns true if the iteration has more elements
+ */
+ public hasNext(): boolean;
+ /**
+ * Returns the next Block in the trace
+ */
+ public next(): org.bukkit.block.Block;
+ public remove(): void;
+ }
+ }
+ }
+}
diff --git a/packages/bukkit/src/typings/org.bukkit.util.BlockVector.ts b/packages/bukkit/src/typings/org.bukkit.util.BlockVector.ts
new file mode 100644
index 00000000..24aa93d9
--- /dev/null
+++ b/packages/bukkit/src/typings/org.bukkit.util.BlockVector.ts
@@ -0,0 +1,41 @@
+declare namespace org {
+ namespace bukkit {
+ namespace util {
+ class BlockVector {
+ /**
+ * Construct the vector with all components as 0.
+ */
+ constructor()
+ /**
+ * Construct the vector with another vector.
+ */
+ constructor(vec: org.bukkit.util.Vector)
+ /**
+ * Construct the vector with provided integer components.
+ */
+ constructor(x: number, y: number, z: number)
+ /**
+ * Construct the vector with provided double components.
+ */
+ constructor(x: number, y: number, z: number)
+ /**
+ * Construct the vector with provided float components.
+ */
+ constructor(x: number, y: number, z: number)
+ /**
+ * Checks if another object is equivalent.
+ */
+ public equals(obj: any): boolean;
+ /**
+ * Returns a hash code for this vector.
+ */
+ public hashCode(): number;
+ /**
+ * Get a new block vector.
+ */
+ public clone(): org.bukkit.util.BlockVector;
+ public static deserialize(args: Map
+ * The bounding box will be sized to fully contain both blocks.
+ */
+ public static of(corner1: org.bukkit.block.Block, corner2: org.bukkit.block.Block): org.bukkit.util.BoundingBox;
+ /**
+ * Creates a new 1x1x1 sized bounding box containing the given block.
+ */
+ public static of(block: org.bukkit.block.Block): org.bukkit.util.BoundingBox;
+ /**
+ * Creates a new bounding box using the given center and extents.
+ */
+ public static of(center: org.bukkit.util.Vector, x: number, y: number, z: number): org.bukkit.util.BoundingBox;
+ /**
+ * Creates a new bounding box using the given center and extents.
+ */
+ public static of(center: org.bukkit.Location, x: number, y: number, z: number): org.bukkit.util.BoundingBox;
+ /**
+ * Resizes this bounding box.
+ */
+ public resize(x1: number, y1: number, z1: number, x2: number, y2: number, z2: number): org.bukkit.util.BoundingBox;
+ /**
+ * Gets the minimum x value.
+ */
+ public getMinX(): number;
+ /**
+ * Gets the minimum y value.
+ */
+ public getMinY(): number;
+ /**
+ * Gets the minimum z value.
+ */
+ public getMinZ(): number;
+ /**
+ * Gets the minimum corner as vector.
+ */
+ public getMin(): org.bukkit.util.Vector;
+ /**
+ * Gets the maximum x value.
+ */
+ public getMaxX(): number;
+ /**
+ * Gets the maximum y value.
+ */
+ public getMaxY(): number;
+ /**
+ * Gets the maximum z value.
+ */
+ public getMaxZ(): number;
+ /**
+ * Gets the maximum corner as vector.
+ */
+ public getMax(): org.bukkit.util.Vector;
+ /**
+ * Gets the width of the bounding box in the x direction.
+ */
+ public getWidthX(): number;
+ /**
+ * Gets the width of the bounding box in the z direction.
+ */
+ public getWidthZ(): number;
+ /**
+ * Gets the height of the bounding box.
+ */
+ public getHeight(): number;
+ /**
+ * Gets the volume of the bounding box.
+ */
+ public getVolume(): number;
+ /**
+ * Gets the x coordinate of the center of the bounding box.
+ */
+ public getCenterX(): number;
+ /**
+ * Gets the y coordinate of the center of the bounding box.
+ */
+ public getCenterY(): number;
+ /**
+ * Gets the z coordinate of the center of the bounding box.
+ */
+ public getCenterZ(): number;
+ /**
+ * Gets the center of the bounding box.
+ */
+ public getCenter(): org.bukkit.util.Vector;
+ /**
+ * Copies another bounding box.
+ */
+ public copy(other: org.bukkit.util.BoundingBox): org.bukkit.util.BoundingBox;
+ /**
+ * Expands this bounding box by the given values in the corresponding
+ * directions.
+ *
+ * Negative values will shrink the bounding box in the corresponding
+ * direction. Shrinking will be limited to the point where the affected
+ * opposite faces would meet if the they shrank at uniform speeds.
+ */
+ public expand(negativeX: number, negativeY: number, negativeZ: number, positiveX: number, positiveY: number, positiveZ: number): org.bukkit.util.BoundingBox;
+ /**
+ * Expands this bounding box uniformly by the given values in both positive
+ * and negative directions.
+ *
+ * Negative values will shrink the bounding box. Shrinking will be limited
+ * to the bounding box's current size.
+ */
+ public expand(x: number, y: number, z: number): org.bukkit.util.BoundingBox;
+ /**
+ * Expands this bounding box uniformly by the given values in both positive
+ * and negative directions.
+ *
+ * Negative values will shrink the bounding box. Shrinking will be limited
+ * to the bounding box's current size.
+ */
+ public expand(expansion: org.bukkit.util.Vector): org.bukkit.util.BoundingBox;
+ /**
+ * Expands this bounding box uniformly by the given value in all directions.
+ *
+ * A negative value will shrink the bounding box. Shrinking will be limited
+ * to the bounding box's current size.
+ */
+ public expand(expansion: number): org.bukkit.util.BoundingBox;
+ /**
+ * Expands this bounding box in the specified direction.
+ *
+ * The magnitude of the direction will scale the expansion. A negative
+ * expansion value will shrink the bounding box in this direction. Shrinking
+ * will be limited to the bounding box's current size.
+ */
+ public expand(dirX: number, dirY: number, dirZ: number, expansion: number): org.bukkit.util.BoundingBox;
+ /**
+ * Expands this bounding box in the specified direction.
+ *
+ * The magnitude of the direction will scale the expansion. A negative
+ * expansion value will shrink the bounding box in this direction. Shrinking
+ * will be limited to the bounding box's current size.
+ */
+ public expand(direction: org.bukkit.util.Vector, expansion: number): org.bukkit.util.BoundingBox;
+ /**
+ * Expands this bounding box in the direction specified by the given block
+ * face.
+ *
+ * A negative expansion value will shrink the bounding box in this
+ * direction. Shrinking will be limited to the bounding box's current size.
+ */
+ public expand(blockFace: org.bukkit.block.BlockFace, expansion: number): org.bukkit.util.BoundingBox;
+ /**
+ * Expands this bounding box in the specified direction.
+ *
+ * Negative values will expand the bounding box in the negative direction,
+ * positive values will expand it in the positive direction. The magnitudes
+ * of the direction components determine the corresponding amounts of
+ * expansion.
+ */
+ public expandDirectional(dirX: number, dirY: number, dirZ: number): org.bukkit.util.BoundingBox;
+ /**
+ * Expands this bounding box in the specified direction.
+ *
+ * Negative values will expand the bounding box in the negative direction,
+ * positive values will expand it in the positive direction. The magnitude
+ * of the direction vector determines the amount of expansion.
+ */
+ public expandDirectional(direction: org.bukkit.util.Vector): org.bukkit.util.BoundingBox;
+ /**
+ * Expands this bounding box to contain (or border) the specified position.
+ */
+ public union(posX: number, posY: number, posZ: number): org.bukkit.util.BoundingBox;
+ /**
+ * Expands this bounding box to contain (or border) the specified position.
+ */
+ public union(position: org.bukkit.util.Vector): org.bukkit.util.BoundingBox;
+ /**
+ * Expands this bounding box to contain (or border) the specified position.
+ */
+ public union(position: org.bukkit.Location): org.bukkit.util.BoundingBox;
+ /**
+ * Expands this bounding box to contain both this and the given bounding
+ * box.
+ */
+ public union(other: org.bukkit.util.BoundingBox): org.bukkit.util.BoundingBox;
+ /**
+ * Resizes this bounding box to represent the intersection of this and the
+ * given bounding box.
+ */
+ public intersection(other: org.bukkit.util.BoundingBox): org.bukkit.util.BoundingBox;
+ /**
+ * Shifts this bounding box by the given amounts.
+ */
+ public shift(shiftX: number, shiftY: number, shiftZ: number): org.bukkit.util.BoundingBox;
+ /**
+ * Shifts this bounding box by the given amounts.
+ */
+ public shift(shift: org.bukkit.util.Vector): org.bukkit.util.BoundingBox;
+ /**
+ * Shifts this bounding box by the given amounts.
+ */
+ public shift(shift: org.bukkit.Location): org.bukkit.util.BoundingBox;
+ /**
+ * Checks if this bounding box overlaps with the given bounding box.
+ *
+ * Bounding boxes that are only intersecting at the borders are not
+ * considered overlapping.
+ */
+ public overlaps(other: org.bukkit.util.BoundingBox): boolean;
+ /**
+ * Checks if this bounding box overlaps with the bounding box that is
+ * defined by the given corners.
+ *
+ * Bounding boxes that are only intersecting at the borders are not
+ * considered overlapping.
+ */
+ public overlaps(min: org.bukkit.util.Vector, max: org.bukkit.util.Vector): boolean;
+ /**
+ * Checks if this bounding box contains the specified position.
+ *
+ * Positions exactly on the minimum borders of the bounding box are
+ * considered to be inside the bounding box, while positions exactly on the
+ * maximum borders are considered to be outside. This allows bounding boxes
+ * to reside directly next to each other with positions always only residing
+ * in exactly one of them.
+ */
+ public contains(x: number, y: number, z: number): boolean;
+ /**
+ * Checks if this bounding box contains the specified position.
+ *
+ * Positions exactly on the minimum borders of the bounding box are
+ * considered to be inside the bounding box, while positions exactly on the
+ * maximum borders are considered to be outside. This allows bounding boxes
+ * to reside directly next to each other with positions always only residing
+ * in exactly one of them.
+ */
+ public contains(position: org.bukkit.util.Vector): boolean;
+ /**
+ * Checks if this bounding box fully contains the given bounding box.
+ */
+ public contains(other: org.bukkit.util.BoundingBox): boolean;
+ /**
+ * Checks if this bounding box fully contains the bounding box that is
+ * defined by the given corners.
+ */
+ public contains(min: org.bukkit.util.Vector, max: org.bukkit.util.Vector): boolean;
+ /**
+ * Calculates the intersection of this bounding box with the specified line
+ * segment.
+ *
+ * Intersections at edges and corners yield one of the affected block faces
+ * as hit result, but it is not defined which of them.
+ */
+ public rayTrace(start: org.bukkit.util.Vector, direction: org.bukkit.util.Vector, maxDistance: number): org.bukkit.util.RayTraceResult;
+ public hashCode(): number;
+ public equals(obj: any): boolean;
+ public toString(): string;
+ /**
+ * Creates a copy of this bounding box.
+ */
+ public clone(): org.bukkit.util.BoundingBox;
+ public serialize(): Map
+ * The minimum and maximum vectors given must be truly the minimum and
+ * maximum X, Y and Z components.
+ */
+ public isInAABB(min: org.bukkit.util.Vector, max: org.bukkit.util.Vector): boolean;
+ /**
+ * Returns whether this vector is within a sphere.
+ */
+ public isInSphere(origin: org.bukkit.util.Vector, radius: number): boolean;
+ /**
+ * Returns if a vector is normalized
+ */
+ public isNormalized(): boolean;
+ /**
+ * Rotates the vector around the x axis.
+ *
+ * This piece of math is based on the standard rotation matrix for vectors
+ * in three dimensional space. This matrix can be found here:
+ * Rotation
+ * Matrix.
+ */
+ public rotateAroundX(angle: number): org.bukkit.util.Vector;
+ /**
+ * Rotates the vector around the y axis.
+ *
+ * This piece of math is based on the standard rotation matrix for vectors
+ * in three dimensional space. This matrix can be found here:
+ * Rotation
+ * Matrix.
+ */
+ public rotateAroundY(angle: number): org.bukkit.util.Vector;
+ /**
+ * Rotates the vector around the z axis
+ *
+ * This piece of math is based on the standard rotation matrix for vectors
+ * in three dimensional space. This matrix can be found here:
+ * Rotation
+ * Matrix.
+ */
+ public rotateAroundZ(angle: number): org.bukkit.util.Vector;
+ /**
+ * Rotates the vector around a given arbitrary axis in 3 dimensional space.
+ *
+ * Rotation will follow the general Right-Hand-Rule, which means rotation
+ * will be counterclockwise when the axis is pointing towards the observer.
+ *
+ * This method will always make sure the provided axis is a unit vector, to
+ * not modify the length of the vector when rotating. If you are experienced
+ * with the scaling of a non-unit axis vector, you can use
+ * {@link Vector#rotateAroundNonUnitAxis(Vector, double)}.
+ */
+ public rotateAroundAxis(axis: org.bukkit.util.Vector, angle: number): org.bukkit.util.Vector;
+ /**
+ * Rotates the vector around a given arbitrary axis in 3 dimensional space.
+ *
+ * Rotation will follow the general Right-Hand-Rule, which means rotation
+ * will be counterclockwise when the axis is pointing towards the observer.
+ *
+ * Note that the vector length will change accordingly to the axis vector
+ * length. If the provided axis is not a unit vector, the rotated vector
+ * will not have its previous length. The scaled length of the resulting
+ * vector will be related to the axis vector. If you are not perfectly sure
+ * about the scaling of the vector, use
+ * {@link Vector#rotateAroundAxis(Vector, double)}
+ */
+ public rotateAroundNonUnitAxis(axis: org.bukkit.util.Vector, angle: number): org.bukkit.util.Vector;
+ /**
+ * Gets the X component.
+ */
+ public getX(): number;
+ /**
+ * Gets the floored value of the X component, indicating the block that
+ * this vector is contained with.
+ */
+ public getBlockX(): number;
+ /**
+ * Gets the Y component.
+ */
+ public getY(): number;
+ /**
+ * Gets the floored value of the Y component, indicating the block that
+ * this vector is contained with.
+ */
+ public getBlockY(): number;
+ /**
+ * Gets the Z component.
+ */
+ public getZ(): number;
+ /**
+ * Gets the floored value of the Z component, indicating the block that
+ * this vector is contained with.
+ */
+ public getBlockZ(): number;
+ /**
+ * Set the X component.
+ */
+ public setX(x: number): org.bukkit.util.Vector;
+ /**
+ * Set the X component.
+ */
+ public setX(x: number): org.bukkit.util.Vector;
+ /**
+ * Set the X component.
+ */
+ public setX(x: number): org.bukkit.util.Vector;
+ /**
+ * Set the Y component.
+ */
+ public setY(y: number): org.bukkit.util.Vector;
+ /**
+ * Set the Y component.
+ */
+ public setY(y: number): org.bukkit.util.Vector;
+ /**
+ * Set the Y component.
+ */
+ public setY(y: number): org.bukkit.util.Vector;
+ /**
+ * Set the Z component.
+ */
+ public setZ(z: number): org.bukkit.util.Vector;
+ /**
+ * Set the Z component.
+ */
+ public setZ(z: number): org.bukkit.util.Vector;
+ /**
+ * Set the Z component.
+ */
+ public setZ(z: number): org.bukkit.util.Vector;
+ /**
+ * Checks to see if two objects are equal.
+ *
+ * Only two Vectors can ever return true. This method uses a fuzzy match
+ * to account for floating point errors. The epsilon can be retrieved
+ * with epsilon.
+ */
+ public equals(obj: any): boolean;
+ /**
+ * Returns a hash code for this vector
+ */
+ public hashCode(): number;
+ /**
+ * Get a new vector.
+ */
+ public clone(): org.bukkit.util.Vector;
+ /**
+ * Returns this vector's components as x,y,z.
+ */
+ public toString(): string;
+ /**
+ * Gets a Location version of this vector with yaw and pitch being 0.
+ */
+ public toLocation(world: org.bukkit.World): org.bukkit.Location;
+ /**
+ * Gets a Location version of this vector.
+ */
+ public toLocation(world: org.bukkit.World, yaw: number, pitch: number): org.bukkit.Location;
+ /**
+ * Get the block vector of this vector.
+ */
+ public toBlockVector(): org.bukkit.util.BlockVector;
+ /**
+ * Check if each component of this Vector is finite.
+ */
+ public checkFinite(): void;
+ /**
+ * Get the threshold used for equals().
+ */
+ public static getEpsilon(): number;
+ /**
+ * Gets the minimum components of two vectors.
+ */
+ public static getMinimum(v1: org.bukkit.util.Vector, v2: org.bukkit.util.Vector): org.bukkit.util.Vector;
+ /**
+ * Gets the maximum components of two vectors.
+ */
+ public static getMaximum(v1: org.bukkit.util.Vector, v2: org.bukkit.util.Vector): org.bukkit.util.Vector;
+ /**
+ * Gets a random vector with components having a random value between 0
+ * and 1.
+ */
+ public static getRandom(): org.bukkit.util.Vector;
+ public serialize(): Map
+ * This is the equivalent to setting each coordinate to the specified
+ * value.
+ */
+ public setScale(scale: number): void;
+ /**
+ * Gets the scale used for each X-coordinates passed
+ */
+ public getXScale(): number;
+ /**
+ * Sets the scale used for each X-coordinates passed
+ */
+ public setXScale(scale: number): void;
+ /**
+ * Gets the scale used for each Y-coordinates passed
+ */
+ public getYScale(): number;
+ /**
+ * Sets the scale used for each Y-coordinates passed
+ */
+ public setYScale(scale: number): void;
+ /**
+ * Gets the scale used for each Z-coordinates passed
+ */
+ public getZScale(): number;
+ /**
+ * Sets the scale used for each Z-coordinates passed
+ */
+ public setZScale(scale: number): void;
+ /**
+ * Gets a clone of the individual octaves used within this generator
+ */
+ public getOctaves(): org.bukkit.util.noise.NoiseGenerator[];
+ /**
+ * Generates noise for the 1D coordinates using the specified number of
+ * octaves and parameters
+ */
+ public noise(x: number, frequency: number, amplitude: number): number;
+ /**
+ * Generates noise for the 1D coordinates using the specified number of
+ * octaves and parameters
+ */
+ public noise(x: number, frequency: number, amplitude: number, normalized: boolean): number;
+ /**
+ * Generates noise for the 2D coordinates using the specified number of
+ * octaves and parameters
+ */
+ public noise(x: number, y: number, frequency: number, amplitude: number): number;
+ /**
+ * Generates noise for the 2D coordinates using the specified number of
+ * octaves and parameters
+ */
+ public noise(x: number, y: number, frequency: number, amplitude: number, normalized: boolean): number;
+ /**
+ * Generates noise for the 3D coordinates using the specified number of
+ * octaves and parameters
+ */
+ public noise(x: number, y: number, z: number, frequency: number, amplitude: number): number;
+ /**
+ * Generates noise for the 3D coordinates using the specified number of
+ * octaves and parameters
+ */
+ public noise(x: number, y: number, z: number, frequency: number, amplitude: number, normalized: boolean): number;
+ }
+ }
+ }
+ }
+}
diff --git a/packages/bukkit/src/typings/org.bukkit.util.noise.PerlinNoiseGenerator.ts b/packages/bukkit/src/typings/org.bukkit.util.noise.PerlinNoiseGenerator.ts
new file mode 100644
index 00000000..c6f70e3e
--- /dev/null
+++ b/packages/bukkit/src/typings/org.bukkit.util.noise.PerlinNoiseGenerator.ts
@@ -0,0 +1,59 @@
+declare namespace org {
+ namespace bukkit {
+ namespace util {
+ namespace noise {
+ class PerlinNoiseGenerator {
+ constructor()
+ /**
+ * Creates a seeded perlin noise generator for the given world
+ */
+ constructor(world: org.bukkit.World)
+ /**
+ * Creates a seeded perlin noise generator for the given seed
+ */
+ constructor(seed: number)
+ /**
+ * Creates a seeded perlin noise generator with the given Random
+ */
+ constructor(rand: any)
+ protected static grad3: number[][];
+ /**
+ * Computes and returns the 1D unseeded perlin noise for the given
+ * coordinates in 1D space
+ */
+ public static getNoise(x: number): number;
+ /**
+ * Computes and returns the 2D unseeded perlin noise for the given
+ * coordinates in 2D space
+ */
+ public static getNoise(x: number, y: number): number;
+ /**
+ * Computes and returns the 3D unseeded perlin noise for the given
+ * coordinates in 3D space
+ */
+ public static getNoise(x: number, y: number, z: number): number;
+ /**
+ * Gets the singleton unseeded instance of this generator
+ */
+ public static getInstance(): org.bukkit.util.noise.PerlinNoiseGenerator;
+ public noise(x: number, y: number, z: number): number;
+ /**
+ * Generates noise for the 1D coordinates using the specified number of
+ * octaves and parameters
+ */
+ public static getNoise(x: number, octaves: number, frequency: number, amplitude: number): number;
+ /**
+ * Generates noise for the 2D coordinates using the specified number of
+ * octaves and parameters
+ */
+ public static getNoise(x: number, y: number, octaves: number, frequency: number, amplitude: number): number;
+ /**
+ * Generates noise for the 3D coordinates using the specified number of
+ * octaves and parameters
+ */
+ public static getNoise(x: number, y: number, z: number, octaves: number, frequency: number, amplitude: number): number;
+ }
+ }
+ }
+ }
+}
diff --git a/packages/bukkit/src/typings/org.bukkit.util.noise.PerlinOctaveGenerator.ts b/packages/bukkit/src/typings/org.bukkit.util.noise.PerlinOctaveGenerator.ts
new file mode 100644
index 00000000..941a96e4
--- /dev/null
+++ b/packages/bukkit/src/typings/org.bukkit.util.noise.PerlinOctaveGenerator.ts
@@ -0,0 +1,22 @@
+declare namespace org {
+ namespace bukkit {
+ namespace util {
+ namespace noise {
+ class PerlinOctaveGenerator {
+ /**
+ * Creates a perlin octave generator for the given world
+ */
+ constructor(world: org.bukkit.World, octaves: number)
+ /**
+ * Creates a perlin octave generator for the given world
+ */
+ constructor(seed: number, octaves: number)
+ /**
+ * Creates a perlin octave generator for the given {@link Random}
+ */
+ constructor(rand: any, octaves: number)
+ }
+ }
+ }
+ }
+}
diff --git a/packages/bukkit/src/typings/org.bukkit.util.noise.SimplexNoiseGenerator.ts b/packages/bukkit/src/typings/org.bukkit.util.noise.SimplexNoiseGenerator.ts
new file mode 100644
index 00000000..e9926c32
--- /dev/null
+++ b/packages/bukkit/src/typings/org.bukkit.util.noise.SimplexNoiseGenerator.ts
@@ -0,0 +1,72 @@
+declare namespace org {
+ namespace bukkit {
+ namespace util {
+ namespace noise {
+ class SimplexNoiseGenerator {
+ constructor()
+ /**
+ * Creates a seeded simplex noise generator for the given world
+ */
+ constructor(world: org.bukkit.World)
+ /**
+ * Creates a seeded simplex noise generator for the given seed
+ */
+ constructor(seed: number)
+ /**
+ * Creates a seeded simplex noise generator with the given Random
+ */
+ constructor(rand: any)
+ protected static SQRT_3: number;
+ protected static SQRT_5: number;
+ protected static F2: number;
+ protected static G2: number;
+ protected static G22: number;
+ protected static F3: number;
+ protected static G3: number;
+ protected static F4: number;
+ protected static G4: number;
+ protected static G42: number;
+ protected static G43: number;
+ protected static G44: number;
+ protected static grad4: number[][];
+ protected static simplex: number[][];
+ protected offsetW: number;
+ protected static dot(g: number, x: number, y: number): number;
+ protected static dot(g: number, x: number, y: number, z: number): number;
+ protected static dot(g: number, x: number, y: number, z: number, w: number): number;
+ /**
+ * Computes and returns the 1D unseeded simplex noise for the given
+ * coordinates in 1D space
+ */
+ public static getNoise(xin: number): number;
+ /**
+ * Computes and returns the 2D unseeded simplex noise for the given
+ * coordinates in 2D space
+ */
+ public static getNoise(xin: number, yin: number): number;
+ /**
+ * Computes and returns the 3D unseeded simplex noise for the given
+ * coordinates in 3D space
+ */
+ public static getNoise(xin: number, yin: number, zin: number): number;
+ /**
+ * Computes and returns the 4D simplex noise for the given coordinates in
+ * 4D space
+ */
+ public static getNoise(x: number, y: number, z: number, w: number): number;
+ public noise(xin: number, yin: number, zin: number): number;
+ public noise(xin: number, yin: number): number;
+ /**
+ * Computes and returns the 4D simplex noise for the given coordinates in
+ * 4D space
+ */
+ public noise(x: number, y: number, z: number, w: number): number;
+ /**
+ * Gets the singleton unseeded instance of this generator
+ */
+ public static getInstance(): org.bukkit.util.noise.SimplexNoiseGenerator;
+ }
+ }
+ }
+ }
+}
diff --git a/packages/bukkit/src/typings/org.bukkit.util.noise.SimplexOctaveGenerator.ts b/packages/bukkit/src/typings/org.bukkit.util.noise.SimplexOctaveGenerator.ts
new file mode 100644
index 00000000..c3e851bb
--- /dev/null
+++ b/packages/bukkit/src/typings/org.bukkit.util.noise.SimplexOctaveGenerator.ts
@@ -0,0 +1,41 @@
+declare namespace org {
+ namespace bukkit {
+ namespace util {
+ namespace noise {
+ class SimplexOctaveGenerator {
+ /**
+ * Creates a simplex octave generator for the given world
+ */
+ constructor(world: org.bukkit.World, octaves: number)
+ /**
+ * Creates a simplex octave generator for the given world
+ */
+ constructor(seed: number, octaves: number)
+ /**
+ * Creates a simplex octave generator for the given {@link Random}
+ */
+ constructor(rand: any, octaves: number)
+ public setScale(scale: number): void;
+ /**
+ * Gets the scale used for each W-coordinates passed
+ */
+ public getWScale(): number;
+ /**
+ * Sets the scale used for each W-coordinates passed
+ */
+ public setWScale(scale: number): void;
+ /**
+ * Generates noise for the 3D coordinates using the specified number of
+ * octaves and parameters
+ */
+ public noise(x: number, y: number, z: number, w: number, frequency: number, amplitude: number): number;
+ /**
+ * Generates noise for the 3D coordinates using the specified number of
+ * octaves and parameters
+ */
+ public noise(x: number, y: number, z: number, w: number, frequency: number, amplitude: number, normalized: boolean): number;
+ }
+ }
+ }
+ }
+}
diff --git a/packages/bukkit/src/typings/org.bukkit.util.permissions.BroadcastPermissions.ts b/packages/bukkit/src/typings/org.bukkit.util.permissions.BroadcastPermissions.ts
new file mode 100644
index 00000000..1ba69f0e
--- /dev/null
+++ b/packages/bukkit/src/typings/org.bukkit.util.permissions.BroadcastPermissions.ts
@@ -0,0 +1,11 @@
+declare namespace org {
+ namespace bukkit {
+ namespace util {
+ namespace permissions {
+ class BroadcastPermissions {
+ public static registerPermissions(parent: org.bukkit.permissions.Permission): org.bukkit.permissions.Permission;
+ }
+ }
+ }
+ }
+}
diff --git a/packages/bukkit/src/typings/org.bukkit.util.permissions.CommandPermissions.ts b/packages/bukkit/src/typings/org.bukkit.util.permissions.CommandPermissions.ts
new file mode 100644
index 00000000..67d5ea27
--- /dev/null
+++ b/packages/bukkit/src/typings/org.bukkit.util.permissions.CommandPermissions.ts
@@ -0,0 +1,11 @@
+declare namespace org {
+ namespace bukkit {
+ namespace util {
+ namespace permissions {
+ class CommandPermissions {
+ public static registerPermissions(parent: org.bukkit.permissions.Permission): org.bukkit.permissions.Permission;
+ }
+ }
+ }
+ }
+}
diff --git a/packages/bukkit/src/typings/org.bukkit.util.permissions.DefaultPermissions.ts b/packages/bukkit/src/typings/org.bukkit.util.permissions.DefaultPermissions.ts
new file mode 100644
index 00000000..b7925aca
--- /dev/null
+++ b/packages/bukkit/src/typings/org.bukkit.util.permissions.DefaultPermissions.ts
@@ -0,0 +1,20 @@
+declare namespace org {
+ namespace bukkit {
+ namespace util {
+ namespace permissions {
+ class DefaultPermissions {
+ public static registerPermission(perm: org.bukkit.permissions.Permission): org.bukkit.permissions.Permission;
+ public static registerPermission(perm: org.bukkit.permissions.Permission, withLegacy: boolean): org.bukkit.permissions.Permission;
+ public static registerPermission(perm: org.bukkit.permissions.Permission, parent: org.bukkit.permissions.Permission): org.bukkit.permissions.Permission;
+ public static registerPermission(name: string, desc: string): org.bukkit.permissions.Permission;
+ public static registerPermission(name: string, desc: string, parent: org.bukkit.permissions.Permission): org.bukkit.permissions.Permission;
+ public static registerPermission(name: string, desc: string, def: org.bukkit.permissions.PermissionDefault): org.bukkit.permissions.Permission;
+ public static registerPermission(name: string, desc: string, def: org.bukkit.permissions.PermissionDefault, parent: org.bukkit.permissions.Permission): org.bukkit.permissions.Permission;
+ public static registerPermission(name: string, desc: string, def: org.bukkit.permissions.PermissionDefault, children: Map
+ * This method uses implementation default values for radius and
+ * findUnexplored (usually 100, true).
+ */
+ public static createExplorerMap(world: org.bukkit.World, location: org.bukkit.Location, structureType: org.bukkit.StructureType): org.bukkit.inventory.ItemStack;
+ /**
+ * Create a new explorer map targeting the closest nearby structure of a
+ * given {@link StructureType}.
+ *
+ * This method uses implementation default values for radius and
+ * findUnexplored (usually 100, true).
+ */
+ public static createExplorerMap(world: org.bukkit.World, location: org.bukkit.Location, structureType: org.bukkit.StructureType, radius: number, findUnexplored: boolean): org.bukkit.inventory.ItemStack;
+ /**
+ * Reloads the server, refreshing settings and plugin information.
+ */
+ public static reload(): void;
+ /**
+ * Reload only the Minecraft data for the server. This includes custom
+ * advancements and loot tables.
+ */
+ public static reloadData(): void;
+ /**
+ * Returns the primary logger associated with this server instance.
+ */
+ public static getLogger(): any;
+ /**
+ * Gets a {@link PluginCommand} with the given name or alias.
+ */
+ public static getPluginCommand(name: string): org.bukkit.command.PluginCommand;
+ /**
+ * Writes loaded players to disk.
+ */
+ public static savePlayers(): void;
+ /**
+ * Dispatches a command on this server, and executes it if found.
+ */
+ public static dispatchCommand(sender: org.bukkit.command.CommandSender, commandLine: string): boolean;
+ /**
+ * Adds a recipe to the crafting manager.
+ */
+ public static addRecipe(recipe: org.bukkit.inventory.Recipe): boolean;
+ /**
+ * Get a list of all recipes for a given item. The stack size is ignored
+ * in comparisons. If the durability is -1, it will match any data value.
+ */
+ public static getRecipesFor(result: org.bukkit.inventory.ItemStack): any[] /*java.util.List*/;
+ /**
+ * Get an iterator through the list of crafting recipes.
+ */
+ public static recipeIterator(): any;
+ /**
+ * Clears the list of crafting recipes.
+ */
+ public static clearRecipes(): void;
+ /**
+ * Resets the list of crafting recipes to the default.
+ */
+ public static resetRecipes(): void;
+ /**
+ * Gets a list of command aliases defined in the server properties.
+ */
+ public static getCommandAliases(): Map
+ * {@link InventoryType#WORKBENCH} will not process crafting recipes if
+ * created with this method. Use
+ * {@link Player#openWorkbench(Location, boolean)} instead.
+ *
+ * {@link InventoryType#ENCHANTING} will not process {@link ItemStack}s
+ * for possible enchanting results. Use
+ * {@link Player#openEnchanting(Location, boolean)} instead.
+ */
+ public static createInventory(owner: org.bukkit.inventory.InventoryHolder, type: org.bukkit.event.inventory.InventoryType): org.bukkit.inventory.Inventory;
+ /**
+ * Creates an empty inventory with the specified type and title. If the type
+ * is {@link InventoryType#CHEST}, the new inventory has a size of 27;
+ * otherwise the new inventory has the normal size for its type.
+ * It should be noted that some inventory types do not support titles and
+ * may not render with said titles on the Minecraft client.
+ *
+ * {@link InventoryType#WORKBENCH} will not process crafting recipes if
+ * created with this method. Use
+ * {@link Player#openWorkbench(Location, boolean)} instead.
+ *
+ * {@link InventoryType#ENCHANTING} will not process {@link ItemStack}s
+ * for possible enchanting results. Use
+ * {@link Player#openEnchanting(Location, boolean)} instead.
+ */
+ public static createInventory(owner: org.bukkit.inventory.InventoryHolder, type: org.bukkit.event.inventory.InventoryType, title: string): org.bukkit.inventory.Inventory;
+ /**
+ * Creates an empty inventory of type {@link InventoryType#CHEST} with the
+ * specified size.
+ */
+ public static createInventory(owner: org.bukkit.inventory.InventoryHolder, size: number): org.bukkit.inventory.Inventory;
+ /**
+ * Creates an empty inventory of type {@link InventoryType#CHEST} with the
+ * specified size and title.
+ */
+ public static createInventory(owner: org.bukkit.inventory.InventoryHolder, size: number, title: string): org.bukkit.inventory.Inventory;
+ /**
+ * Creates an empty merchant.
+ */
+ public static createMerchant(title: string): org.bukkit.inventory.Merchant;
+ /**
+ * Gets user-specified limit for number of monsters that can spawn in a
+ * chunk.
+ */
+ public static getMonsterSpawnLimit(): number;
+ /**
+ * Gets user-specified limit for number of animals that can spawn in a
+ * chunk.
+ */
+ public static getAnimalSpawnLimit(): number;
+ /**
+ * Gets user-specified limit for number of water animals that can spawn in
+ * a chunk.
+ */
+ public static getWaterAnimalSpawnLimit(): number;
+ /**
+ * Gets user-specified limit for number of ambient mobs that can spawn in
+ * a chunk.
+ */
+ public static getAmbientSpawnLimit(): number;
+ /**
+ * Checks the current thread against the expected primary thread for the
+ * server.
+ *
+ * This instance is added to the persistent storage of the server and will
+ * be editable by commands and restored after restart.
+ */
+ public static createBossBar(key: org.bukkit.NamespacedKey, title: string, color: org.bukkit.boss.BarColor, style: org.bukkit.boss.BarStyle, flags: org.bukkit.boss.BarFlag): org.bukkit.boss.KeyedBossBar;
+ /**
+ * Gets an unmodifiable iterator through all persistent bossbars.
+ *
+ *
+ * e.g. bossbars created using the bossbar command
+ */
+ public static getBossBars(): any;
+ /**
+ * Gets the {@link KeyedBossBar} specified by this key.
+ *
+ *
+ * e.g. bossbars created using the bossbar command
+ */
+ public static getBossBar(key: org.bukkit.NamespacedKey): org.bukkit.boss.KeyedBossBar;
+ /**
+ * Removes a {@link KeyedBossBar} specified by this key.
+ *
+ *
+ * e.g. bossbars created using the bossbar command
+ */
+ public static removeBossBar(key: org.bukkit.NamespacedKey): boolean;
+ /**
+ * Gets an entity on the server by its UUID
+ */
+ public static getEntity(uuid: any): org.bukkit.entity.Entity;
+ /**
+ * Get the advancement specified by this key.
+ */
+ public static getAdvancement(key: org.bukkit.NamespacedKey): org.bukkit.advancement.Advancement;
+ /**
+ * Get an iterator through all advancements. Advancements cannot be removed
+ * from this iterator,
+ */
+ public static advancementIterator(): any;
+ /**
+ * Creates a new {@link BlockData} instance for the specified Material, with
+ * all properties initialized to unspecified defaults.
+ */
+ public static createBlockData(material: org.bukkit.Material): org.bukkit.block.data.BlockData;
+ /**
+ * Creates a new {@link BlockData} instance for the specified Material, with
+ * all properties initialized to unspecified defaults.
+ */
+ public static createBlockData(material: org.bukkit.Material, consumer: any): org.bukkit.block.data.BlockData;
+ /**
+ * Creates a new {@link BlockData} instance with material and properties
+ * parsed from provided data.
+ */
+ public static createBlockData(data: string): org.bukkit.block.data.BlockData;
+ /**
+ * Creates a new {@link BlockData} instance for the specified Material, with
+ * all properties initialized to unspecified defaults, except for those
+ * provided in data.
+ */
+ public static createBlockData(material: org.bukkit.Material, data: string): org.bukkit.block.data.BlockData;
+ /**
+ * Gets a tag which has already been defined within the server. Plugins are
+ * suggested to use the concrete tags in {@link Tag} rather than this method
+ * which makes no guarantees about which tags are available, and may also be
+ * less performant due to lack of caching.
+ *
+ * Tags will be searched for in an implementation specific manner, but a
+ * path consisting of namespace/tags/registry/key is expected.
+ *
+ * Server implementations are allowed to handle only the registries
+ * indicated in {@link Tag}.
+ */
+ public static getTag(registry: string, tag: org.bukkit.NamespacedKey, clazz: any): org.bukkit.Tag;
+ /**
+ * Gets a all tags which have been defined within the server.
+ *
+ * Server implementations are allowed to handle only the registries
+ * indicated in {@link Tag}.
+ *
+ * No guarantees are made about the mutability of the returned iterator.
+ */
+ public static getTags(registry: string, clazz: any): any;
+ /**
+ * Gets the specified {@link LootTable}.
+ */
+ public static getLootTable(key: org.bukkit.NamespacedKey): org.bukkit.loot.LootTable;
+ /**
+ * Selects entities using the given Vanilla selector.
+ *
+ * No guarantees are made about the selector format, other than they match
+ * the Vanilla format for the active Minecraft version.
+ *
+ * Usually a selector will start with '@', unless selecting a Player in
+ * which case it may simply be the Player's name or UUID.
+ *
+ * Note that in Vanilla, elevated permissions are usually required to use
+ * '@' selectors, but this method should not check such permissions from the
+ * sender.
+ */
+ public static selectEntities(sender: org.bukkit.command.CommandSender, selector: string): any[] /*java.util.List*/;
+ public static getUnsafe(): org.bukkit.UnsafeValues;
+ }
+ }
+}
diff --git a/packages/bukkit/src/typings/org.bukkit.ChatColor.ts b/packages/bukkit/src/typings/org.bukkit.ChatColor.ts
new file mode 100644
index 00000000..f60d98d6
--- /dev/null
+++ b/packages/bukkit/src/typings/org.bukkit.ChatColor.ts
@@ -0,0 +1,67 @@
+declare namespace org {
+ namespace bukkit {
+ class ChatColor {
+ public static BLACK: org.bukkit.ChatColor;
+ public static DARK_BLUE: org.bukkit.ChatColor;
+ public static DARK_GREEN: org.bukkit.ChatColor;
+ public static DARK_AQUA: org.bukkit.ChatColor;
+ public static DARK_RED: org.bukkit.ChatColor;
+ public static DARK_PURPLE: org.bukkit.ChatColor;
+ public static GOLD: org.bukkit.ChatColor;
+ public static GRAY: org.bukkit.ChatColor;
+ public static DARK_GRAY: org.bukkit.ChatColor;
+ public static BLUE: org.bukkit.ChatColor;
+ public static GREEN: org.bukkit.ChatColor;
+ public static AQUA: org.bukkit.ChatColor;
+ public static RED: org.bukkit.ChatColor;
+ public static LIGHT_PURPLE: org.bukkit.ChatColor;
+ public static YELLOW: org.bukkit.ChatColor;
+ public static WHITE: org.bukkit.ChatColor;
+ public static MAGIC: org.bukkit.ChatColor;
+ public static BOLD: org.bukkit.ChatColor;
+ public static STRIKETHROUGH: org.bukkit.ChatColor;
+ public static UNDERLINE: org.bukkit.ChatColor;
+ public static ITALIC: org.bukkit.ChatColor;
+ public static RESET: org.bukkit.ChatColor;
+ public static COLOR_CHAR: string;
+ public static values(): org.bukkit.ChatColor[];
+ public static valueOf(name: string): org.bukkit.ChatColor;
+ /**
+ * Gets the char value associated with this color
+ */
+ public getChar(): string;
+ public toString(): string;
+ /**
+ * Checks if this code is a format code as opposed to a color code.
+ */
+ public isFormat(): boolean;
+ /**
+ * Checks if this code is a color code as opposed to a format code.
+ */
+ public isColor(): boolean;
+ /**
+ * Gets the color represented by the specified color code
+ */
+ public static getByChar(code: string): org.bukkit.ChatColor;
+ /**
+ * Gets the color represented by the specified color code
+ */
+ public static getByChar(code: string): org.bukkit.ChatColor;
+ /**
+ * Strips the given message of all color codes
+ */
+ public static stripColor(input: string): string;
+ /**
+ * Translates a string using an alternate color code character into a
+ * string that uses the internal ChatColor.COLOR_CODE color code
+ * character. The alternate color code character will only be replaced if
+ * it is immediately followed by 0-9, A-F, a-f, K-O, k-o, R or r.
+ */
+ public static translateAlternateColorCodes(altColorChar: string, textToTranslate: string): string;
+ /**
+ * Gets the ChatColors used at the end of the given input string.
+ */
+ public static getLastColors(input: string): string;
+ }
+ }
+}
diff --git a/packages/bukkit/src/typings/org.bukkit.Chunk.ts b/packages/bukkit/src/typings/org.bukkit.Chunk.ts
new file mode 100644
index 00000000..3a76b589
--- /dev/null
+++ b/packages/bukkit/src/typings/org.bukkit.Chunk.ts
@@ -0,0 +1,106 @@
+declare namespace org {
+ namespace bukkit {
+ class Chunk {
+ /**
+ * Gets the X-coordinate of this chunk
+ */
+ public getX(): number;
+ /**
+ * Gets the Z-coordinate of this chunk
+ */
+ public getZ(): number;
+ /**
+ * Gets the world containing this chunk
+ */
+ public getWorld(): org.bukkit.World;
+ /**
+ * Gets a block from this chunk
+ */
+ public getBlock(x: number, y: number, z: number): org.bukkit.block.Block;
+ /**
+ * Capture thread-safe read-only snapshot of chunk data
+ */
+ public getChunkSnapshot(): org.bukkit.ChunkSnapshot;
+ /**
+ * Capture thread-safe read-only snapshot of chunk data
+ */
+ public getChunkSnapshot(includeMaxblocky: boolean, includeBiome: boolean, includeBiomeTempRain: boolean): org.bukkit.ChunkSnapshot;
+ /**
+ * Get a list of all entities in the chunk.
+ */
+ public getEntities(): org.bukkit.entity.Entity[];
+ /**
+ * Get a list of all tile entities in the chunk.
+ */
+ public getTileEntities(): org.bukkit.block.BlockState[];
+ /**
+ * Checks if the chunk is loaded.
+ */
+ public isLoaded(): boolean;
+ /**
+ * Loads the chunk.
+ */
+ public load(generate: boolean): boolean;
+ /**
+ * Loads the chunk.
+ */
+ public load(): boolean;
+ /**
+ * Unloads and optionally saves the Chunk
+ */
+ public unload(save: boolean): boolean;
+ /**
+ * Unloads and optionally saves the Chunk
+ */
+ public unload(): boolean;
+ /**
+ * Checks if this chunk can spawn slimes without being a swamp biome.
+ */
+ public isSlimeChunk(): boolean;
+ /**
+ * Gets whether the chunk at the specified chunk coordinates is force
+ * loaded.
+ *
+ *
+ * Increasing yaw values are the equivalent of turning to your
+ * right-facing, increasing the scale of the next respective axis, and
+ * decreasing the scale of the previous axis.
+ */
+ public setYaw(yaw: number): void;
+ /**
+ * Gets the yaw of this location, measured in degrees.
+ *
+ *
+ * Increasing yaw values are the equivalent of turning to your
+ * right-facing, increasing the scale of the next respective axis, and
+ * decreasing the scale of the previous axis.
+ */
+ public getYaw(): number;
+ /**
+ * Sets the pitch of this location, measured in degrees.
+ *
+ *
+ * Increasing pitch values the equivalent of looking down.
+ */
+ public setPitch(pitch: number): void;
+ /**
+ * Gets the pitch of this location, measured in degrees.
+ *
+ *
+ * Increasing pitch values the equivalent of looking down.
+ */
+ public getPitch(): number;
+ /**
+ * Gets a unit-vector pointing in the direction that this Location is
+ * facing.
+ */
+ public getDirection(): org.bukkit.util.Vector;
+ /**
+ * Sets the {@link #getYaw() yaw} and {@link #getPitch() pitch} to point
+ * in the direction of the vector.
+ */
+ public setDirection(vector: org.bukkit.util.Vector): org.bukkit.Location;
+ /**
+ * Adds the location by another.
+ */
+ public add(vec: org.bukkit.Location): org.bukkit.Location;
+ /**
+ * Adds the location by a vector.
+ */
+ public add(vec: org.bukkit.util.Vector): org.bukkit.Location;
+ /**
+ * Adds the location by another. Not world-aware.
+ */
+ public add(x: number, y: number, z: number): org.bukkit.Location;
+ /**
+ * Subtracts the location by another.
+ */
+ public subtract(vec: org.bukkit.Location): org.bukkit.Location;
+ /**
+ * Subtracts the location by a vector.
+ */
+ public subtract(vec: org.bukkit.util.Vector): org.bukkit.Location;
+ /**
+ * Subtracts the location by another. Not world-aware and
+ * orientation independent.
+ */
+ public subtract(x: number, y: number, z: number): org.bukkit.Location;
+ /**
+ * Gets the magnitude of the location, defined as sqrt(x^2+y^2+z^2). The
+ * value of this method is not cached and uses a costly square-root
+ * function, so do not repeatedly call this method to get the location's
+ * magnitude. NaN will be returned if the inner result of the sqrt()
+ * function overflows, which will be caused if the length is too long. Not
+ * world-aware and orientation independent.
+ */
+ public length(): number;
+ /**
+ * Gets the magnitude of the location squared. Not world-aware and
+ * orientation independent.
+ */
+ public lengthSquared(): number;
+ /**
+ * Get the distance between this location and another. The value of this
+ * method is not cached and uses a costly square-root function, so do not
+ * repeatedly call this method to get the location's magnitude. NaN will
+ * be returned if the inner result of the sqrt() function overflows, which
+ * will be caused if the distance is too long.
+ */
+ public distance(o: org.bukkit.Location): number;
+ /**
+ * Get the squared distance between this location and another.
+ */
+ public distanceSquared(o: org.bukkit.Location): number;
+ /**
+ * Performs scalar multiplication, multiplying all components with a
+ * scalar. Not world-aware.
+ */
+ public multiply(m: number): org.bukkit.Location;
+ /**
+ * Zero this location's components. Not world-aware.
+ */
+ public zero(): org.bukkit.Location;
+ public equals(obj: any): boolean;
+ public hashCode(): number;
+ public toString(): string;
+ /**
+ * Constructs a new {@link Vector} based on this Location
+ */
+ public toVector(): org.bukkit.util.Vector;
+ public clone(): org.bukkit.Location;
+ /**
+ * Check if each component of this Location is finite.
+ */
+ public checkFinite(): void;
+ /**
+ * Safely converts a double (location coordinate) to an int (block
+ * coordinate)
+ */
+ public static locToBlock(loc: number): number;
+ public serialize(): Map+/-180
+ * degrees.
+ */
+ public static normalizeYaw(yaw: number): number;
+ /**
+ * Normalizes the given pitch angle to a value between +/-90
+ * degrees.
+ */
+ public static normalizePitch(pitch: number): number;
+ }
+ }
+}
diff --git a/packages/bukkit/src/typings/org.bukkit.Material.ts b/packages/bukkit/src/typings/org.bukkit.Material.ts
new file mode 100644
index 00000000..a14a299f
--- /dev/null
+++ b/packages/bukkit/src/typings/org.bukkit.Material.ts
@@ -0,0 +1,1580 @@
+declare namespace org {
+ namespace bukkit {
+ class Material {
+ public static ACACIA_BOAT: org.bukkit.Material;
+ public static ACACIA_BUTTON: org.bukkit.Material;
+ public static ACACIA_DOOR: org.bukkit.Material;
+ public static ACACIA_FENCE: org.bukkit.Material;
+ public static ACACIA_FENCE_GATE: org.bukkit.Material;
+ public static ACACIA_LEAVES: org.bukkit.Material;
+ public static ACACIA_LOG: org.bukkit.Material;
+ public static ACACIA_PLANKS: org.bukkit.Material;
+ public static ACACIA_PRESSURE_PLATE: org.bukkit.Material;
+ public static ACACIA_SAPLING: org.bukkit.Material;
+ public static ACACIA_SIGN: org.bukkit.Material;
+ public static ACACIA_SLAB: org.bukkit.Material;
+ public static ACACIA_STAIRS: org.bukkit.Material;
+ public static ACACIA_TRAPDOOR: org.bukkit.Material;
+ public static ACACIA_WALL_SIGN: org.bukkit.Material;
+ public static ACACIA_WOOD: org.bukkit.Material;
+ public static ACTIVATOR_RAIL: org.bukkit.Material;
+ public static AIR: org.bukkit.Material;
+ public static ALLIUM: org.bukkit.Material;
+ public static ANDESITE: org.bukkit.Material;
+ public static ANDESITE_SLAB: org.bukkit.Material;
+ public static ANDESITE_STAIRS: org.bukkit.Material;
+ public static ANDESITE_WALL: org.bukkit.Material;
+ public static ANVIL: org.bukkit.Material;
+ public static APPLE: org.bukkit.Material;
+ public static ARMOR_STAND: org.bukkit.Material;
+ public static ARROW: org.bukkit.Material;
+ public static ATTACHED_MELON_STEM: org.bukkit.Material;
+ public static ATTACHED_PUMPKIN_STEM: org.bukkit.Material;
+ public static AZURE_BLUET: org.bukkit.Material;
+ public static BAKED_POTATO: org.bukkit.Material;
+ public static BAMBOO: org.bukkit.Material;
+ public static BAMBOO_SAPLING: org.bukkit.Material;
+ public static BARREL: org.bukkit.Material;
+ public static BARRIER: org.bukkit.Material;
+ public static BAT_SPAWN_EGG: org.bukkit.Material;
+ public static BEACON: org.bukkit.Material;
+ public static BEDROCK: org.bukkit.Material;
+ public static BEEF: org.bukkit.Material;
+ public static BEETROOT: org.bukkit.Material;
+ public static BEETROOTS: org.bukkit.Material;
+ public static BEETROOT_SEEDS: org.bukkit.Material;
+ public static BEETROOT_SOUP: org.bukkit.Material;
+ public static BELL: org.bukkit.Material;
+ public static BIRCH_BOAT: org.bukkit.Material;
+ public static BIRCH_BUTTON: org.bukkit.Material;
+ public static BIRCH_DOOR: org.bukkit.Material;
+ public static BIRCH_FENCE: org.bukkit.Material;
+ public static BIRCH_FENCE_GATE: org.bukkit.Material;
+ public static BIRCH_LEAVES: org.bukkit.Material;
+ public static BIRCH_LOG: org.bukkit.Material;
+ public static BIRCH_PLANKS: org.bukkit.Material;
+ public static BIRCH_PRESSURE_PLATE: org.bukkit.Material;
+ public static BIRCH_SAPLING: org.bukkit.Material;
+ public static BIRCH_SIGN: org.bukkit.Material;
+ public static BIRCH_SLAB: org.bukkit.Material;
+ public static BIRCH_STAIRS: org.bukkit.Material;
+ public static BIRCH_TRAPDOOR: org.bukkit.Material;
+ public static BIRCH_WALL_SIGN: org.bukkit.Material;
+ public static BIRCH_WOOD: org.bukkit.Material;
+ public static BLACK_BANNER: org.bukkit.Material;
+ public static BLACK_BED: org.bukkit.Material;
+ public static BLACK_CARPET: org.bukkit.Material;
+ public static BLACK_CONCRETE: org.bukkit.Material;
+ public static BLACK_CONCRETE_POWDER: org.bukkit.Material;
+ public static BLACK_DYE: org.bukkit.Material;
+ public static BLACK_GLAZED_TERRACOTTA: org.bukkit.Material;
+ public static BLACK_SHULKER_BOX: org.bukkit.Material;
+ public static BLACK_STAINED_GLASS: org.bukkit.Material;
+ public static BLACK_STAINED_GLASS_PANE: org.bukkit.Material;
+ public static BLACK_TERRACOTTA: org.bukkit.Material;
+ public static BLACK_WALL_BANNER: org.bukkit.Material;
+ public static BLACK_WOOL: org.bukkit.Material;
+ public static BLAST_FURNACE: org.bukkit.Material;
+ public static BLAZE_POWDER: org.bukkit.Material;
+ public static BLAZE_ROD: org.bukkit.Material;
+ public static BLAZE_SPAWN_EGG: org.bukkit.Material;
+ public static BLUE_BANNER: org.bukkit.Material;
+ public static BLUE_BED: org.bukkit.Material;
+ public static BLUE_CARPET: org.bukkit.Material;
+ public static BLUE_CONCRETE: org.bukkit.Material;
+ public static BLUE_CONCRETE_POWDER: org.bukkit.Material;
+ public static BLUE_DYE: org.bukkit.Material;
+ public static BLUE_GLAZED_TERRACOTTA: org.bukkit.Material;
+ public static BLUE_ICE: org.bukkit.Material;
+ public static BLUE_ORCHID: org.bukkit.Material;
+ public static BLUE_SHULKER_BOX: org.bukkit.Material;
+ public static BLUE_STAINED_GLASS: org.bukkit.Material;
+ public static BLUE_STAINED_GLASS_PANE: org.bukkit.Material;
+ public static BLUE_TERRACOTTA: org.bukkit.Material;
+ public static BLUE_WALL_BANNER: org.bukkit.Material;
+ public static BLUE_WOOL: org.bukkit.Material;
+ public static BONE: org.bukkit.Material;
+ public static BONE_BLOCK: org.bukkit.Material;
+ public static BONE_MEAL: org.bukkit.Material;
+ public static BOOK: org.bukkit.Material;
+ public static BOOKSHELF: org.bukkit.Material;
+ public static BOW: org.bukkit.Material;
+ public static BOWL: org.bukkit.Material;
+ public static BRAIN_CORAL: org.bukkit.Material;
+ public static BRAIN_CORAL_BLOCK: org.bukkit.Material;
+ public static BRAIN_CORAL_FAN: org.bukkit.Material;
+ public static BRAIN_CORAL_WALL_FAN: org.bukkit.Material;
+ public static BREAD: org.bukkit.Material;
+ public static BREWING_STAND: org.bukkit.Material;
+ public static BRICK: org.bukkit.Material;
+ public static BRICKS: org.bukkit.Material;
+ public static BRICK_SLAB: org.bukkit.Material;
+ public static BRICK_STAIRS: org.bukkit.Material;
+ public static BRICK_WALL: org.bukkit.Material;
+ public static BROWN_BANNER: org.bukkit.Material;
+ public static BROWN_BED: org.bukkit.Material;
+ public static BROWN_CARPET: org.bukkit.Material;
+ public static BROWN_CONCRETE: org.bukkit.Material;
+ public static BROWN_CONCRETE_POWDER: org.bukkit.Material;
+ public static BROWN_DYE: org.bukkit.Material;
+ public static BROWN_GLAZED_TERRACOTTA: org.bukkit.Material;
+ public static BROWN_MUSHROOM: org.bukkit.Material;
+ public static BROWN_MUSHROOM_BLOCK: org.bukkit.Material;
+ public static BROWN_SHULKER_BOX: org.bukkit.Material;
+ public static BROWN_STAINED_GLASS: org.bukkit.Material;
+ public static BROWN_STAINED_GLASS_PANE: org.bukkit.Material;
+ public static BROWN_TERRACOTTA: org.bukkit.Material;
+ public static BROWN_WALL_BANNER: org.bukkit.Material;
+ public static BROWN_WOOL: org.bukkit.Material;
+ public static BUBBLE_COLUMN: org.bukkit.Material;
+ public static BUBBLE_CORAL: org.bukkit.Material;
+ public static BUBBLE_CORAL_BLOCK: org.bukkit.Material;
+ public static BUBBLE_CORAL_FAN: org.bukkit.Material;
+ public static BUBBLE_CORAL_WALL_FAN: org.bukkit.Material;
+ public static BUCKET: org.bukkit.Material;
+ public static CACTUS: org.bukkit.Material;
+ public static CAKE: org.bukkit.Material;
+ public static CAMPFIRE: org.bukkit.Material;
+ public static CARROT: org.bukkit.Material;
+ public static CARROTS: org.bukkit.Material;
+ public static CARROT_ON_A_STICK: org.bukkit.Material;
+ public static CARTOGRAPHY_TABLE: org.bukkit.Material;
+ public static CARVED_PUMPKIN: org.bukkit.Material;
+ public static CAT_SPAWN_EGG: org.bukkit.Material;
+ public static CAULDRON: org.bukkit.Material;
+ public static CAVE_AIR: org.bukkit.Material;
+ public static CAVE_SPIDER_SPAWN_EGG: org.bukkit.Material;
+ public static CHAINMAIL_BOOTS: org.bukkit.Material;
+ public static CHAINMAIL_CHESTPLATE: org.bukkit.Material;
+ public static CHAINMAIL_HELMET: org.bukkit.Material;
+ public static CHAINMAIL_LEGGINGS: org.bukkit.Material;
+ public static CHAIN_COMMAND_BLOCK: org.bukkit.Material;
+ public static CHARCOAL: org.bukkit.Material;
+ public static CHEST: org.bukkit.Material;
+ public static CHEST_MINECART: org.bukkit.Material;
+ public static CHICKEN: org.bukkit.Material;
+ public static CHICKEN_SPAWN_EGG: org.bukkit.Material;
+ public static CHIPPED_ANVIL: org.bukkit.Material;
+ public static CHISELED_QUARTZ_BLOCK: org.bukkit.Material;
+ public static CHISELED_RED_SANDSTONE: org.bukkit.Material;
+ public static CHISELED_SANDSTONE: org.bukkit.Material;
+ public static CHISELED_STONE_BRICKS: org.bukkit.Material;
+ public static CHORUS_FLOWER: org.bukkit.Material;
+ public static CHORUS_FRUIT: org.bukkit.Material;
+ public static CHORUS_PLANT: org.bukkit.Material;
+ public static CLAY: org.bukkit.Material;
+ public static CLAY_BALL: org.bukkit.Material;
+ public static CLOCK: org.bukkit.Material;
+ public static COAL: org.bukkit.Material;
+ public static COAL_BLOCK: org.bukkit.Material;
+ public static COAL_ORE: org.bukkit.Material;
+ public static COARSE_DIRT: org.bukkit.Material;
+ public static COBBLESTONE: org.bukkit.Material;
+ public static COBBLESTONE_SLAB: org.bukkit.Material;
+ public static COBBLESTONE_STAIRS: org.bukkit.Material;
+ public static COBBLESTONE_WALL: org.bukkit.Material;
+ public static COBWEB: org.bukkit.Material;
+ public static COCOA: org.bukkit.Material;
+ public static COCOA_BEANS: org.bukkit.Material;
+ public static COD: org.bukkit.Material;
+ public static COD_BUCKET: org.bukkit.Material;
+ public static COD_SPAWN_EGG: org.bukkit.Material;
+ public static COMMAND_BLOCK: org.bukkit.Material;
+ public static COMMAND_BLOCK_MINECART: org.bukkit.Material;
+ public static COMPARATOR: org.bukkit.Material;
+ public static COMPASS: org.bukkit.Material;
+ public static COMPOSTER: org.bukkit.Material;
+ public static CONDUIT: org.bukkit.Material;
+ public static COOKED_BEEF: org.bukkit.Material;
+ public static COOKED_CHICKEN: org.bukkit.Material;
+ public static COOKED_COD: org.bukkit.Material;
+ public static COOKED_MUTTON: org.bukkit.Material;
+ public static COOKED_PORKCHOP: org.bukkit.Material;
+ public static COOKED_RABBIT: org.bukkit.Material;
+ public static COOKED_SALMON: org.bukkit.Material;
+ public static COOKIE: org.bukkit.Material;
+ public static CORNFLOWER: org.bukkit.Material;
+ public static COW_SPAWN_EGG: org.bukkit.Material;
+ public static CRACKED_STONE_BRICKS: org.bukkit.Material;
+ public static CRAFTING_TABLE: org.bukkit.Material;
+ public static CREEPER_BANNER_PATTERN: org.bukkit.Material;
+ public static CREEPER_HEAD: org.bukkit.Material;
+ public static CREEPER_SPAWN_EGG: org.bukkit.Material;
+ public static CREEPER_WALL_HEAD: org.bukkit.Material;
+ public static CROSSBOW: org.bukkit.Material;
+ public static CUT_RED_SANDSTONE: org.bukkit.Material;
+ public static CUT_RED_SANDSTONE_SLAB: org.bukkit.Material;
+ public static CUT_SANDSTONE: org.bukkit.Material;
+ public static CUT_SANDSTONE_SLAB: org.bukkit.Material;
+ public static CYAN_BANNER: org.bukkit.Material;
+ public static CYAN_BED: org.bukkit.Material;
+ public static CYAN_CARPET: org.bukkit.Material;
+ public static CYAN_CONCRETE: org.bukkit.Material;
+ public static CYAN_CONCRETE_POWDER: org.bukkit.Material;
+ public static CYAN_DYE: org.bukkit.Material;
+ public static CYAN_GLAZED_TERRACOTTA: org.bukkit.Material;
+ public static CYAN_SHULKER_BOX: org.bukkit.Material;
+ public static CYAN_STAINED_GLASS: org.bukkit.Material;
+ public static CYAN_STAINED_GLASS_PANE: org.bukkit.Material;
+ public static CYAN_TERRACOTTA: org.bukkit.Material;
+ public static CYAN_WALL_BANNER: org.bukkit.Material;
+ public static CYAN_WOOL: org.bukkit.Material;
+ public static DAMAGED_ANVIL: org.bukkit.Material;
+ public static DANDELION: org.bukkit.Material;
+ public static DARK_OAK_BOAT: org.bukkit.Material;
+ public static DARK_OAK_BUTTON: org.bukkit.Material;
+ public static DARK_OAK_DOOR: org.bukkit.Material;
+ public static DARK_OAK_FENCE: org.bukkit.Material;
+ public static DARK_OAK_FENCE_GATE: org.bukkit.Material;
+ public static DARK_OAK_LEAVES: org.bukkit.Material;
+ public static DARK_OAK_LOG: org.bukkit.Material;
+ public static DARK_OAK_PLANKS: org.bukkit.Material;
+ public static DARK_OAK_PRESSURE_PLATE: org.bukkit.Material;
+ public static DARK_OAK_SAPLING: org.bukkit.Material;
+ public static DARK_OAK_SIGN: org.bukkit.Material;
+ public static DARK_OAK_SLAB: org.bukkit.Material;
+ public static DARK_OAK_STAIRS: org.bukkit.Material;
+ public static DARK_OAK_TRAPDOOR: org.bukkit.Material;
+ public static DARK_OAK_WALL_SIGN: org.bukkit.Material;
+ public static DARK_OAK_WOOD: org.bukkit.Material;
+ public static DARK_PRISMARINE: org.bukkit.Material;
+ public static DARK_PRISMARINE_SLAB: org.bukkit.Material;
+ public static DARK_PRISMARINE_STAIRS: org.bukkit.Material;
+ public static DAYLIGHT_DETECTOR: org.bukkit.Material;
+ public static DEAD_BRAIN_CORAL: org.bukkit.Material;
+ public static DEAD_BRAIN_CORAL_BLOCK: org.bukkit.Material;
+ public static DEAD_BRAIN_CORAL_FAN: org.bukkit.Material;
+ public static DEAD_BRAIN_CORAL_WALL_FAN: org.bukkit.Material;
+ public static DEAD_BUBBLE_CORAL: org.bukkit.Material;
+ public static DEAD_BUBBLE_CORAL_BLOCK: org.bukkit.Material;
+ public static DEAD_BUBBLE_CORAL_FAN: org.bukkit.Material;
+ public static DEAD_BUBBLE_CORAL_WALL_FAN: org.bukkit.Material;
+ public static DEAD_BUSH: org.bukkit.Material;
+ public static DEAD_FIRE_CORAL: org.bukkit.Material;
+ public static DEAD_FIRE_CORAL_BLOCK: org.bukkit.Material;
+ public static DEAD_FIRE_CORAL_FAN: org.bukkit.Material;
+ public static DEAD_FIRE_CORAL_WALL_FAN: org.bukkit.Material;
+ public static DEAD_HORN_CORAL: org.bukkit.Material;
+ public static DEAD_HORN_CORAL_BLOCK: org.bukkit.Material;
+ public static DEAD_HORN_CORAL_FAN: org.bukkit.Material;
+ public static DEAD_HORN_CORAL_WALL_FAN: org.bukkit.Material;
+ public static DEAD_TUBE_CORAL: org.bukkit.Material;
+ public static DEAD_TUBE_CORAL_BLOCK: org.bukkit.Material;
+ public static DEAD_TUBE_CORAL_FAN: org.bukkit.Material;
+ public static DEAD_TUBE_CORAL_WALL_FAN: org.bukkit.Material;
+ public static DEBUG_STICK: org.bukkit.Material;
+ public static DETECTOR_RAIL: org.bukkit.Material;
+ public static DIAMOND: org.bukkit.Material;
+ public static DIAMOND_AXE: org.bukkit.Material;
+ public static DIAMOND_BLOCK: org.bukkit.Material;
+ public static DIAMOND_BOOTS: org.bukkit.Material;
+ public static DIAMOND_CHESTPLATE: org.bukkit.Material;
+ public static DIAMOND_HELMET: org.bukkit.Material;
+ public static DIAMOND_HOE: org.bukkit.Material;
+ public static DIAMOND_HORSE_ARMOR: org.bukkit.Material;
+ public static DIAMOND_LEGGINGS: org.bukkit.Material;
+ public static DIAMOND_ORE: org.bukkit.Material;
+ public static DIAMOND_PICKAXE: org.bukkit.Material;
+ public static DIAMOND_SHOVEL: org.bukkit.Material;
+ public static DIAMOND_SWORD: org.bukkit.Material;
+ public static DIORITE: org.bukkit.Material;
+ public static DIORITE_SLAB: org.bukkit.Material;
+ public static DIORITE_STAIRS: org.bukkit.Material;
+ public static DIORITE_WALL: org.bukkit.Material;
+ public static DIRT: org.bukkit.Material;
+ public static DISPENSER: org.bukkit.Material;
+ public static DOLPHIN_SPAWN_EGG: org.bukkit.Material;
+ public static DONKEY_SPAWN_EGG: org.bukkit.Material;
+ public static DRAGON_BREATH: org.bukkit.Material;
+ public static DRAGON_EGG: org.bukkit.Material;
+ public static DRAGON_HEAD: org.bukkit.Material;
+ public static DRAGON_WALL_HEAD: org.bukkit.Material;
+ public static DRIED_KELP: org.bukkit.Material;
+ public static DRIED_KELP_BLOCK: org.bukkit.Material;
+ public static DROPPER: org.bukkit.Material;
+ public static DROWNED_SPAWN_EGG: org.bukkit.Material;
+ public static EGG: org.bukkit.Material;
+ public static ELDER_GUARDIAN_SPAWN_EGG: org.bukkit.Material;
+ public static ELYTRA: org.bukkit.Material;
+ public static EMERALD: org.bukkit.Material;
+ public static EMERALD_BLOCK: org.bukkit.Material;
+ public static EMERALD_ORE: org.bukkit.Material;
+ public static ENCHANTED_BOOK: org.bukkit.Material;
+ public static ENCHANTED_GOLDEN_APPLE: org.bukkit.Material;
+ public static ENCHANTING_TABLE: org.bukkit.Material;
+ public static ENDERMAN_SPAWN_EGG: org.bukkit.Material;
+ public static ENDERMITE_SPAWN_EGG: org.bukkit.Material;
+ public static ENDER_CHEST: org.bukkit.Material;
+ public static ENDER_EYE: org.bukkit.Material;
+ public static ENDER_PEARL: org.bukkit.Material;
+ public static END_CRYSTAL: org.bukkit.Material;
+ public static END_GATEWAY: org.bukkit.Material;
+ public static END_PORTAL: org.bukkit.Material;
+ public static END_PORTAL_FRAME: org.bukkit.Material;
+ public static END_ROD: org.bukkit.Material;
+ public static END_STONE: org.bukkit.Material;
+ public static END_STONE_BRICKS: org.bukkit.Material;
+ public static END_STONE_BRICK_SLAB: org.bukkit.Material;
+ public static END_STONE_BRICK_STAIRS: org.bukkit.Material;
+ public static END_STONE_BRICK_WALL: org.bukkit.Material;
+ public static EVOKER_SPAWN_EGG: org.bukkit.Material;
+ public static EXPERIENCE_BOTTLE: org.bukkit.Material;
+ public static FARMLAND: org.bukkit.Material;
+ public static FEATHER: org.bukkit.Material;
+ public static FERMENTED_SPIDER_EYE: org.bukkit.Material;
+ public static FERN: org.bukkit.Material;
+ public static FILLED_MAP: org.bukkit.Material;
+ public static FIRE: org.bukkit.Material;
+ public static FIREWORK_ROCKET: org.bukkit.Material;
+ public static FIREWORK_STAR: org.bukkit.Material;
+ public static FIRE_CHARGE: org.bukkit.Material;
+ public static FIRE_CORAL: org.bukkit.Material;
+ public static FIRE_CORAL_BLOCK: org.bukkit.Material;
+ public static FIRE_CORAL_FAN: org.bukkit.Material;
+ public static FIRE_CORAL_WALL_FAN: org.bukkit.Material;
+ public static FISHING_ROD: org.bukkit.Material;
+ public static FLETCHING_TABLE: org.bukkit.Material;
+ public static FLINT: org.bukkit.Material;
+ public static FLINT_AND_STEEL: org.bukkit.Material;
+ public static FLOWER_BANNER_PATTERN: org.bukkit.Material;
+ public static FLOWER_POT: org.bukkit.Material;
+ public static FOX_SPAWN_EGG: org.bukkit.Material;
+ public static FROSTED_ICE: org.bukkit.Material;
+ public static FURNACE: org.bukkit.Material;
+ public static FURNACE_MINECART: org.bukkit.Material;
+ public static GHAST_SPAWN_EGG: org.bukkit.Material;
+ public static GHAST_TEAR: org.bukkit.Material;
+ public static GLASS: org.bukkit.Material;
+ public static GLASS_BOTTLE: org.bukkit.Material;
+ public static GLASS_PANE: org.bukkit.Material;
+ public static GLISTERING_MELON_SLICE: org.bukkit.Material;
+ public static GLOBE_BANNER_PATTERN: org.bukkit.Material;
+ public static GLOWSTONE: org.bukkit.Material;
+ public static GLOWSTONE_DUST: org.bukkit.Material;
+ public static GOLDEN_APPLE: org.bukkit.Material;
+ public static GOLDEN_AXE: org.bukkit.Material;
+ public static GOLDEN_BOOTS: org.bukkit.Material;
+ public static GOLDEN_CARROT: org.bukkit.Material;
+ public static GOLDEN_CHESTPLATE: org.bukkit.Material;
+ public static GOLDEN_HELMET: org.bukkit.Material;
+ public static GOLDEN_HOE: org.bukkit.Material;
+ public static GOLDEN_HORSE_ARMOR: org.bukkit.Material;
+ public static GOLDEN_LEGGINGS: org.bukkit.Material;
+ public static GOLDEN_PICKAXE: org.bukkit.Material;
+ public static GOLDEN_SHOVEL: org.bukkit.Material;
+ public static GOLDEN_SWORD: org.bukkit.Material;
+ public static GOLD_BLOCK: org.bukkit.Material;
+ public static GOLD_INGOT: org.bukkit.Material;
+ public static GOLD_NUGGET: org.bukkit.Material;
+ public static GOLD_ORE: org.bukkit.Material;
+ public static GRANITE: org.bukkit.Material;
+ public static GRANITE_SLAB: org.bukkit.Material;
+ public static GRANITE_STAIRS: org.bukkit.Material;
+ public static GRANITE_WALL: org.bukkit.Material;
+ public static GRASS: org.bukkit.Material;
+ public static GRASS_BLOCK: org.bukkit.Material;
+ public static GRASS_PATH: org.bukkit.Material;
+ public static GRAVEL: org.bukkit.Material;
+ public static GRAY_BANNER: org.bukkit.Material;
+ public static GRAY_BED: org.bukkit.Material;
+ public static GRAY_CARPET: org.bukkit.Material;
+ public static GRAY_CONCRETE: org.bukkit.Material;
+ public static GRAY_CONCRETE_POWDER: org.bukkit.Material;
+ public static GRAY_DYE: org.bukkit.Material;
+ public static GRAY_GLAZED_TERRACOTTA: org.bukkit.Material;
+ public static GRAY_SHULKER_BOX: org.bukkit.Material;
+ public static GRAY_STAINED_GLASS: org.bukkit.Material;
+ public static GRAY_STAINED_GLASS_PANE: org.bukkit.Material;
+ public static GRAY_TERRACOTTA: org.bukkit.Material;
+ public static GRAY_WALL_BANNER: org.bukkit.Material;
+ public static GRAY_WOOL: org.bukkit.Material;
+ public static GREEN_BANNER: org.bukkit.Material;
+ public static GREEN_BED: org.bukkit.Material;
+ public static GREEN_CARPET: org.bukkit.Material;
+ public static GREEN_CONCRETE: org.bukkit.Material;
+ public static GREEN_CONCRETE_POWDER: org.bukkit.Material;
+ public static GREEN_DYE: org.bukkit.Material;
+ public static GREEN_GLAZED_TERRACOTTA: org.bukkit.Material;
+ public static GREEN_SHULKER_BOX: org.bukkit.Material;
+ public static GREEN_STAINED_GLASS: org.bukkit.Material;
+ public static GREEN_STAINED_GLASS_PANE: org.bukkit.Material;
+ public static GREEN_TERRACOTTA: org.bukkit.Material;
+ public static GREEN_WALL_BANNER: org.bukkit.Material;
+ public static GREEN_WOOL: org.bukkit.Material;
+ public static GRINDSTONE: org.bukkit.Material;
+ public static GUARDIAN_SPAWN_EGG: org.bukkit.Material;
+ public static GUNPOWDER: org.bukkit.Material;
+ public static HAY_BLOCK: org.bukkit.Material;
+ public static HEART_OF_THE_SEA: org.bukkit.Material;
+ public static HEAVY_WEIGHTED_PRESSURE_PLATE: org.bukkit.Material;
+ public static HOPPER: org.bukkit.Material;
+ public static HOPPER_MINECART: org.bukkit.Material;
+ public static HORN_CORAL: org.bukkit.Material;
+ public static HORN_CORAL_BLOCK: org.bukkit.Material;
+ public static HORN_CORAL_FAN: org.bukkit.Material;
+ public static HORN_CORAL_WALL_FAN: org.bukkit.Material;
+ public static HORSE_SPAWN_EGG: org.bukkit.Material;
+ public static HUSK_SPAWN_EGG: org.bukkit.Material;
+ public static ICE: org.bukkit.Material;
+ public static INFESTED_CHISELED_STONE_BRICKS: org.bukkit.Material;
+ public static INFESTED_COBBLESTONE: org.bukkit.Material;
+ public static INFESTED_CRACKED_STONE_BRICKS: org.bukkit.Material;
+ public static INFESTED_MOSSY_STONE_BRICKS: org.bukkit.Material;
+ public static INFESTED_STONE: org.bukkit.Material;
+ public static INFESTED_STONE_BRICKS: org.bukkit.Material;
+ public static INK_SAC: org.bukkit.Material;
+ public static IRON_AXE: org.bukkit.Material;
+ public static IRON_BARS: org.bukkit.Material;
+ public static IRON_BLOCK: org.bukkit.Material;
+ public static IRON_BOOTS: org.bukkit.Material;
+ public static IRON_CHESTPLATE: org.bukkit.Material;
+ public static IRON_DOOR: org.bukkit.Material;
+ public static IRON_HELMET: org.bukkit.Material;
+ public static IRON_HOE: org.bukkit.Material;
+ public static IRON_HORSE_ARMOR: org.bukkit.Material;
+ public static IRON_INGOT: org.bukkit.Material;
+ public static IRON_LEGGINGS: org.bukkit.Material;
+ public static IRON_NUGGET: org.bukkit.Material;
+ public static IRON_ORE: org.bukkit.Material;
+ public static IRON_PICKAXE: org.bukkit.Material;
+ public static IRON_SHOVEL: org.bukkit.Material;
+ public static IRON_SWORD: org.bukkit.Material;
+ public static IRON_TRAPDOOR: org.bukkit.Material;
+ public static ITEM_FRAME: org.bukkit.Material;
+ public static JACK_O_LANTERN: org.bukkit.Material;
+ public static JIGSAW: org.bukkit.Material;
+ public static JUKEBOX: org.bukkit.Material;
+ public static JUNGLE_BOAT: org.bukkit.Material;
+ public static JUNGLE_BUTTON: org.bukkit.Material;
+ public static JUNGLE_DOOR: org.bukkit.Material;
+ public static JUNGLE_FENCE: org.bukkit.Material;
+ public static JUNGLE_FENCE_GATE: org.bukkit.Material;
+ public static JUNGLE_LEAVES: org.bukkit.Material;
+ public static JUNGLE_LOG: org.bukkit.Material;
+ public static JUNGLE_PLANKS: org.bukkit.Material;
+ public static JUNGLE_PRESSURE_PLATE: org.bukkit.Material;
+ public static JUNGLE_SAPLING: org.bukkit.Material;
+ public static JUNGLE_SIGN: org.bukkit.Material;
+ public static JUNGLE_SLAB: org.bukkit.Material;
+ public static JUNGLE_STAIRS: org.bukkit.Material;
+ public static JUNGLE_TRAPDOOR: org.bukkit.Material;
+ public static JUNGLE_WALL_SIGN: org.bukkit.Material;
+ public static JUNGLE_WOOD: org.bukkit.Material;
+ public static KELP: org.bukkit.Material;
+ public static KELP_PLANT: org.bukkit.Material;
+ public static KNOWLEDGE_BOOK: org.bukkit.Material;
+ public static LADDER: org.bukkit.Material;
+ public static LANTERN: org.bukkit.Material;
+ public static LAPIS_BLOCK: org.bukkit.Material;
+ public static LAPIS_LAZULI: org.bukkit.Material;
+ public static LAPIS_ORE: org.bukkit.Material;
+ public static LARGE_FERN: org.bukkit.Material;
+ public static LAVA: org.bukkit.Material;
+ public static LAVA_BUCKET: org.bukkit.Material;
+ public static LEAD: org.bukkit.Material;
+ public static LEATHER: org.bukkit.Material;
+ public static LEATHER_BOOTS: org.bukkit.Material;
+ public static LEATHER_CHESTPLATE: org.bukkit.Material;
+ public static LEATHER_HELMET: org.bukkit.Material;
+ public static LEATHER_HORSE_ARMOR: org.bukkit.Material;
+ public static LEATHER_LEGGINGS: org.bukkit.Material;
+ public static LECTERN: org.bukkit.Material;
+ public static LEVER: org.bukkit.Material;
+ public static LIGHT_BLUE_BANNER: org.bukkit.Material;
+ public static LIGHT_BLUE_BED: org.bukkit.Material;
+ public static LIGHT_BLUE_CARPET: org.bukkit.Material;
+ public static LIGHT_BLUE_CONCRETE: org.bukkit.Material;
+ public static LIGHT_BLUE_CONCRETE_POWDER: org.bukkit.Material;
+ public static LIGHT_BLUE_DYE: org.bukkit.Material;
+ public static LIGHT_BLUE_GLAZED_TERRACOTTA: org.bukkit.Material;
+ public static LIGHT_BLUE_SHULKER_BOX: org.bukkit.Material;
+ public static LIGHT_BLUE_STAINED_GLASS: org.bukkit.Material;
+ public static LIGHT_BLUE_STAINED_GLASS_PANE: org.bukkit.Material;
+ public static LIGHT_BLUE_TERRACOTTA: org.bukkit.Material;
+ public static LIGHT_BLUE_WALL_BANNER: org.bukkit.Material;
+ public static LIGHT_BLUE_WOOL: org.bukkit.Material;
+ public static LIGHT_GRAY_BANNER: org.bukkit.Material;
+ public static LIGHT_GRAY_BED: org.bukkit.Material;
+ public static LIGHT_GRAY_CARPET: org.bukkit.Material;
+ public static LIGHT_GRAY_CONCRETE: org.bukkit.Material;
+ public static LIGHT_GRAY_CONCRETE_POWDER: org.bukkit.Material;
+ public static LIGHT_GRAY_DYE: org.bukkit.Material;
+ public static LIGHT_GRAY_GLAZED_TERRACOTTA: org.bukkit.Material;
+ public static LIGHT_GRAY_SHULKER_BOX: org.bukkit.Material;
+ public static LIGHT_GRAY_STAINED_GLASS: org.bukkit.Material;
+ public static LIGHT_GRAY_STAINED_GLASS_PANE: org.bukkit.Material;
+ public static LIGHT_GRAY_TERRACOTTA: org.bukkit.Material;
+ public static LIGHT_GRAY_WALL_BANNER: org.bukkit.Material;
+ public static LIGHT_GRAY_WOOL: org.bukkit.Material;
+ public static LIGHT_WEIGHTED_PRESSURE_PLATE: org.bukkit.Material;
+ public static LILAC: org.bukkit.Material;
+ public static LILY_OF_THE_VALLEY: org.bukkit.Material;
+ public static LILY_PAD: org.bukkit.Material;
+ public static LIME_BANNER: org.bukkit.Material;
+ public static LIME_BED: org.bukkit.Material;
+ public static LIME_CARPET: org.bukkit.Material;
+ public static LIME_CONCRETE: org.bukkit.Material;
+ public static LIME_CONCRETE_POWDER: org.bukkit.Material;
+ public static LIME_DYE: org.bukkit.Material;
+ public static LIME_GLAZED_TERRACOTTA: org.bukkit.Material;
+ public static LIME_SHULKER_BOX: org.bukkit.Material;
+ public static LIME_STAINED_GLASS: org.bukkit.Material;
+ public static LIME_STAINED_GLASS_PANE: org.bukkit.Material;
+ public static LIME_TERRACOTTA: org.bukkit.Material;
+ public static LIME_WALL_BANNER: org.bukkit.Material;
+ public static LIME_WOOL: org.bukkit.Material;
+ public static LINGERING_POTION: org.bukkit.Material;
+ public static LLAMA_SPAWN_EGG: org.bukkit.Material;
+ public static LOOM: org.bukkit.Material;
+ public static MAGENTA_BANNER: org.bukkit.Material;
+ public static MAGENTA_BED: org.bukkit.Material;
+ public static MAGENTA_CARPET: org.bukkit.Material;
+ public static MAGENTA_CONCRETE: org.bukkit.Material;
+ public static MAGENTA_CONCRETE_POWDER: org.bukkit.Material;
+ public static MAGENTA_DYE: org.bukkit.Material;
+ public static MAGENTA_GLAZED_TERRACOTTA: org.bukkit.Material;
+ public static MAGENTA_SHULKER_BOX: org.bukkit.Material;
+ public static MAGENTA_STAINED_GLASS: org.bukkit.Material;
+ public static MAGENTA_STAINED_GLASS_PANE: org.bukkit.Material;
+ public static MAGENTA_TERRACOTTA: org.bukkit.Material;
+ public static MAGENTA_WALL_BANNER: org.bukkit.Material;
+ public static MAGENTA_WOOL: org.bukkit.Material;
+ public static MAGMA_BLOCK: org.bukkit.Material;
+ public static MAGMA_CREAM: org.bukkit.Material;
+ public static MAGMA_CUBE_SPAWN_EGG: org.bukkit.Material;
+ public static MAP: org.bukkit.Material;
+ public static MELON: org.bukkit.Material;
+ public static MELON_SEEDS: org.bukkit.Material;
+ public static MELON_SLICE: org.bukkit.Material;
+ public static MELON_STEM: org.bukkit.Material;
+ public static MILK_BUCKET: org.bukkit.Material;
+ public static MINECART: org.bukkit.Material;
+ public static MOJANG_BANNER_PATTERN: org.bukkit.Material;
+ public static MOOSHROOM_SPAWN_EGG: org.bukkit.Material;
+ public static MOSSY_COBBLESTONE: org.bukkit.Material;
+ public static MOSSY_COBBLESTONE_SLAB: org.bukkit.Material;
+ public static MOSSY_COBBLESTONE_STAIRS: org.bukkit.Material;
+ public static MOSSY_COBBLESTONE_WALL: org.bukkit.Material;
+ public static MOSSY_STONE_BRICKS: org.bukkit.Material;
+ public static MOSSY_STONE_BRICK_SLAB: org.bukkit.Material;
+ public static MOSSY_STONE_BRICK_STAIRS: org.bukkit.Material;
+ public static MOSSY_STONE_BRICK_WALL: org.bukkit.Material;
+ public static MOVING_PISTON: org.bukkit.Material;
+ public static MULE_SPAWN_EGG: org.bukkit.Material;
+ public static MUSHROOM_STEM: org.bukkit.Material;
+ public static MUSHROOM_STEW: org.bukkit.Material;
+ public static MUSIC_DISC_11: org.bukkit.Material;
+ public static MUSIC_DISC_13: org.bukkit.Material;
+ public static MUSIC_DISC_BLOCKS: org.bukkit.Material;
+ public static MUSIC_DISC_CAT: org.bukkit.Material;
+ public static MUSIC_DISC_CHIRP: org.bukkit.Material;
+ public static MUSIC_DISC_FAR: org.bukkit.Material;
+ public static MUSIC_DISC_MALL: org.bukkit.Material;
+ public static MUSIC_DISC_MELLOHI: org.bukkit.Material;
+ public static MUSIC_DISC_STAL: org.bukkit.Material;
+ public static MUSIC_DISC_STRAD: org.bukkit.Material;
+ public static MUSIC_DISC_WAIT: org.bukkit.Material;
+ public static MUSIC_DISC_WARD: org.bukkit.Material;
+ public static MUTTON: org.bukkit.Material;
+ public static MYCELIUM: org.bukkit.Material;
+ public static NAME_TAG: org.bukkit.Material;
+ public static NAUTILUS_SHELL: org.bukkit.Material;
+ public static NETHERRACK: org.bukkit.Material;
+ public static NETHER_BRICK: org.bukkit.Material;
+ public static NETHER_BRICKS: org.bukkit.Material;
+ public static NETHER_BRICK_FENCE: org.bukkit.Material;
+ public static NETHER_BRICK_SLAB: org.bukkit.Material;
+ public static NETHER_BRICK_STAIRS: org.bukkit.Material;
+ public static NETHER_BRICK_WALL: org.bukkit.Material;
+ public static NETHER_PORTAL: org.bukkit.Material;
+ public static NETHER_QUARTZ_ORE: org.bukkit.Material;
+ public static NETHER_STAR: org.bukkit.Material;
+ public static NETHER_WART: org.bukkit.Material;
+ public static NETHER_WART_BLOCK: org.bukkit.Material;
+ public static NOTE_BLOCK: org.bukkit.Material;
+ public static OAK_BOAT: org.bukkit.Material;
+ public static OAK_BUTTON: org.bukkit.Material;
+ public static OAK_DOOR: org.bukkit.Material;
+ public static OAK_FENCE: org.bukkit.Material;
+ public static OAK_FENCE_GATE: org.bukkit.Material;
+ public static OAK_LEAVES: org.bukkit.Material;
+ public static OAK_LOG: org.bukkit.Material;
+ public static OAK_PLANKS: org.bukkit.Material;
+ public static OAK_PRESSURE_PLATE: org.bukkit.Material;
+ public static OAK_SAPLING: org.bukkit.Material;
+ public static OAK_SIGN: org.bukkit.Material;
+ public static OAK_SLAB: org.bukkit.Material;
+ public static OAK_STAIRS: org.bukkit.Material;
+ public static OAK_TRAPDOOR: org.bukkit.Material;
+ public static OAK_WALL_SIGN: org.bukkit.Material;
+ public static OAK_WOOD: org.bukkit.Material;
+ public static OBSERVER: org.bukkit.Material;
+ public static OBSIDIAN: org.bukkit.Material;
+ public static OCELOT_SPAWN_EGG: org.bukkit.Material;
+ public static ORANGE_BANNER: org.bukkit.Material;
+ public static ORANGE_BED: org.bukkit.Material;
+ public static ORANGE_CARPET: org.bukkit.Material;
+ public static ORANGE_CONCRETE: org.bukkit.Material;
+ public static ORANGE_CONCRETE_POWDER: org.bukkit.Material;
+ public static ORANGE_DYE: org.bukkit.Material;
+ public static ORANGE_GLAZED_TERRACOTTA: org.bukkit.Material;
+ public static ORANGE_SHULKER_BOX: org.bukkit.Material;
+ public static ORANGE_STAINED_GLASS: org.bukkit.Material;
+ public static ORANGE_STAINED_GLASS_PANE: org.bukkit.Material;
+ public static ORANGE_TERRACOTTA: org.bukkit.Material;
+ public static ORANGE_TULIP: org.bukkit.Material;
+ public static ORANGE_WALL_BANNER: org.bukkit.Material;
+ public static ORANGE_WOOL: org.bukkit.Material;
+ public static OXEYE_DAISY: org.bukkit.Material;
+ public static PACKED_ICE: org.bukkit.Material;
+ public static PAINTING: org.bukkit.Material;
+ public static PANDA_SPAWN_EGG: org.bukkit.Material;
+ public static PAPER: org.bukkit.Material;
+ public static PARROT_SPAWN_EGG: org.bukkit.Material;
+ public static PEONY: org.bukkit.Material;
+ public static PETRIFIED_OAK_SLAB: org.bukkit.Material;
+ public static PHANTOM_MEMBRANE: org.bukkit.Material;
+ public static PHANTOM_SPAWN_EGG: org.bukkit.Material;
+ public static PIG_SPAWN_EGG: org.bukkit.Material;
+ public static PILLAGER_SPAWN_EGG: org.bukkit.Material;
+ public static PINK_BANNER: org.bukkit.Material;
+ public static PINK_BED: org.bukkit.Material;
+ public static PINK_CARPET: org.bukkit.Material;
+ public static PINK_CONCRETE: org.bukkit.Material;
+ public static PINK_CONCRETE_POWDER: org.bukkit.Material;
+ public static PINK_DYE: org.bukkit.Material;
+ public static PINK_GLAZED_TERRACOTTA: org.bukkit.Material;
+ public static PINK_SHULKER_BOX: org.bukkit.Material;
+ public static PINK_STAINED_GLASS: org.bukkit.Material;
+ public static PINK_STAINED_GLASS_PANE: org.bukkit.Material;
+ public static PINK_TERRACOTTA: org.bukkit.Material;
+ public static PINK_TULIP: org.bukkit.Material;
+ public static PINK_WALL_BANNER: org.bukkit.Material;
+ public static PINK_WOOL: org.bukkit.Material;
+ public static PISTON: org.bukkit.Material;
+ public static PISTON_HEAD: org.bukkit.Material;
+ public static PLAYER_HEAD: org.bukkit.Material;
+ public static PLAYER_WALL_HEAD: org.bukkit.Material;
+ public static PODZOL: org.bukkit.Material;
+ public static POISONOUS_POTATO: org.bukkit.Material;
+ public static POLAR_BEAR_SPAWN_EGG: org.bukkit.Material;
+ public static POLISHED_ANDESITE: org.bukkit.Material;
+ public static POLISHED_ANDESITE_SLAB: org.bukkit.Material;
+ public static POLISHED_ANDESITE_STAIRS: org.bukkit.Material;
+ public static POLISHED_DIORITE: org.bukkit.Material;
+ public static POLISHED_DIORITE_SLAB: org.bukkit.Material;
+ public static POLISHED_DIORITE_STAIRS: org.bukkit.Material;
+ public static POLISHED_GRANITE: org.bukkit.Material;
+ public static POLISHED_GRANITE_SLAB: org.bukkit.Material;
+ public static POLISHED_GRANITE_STAIRS: org.bukkit.Material;
+ public static POPPED_CHORUS_FRUIT: org.bukkit.Material;
+ public static POPPY: org.bukkit.Material;
+ public static PORKCHOP: org.bukkit.Material;
+ public static POTATO: org.bukkit.Material;
+ public static POTATOES: org.bukkit.Material;
+ public static POTION: org.bukkit.Material;
+ public static POTTED_ACACIA_SAPLING: org.bukkit.Material;
+ public static POTTED_ALLIUM: org.bukkit.Material;
+ public static POTTED_AZURE_BLUET: org.bukkit.Material;
+ public static POTTED_BAMBOO: org.bukkit.Material;
+ public static POTTED_BIRCH_SAPLING: org.bukkit.Material;
+ public static POTTED_BLUE_ORCHID: org.bukkit.Material;
+ public static POTTED_BROWN_MUSHROOM: org.bukkit.Material;
+ public static POTTED_CACTUS: org.bukkit.Material;
+ public static POTTED_CORNFLOWER: org.bukkit.Material;
+ public static POTTED_DANDELION: org.bukkit.Material;
+ public static POTTED_DARK_OAK_SAPLING: org.bukkit.Material;
+ public static POTTED_DEAD_BUSH: org.bukkit.Material;
+ public static POTTED_FERN: org.bukkit.Material;
+ public static POTTED_JUNGLE_SAPLING: org.bukkit.Material;
+ public static POTTED_LILY_OF_THE_VALLEY: org.bukkit.Material;
+ public static POTTED_OAK_SAPLING: org.bukkit.Material;
+ public static POTTED_ORANGE_TULIP: org.bukkit.Material;
+ public static POTTED_OXEYE_DAISY: org.bukkit.Material;
+ public static POTTED_PINK_TULIP: org.bukkit.Material;
+ public static POTTED_POPPY: org.bukkit.Material;
+ public static POTTED_RED_MUSHROOM: org.bukkit.Material;
+ public static POTTED_RED_TULIP: org.bukkit.Material;
+ public static POTTED_SPRUCE_SAPLING: org.bukkit.Material;
+ public static POTTED_WHITE_TULIP: org.bukkit.Material;
+ public static POTTED_WITHER_ROSE: org.bukkit.Material;
+ public static POWERED_RAIL: org.bukkit.Material;
+ public static PRISMARINE: org.bukkit.Material;
+ public static PRISMARINE_BRICKS: org.bukkit.Material;
+ public static PRISMARINE_BRICK_SLAB: org.bukkit.Material;
+ public static PRISMARINE_BRICK_STAIRS: org.bukkit.Material;
+ public static PRISMARINE_CRYSTALS: org.bukkit.Material;
+ public static PRISMARINE_SHARD: org.bukkit.Material;
+ public static PRISMARINE_SLAB: org.bukkit.Material;
+ public static PRISMARINE_STAIRS: org.bukkit.Material;
+ public static PRISMARINE_WALL: org.bukkit.Material;
+ public static PUFFERFISH: org.bukkit.Material;
+ public static PUFFERFISH_BUCKET: org.bukkit.Material;
+ public static PUFFERFISH_SPAWN_EGG: org.bukkit.Material;
+ public static PUMPKIN: org.bukkit.Material;
+ public static PUMPKIN_PIE: org.bukkit.Material;
+ public static PUMPKIN_SEEDS: org.bukkit.Material;
+ public static PUMPKIN_STEM: org.bukkit.Material;
+ public static PURPLE_BANNER: org.bukkit.Material;
+ public static PURPLE_BED: org.bukkit.Material;
+ public static PURPLE_CARPET: org.bukkit.Material;
+ public static PURPLE_CONCRETE: org.bukkit.Material;
+ public static PURPLE_CONCRETE_POWDER: org.bukkit.Material;
+ public static PURPLE_DYE: org.bukkit.Material;
+ public static PURPLE_GLAZED_TERRACOTTA: org.bukkit.Material;
+ public static PURPLE_SHULKER_BOX: org.bukkit.Material;
+ public static PURPLE_STAINED_GLASS: org.bukkit.Material;
+ public static PURPLE_STAINED_GLASS_PANE: org.bukkit.Material;
+ public static PURPLE_TERRACOTTA: org.bukkit.Material;
+ public static PURPLE_WALL_BANNER: org.bukkit.Material;
+ public static PURPLE_WOOL: org.bukkit.Material;
+ public static PURPUR_BLOCK: org.bukkit.Material;
+ public static PURPUR_PILLAR: org.bukkit.Material;
+ public static PURPUR_SLAB: org.bukkit.Material;
+ public static PURPUR_STAIRS: org.bukkit.Material;
+ public static QUARTZ: org.bukkit.Material;
+ public static QUARTZ_BLOCK: org.bukkit.Material;
+ public static QUARTZ_PILLAR: org.bukkit.Material;
+ public static QUARTZ_SLAB: org.bukkit.Material;
+ public static QUARTZ_STAIRS: org.bukkit.Material;
+ public static RABBIT: org.bukkit.Material;
+ public static RABBIT_FOOT: org.bukkit.Material;
+ public static RABBIT_HIDE: org.bukkit.Material;
+ public static RABBIT_SPAWN_EGG: org.bukkit.Material;
+ public static RABBIT_STEW: org.bukkit.Material;
+ public static RAIL: org.bukkit.Material;
+ public static RAVAGER_SPAWN_EGG: org.bukkit.Material;
+ public static REDSTONE: org.bukkit.Material;
+ public static REDSTONE_BLOCK: org.bukkit.Material;
+ public static REDSTONE_LAMP: org.bukkit.Material;
+ public static REDSTONE_ORE: org.bukkit.Material;
+ public static REDSTONE_TORCH: org.bukkit.Material;
+ public static REDSTONE_WALL_TORCH: org.bukkit.Material;
+ public static REDSTONE_WIRE: org.bukkit.Material;
+ public static RED_BANNER: org.bukkit.Material;
+ public static RED_BED: org.bukkit.Material;
+ public static RED_CARPET: org.bukkit.Material;
+ public static RED_CONCRETE: org.bukkit.Material;
+ public static RED_CONCRETE_POWDER: org.bukkit.Material;
+ public static RED_DYE: org.bukkit.Material;
+ public static RED_GLAZED_TERRACOTTA: org.bukkit.Material;
+ public static RED_MUSHROOM: org.bukkit.Material;
+ public static RED_MUSHROOM_BLOCK: org.bukkit.Material;
+ public static RED_NETHER_BRICKS: org.bukkit.Material;
+ public static RED_NETHER_BRICK_SLAB: org.bukkit.Material;
+ public static RED_NETHER_BRICK_STAIRS: org.bukkit.Material;
+ public static RED_NETHER_BRICK_WALL: org.bukkit.Material;
+ public static RED_SAND: org.bukkit.Material;
+ public static RED_SANDSTONE: org.bukkit.Material;
+ public static RED_SANDSTONE_SLAB: org.bukkit.Material;
+ public static RED_SANDSTONE_STAIRS: org.bukkit.Material;
+ public static RED_SANDSTONE_WALL: org.bukkit.Material;
+ public static RED_SHULKER_BOX: org.bukkit.Material;
+ public static RED_STAINED_GLASS: org.bukkit.Material;
+ public static RED_STAINED_GLASS_PANE: org.bukkit.Material;
+ public static RED_TERRACOTTA: org.bukkit.Material;
+ public static RED_TULIP: org.bukkit.Material;
+ public static RED_WALL_BANNER: org.bukkit.Material;
+ public static RED_WOOL: org.bukkit.Material;
+ public static REPEATER: org.bukkit.Material;
+ public static REPEATING_COMMAND_BLOCK: org.bukkit.Material;
+ public static ROSE_BUSH: org.bukkit.Material;
+ public static ROTTEN_FLESH: org.bukkit.Material;
+ public static SADDLE: org.bukkit.Material;
+ public static SALMON: org.bukkit.Material;
+ public static SALMON_BUCKET: org.bukkit.Material;
+ public static SALMON_SPAWN_EGG: org.bukkit.Material;
+ public static SAND: org.bukkit.Material;
+ public static SANDSTONE: org.bukkit.Material;
+ public static SANDSTONE_SLAB: org.bukkit.Material;
+ public static SANDSTONE_STAIRS: org.bukkit.Material;
+ public static SANDSTONE_WALL: org.bukkit.Material;
+ public static SCAFFOLDING: org.bukkit.Material;
+ public static SCUTE: org.bukkit.Material;
+ public static SEAGRASS: org.bukkit.Material;
+ public static SEA_LANTERN: org.bukkit.Material;
+ public static SEA_PICKLE: org.bukkit.Material;
+ public static SHEARS: org.bukkit.Material;
+ public static SHEEP_SPAWN_EGG: org.bukkit.Material;
+ public static SHIELD: org.bukkit.Material;
+ public static SHULKER_BOX: org.bukkit.Material;
+ public static SHULKER_SHELL: org.bukkit.Material;
+ public static SHULKER_SPAWN_EGG: org.bukkit.Material;
+ public static SILVERFISH_SPAWN_EGG: org.bukkit.Material;
+ public static SKELETON_HORSE_SPAWN_EGG: org.bukkit.Material;
+ public static SKELETON_SKULL: org.bukkit.Material;
+ public static SKELETON_SPAWN_EGG: org.bukkit.Material;
+ public static SKELETON_WALL_SKULL: org.bukkit.Material;
+ public static SKULL_BANNER_PATTERN: org.bukkit.Material;
+ public static SLIME_BALL: org.bukkit.Material;
+ public static SLIME_BLOCK: org.bukkit.Material;
+ public static SLIME_SPAWN_EGG: org.bukkit.Material;
+ public static SMITHING_TABLE: org.bukkit.Material;
+ public static SMOKER: org.bukkit.Material;
+ public static SMOOTH_QUARTZ: org.bukkit.Material;
+ public static SMOOTH_QUARTZ_SLAB: org.bukkit.Material;
+ public static SMOOTH_QUARTZ_STAIRS: org.bukkit.Material;
+ public static SMOOTH_RED_SANDSTONE: org.bukkit.Material;
+ public static SMOOTH_RED_SANDSTONE_SLAB: org.bukkit.Material;
+ public static SMOOTH_RED_SANDSTONE_STAIRS: org.bukkit.Material;
+ public static SMOOTH_SANDSTONE: org.bukkit.Material;
+ public static SMOOTH_SANDSTONE_SLAB: org.bukkit.Material;
+ public static SMOOTH_SANDSTONE_STAIRS: org.bukkit.Material;
+ public static SMOOTH_STONE: org.bukkit.Material;
+ public static SMOOTH_STONE_SLAB: org.bukkit.Material;
+ public static SNOW: org.bukkit.Material;
+ public static SNOWBALL: org.bukkit.Material;
+ public static SNOW_BLOCK: org.bukkit.Material;
+ public static SOUL_SAND: org.bukkit.Material;
+ public static SPAWNER: org.bukkit.Material;
+ public static SPECTRAL_ARROW: org.bukkit.Material;
+ public static SPIDER_EYE: org.bukkit.Material;
+ public static SPIDER_SPAWN_EGG: org.bukkit.Material;
+ public static SPLASH_POTION: org.bukkit.Material;
+ public static SPONGE: org.bukkit.Material;
+ public static SPRUCE_BOAT: org.bukkit.Material;
+ public static SPRUCE_BUTTON: org.bukkit.Material;
+ public static SPRUCE_DOOR: org.bukkit.Material;
+ public static SPRUCE_FENCE: org.bukkit.Material;
+ public static SPRUCE_FENCE_GATE: org.bukkit.Material;
+ public static SPRUCE_LEAVES: org.bukkit.Material;
+ public static SPRUCE_LOG: org.bukkit.Material;
+ public static SPRUCE_PLANKS: org.bukkit.Material;
+ public static SPRUCE_PRESSURE_PLATE: org.bukkit.Material;
+ public static SPRUCE_SAPLING: org.bukkit.Material;
+ public static SPRUCE_SIGN: org.bukkit.Material;
+ public static SPRUCE_SLAB: org.bukkit.Material;
+ public static SPRUCE_STAIRS: org.bukkit.Material;
+ public static SPRUCE_TRAPDOOR: org.bukkit.Material;
+ public static SPRUCE_WALL_SIGN: org.bukkit.Material;
+ public static SPRUCE_WOOD: org.bukkit.Material;
+ public static SQUID_SPAWN_EGG: org.bukkit.Material;
+ public static STICK: org.bukkit.Material;
+ public static STICKY_PISTON: org.bukkit.Material;
+ public static STONE: org.bukkit.Material;
+ public static STONECUTTER: org.bukkit.Material;
+ public static STONE_AXE: org.bukkit.Material;
+ public static STONE_BRICKS: org.bukkit.Material;
+ public static STONE_BRICK_SLAB: org.bukkit.Material;
+ public static STONE_BRICK_STAIRS: org.bukkit.Material;
+ public static STONE_BRICK_WALL: org.bukkit.Material;
+ public static STONE_BUTTON: org.bukkit.Material;
+ public static STONE_HOE: org.bukkit.Material;
+ public static STONE_PICKAXE: org.bukkit.Material;
+ public static STONE_PRESSURE_PLATE: org.bukkit.Material;
+ public static STONE_SHOVEL: org.bukkit.Material;
+ public static STONE_SLAB: org.bukkit.Material;
+ public static STONE_STAIRS: org.bukkit.Material;
+ public static STONE_SWORD: org.bukkit.Material;
+ public static STRAY_SPAWN_EGG: org.bukkit.Material;
+ public static STRING: org.bukkit.Material;
+ public static STRIPPED_ACACIA_LOG: org.bukkit.Material;
+ public static STRIPPED_ACACIA_WOOD: org.bukkit.Material;
+ public static STRIPPED_BIRCH_LOG: org.bukkit.Material;
+ public static STRIPPED_BIRCH_WOOD: org.bukkit.Material;
+ public static STRIPPED_DARK_OAK_LOG: org.bukkit.Material;
+ public static STRIPPED_DARK_OAK_WOOD: org.bukkit.Material;
+ public static STRIPPED_JUNGLE_LOG: org.bukkit.Material;
+ public static STRIPPED_JUNGLE_WOOD: org.bukkit.Material;
+ public static STRIPPED_OAK_LOG: org.bukkit.Material;
+ public static STRIPPED_OAK_WOOD: org.bukkit.Material;
+ public static STRIPPED_SPRUCE_LOG: org.bukkit.Material;
+ public static STRIPPED_SPRUCE_WOOD: org.bukkit.Material;
+ public static STRUCTURE_BLOCK: org.bukkit.Material;
+ public static STRUCTURE_VOID: org.bukkit.Material;
+ public static SUGAR: org.bukkit.Material;
+ public static SUGAR_CANE: org.bukkit.Material;
+ public static SUNFLOWER: org.bukkit.Material;
+ public static SUSPICIOUS_STEW: org.bukkit.Material;
+ public static SWEET_BERRIES: org.bukkit.Material;
+ public static SWEET_BERRY_BUSH: org.bukkit.Material;
+ public static TALL_GRASS: org.bukkit.Material;
+ public static TALL_SEAGRASS: org.bukkit.Material;
+ public static TERRACOTTA: org.bukkit.Material;
+ public static TIPPED_ARROW: org.bukkit.Material;
+ public static TNT: org.bukkit.Material;
+ public static TNT_MINECART: org.bukkit.Material;
+ public static TORCH: org.bukkit.Material;
+ public static TOTEM_OF_UNDYING: org.bukkit.Material;
+ public static TRADER_LLAMA_SPAWN_EGG: org.bukkit.Material;
+ public static TRAPPED_CHEST: org.bukkit.Material;
+ public static TRIDENT: org.bukkit.Material;
+ public static TRIPWIRE: org.bukkit.Material;
+ public static TRIPWIRE_HOOK: org.bukkit.Material;
+ public static TROPICAL_FISH: org.bukkit.Material;
+ public static TROPICAL_FISH_BUCKET: org.bukkit.Material;
+ public static TROPICAL_FISH_SPAWN_EGG: org.bukkit.Material;
+ public static TUBE_CORAL: org.bukkit.Material;
+ public static TUBE_CORAL_BLOCK: org.bukkit.Material;
+ public static TUBE_CORAL_FAN: org.bukkit.Material;
+ public static TUBE_CORAL_WALL_FAN: org.bukkit.Material;
+ public static TURTLE_EGG: org.bukkit.Material;
+ public static TURTLE_HELMET: org.bukkit.Material;
+ public static TURTLE_SPAWN_EGG: org.bukkit.Material;
+ public static VEX_SPAWN_EGG: org.bukkit.Material;
+ public static VILLAGER_SPAWN_EGG: org.bukkit.Material;
+ public static VINDICATOR_SPAWN_EGG: org.bukkit.Material;
+ public static VINE: org.bukkit.Material;
+ public static VOID_AIR: org.bukkit.Material;
+ public static WALL_TORCH: org.bukkit.Material;
+ public static WANDERING_TRADER_SPAWN_EGG: org.bukkit.Material;
+ public static WATER: org.bukkit.Material;
+ public static WATER_BUCKET: org.bukkit.Material;
+ public static WET_SPONGE: org.bukkit.Material;
+ public static WHEAT: org.bukkit.Material;
+ public static WHEAT_SEEDS: org.bukkit.Material;
+ public static WHITE_BANNER: org.bukkit.Material;
+ public static WHITE_BED: org.bukkit.Material;
+ public static WHITE_CARPET: org.bukkit.Material;
+ public static WHITE_CONCRETE: org.bukkit.Material;
+ public static WHITE_CONCRETE_POWDER: org.bukkit.Material;
+ public static WHITE_DYE: org.bukkit.Material;
+ public static WHITE_GLAZED_TERRACOTTA: org.bukkit.Material;
+ public static WHITE_SHULKER_BOX: org.bukkit.Material;
+ public static WHITE_STAINED_GLASS: org.bukkit.Material;
+ public static WHITE_STAINED_GLASS_PANE: org.bukkit.Material;
+ public static WHITE_TERRACOTTA: org.bukkit.Material;
+ public static WHITE_TULIP: org.bukkit.Material;
+ public static WHITE_WALL_BANNER: org.bukkit.Material;
+ public static WHITE_WOOL: org.bukkit.Material;
+ public static WITCH_SPAWN_EGG: org.bukkit.Material;
+ public static WITHER_ROSE: org.bukkit.Material;
+ public static WITHER_SKELETON_SKULL: org.bukkit.Material;
+ public static WITHER_SKELETON_SPAWN_EGG: org.bukkit.Material;
+ public static WITHER_SKELETON_WALL_SKULL: org.bukkit.Material;
+ public static WOLF_SPAWN_EGG: org.bukkit.Material;
+ public static WOODEN_AXE: org.bukkit.Material;
+ public static WOODEN_HOE: org.bukkit.Material;
+ public static WOODEN_PICKAXE: org.bukkit.Material;
+ public static WOODEN_SHOVEL: org.bukkit.Material;
+ public static WOODEN_SWORD: org.bukkit.Material;
+ public static WRITABLE_BOOK: org.bukkit.Material;
+ public static WRITTEN_BOOK: org.bukkit.Material;
+ public static YELLOW_BANNER: org.bukkit.Material;
+ public static YELLOW_BED: org.bukkit.Material;
+ public static YELLOW_CARPET: org.bukkit.Material;
+ public static YELLOW_CONCRETE: org.bukkit.Material;
+ public static YELLOW_CONCRETE_POWDER: org.bukkit.Material;
+ public static YELLOW_DYE: org.bukkit.Material;
+ public static YELLOW_GLAZED_TERRACOTTA: org.bukkit.Material;
+ public static YELLOW_SHULKER_BOX: org.bukkit.Material;
+ public static YELLOW_STAINED_GLASS: org.bukkit.Material;
+ public static YELLOW_STAINED_GLASS_PANE: org.bukkit.Material;
+ public static YELLOW_TERRACOTTA: org.bukkit.Material;
+ public static YELLOW_WALL_BANNER: org.bukkit.Material;
+ public static YELLOW_WOOL: org.bukkit.Material;
+ public static ZOMBIE_HEAD: org.bukkit.Material;
+ public static ZOMBIE_HORSE_SPAWN_EGG: org.bukkit.Material;
+ public static ZOMBIE_PIGMAN_SPAWN_EGG: org.bukkit.Material;
+ public static ZOMBIE_SPAWN_EGG: org.bukkit.Material;
+ public static ZOMBIE_VILLAGER_SPAWN_EGG: org.bukkit.Material;
+ public static ZOMBIE_WALL_HEAD: org.bukkit.Material;
+ public static LEGACY_AIR: org.bukkit.Material;
+ public static LEGACY_STONE: org.bukkit.Material;
+ public static LEGACY_GRASS: org.bukkit.Material;
+ public static LEGACY_DIRT: org.bukkit.Material;
+ public static LEGACY_COBBLESTONE: org.bukkit.Material;
+ public static LEGACY_WOOD: org.bukkit.Material;
+ public static LEGACY_SAPLING: org.bukkit.Material;
+ public static LEGACY_BEDROCK: org.bukkit.Material;
+ public static LEGACY_WATER: org.bukkit.Material;
+ public static LEGACY_STATIONARY_WATER: org.bukkit.Material;
+ public static LEGACY_LAVA: org.bukkit.Material;
+ public static LEGACY_STATIONARY_LAVA: org.bukkit.Material;
+ public static LEGACY_SAND: org.bukkit.Material;
+ public static LEGACY_GRAVEL: org.bukkit.Material;
+ public static LEGACY_GOLD_ORE: org.bukkit.Material;
+ public static LEGACY_IRON_ORE: org.bukkit.Material;
+ public static LEGACY_COAL_ORE: org.bukkit.Material;
+ public static LEGACY_LOG: org.bukkit.Material;
+ public static LEGACY_LEAVES: org.bukkit.Material;
+ public static LEGACY_SPONGE: org.bukkit.Material;
+ public static LEGACY_GLASS: org.bukkit.Material;
+ public static LEGACY_LAPIS_ORE: org.bukkit.Material;
+ public static LEGACY_LAPIS_BLOCK: org.bukkit.Material;
+ public static LEGACY_DISPENSER: org.bukkit.Material;
+ public static LEGACY_SANDSTONE: org.bukkit.Material;
+ public static LEGACY_NOTE_BLOCK: org.bukkit.Material;
+ public static LEGACY_BED_BLOCK: org.bukkit.Material;
+ public static LEGACY_POWERED_RAIL: org.bukkit.Material;
+ public static LEGACY_DETECTOR_RAIL: org.bukkit.Material;
+ public static LEGACY_PISTON_STICKY_BASE: org.bukkit.Material;
+ public static LEGACY_WEB: org.bukkit.Material;
+ public static LEGACY_LONG_GRASS: org.bukkit.Material;
+ public static LEGACY_DEAD_BUSH: org.bukkit.Material;
+ public static LEGACY_PISTON_BASE: org.bukkit.Material;
+ public static LEGACY_PISTON_EXTENSION: org.bukkit.Material;
+ public static LEGACY_WOOL: org.bukkit.Material;
+ public static LEGACY_PISTON_MOVING_PIECE: org.bukkit.Material;
+ public static LEGACY_YELLOW_FLOWER: org.bukkit.Material;
+ public static LEGACY_RED_ROSE: org.bukkit.Material;
+ public static LEGACY_BROWN_MUSHROOM: org.bukkit.Material;
+ public static LEGACY_RED_MUSHROOM: org.bukkit.Material;
+ public static LEGACY_GOLD_BLOCK: org.bukkit.Material;
+ public static LEGACY_IRON_BLOCK: org.bukkit.Material;
+ public static LEGACY_DOUBLE_STEP: org.bukkit.Material;
+ public static LEGACY_STEP: org.bukkit.Material;
+ public static LEGACY_BRICK: org.bukkit.Material;
+ public static LEGACY_TNT: org.bukkit.Material;
+ public static LEGACY_BOOKSHELF: org.bukkit.Material;
+ public static LEGACY_MOSSY_COBBLESTONE: org.bukkit.Material;
+ public static LEGACY_OBSIDIAN: org.bukkit.Material;
+ public static LEGACY_TORCH: org.bukkit.Material;
+ public static LEGACY_FIRE: org.bukkit.Material;
+ public static LEGACY_MOB_SPAWNER: org.bukkit.Material;
+ public static LEGACY_WOOD_STAIRS: org.bukkit.Material;
+ public static LEGACY_CHEST: org.bukkit.Material;
+ public static LEGACY_REDSTONE_WIRE: org.bukkit.Material;
+ public static LEGACY_DIAMOND_ORE: org.bukkit.Material;
+ public static LEGACY_DIAMOND_BLOCK: org.bukkit.Material;
+ public static LEGACY_WORKBENCH: org.bukkit.Material;
+ public static LEGACY_CROPS: org.bukkit.Material;
+ public static LEGACY_SOIL: org.bukkit.Material;
+ public static LEGACY_FURNACE: org.bukkit.Material;
+ public static LEGACY_BURNING_FURNACE: org.bukkit.Material;
+ public static LEGACY_SIGN_POST: org.bukkit.Material;
+ public static LEGACY_WOODEN_DOOR: org.bukkit.Material;
+ public static LEGACY_LADDER: org.bukkit.Material;
+ public static LEGACY_RAILS: org.bukkit.Material;
+ public static LEGACY_COBBLESTONE_STAIRS: org.bukkit.Material;
+ public static LEGACY_WALL_SIGN: org.bukkit.Material;
+ public static LEGACY_LEVER: org.bukkit.Material;
+ public static LEGACY_STONE_PLATE: org.bukkit.Material;
+ public static LEGACY_IRON_DOOR_BLOCK: org.bukkit.Material;
+ public static LEGACY_WOOD_PLATE: org.bukkit.Material;
+ public static LEGACY_REDSTONE_ORE: org.bukkit.Material;
+ public static LEGACY_GLOWING_REDSTONE_ORE: org.bukkit.Material;
+ public static LEGACY_REDSTONE_TORCH_OFF: org.bukkit.Material;
+ public static LEGACY_REDSTONE_TORCH_ON: org.bukkit.Material;
+ public static LEGACY_STONE_BUTTON: org.bukkit.Material;
+ public static LEGACY_SNOW: org.bukkit.Material;
+ public static LEGACY_ICE: org.bukkit.Material;
+ public static LEGACY_SNOW_BLOCK: org.bukkit.Material;
+ public static LEGACY_CACTUS: org.bukkit.Material;
+ public static LEGACY_CLAY: org.bukkit.Material;
+ public static LEGACY_SUGAR_CANE_BLOCK: org.bukkit.Material;
+ public static LEGACY_JUKEBOX: org.bukkit.Material;
+ public static LEGACY_FENCE: org.bukkit.Material;
+ public static LEGACY_PUMPKIN: org.bukkit.Material;
+ public static LEGACY_NETHERRACK: org.bukkit.Material;
+ public static LEGACY_SOUL_SAND: org.bukkit.Material;
+ public static LEGACY_GLOWSTONE: org.bukkit.Material;
+ public static LEGACY_PORTAL: org.bukkit.Material;
+ public static LEGACY_JACK_O_LANTERN: org.bukkit.Material;
+ public static LEGACY_CAKE_BLOCK: org.bukkit.Material;
+ public static LEGACY_DIODE_BLOCK_OFF: org.bukkit.Material;
+ public static LEGACY_DIODE_BLOCK_ON: org.bukkit.Material;
+ public static LEGACY_STAINED_GLASS: org.bukkit.Material;
+ public static LEGACY_TRAP_DOOR: org.bukkit.Material;
+ public static LEGACY_MONSTER_EGGS: org.bukkit.Material;
+ public static LEGACY_SMOOTH_BRICK: org.bukkit.Material;
+ public static LEGACY_HUGE_MUSHROOM_1: org.bukkit.Material;
+ public static LEGACY_HUGE_MUSHROOM_2: org.bukkit.Material;
+ public static LEGACY_IRON_FENCE: org.bukkit.Material;
+ public static LEGACY_THIN_GLASS: org.bukkit.Material;
+ public static LEGACY_MELON_BLOCK: org.bukkit.Material;
+ public static LEGACY_PUMPKIN_STEM: org.bukkit.Material;
+ public static LEGACY_MELON_STEM: org.bukkit.Material;
+ public static LEGACY_VINE: org.bukkit.Material;
+ public static LEGACY_FENCE_GATE: org.bukkit.Material;
+ public static LEGACY_BRICK_STAIRS: org.bukkit.Material;
+ public static LEGACY_SMOOTH_STAIRS: org.bukkit.Material;
+ public static LEGACY_MYCEL: org.bukkit.Material;
+ public static LEGACY_WATER_LILY: org.bukkit.Material;
+ public static LEGACY_NETHER_BRICK: org.bukkit.Material;
+ public static LEGACY_NETHER_FENCE: org.bukkit.Material;
+ public static LEGACY_NETHER_BRICK_STAIRS: org.bukkit.Material;
+ public static LEGACY_NETHER_WARTS: org.bukkit.Material;
+ public static LEGACY_ENCHANTMENT_TABLE: org.bukkit.Material;
+ public static LEGACY_BREWING_STAND: org.bukkit.Material;
+ public static LEGACY_CAULDRON: org.bukkit.Material;
+ public static LEGACY_ENDER_PORTAL: org.bukkit.Material;
+ public static LEGACY_ENDER_PORTAL_FRAME: org.bukkit.Material;
+ public static LEGACY_ENDER_STONE: org.bukkit.Material;
+ public static LEGACY_DRAGON_EGG: org.bukkit.Material;
+ public static LEGACY_REDSTONE_LAMP_OFF: org.bukkit.Material;
+ public static LEGACY_REDSTONE_LAMP_ON: org.bukkit.Material;
+ public static LEGACY_WOOD_DOUBLE_STEP: org.bukkit.Material;
+ public static LEGACY_WOOD_STEP: org.bukkit.Material;
+ public static LEGACY_COCOA: org.bukkit.Material;
+ public static LEGACY_SANDSTONE_STAIRS: org.bukkit.Material;
+ public static LEGACY_EMERALD_ORE: org.bukkit.Material;
+ public static LEGACY_ENDER_CHEST: org.bukkit.Material;
+ public static LEGACY_TRIPWIRE_HOOK: org.bukkit.Material;
+ public static LEGACY_TRIPWIRE: org.bukkit.Material;
+ public static LEGACY_EMERALD_BLOCK: org.bukkit.Material;
+ public static LEGACY_SPRUCE_WOOD_STAIRS: org.bukkit.Material;
+ public static LEGACY_BIRCH_WOOD_STAIRS: org.bukkit.Material;
+ public static LEGACY_JUNGLE_WOOD_STAIRS: org.bukkit.Material;
+ public static LEGACY_COMMAND: org.bukkit.Material;
+ public static LEGACY_BEACON: org.bukkit.Material;
+ public static LEGACY_COBBLE_WALL: org.bukkit.Material;
+ public static LEGACY_FLOWER_POT: org.bukkit.Material;
+ public static LEGACY_CARROT: org.bukkit.Material;
+ public static LEGACY_POTATO: org.bukkit.Material;
+ public static LEGACY_WOOD_BUTTON: org.bukkit.Material;
+ public static LEGACY_SKULL: org.bukkit.Material;
+ public static LEGACY_ANVIL: org.bukkit.Material;
+ public static LEGACY_TRAPPED_CHEST: org.bukkit.Material;
+ public static LEGACY_GOLD_PLATE: org.bukkit.Material;
+ public static LEGACY_IRON_PLATE: org.bukkit.Material;
+ public static LEGACY_REDSTONE_COMPARATOR_OFF: org.bukkit.Material;
+ public static LEGACY_REDSTONE_COMPARATOR_ON: org.bukkit.Material;
+ public static LEGACY_DAYLIGHT_DETECTOR: org.bukkit.Material;
+ public static LEGACY_REDSTONE_BLOCK: org.bukkit.Material;
+ public static LEGACY_QUARTZ_ORE: org.bukkit.Material;
+ public static LEGACY_HOPPER: org.bukkit.Material;
+ public static LEGACY_QUARTZ_BLOCK: org.bukkit.Material;
+ public static LEGACY_QUARTZ_STAIRS: org.bukkit.Material;
+ public static LEGACY_ACTIVATOR_RAIL: org.bukkit.Material;
+ public static LEGACY_DROPPER: org.bukkit.Material;
+ public static LEGACY_STAINED_CLAY: org.bukkit.Material;
+ public static LEGACY_STAINED_GLASS_PANE: org.bukkit.Material;
+ public static LEGACY_LEAVES_2: org.bukkit.Material;
+ public static LEGACY_LOG_2: org.bukkit.Material;
+ public static LEGACY_ACACIA_STAIRS: org.bukkit.Material;
+ public static LEGACY_DARK_OAK_STAIRS: org.bukkit.Material;
+ public static LEGACY_SLIME_BLOCK: org.bukkit.Material;
+ public static LEGACY_BARRIER: org.bukkit.Material;
+ public static LEGACY_IRON_TRAPDOOR: org.bukkit.Material;
+ public static LEGACY_PRISMARINE: org.bukkit.Material;
+ public static LEGACY_SEA_LANTERN: org.bukkit.Material;
+ public static LEGACY_HAY_BLOCK: org.bukkit.Material;
+ public static LEGACY_CARPET: org.bukkit.Material;
+ public static LEGACY_HARD_CLAY: org.bukkit.Material;
+ public static LEGACY_COAL_BLOCK: org.bukkit.Material;
+ public static LEGACY_PACKED_ICE: org.bukkit.Material;
+ public static LEGACY_DOUBLE_PLANT: org.bukkit.Material;
+ public static LEGACY_STANDING_BANNER: org.bukkit.Material;
+ public static LEGACY_WALL_BANNER: org.bukkit.Material;
+ public static LEGACY_DAYLIGHT_DETECTOR_INVERTED: org.bukkit.Material;
+ public static LEGACY_RED_SANDSTONE: org.bukkit.Material;
+ public static LEGACY_RED_SANDSTONE_STAIRS: org.bukkit.Material;
+ public static LEGACY_DOUBLE_STONE_SLAB2: org.bukkit.Material;
+ public static LEGACY_STONE_SLAB2: org.bukkit.Material;
+ public static LEGACY_SPRUCE_FENCE_GATE: org.bukkit.Material;
+ public static LEGACY_BIRCH_FENCE_GATE: org.bukkit.Material;
+ public static LEGACY_JUNGLE_FENCE_GATE: org.bukkit.Material;
+ public static LEGACY_DARK_OAK_FENCE_GATE: org.bukkit.Material;
+ public static LEGACY_ACACIA_FENCE_GATE: org.bukkit.Material;
+ public static LEGACY_SPRUCE_FENCE: org.bukkit.Material;
+ public static LEGACY_BIRCH_FENCE: org.bukkit.Material;
+ public static LEGACY_JUNGLE_FENCE: org.bukkit.Material;
+ public static LEGACY_DARK_OAK_FENCE: org.bukkit.Material;
+ public static LEGACY_ACACIA_FENCE: org.bukkit.Material;
+ public static LEGACY_SPRUCE_DOOR: org.bukkit.Material;
+ public static LEGACY_BIRCH_DOOR: org.bukkit.Material;
+ public static LEGACY_JUNGLE_DOOR: org.bukkit.Material;
+ public static LEGACY_ACACIA_DOOR: org.bukkit.Material;
+ public static LEGACY_DARK_OAK_DOOR: org.bukkit.Material;
+ public static LEGACY_END_ROD: org.bukkit.Material;
+ public static LEGACY_CHORUS_PLANT: org.bukkit.Material;
+ public static LEGACY_CHORUS_FLOWER: org.bukkit.Material;
+ public static LEGACY_PURPUR_BLOCK: org.bukkit.Material;
+ public static LEGACY_PURPUR_PILLAR: org.bukkit.Material;
+ public static LEGACY_PURPUR_STAIRS: org.bukkit.Material;
+ public static LEGACY_PURPUR_DOUBLE_SLAB: org.bukkit.Material;
+ public static LEGACY_PURPUR_SLAB: org.bukkit.Material;
+ public static LEGACY_END_BRICKS: org.bukkit.Material;
+ public static LEGACY_BEETROOT_BLOCK: org.bukkit.Material;
+ public static LEGACY_GRASS_PATH: org.bukkit.Material;
+ public static LEGACY_END_GATEWAY: org.bukkit.Material;
+ public static LEGACY_COMMAND_REPEATING: org.bukkit.Material;
+ public static LEGACY_COMMAND_CHAIN: org.bukkit.Material;
+ public static LEGACY_FROSTED_ICE: org.bukkit.Material;
+ public static LEGACY_MAGMA: org.bukkit.Material;
+ public static LEGACY_NETHER_WART_BLOCK: org.bukkit.Material;
+ public static LEGACY_RED_NETHER_BRICK: org.bukkit.Material;
+ public static LEGACY_BONE_BLOCK: org.bukkit.Material;
+ public static LEGACY_STRUCTURE_VOID: org.bukkit.Material;
+ public static LEGACY_OBSERVER: org.bukkit.Material;
+ public static LEGACY_WHITE_SHULKER_BOX: org.bukkit.Material;
+ public static LEGACY_ORANGE_SHULKER_BOX: org.bukkit.Material;
+ public static LEGACY_MAGENTA_SHULKER_BOX: org.bukkit.Material;
+ public static LEGACY_LIGHT_BLUE_SHULKER_BOX: org.bukkit.Material;
+ public static LEGACY_YELLOW_SHULKER_BOX: org.bukkit.Material;
+ public static LEGACY_LIME_SHULKER_BOX: org.bukkit.Material;
+ public static LEGACY_PINK_SHULKER_BOX: org.bukkit.Material;
+ public static LEGACY_GRAY_SHULKER_BOX: org.bukkit.Material;
+ public static LEGACY_SILVER_SHULKER_BOX: org.bukkit.Material;
+ public static LEGACY_CYAN_SHULKER_BOX: org.bukkit.Material;
+ public static LEGACY_PURPLE_SHULKER_BOX: org.bukkit.Material;
+ public static LEGACY_BLUE_SHULKER_BOX: org.bukkit.Material;
+ public static LEGACY_BROWN_SHULKER_BOX: org.bukkit.Material;
+ public static LEGACY_GREEN_SHULKER_BOX: org.bukkit.Material;
+ public static LEGACY_RED_SHULKER_BOX: org.bukkit.Material;
+ public static LEGACY_BLACK_SHULKER_BOX: org.bukkit.Material;
+ public static LEGACY_WHITE_GLAZED_TERRACOTTA: org.bukkit.Material;
+ public static LEGACY_ORANGE_GLAZED_TERRACOTTA: org.bukkit.Material;
+ public static LEGACY_MAGENTA_GLAZED_TERRACOTTA: org.bukkit.Material;
+ public static LEGACY_LIGHT_BLUE_GLAZED_TERRACOTTA: org.bukkit.Material;
+ public static LEGACY_YELLOW_GLAZED_TERRACOTTA: org.bukkit.Material;
+ public static LEGACY_LIME_GLAZED_TERRACOTTA: org.bukkit.Material;
+ public static LEGACY_PINK_GLAZED_TERRACOTTA: org.bukkit.Material;
+ public static LEGACY_GRAY_GLAZED_TERRACOTTA: org.bukkit.Material;
+ public static LEGACY_SILVER_GLAZED_TERRACOTTA: org.bukkit.Material;
+ public static LEGACY_CYAN_GLAZED_TERRACOTTA: org.bukkit.Material;
+ public static LEGACY_PURPLE_GLAZED_TERRACOTTA: org.bukkit.Material;
+ public static LEGACY_BLUE_GLAZED_TERRACOTTA: org.bukkit.Material;
+ public static LEGACY_BROWN_GLAZED_TERRACOTTA: org.bukkit.Material;
+ public static LEGACY_GREEN_GLAZED_TERRACOTTA: org.bukkit.Material;
+ public static LEGACY_RED_GLAZED_TERRACOTTA: org.bukkit.Material;
+ public static LEGACY_BLACK_GLAZED_TERRACOTTA: org.bukkit.Material;
+ public static LEGACY_CONCRETE: org.bukkit.Material;
+ public static LEGACY_CONCRETE_POWDER: org.bukkit.Material;
+ public static LEGACY_STRUCTURE_BLOCK: org.bukkit.Material;
+ public static LEGACY_IRON_SPADE: org.bukkit.Material;
+ public static LEGACY_IRON_PICKAXE: org.bukkit.Material;
+ public static LEGACY_IRON_AXE: org.bukkit.Material;
+ public static LEGACY_FLINT_AND_STEEL: org.bukkit.Material;
+ public static LEGACY_APPLE: org.bukkit.Material;
+ public static LEGACY_BOW: org.bukkit.Material;
+ public static LEGACY_ARROW: org.bukkit.Material;
+ public static LEGACY_COAL: org.bukkit.Material;
+ public static LEGACY_DIAMOND: org.bukkit.Material;
+ public static LEGACY_IRON_INGOT: org.bukkit.Material;
+ public static LEGACY_GOLD_INGOT: org.bukkit.Material;
+ public static LEGACY_IRON_SWORD: org.bukkit.Material;
+ public static LEGACY_WOOD_SWORD: org.bukkit.Material;
+ public static LEGACY_WOOD_SPADE: org.bukkit.Material;
+ public static LEGACY_WOOD_PICKAXE: org.bukkit.Material;
+ public static LEGACY_WOOD_AXE: org.bukkit.Material;
+ public static LEGACY_STONE_SWORD: org.bukkit.Material;
+ public static LEGACY_STONE_SPADE: org.bukkit.Material;
+ public static LEGACY_STONE_PICKAXE: org.bukkit.Material;
+ public static LEGACY_STONE_AXE: org.bukkit.Material;
+ public static LEGACY_DIAMOND_SWORD: org.bukkit.Material;
+ public static LEGACY_DIAMOND_SPADE: org.bukkit.Material;
+ public static LEGACY_DIAMOND_PICKAXE: org.bukkit.Material;
+ public static LEGACY_DIAMOND_AXE: org.bukkit.Material;
+ public static LEGACY_STICK: org.bukkit.Material;
+ public static LEGACY_BOWL: org.bukkit.Material;
+ public static LEGACY_MUSHROOM_SOUP: org.bukkit.Material;
+ public static LEGACY_GOLD_SWORD: org.bukkit.Material;
+ public static LEGACY_GOLD_SPADE: org.bukkit.Material;
+ public static LEGACY_GOLD_PICKAXE: org.bukkit.Material;
+ public static LEGACY_GOLD_AXE: org.bukkit.Material;
+ public static LEGACY_STRING: org.bukkit.Material;
+ public static LEGACY_FEATHER: org.bukkit.Material;
+ public static LEGACY_SULPHUR: org.bukkit.Material;
+ public static LEGACY_WOOD_HOE: org.bukkit.Material;
+ public static LEGACY_STONE_HOE: org.bukkit.Material;
+ public static LEGACY_IRON_HOE: org.bukkit.Material;
+ public static LEGACY_DIAMOND_HOE: org.bukkit.Material;
+ public static LEGACY_GOLD_HOE: org.bukkit.Material;
+ public static LEGACY_SEEDS: org.bukkit.Material;
+ public static LEGACY_WHEAT: org.bukkit.Material;
+ public static LEGACY_BREAD: org.bukkit.Material;
+ public static LEGACY_LEATHER_HELMET: org.bukkit.Material;
+ public static LEGACY_LEATHER_CHESTPLATE: org.bukkit.Material;
+ public static LEGACY_LEATHER_LEGGINGS: org.bukkit.Material;
+ public static LEGACY_LEATHER_BOOTS: org.bukkit.Material;
+ public static LEGACY_CHAINMAIL_HELMET: org.bukkit.Material;
+ public static LEGACY_CHAINMAIL_CHESTPLATE: org.bukkit.Material;
+ public static LEGACY_CHAINMAIL_LEGGINGS: org.bukkit.Material;
+ public static LEGACY_CHAINMAIL_BOOTS: org.bukkit.Material;
+ public static LEGACY_IRON_HELMET: org.bukkit.Material;
+ public static LEGACY_IRON_CHESTPLATE: org.bukkit.Material;
+ public static LEGACY_IRON_LEGGINGS: org.bukkit.Material;
+ public static LEGACY_IRON_BOOTS: org.bukkit.Material;
+ public static LEGACY_DIAMOND_HELMET: org.bukkit.Material;
+ public static LEGACY_DIAMOND_CHESTPLATE: org.bukkit.Material;
+ public static LEGACY_DIAMOND_LEGGINGS: org.bukkit.Material;
+ public static LEGACY_DIAMOND_BOOTS: org.bukkit.Material;
+ public static LEGACY_GOLD_HELMET: org.bukkit.Material;
+ public static LEGACY_GOLD_CHESTPLATE: org.bukkit.Material;
+ public static LEGACY_GOLD_LEGGINGS: org.bukkit.Material;
+ public static LEGACY_GOLD_BOOTS: org.bukkit.Material;
+ public static LEGACY_FLINT: org.bukkit.Material;
+ public static LEGACY_PORK: org.bukkit.Material;
+ public static LEGACY_GRILLED_PORK: org.bukkit.Material;
+ public static LEGACY_PAINTING: org.bukkit.Material;
+ public static LEGACY_GOLDEN_APPLE: org.bukkit.Material;
+ public static LEGACY_SIGN: org.bukkit.Material;
+ public static LEGACY_WOOD_DOOR: org.bukkit.Material;
+ public static LEGACY_BUCKET: org.bukkit.Material;
+ public static LEGACY_WATER_BUCKET: org.bukkit.Material;
+ public static LEGACY_LAVA_BUCKET: org.bukkit.Material;
+ public static LEGACY_MINECART: org.bukkit.Material;
+ public static LEGACY_SADDLE: org.bukkit.Material;
+ public static LEGACY_IRON_DOOR: org.bukkit.Material;
+ public static LEGACY_REDSTONE: org.bukkit.Material;
+ public static LEGACY_SNOW_BALL: org.bukkit.Material;
+ public static LEGACY_BOAT: org.bukkit.Material;
+ public static LEGACY_LEATHER: org.bukkit.Material;
+ public static LEGACY_MILK_BUCKET: org.bukkit.Material;
+ public static LEGACY_CLAY_BRICK: org.bukkit.Material;
+ public static LEGACY_CLAY_BALL: org.bukkit.Material;
+ public static LEGACY_SUGAR_CANE: org.bukkit.Material;
+ public static LEGACY_PAPER: org.bukkit.Material;
+ public static LEGACY_BOOK: org.bukkit.Material;
+ public static LEGACY_SLIME_BALL: org.bukkit.Material;
+ public static LEGACY_STORAGE_MINECART: org.bukkit.Material;
+ public static LEGACY_POWERED_MINECART: org.bukkit.Material;
+ public static LEGACY_EGG: org.bukkit.Material;
+ public static LEGACY_COMPASS: org.bukkit.Material;
+ public static LEGACY_FISHING_ROD: org.bukkit.Material;
+ public static LEGACY_WATCH: org.bukkit.Material;
+ public static LEGACY_GLOWSTONE_DUST: org.bukkit.Material;
+ public static LEGACY_RAW_FISH: org.bukkit.Material;
+ public static LEGACY_COOKED_FISH: org.bukkit.Material;
+ public static LEGACY_INK_SACK: org.bukkit.Material;
+ public static LEGACY_BONE: org.bukkit.Material;
+ public static LEGACY_SUGAR: org.bukkit.Material;
+ public static LEGACY_CAKE: org.bukkit.Material;
+ public static LEGACY_BED: org.bukkit.Material;
+ public static LEGACY_DIODE: org.bukkit.Material;
+ public static LEGACY_COOKIE: org.bukkit.Material;
+ public static LEGACY_MAP: org.bukkit.Material;
+ public static LEGACY_SHEARS: org.bukkit.Material;
+ public static LEGACY_MELON: org.bukkit.Material;
+ public static LEGACY_PUMPKIN_SEEDS: org.bukkit.Material;
+ public static LEGACY_MELON_SEEDS: org.bukkit.Material;
+ public static LEGACY_RAW_BEEF: org.bukkit.Material;
+ public static LEGACY_COOKED_BEEF: org.bukkit.Material;
+ public static LEGACY_RAW_CHICKEN: org.bukkit.Material;
+ public static LEGACY_COOKED_CHICKEN: org.bukkit.Material;
+ public static LEGACY_ROTTEN_FLESH: org.bukkit.Material;
+ public static LEGACY_ENDER_PEARL: org.bukkit.Material;
+ public static LEGACY_BLAZE_ROD: org.bukkit.Material;
+ public static LEGACY_GHAST_TEAR: org.bukkit.Material;
+ public static LEGACY_GOLD_NUGGET: org.bukkit.Material;
+ public static LEGACY_NETHER_STALK: org.bukkit.Material;
+ public static LEGACY_POTION: org.bukkit.Material;
+ public static LEGACY_GLASS_BOTTLE: org.bukkit.Material;
+ public static LEGACY_SPIDER_EYE: org.bukkit.Material;
+ public static LEGACY_FERMENTED_SPIDER_EYE: org.bukkit.Material;
+ public static LEGACY_BLAZE_POWDER: org.bukkit.Material;
+ public static LEGACY_MAGMA_CREAM: org.bukkit.Material;
+ public static LEGACY_BREWING_STAND_ITEM: org.bukkit.Material;
+ public static LEGACY_CAULDRON_ITEM: org.bukkit.Material;
+ public static LEGACY_EYE_OF_ENDER: org.bukkit.Material;
+ public static LEGACY_SPECKLED_MELON: org.bukkit.Material;
+ public static LEGACY_MONSTER_EGG: org.bukkit.Material;
+ public static LEGACY_EXP_BOTTLE: org.bukkit.Material;
+ public static LEGACY_FIREBALL: org.bukkit.Material;
+ public static LEGACY_BOOK_AND_QUILL: org.bukkit.Material;
+ public static LEGACY_WRITTEN_BOOK: org.bukkit.Material;
+ public static LEGACY_EMERALD: org.bukkit.Material;
+ public static LEGACY_ITEM_FRAME: org.bukkit.Material;
+ public static LEGACY_FLOWER_POT_ITEM: org.bukkit.Material;
+ public static LEGACY_CARROT_ITEM: org.bukkit.Material;
+ public static LEGACY_POTATO_ITEM: org.bukkit.Material;
+ public static LEGACY_BAKED_POTATO: org.bukkit.Material;
+ public static LEGACY_POISONOUS_POTATO: org.bukkit.Material;
+ public static LEGACY_EMPTY_MAP: org.bukkit.Material;
+ public static LEGACY_GOLDEN_CARROT: org.bukkit.Material;
+ public static LEGACY_SKULL_ITEM: org.bukkit.Material;
+ public static LEGACY_CARROT_STICK: org.bukkit.Material;
+ public static LEGACY_NETHER_STAR: org.bukkit.Material;
+ public static LEGACY_PUMPKIN_PIE: org.bukkit.Material;
+ public static LEGACY_FIREWORK: org.bukkit.Material;
+ public static LEGACY_FIREWORK_CHARGE: org.bukkit.Material;
+ public static LEGACY_ENCHANTED_BOOK: org.bukkit.Material;
+ public static LEGACY_REDSTONE_COMPARATOR: org.bukkit.Material;
+ public static LEGACY_NETHER_BRICK_ITEM: org.bukkit.Material;
+ public static LEGACY_QUARTZ: org.bukkit.Material;
+ public static LEGACY_EXPLOSIVE_MINECART: org.bukkit.Material;
+ public static LEGACY_HOPPER_MINECART: org.bukkit.Material;
+ public static LEGACY_PRISMARINE_SHARD: org.bukkit.Material;
+ public static LEGACY_PRISMARINE_CRYSTALS: org.bukkit.Material;
+ public static LEGACY_RABBIT: org.bukkit.Material;
+ public static LEGACY_COOKED_RABBIT: org.bukkit.Material;
+ public static LEGACY_RABBIT_STEW: org.bukkit.Material;
+ public static LEGACY_RABBIT_FOOT: org.bukkit.Material;
+ public static LEGACY_RABBIT_HIDE: org.bukkit.Material;
+ public static LEGACY_ARMOR_STAND: org.bukkit.Material;
+ public static LEGACY_IRON_BARDING: org.bukkit.Material;
+ public static LEGACY_GOLD_BARDING: org.bukkit.Material;
+ public static LEGACY_DIAMOND_BARDING: org.bukkit.Material;
+ public static LEGACY_LEASH: org.bukkit.Material;
+ public static LEGACY_NAME_TAG: org.bukkit.Material;
+ public static LEGACY_COMMAND_MINECART: org.bukkit.Material;
+ public static LEGACY_MUTTON: org.bukkit.Material;
+ public static LEGACY_COOKED_MUTTON: org.bukkit.Material;
+ public static LEGACY_BANNER: org.bukkit.Material;
+ public static LEGACY_END_CRYSTAL: org.bukkit.Material;
+ public static LEGACY_SPRUCE_DOOR_ITEM: org.bukkit.Material;
+ public static LEGACY_BIRCH_DOOR_ITEM: org.bukkit.Material;
+ public static LEGACY_JUNGLE_DOOR_ITEM: org.bukkit.Material;
+ public static LEGACY_ACACIA_DOOR_ITEM: org.bukkit.Material;
+ public static LEGACY_DARK_OAK_DOOR_ITEM: org.bukkit.Material;
+ public static LEGACY_CHORUS_FRUIT: org.bukkit.Material;
+ public static LEGACY_CHORUS_FRUIT_POPPED: org.bukkit.Material;
+ public static LEGACY_BEETROOT: org.bukkit.Material;
+ public static LEGACY_BEETROOT_SEEDS: org.bukkit.Material;
+ public static LEGACY_BEETROOT_SOUP: org.bukkit.Material;
+ public static LEGACY_DRAGONS_BREATH: org.bukkit.Material;
+ public static LEGACY_SPLASH_POTION: org.bukkit.Material;
+ public static LEGACY_SPECTRAL_ARROW: org.bukkit.Material;
+ public static LEGACY_TIPPED_ARROW: org.bukkit.Material;
+ public static LEGACY_LINGERING_POTION: org.bukkit.Material;
+ public static LEGACY_SHIELD: org.bukkit.Material;
+ public static LEGACY_ELYTRA: org.bukkit.Material;
+ public static LEGACY_BOAT_SPRUCE: org.bukkit.Material;
+ public static LEGACY_BOAT_BIRCH: org.bukkit.Material;
+ public static LEGACY_BOAT_JUNGLE: org.bukkit.Material;
+ public static LEGACY_BOAT_ACACIA: org.bukkit.Material;
+ public static LEGACY_BOAT_DARK_OAK: org.bukkit.Material;
+ public static LEGACY_TOTEM: org.bukkit.Material;
+ public static LEGACY_SHULKER_SHELL: org.bukkit.Material;
+ public static LEGACY_IRON_NUGGET: org.bukkit.Material;
+ public static LEGACY_KNOWLEDGE_BOOK: org.bukkit.Material;
+ public static LEGACY_GOLD_RECORD: org.bukkit.Material;
+ public static LEGACY_GREEN_RECORD: org.bukkit.Material;
+ public static LEGACY_RECORD_3: org.bukkit.Material;
+ public static LEGACY_RECORD_4: org.bukkit.Material;
+ public static LEGACY_RECORD_5: org.bukkit.Material;
+ public static LEGACY_RECORD_6: org.bukkit.Material;
+ public static LEGACY_RECORD_7: org.bukkit.Material;
+ public static LEGACY_RECORD_8: org.bukkit.Material;
+ public static LEGACY_RECORD_9: org.bukkit.Material;
+ public static LEGACY_RECORD_10: org.bukkit.Material;
+ public static LEGACY_RECORD_11: org.bukkit.Material;
+ public static LEGACY_RECORD_12: org.bukkit.Material;
+ public static LEGACY_PREFIX: string;
+ public data: any;
+ public static values(): org.bukkit.Material[];
+ public static valueOf(name: string): org.bukkit.Material;
+ /**
+ * Do not use for any reason.
+ */
+ public getId(): number;
+ /**
+ * Do not use for any reason.
+ */
+ public isLegacy(): boolean;
+ public getKey(): org.bukkit.NamespacedKey;
+ /**
+ * Gets the maximum amount of this material that can be held in a stack
+ */
+ public getMaxStackSize(): number;
+ /**
+ * Gets the maximum durability of this material
+ */
+ public getMaxDurability(): number;
+ /**
+ * Creates a new {@link BlockData} instance for this Material, with all
+ * properties initialized to unspecified defaults.
+ */
+ public createBlockData(): org.bukkit.block.data.BlockData;
+ /**
+ * Creates a new {@link BlockData} instance for this Material, with
+ * all properties initialized to unspecified defaults.
+ */
+ public createBlockData(consumer: any): org.bukkit.block.data.BlockData;
+ /**
+ * Creates a new {@link BlockData} instance for this Material, with all
+ * properties initialized to unspecified defaults, except for those provided
+ * in data.
+ */
+ public createBlockData(data: string): org.bukkit.block.data.BlockData;
+ /**
+ * Gets the MaterialData class associated with this Material
+ */
+ public getData(): any;
+ /**
+ * Constructs a new MaterialData relevant for this Material, with the
+ * given initial data
+ */
+ public getNewData(raw: number): org.bukkit.material.MaterialData;
+ /**
+ * Checks if this Material is a placable block
+ */
+ public isBlock(): boolean;
+ /**
+ * Checks if this Material is edible.
+ */
+ public isEdible(): boolean;
+ /**
+ * Attempts to get the Material with the given name.
+ *
+ * This number is used to calculate the time required to break each block.
+ *
+ * Only available when {@link #isBlock()} is true.
+ */
+ public getHardness(): number;
+ /**
+ * Obtains the blast resistance value (also known as block "durability").
+ *
+ * This value is used in explosions to calculate whether a block should be
+ * broken or not.
+ *
+ * Only available when {@link #isBlock()} is true.
+ */
+ public getBlastResistance(): number;
+ }
+ }
+}
diff --git a/packages/bukkit/src/typings/org.bukkit.Nameable.ts b/packages/bukkit/src/typings/org.bukkit.Nameable.ts
new file mode 100644
index 00000000..4beb4a94
--- /dev/null
+++ b/packages/bukkit/src/typings/org.bukkit.Nameable.ts
@@ -0,0 +1,24 @@
+declare namespace org {
+ namespace bukkit {
+ class Nameable {
+ /**
+ * Gets the custom name on a mob or block. If there is no name this method
+ * will return null.
+ *
+ *
+ *
+ *
+ *
+ * This method uses implementation default values for radius and
+ * findUnexplored (usually 100, true).
+ */
+ public createExplorerMap(world: org.bukkit.World, location: org.bukkit.Location, structureType: org.bukkit.StructureType): org.bukkit.inventory.ItemStack;
+ /**
+ * Create a new explorer map targeting the closest nearby structure of a
+ * given {@link StructureType}.
+ *
+ * This method uses implementation default values for radius and
+ * findUnexplored (usually 100, true).
+ */
+ public createExplorerMap(world: org.bukkit.World, location: org.bukkit.Location, structureType: org.bukkit.StructureType, radius: number, findUnexplored: boolean): org.bukkit.inventory.ItemStack;
+ /**
+ * Reloads the server, refreshing settings and plugin information.
+ */
+ public reload(): void;
+ /**
+ * Reload only the Minecraft data for the server. This includes custom
+ * advancements and loot tables.
+ */
+ public reloadData(): void;
+ /**
+ * Returns the primary logger associated with this server instance.
+ */
+ public getLogger(): any;
+ /**
+ * Gets a {@link PluginCommand} with the given name or alias.
+ */
+ public getPluginCommand(name: string): org.bukkit.command.PluginCommand;
+ /**
+ * Writes loaded players to disk.
+ */
+ public savePlayers(): void;
+ /**
+ * Dispatches a command on this server, and executes it if found.
+ */
+ public dispatchCommand(sender: org.bukkit.command.CommandSender, commandLine: string): boolean;
+ /**
+ * Adds a recipe to the crafting manager.
+ */
+ public addRecipe(recipe: org.bukkit.inventory.Recipe): boolean;
+ /**
+ * Get a list of all recipes for a given item. The stack size is ignored
+ * in comparisons. If the durability is -1, it will match any data value.
+ */
+ public getRecipesFor(result: org.bukkit.inventory.ItemStack): any[] /*java.util.List*/;
+ /**
+ * Get an iterator through the list of crafting recipes.
+ */
+ public recipeIterator(): any;
+ /**
+ * Clears the list of crafting recipes.
+ */
+ public clearRecipes(): void;
+ /**
+ * Resets the list of crafting recipes to the default.
+ */
+ public resetRecipes(): void;
+ /**
+ * Gets a list of command aliases defined in the server properties.
+ */
+ public getCommandAliases(): Map
+ * {@link InventoryType#WORKBENCH} will not process crafting recipes if
+ * created with this method. Use
+ * {@link Player#openWorkbench(Location, boolean)} instead.
+ *
+ * {@link InventoryType#ENCHANTING} will not process {@link ItemStack}s
+ * for possible enchanting results. Use
+ * {@link Player#openEnchanting(Location, boolean)} instead.
+ */
+ public createInventory(owner: org.bukkit.inventory.InventoryHolder, type: org.bukkit.event.inventory.InventoryType): org.bukkit.inventory.Inventory;
+ /**
+ * Creates an empty inventory with the specified type and title. If the type
+ * is {@link InventoryType#CHEST}, the new inventory has a size of 27;
+ * otherwise the new inventory has the normal size for its type.
+ * It should be noted that some inventory types do not support titles and
+ * may not render with said titles on the Minecraft client.
+ *
+ * {@link InventoryType#WORKBENCH} will not process crafting recipes if
+ * created with this method. Use
+ * {@link Player#openWorkbench(Location, boolean)} instead.
+ *
+ * {@link InventoryType#ENCHANTING} will not process {@link ItemStack}s
+ * for possible enchanting results. Use
+ * {@link Player#openEnchanting(Location, boolean)} instead.
+ */
+ public createInventory(owner: org.bukkit.inventory.InventoryHolder, type: org.bukkit.event.inventory.InventoryType, title: string): org.bukkit.inventory.Inventory;
+ /**
+ * Creates an empty inventory of type {@link InventoryType#CHEST} with the
+ * specified size.
+ */
+ public createInventory(owner: org.bukkit.inventory.InventoryHolder, size: number): org.bukkit.inventory.Inventory;
+ /**
+ * Creates an empty inventory of type {@link InventoryType#CHEST} with the
+ * specified size and title.
+ */
+ public createInventory(owner: org.bukkit.inventory.InventoryHolder, size: number, title: string): org.bukkit.inventory.Inventory;
+ /**
+ * Creates an empty merchant.
+ */
+ public createMerchant(title: string): org.bukkit.inventory.Merchant;
+ /**
+ * Gets user-specified limit for number of monsters that can spawn in a
+ * chunk.
+ */
+ public getMonsterSpawnLimit(): number;
+ /**
+ * Gets user-specified limit for number of animals that can spawn in a
+ * chunk.
+ */
+ public getAnimalSpawnLimit(): number;
+ /**
+ * Gets user-specified limit for number of water animals that can spawn in
+ * a chunk.
+ */
+ public getWaterAnimalSpawnLimit(): number;
+ /**
+ * Gets user-specified limit for number of ambient mobs that can spawn in
+ * a chunk.
+ */
+ public getAmbientSpawnLimit(): number;
+ /**
+ * Checks the current thread against the expected primary thread for the
+ * server.
+ *
+ * This instance is added to the persistent storage of the server and will
+ * be editable by commands and restored after restart.
+ */
+ public createBossBar(key: org.bukkit.NamespacedKey, title: string, color: org.bukkit.boss.BarColor, style: org.bukkit.boss.BarStyle, flags: org.bukkit.boss.BarFlag): org.bukkit.boss.KeyedBossBar;
+ /**
+ * Gets an unmodifiable iterator through all persistent bossbars.
+ *
+ *
+ * e.g. bossbars created using the bossbar command
+ */
+ public getBossBars(): any;
+ /**
+ * Gets the {@link KeyedBossBar} specified by this key.
+ *
+ *
+ * e.g. bossbars created using the bossbar command
+ */
+ public getBossBar(key: org.bukkit.NamespacedKey): org.bukkit.boss.KeyedBossBar;
+ /**
+ * Removes a {@link KeyedBossBar} specified by this key.
+ *
+ *
+ * e.g. bossbars created using the bossbar command
+ */
+ public removeBossBar(key: org.bukkit.NamespacedKey): boolean;
+ /**
+ * Gets an entity on the server by its UUID
+ */
+ public getEntity(uuid: any): org.bukkit.entity.Entity;
+ /**
+ * Get the advancement specified by this key.
+ */
+ public getAdvancement(key: org.bukkit.NamespacedKey): org.bukkit.advancement.Advancement;
+ /**
+ * Get an iterator through all advancements. Advancements cannot be removed
+ * from this iterator,
+ */
+ public advancementIterator(): any;
+ /**
+ * Creates a new {@link BlockData} instance for the specified Material, with
+ * all properties initialized to unspecified defaults.
+ */
+ public createBlockData(material: org.bukkit.Material): org.bukkit.block.data.BlockData;
+ /**
+ * Creates a new {@link BlockData} instance for the specified Material, with
+ * all properties initialized to unspecified defaults.
+ */
+ public createBlockData(material: org.bukkit.Material, consumer: any): org.bukkit.block.data.BlockData;
+ /**
+ * Creates a new {@link BlockData} instance with material and properties
+ * parsed from provided data.
+ */
+ public createBlockData(data: string): org.bukkit.block.data.BlockData;
+ /**
+ * Creates a new {@link BlockData} instance for the specified Material, with
+ * all properties initialized to unspecified defaults, except for those
+ * provided in data.
+ *
+ * If material
is specified, then the data string must not also
+ * contain the material.
+ */
+ public createBlockData(material: org.bukkit.Material, data: string): org.bukkit.block.data.BlockData;
+ /**
+ * Gets a tag which has already been defined within the server. Plugins are
+ * suggested to use the concrete tags in {@link Tag} rather than this method
+ * which makes no guarantees about which tags are available, and may also be
+ * less performant due to lack of caching.
+ *
+ * Tags will be searched for in an implementation specific manner, but a
+ * path consisting of namespace/tags/registry/key is expected.
+ *
+ * Server implementations are allowed to handle only the registries
+ * indicated in {@link Tag}.
+ */
+ public getTag(registry: string, tag: org.bukkit.NamespacedKey, clazz: any): org.bukkit.Tag;
+ /**
+ * Gets a all tags which have been defined within the server.
+ *
+ * Server implementations are allowed to handle only the registries
+ * indicated in {@link Tag}.
+ *
+ * No guarantees are made about the mutability of the returned iterator.
+ */
+ public getTags(registry: string, clazz: any): any;
+ /**
+ * Gets the specified {@link LootTable}.
+ */
+ public getLootTable(key: org.bukkit.NamespacedKey): org.bukkit.loot.LootTable;
+ /**
+ * Selects entities using the given Vanilla selector.
+ *
+ * No guarantees are made about the selector format, other than they match
+ * the Vanilla format for the active Minecraft version.
+ *
+ * Usually a selector will start with '@', unless selecting a Player in
+ * which case it may simply be the Player's name or UUID.
+ *
+ * Note that in Vanilla, elevated permissions are usually required to use
+ * '@' selectors, but this method should not check such permissions from the
+ * sender.
+ */
+ public selectEntities(sender: org.bukkit.command.CommandSender, selector: string): any[] /*java.util.List*/;
+ public getUnsafe(): org.bukkit.UnsafeValues;
+ }
+ }
+}
diff --git a/packages/bukkit/src/typings/org.bukkit.SkullType.ts b/packages/bukkit/src/typings/org.bukkit.SkullType.ts
new file mode 100644
index 00000000..495048e1
--- /dev/null
+++ b/packages/bukkit/src/typings/org.bukkit.SkullType.ts
@@ -0,0 +1,14 @@
+declare namespace org {
+ namespace bukkit {
+ class SkullType {
+ public static SKELETON: org.bukkit.SkullType;
+ public static WITHER: org.bukkit.SkullType;
+ public static ZOMBIE: org.bukkit.SkullType;
+ public static PLAYER: org.bukkit.SkullType;
+ public static CREEPER: org.bukkit.SkullType;
+ public static DRAGON: org.bukkit.SkullType;
+ public static values(): org.bukkit.SkullType[];
+ public static valueOf(name: string): org.bukkit.SkullType;
+ }
+ }
+}
diff --git a/packages/bukkit/src/typings/org.bukkit.Sound.ts b/packages/bukkit/src/typings/org.bukkit.Sound.ts
new file mode 100644
index 00000000..738eb6a9
--- /dev/null
+++ b/packages/bukkit/src/typings/org.bukkit.Sound.ts
@@ -0,0 +1,803 @@
+declare namespace org {
+ namespace bukkit {
+ class Sound {
+ public static AMBIENT_CAVE: any;
+ public static AMBIENT_UNDERWATER_ENTER: any;
+ public static AMBIENT_UNDERWATER_EXIT: any;
+ public static AMBIENT_UNDERWATER_LOOP: any;
+ public static AMBIENT_UNDERWATER_LOOP_ADDITIONS: any;
+ public static AMBIENT_UNDERWATER_LOOP_ADDITIONS_RARE: any;
+ public static AMBIENT_UNDERWATER_LOOP_ADDITIONS_ULTRA_RARE: any;
+ public static BLOCK_ANVIL_BREAK: any;
+ public static BLOCK_ANVIL_DESTROY: any;
+ public static BLOCK_ANVIL_FALL: any;
+ public static BLOCK_ANVIL_HIT: any;
+ public static BLOCK_ANVIL_LAND: any;
+ public static BLOCK_ANVIL_PLACE: any;
+ public static BLOCK_ANVIL_STEP: any;
+ public static BLOCK_ANVIL_USE: any;
+ public static BLOCK_BAMBOO_BREAK: any;
+ public static BLOCK_BAMBOO_FALL: any;
+ public static BLOCK_BAMBOO_HIT: any;
+ public static BLOCK_BAMBOO_PLACE: any;
+ public static BLOCK_BAMBOO_SAPLING_BREAK: any;
+ public static BLOCK_BAMBOO_SAPLING_HIT: any;
+ public static BLOCK_BAMBOO_SAPLING_PLACE: any;
+ public static BLOCK_BAMBOO_STEP: any;
+ public static BLOCK_BARREL_CLOSE: any;
+ public static BLOCK_BARREL_OPEN: any;
+ public static BLOCK_BEACON_ACTIVATE: any;
+ public static BLOCK_BEACON_AMBIENT: any;
+ public static BLOCK_BEACON_DEACTIVATE: any;
+ public static BLOCK_BEACON_POWER_SELECT: any;
+ public static BLOCK_BELL_RESONATE: any;
+ public static BLOCK_BELL_USE: any;
+ public static BLOCK_BLASTFURNACE_FIRE_CRACKLE: any;
+ public static BLOCK_BREWING_STAND_BREW: any;
+ public static BLOCK_BUBBLE_COLUMN_BUBBLE_POP: any;
+ public static BLOCK_BUBBLE_COLUMN_UPWARDS_AMBIENT: any;
+ public static BLOCK_BUBBLE_COLUMN_UPWARDS_INSIDE: any;
+ public static BLOCK_BUBBLE_COLUMN_WHIRLPOOL_AMBIENT: any;
+ public static BLOCK_BUBBLE_COLUMN_WHIRLPOOL_INSIDE: any;
+ public static BLOCK_CAMPFIRE_CRACKLE: any;
+ public static BLOCK_CHEST_CLOSE: any;
+ public static BLOCK_CHEST_LOCKED: any;
+ public static BLOCK_CHEST_OPEN: any;
+ public static BLOCK_CHORUS_FLOWER_DEATH: any;
+ public static BLOCK_CHORUS_FLOWER_GROW: any;
+ public static BLOCK_COMPARATOR_CLICK: any;
+ public static BLOCK_COMPOSTER_EMPTY: any;
+ public static BLOCK_COMPOSTER_FILL: any;
+ public static BLOCK_COMPOSTER_FILL_SUCCESS: any;
+ public static BLOCK_COMPOSTER_READY: any;
+ public static BLOCK_CONDUIT_ACTIVATE: any;
+ public static BLOCK_CONDUIT_AMBIENT: any;
+ public static BLOCK_CONDUIT_AMBIENT_SHORT: any;
+ public static BLOCK_CONDUIT_ATTACK_TARGET: any;
+ public static BLOCK_CONDUIT_DEACTIVATE: any;
+ public static BLOCK_CORAL_BLOCK_BREAK: any;
+ public static BLOCK_CORAL_BLOCK_FALL: any;
+ public static BLOCK_CORAL_BLOCK_HIT: any;
+ public static BLOCK_CORAL_BLOCK_PLACE: any;
+ public static BLOCK_CORAL_BLOCK_STEP: any;
+ public static BLOCK_CROP_BREAK: any;
+ public static BLOCK_DISPENSER_DISPENSE: any;
+ public static BLOCK_DISPENSER_FAIL: any;
+ public static BLOCK_DISPENSER_LAUNCH: any;
+ public static BLOCK_ENCHANTMENT_TABLE_USE: any;
+ public static BLOCK_ENDER_CHEST_CLOSE: any;
+ public static BLOCK_ENDER_CHEST_OPEN: any;
+ public static BLOCK_END_GATEWAY_SPAWN: any;
+ public static BLOCK_END_PORTAL_FRAME_FILL: any;
+ public static BLOCK_END_PORTAL_SPAWN: any;
+ public static BLOCK_FENCE_GATE_CLOSE: any;
+ public static BLOCK_FENCE_GATE_OPEN: any;
+ public static BLOCK_FIRE_AMBIENT: any;
+ public static BLOCK_FIRE_EXTINGUISH: any;
+ public static BLOCK_FURNACE_FIRE_CRACKLE: any;
+ public static BLOCK_GLASS_BREAK: any;
+ public static BLOCK_GLASS_FALL: any;
+ public static BLOCK_GLASS_HIT: any;
+ public static BLOCK_GLASS_PLACE: any;
+ public static BLOCK_GLASS_STEP: any;
+ public static BLOCK_GRASS_BREAK: any;
+ public static BLOCK_GRASS_FALL: any;
+ public static BLOCK_GRASS_HIT: any;
+ public static BLOCK_GRASS_PLACE: any;
+ public static BLOCK_GRASS_STEP: any;
+ public static BLOCK_GRAVEL_BREAK: any;
+ public static BLOCK_GRAVEL_FALL: any;
+ public static BLOCK_GRAVEL_HIT: any;
+ public static BLOCK_GRAVEL_PLACE: any;
+ public static BLOCK_GRAVEL_STEP: any;
+ public static BLOCK_GRINDSTONE_USE: any;
+ public static BLOCK_IRON_DOOR_CLOSE: any;
+ public static BLOCK_IRON_DOOR_OPEN: any;
+ public static BLOCK_IRON_TRAPDOOR_CLOSE: any;
+ public static BLOCK_IRON_TRAPDOOR_OPEN: any;
+ public static BLOCK_LADDER_BREAK: any;
+ public static BLOCK_LADDER_FALL: any;
+ public static BLOCK_LADDER_HIT: any;
+ public static BLOCK_LADDER_PLACE: any;
+ public static BLOCK_LADDER_STEP: any;
+ public static BLOCK_LANTERN_BREAK: any;
+ public static BLOCK_LANTERN_FALL: any;
+ public static BLOCK_LANTERN_HIT: any;
+ public static BLOCK_LANTERN_PLACE: any;
+ public static BLOCK_LANTERN_STEP: any;
+ public static BLOCK_LAVA_AMBIENT: any;
+ public static BLOCK_LAVA_EXTINGUISH: any;
+ public static BLOCK_LAVA_POP: any;
+ public static BLOCK_LEVER_CLICK: any;
+ public static BLOCK_LILY_PAD_PLACE: any;
+ public static BLOCK_METAL_BREAK: any;
+ public static BLOCK_METAL_FALL: any;
+ public static BLOCK_METAL_HIT: any;
+ public static BLOCK_METAL_PLACE: any;
+ public static BLOCK_METAL_PRESSURE_PLATE_CLICK_OFF: any;
+ public static BLOCK_METAL_PRESSURE_PLATE_CLICK_ON: any;
+ public static BLOCK_METAL_STEP: any;
+ public static BLOCK_NETHER_WART_BREAK: any;
+ public static BLOCK_NOTE_BLOCK_BANJO: any;
+ public static BLOCK_NOTE_BLOCK_BASEDRUM: any;
+ public static BLOCK_NOTE_BLOCK_BASS: any;
+ public static BLOCK_NOTE_BLOCK_BELL: any;
+ public static BLOCK_NOTE_BLOCK_BIT: any;
+ public static BLOCK_NOTE_BLOCK_CHIME: any;
+ public static BLOCK_NOTE_BLOCK_COW_BELL: any;
+ public static BLOCK_NOTE_BLOCK_DIDGERIDOO: any;
+ public static BLOCK_NOTE_BLOCK_FLUTE: any;
+ public static BLOCK_NOTE_BLOCK_GUITAR: any;
+ public static BLOCK_NOTE_BLOCK_HARP: any;
+ public static BLOCK_NOTE_BLOCK_HAT: any;
+ public static BLOCK_NOTE_BLOCK_IRON_XYLOPHONE: any;
+ public static BLOCK_NOTE_BLOCK_PLING: any;
+ public static BLOCK_NOTE_BLOCK_SNARE: any;
+ public static BLOCK_NOTE_BLOCK_XYLOPHONE: any;
+ public static BLOCK_PISTON_CONTRACT: any;
+ public static BLOCK_PISTON_EXTEND: any;
+ public static BLOCK_PORTAL_AMBIENT: any;
+ public static BLOCK_PORTAL_TRAVEL: any;
+ public static BLOCK_PORTAL_TRIGGER: any;
+ public static BLOCK_PUMPKIN_CARVE: any;
+ public static BLOCK_REDSTONE_TORCH_BURNOUT: any;
+ public static BLOCK_SAND_BREAK: any;
+ public static BLOCK_SAND_FALL: any;
+ public static BLOCK_SAND_HIT: any;
+ public static BLOCK_SAND_PLACE: any;
+ public static BLOCK_SAND_STEP: any;
+ public static BLOCK_SCAFFOLDING_BREAK: any;
+ public static BLOCK_SCAFFOLDING_FALL: any;
+ public static BLOCK_SCAFFOLDING_HIT: any;
+ public static BLOCK_SCAFFOLDING_PLACE: any;
+ public static BLOCK_SCAFFOLDING_STEP: any;
+ public static BLOCK_SHULKER_BOX_CLOSE: any;
+ public static BLOCK_SHULKER_BOX_OPEN: any;
+ public static BLOCK_SLIME_BLOCK_BREAK: any;
+ public static BLOCK_SLIME_BLOCK_FALL: any;
+ public static BLOCK_SLIME_BLOCK_HIT: any;
+ public static BLOCK_SLIME_BLOCK_PLACE: any;
+ public static BLOCK_SLIME_BLOCK_STEP: any;
+ public static BLOCK_SMOKER_SMOKE: any;
+ public static BLOCK_SNOW_BREAK: any;
+ public static BLOCK_SNOW_FALL: any;
+ public static BLOCK_SNOW_HIT: any;
+ public static BLOCK_SNOW_PLACE: any;
+ public static BLOCK_SNOW_STEP: any;
+ public static BLOCK_STONE_BREAK: any;
+ public static BLOCK_STONE_BUTTON_CLICK_OFF: any;
+ public static BLOCK_STONE_BUTTON_CLICK_ON: any;
+ public static BLOCK_STONE_FALL: any;
+ public static BLOCK_STONE_HIT: any;
+ public static BLOCK_STONE_PLACE: any;
+ public static BLOCK_STONE_PRESSURE_PLATE_CLICK_OFF: any;
+ public static BLOCK_STONE_PRESSURE_PLATE_CLICK_ON: any;
+ public static BLOCK_STONE_STEP: any;
+ public static BLOCK_SWEET_BERRY_BUSH_BREAK: any;
+ public static BLOCK_SWEET_BERRY_BUSH_PLACE: any;
+ public static BLOCK_TRIPWIRE_ATTACH: any;
+ public static BLOCK_TRIPWIRE_CLICK_OFF: any;
+ public static BLOCK_TRIPWIRE_CLICK_ON: any;
+ public static BLOCK_TRIPWIRE_DETACH: any;
+ public static BLOCK_WATER_AMBIENT: any;
+ public static BLOCK_WET_GRASS_BREAK: any;
+ public static BLOCK_WET_GRASS_FALL: any;
+ public static BLOCK_WET_GRASS_HIT: any;
+ public static BLOCK_WET_GRASS_PLACE: any;
+ public static BLOCK_WET_GRASS_STEP: any;
+ public static BLOCK_WOODEN_BUTTON_CLICK_OFF: any;
+ public static BLOCK_WOODEN_BUTTON_CLICK_ON: any;
+ public static BLOCK_WOODEN_DOOR_CLOSE: any;
+ public static BLOCK_WOODEN_DOOR_OPEN: any;
+ public static BLOCK_WOODEN_PRESSURE_PLATE_CLICK_OFF: any;
+ public static BLOCK_WOODEN_PRESSURE_PLATE_CLICK_ON: any;
+ public static BLOCK_WOODEN_TRAPDOOR_CLOSE: any;
+ public static BLOCK_WOODEN_TRAPDOOR_OPEN: any;
+ public static BLOCK_WOOD_BREAK: any;
+ public static BLOCK_WOOD_FALL: any;
+ public static BLOCK_WOOD_HIT: any;
+ public static BLOCK_WOOD_PLACE: any;
+ public static BLOCK_WOOD_STEP: any;
+ public static BLOCK_WOOL_BREAK: any;
+ public static BLOCK_WOOL_FALL: any;
+ public static BLOCK_WOOL_HIT: any;
+ public static BLOCK_WOOL_PLACE: any;
+ public static BLOCK_WOOL_STEP: any;
+ public static ENCHANT_THORNS_HIT: any;
+ public static ENTITY_ARMOR_STAND_BREAK: any;
+ public static ENTITY_ARMOR_STAND_FALL: any;
+ public static ENTITY_ARMOR_STAND_HIT: any;
+ public static ENTITY_ARMOR_STAND_PLACE: any;
+ public static ENTITY_ARROW_HIT: any;
+ public static ENTITY_ARROW_HIT_PLAYER: any;
+ public static ENTITY_ARROW_SHOOT: any;
+ public static ENTITY_BAT_AMBIENT: any;
+ public static ENTITY_BAT_DEATH: any;
+ public static ENTITY_BAT_HURT: any;
+ public static ENTITY_BAT_LOOP: any;
+ public static ENTITY_BAT_TAKEOFF: any;
+ public static ENTITY_BLAZE_AMBIENT: any;
+ public static ENTITY_BLAZE_BURN: any;
+ public static ENTITY_BLAZE_DEATH: any;
+ public static ENTITY_BLAZE_HURT: any;
+ public static ENTITY_BLAZE_SHOOT: any;
+ public static ENTITY_BOAT_PADDLE_LAND: any;
+ public static ENTITY_BOAT_PADDLE_WATER: any;
+ public static ENTITY_CAT_AMBIENT: any;
+ public static ENTITY_CAT_BEG_FOR_FOOD: any;
+ public static ENTITY_CAT_DEATH: any;
+ public static ENTITY_CAT_EAT: any;
+ public static ENTITY_CAT_HISS: any;
+ public static ENTITY_CAT_HURT: any;
+ public static ENTITY_CAT_PURR: any;
+ public static ENTITY_CAT_PURREOW: any;
+ public static ENTITY_CAT_STRAY_AMBIENT: any;
+ public static ENTITY_CHICKEN_AMBIENT: any;
+ public static ENTITY_CHICKEN_DEATH: any;
+ public static ENTITY_CHICKEN_EGG: any;
+ public static ENTITY_CHICKEN_HURT: any;
+ public static ENTITY_CHICKEN_STEP: any;
+ public static ENTITY_COD_AMBIENT: any;
+ public static ENTITY_COD_DEATH: any;
+ public static ENTITY_COD_FLOP: any;
+ public static ENTITY_COD_HURT: any;
+ public static ENTITY_COW_AMBIENT: any;
+ public static ENTITY_COW_DEATH: any;
+ public static ENTITY_COW_HURT: any;
+ public static ENTITY_COW_MILK: any;
+ public static ENTITY_COW_STEP: any;
+ public static ENTITY_CREEPER_DEATH: any;
+ public static ENTITY_CREEPER_HURT: any;
+ public static ENTITY_CREEPER_PRIMED: any;
+ public static ENTITY_DOLPHIN_AMBIENT: any;
+ public static ENTITY_DOLPHIN_AMBIENT_WATER: any;
+ public static ENTITY_DOLPHIN_ATTACK: any;
+ public static ENTITY_DOLPHIN_DEATH: any;
+ public static ENTITY_DOLPHIN_EAT: any;
+ public static ENTITY_DOLPHIN_HURT: any;
+ public static ENTITY_DOLPHIN_JUMP: any;
+ public static ENTITY_DOLPHIN_PLAY: any;
+ public static ENTITY_DOLPHIN_SPLASH: any;
+ public static ENTITY_DOLPHIN_SWIM: any;
+ public static ENTITY_DONKEY_AMBIENT: any;
+ public static ENTITY_DONKEY_ANGRY: any;
+ public static ENTITY_DONKEY_CHEST: any;
+ public static ENTITY_DONKEY_DEATH: any;
+ public static ENTITY_DONKEY_HURT: any;
+ public static ENTITY_DRAGON_FIREBALL_EXPLODE: any;
+ public static ENTITY_DROWNED_AMBIENT: any;
+ public static ENTITY_DROWNED_AMBIENT_WATER: any;
+ public static ENTITY_DROWNED_DEATH: any;
+ public static ENTITY_DROWNED_DEATH_WATER: any;
+ public static ENTITY_DROWNED_HURT: any;
+ public static ENTITY_DROWNED_HURT_WATER: any;
+ public static ENTITY_DROWNED_SHOOT: any;
+ public static ENTITY_DROWNED_STEP: any;
+ public static ENTITY_DROWNED_SWIM: any;
+ public static ENTITY_EGG_THROW: any;
+ public static ENTITY_ELDER_GUARDIAN_AMBIENT: any;
+ public static ENTITY_ELDER_GUARDIAN_AMBIENT_LAND: any;
+ public static ENTITY_ELDER_GUARDIAN_CURSE: any;
+ public static ENTITY_ELDER_GUARDIAN_DEATH: any;
+ public static ENTITY_ELDER_GUARDIAN_DEATH_LAND: any;
+ public static ENTITY_ELDER_GUARDIAN_FLOP: any;
+ public static ENTITY_ELDER_GUARDIAN_HURT: any;
+ public static ENTITY_ELDER_GUARDIAN_HURT_LAND: any;
+ public static ENTITY_ENDERMAN_AMBIENT: any;
+ public static ENTITY_ENDERMAN_DEATH: any;
+ public static ENTITY_ENDERMAN_HURT: any;
+ public static ENTITY_ENDERMAN_SCREAM: any;
+ public static ENTITY_ENDERMAN_STARE: any;
+ public static ENTITY_ENDERMAN_TELEPORT: any;
+ public static ENTITY_ENDERMITE_AMBIENT: any;
+ public static ENTITY_ENDERMITE_DEATH: any;
+ public static ENTITY_ENDERMITE_HURT: any;
+ public static ENTITY_ENDERMITE_STEP: any;
+ public static ENTITY_ENDER_DRAGON_AMBIENT: any;
+ public static ENTITY_ENDER_DRAGON_DEATH: any;
+ public static ENTITY_ENDER_DRAGON_FLAP: any;
+ public static ENTITY_ENDER_DRAGON_GROWL: any;
+ public static ENTITY_ENDER_DRAGON_HURT: any;
+ public static ENTITY_ENDER_DRAGON_SHOOT: any;
+ public static ENTITY_ENDER_EYE_DEATH: any;
+ public static ENTITY_ENDER_EYE_LAUNCH: any;
+ public static ENTITY_ENDER_PEARL_THROW: any;
+ public static ENTITY_EVOKER_AMBIENT: any;
+ public static ENTITY_EVOKER_CAST_SPELL: any;
+ public static ENTITY_EVOKER_CELEBRATE: any;
+ public static ENTITY_EVOKER_DEATH: any;
+ public static ENTITY_EVOKER_FANGS_ATTACK: any;
+ public static ENTITY_EVOKER_HURT: any;
+ public static ENTITY_EVOKER_PREPARE_ATTACK: any;
+ public static ENTITY_EVOKER_PREPARE_SUMMON: any;
+ public static ENTITY_EVOKER_PREPARE_WOLOLO: any;
+ public static ENTITY_EXPERIENCE_BOTTLE_THROW: any;
+ public static ENTITY_EXPERIENCE_ORB_PICKUP: any;
+ public static ENTITY_FIREWORK_ROCKET_BLAST: any;
+ public static ENTITY_FIREWORK_ROCKET_BLAST_FAR: any;
+ public static ENTITY_FIREWORK_ROCKET_LARGE_BLAST: any;
+ public static ENTITY_FIREWORK_ROCKET_LARGE_BLAST_FAR: any;
+ public static ENTITY_FIREWORK_ROCKET_LAUNCH: any;
+ public static ENTITY_FIREWORK_ROCKET_SHOOT: any;
+ public static ENTITY_FIREWORK_ROCKET_TWINKLE: any;
+ public static ENTITY_FIREWORK_ROCKET_TWINKLE_FAR: any;
+ public static ENTITY_FISHING_BOBBER_RETRIEVE: any;
+ public static ENTITY_FISHING_BOBBER_SPLASH: any;
+ public static ENTITY_FISHING_BOBBER_THROW: any;
+ public static ENTITY_FISH_SWIM: any;
+ public static ENTITY_FOX_AGGRO: any;
+ public static ENTITY_FOX_AMBIENT: any;
+ public static ENTITY_FOX_BITE: any;
+ public static ENTITY_FOX_DEATH: any;
+ public static ENTITY_FOX_EAT: any;
+ public static ENTITY_FOX_HURT: any;
+ public static ENTITY_FOX_SCREECH: any;
+ public static ENTITY_FOX_SLEEP: any;
+ public static ENTITY_FOX_SNIFF: any;
+ public static ENTITY_FOX_SPIT: any;
+ public static ENTITY_GENERIC_BIG_FALL: any;
+ public static ENTITY_GENERIC_BURN: any;
+ public static ENTITY_GENERIC_DEATH: any;
+ public static ENTITY_GENERIC_DRINK: any;
+ public static ENTITY_GENERIC_EAT: any;
+ public static ENTITY_GENERIC_EXPLODE: any;
+ public static ENTITY_GENERIC_EXTINGUISH_FIRE: any;
+ public static ENTITY_GENERIC_HURT: any;
+ public static ENTITY_GENERIC_SMALL_FALL: any;
+ public static ENTITY_GENERIC_SPLASH: any;
+ public static ENTITY_GENERIC_SWIM: any;
+ public static ENTITY_GHAST_AMBIENT: any;
+ public static ENTITY_GHAST_DEATH: any;
+ public static ENTITY_GHAST_HURT: any;
+ public static ENTITY_GHAST_SCREAM: any;
+ public static ENTITY_GHAST_SHOOT: any;
+ public static ENTITY_GHAST_WARN: any;
+ public static ENTITY_GUARDIAN_AMBIENT: any;
+ public static ENTITY_GUARDIAN_AMBIENT_LAND: any;
+ public static ENTITY_GUARDIAN_ATTACK: any;
+ public static ENTITY_GUARDIAN_DEATH: any;
+ public static ENTITY_GUARDIAN_DEATH_LAND: any;
+ public static ENTITY_GUARDIAN_FLOP: any;
+ public static ENTITY_GUARDIAN_HURT: any;
+ public static ENTITY_GUARDIAN_HURT_LAND: any;
+ public static ENTITY_HORSE_AMBIENT: any;
+ public static ENTITY_HORSE_ANGRY: any;
+ public static ENTITY_HORSE_ARMOR: any;
+ public static ENTITY_HORSE_BREATHE: any;
+ public static ENTITY_HORSE_DEATH: any;
+ public static ENTITY_HORSE_EAT: any;
+ public static ENTITY_HORSE_GALLOP: any;
+ public static ENTITY_HORSE_HURT: any;
+ public static ENTITY_HORSE_JUMP: any;
+ public static ENTITY_HORSE_LAND: any;
+ public static ENTITY_HORSE_SADDLE: any;
+ public static ENTITY_HORSE_STEP: any;
+ public static ENTITY_HORSE_STEP_WOOD: any;
+ public static ENTITY_HOSTILE_BIG_FALL: any;
+ public static ENTITY_HOSTILE_DEATH: any;
+ public static ENTITY_HOSTILE_HURT: any;
+ public static ENTITY_HOSTILE_SMALL_FALL: any;
+ public static ENTITY_HOSTILE_SPLASH: any;
+ public static ENTITY_HOSTILE_SWIM: any;
+ public static ENTITY_HUSK_AMBIENT: any;
+ public static ENTITY_HUSK_CONVERTED_TO_ZOMBIE: any;
+ public static ENTITY_HUSK_DEATH: any;
+ public static ENTITY_HUSK_HURT: any;
+ public static ENTITY_HUSK_STEP: any;
+ public static ENTITY_ILLUSIONER_AMBIENT: any;
+ public static ENTITY_ILLUSIONER_CAST_SPELL: any;
+ public static ENTITY_ILLUSIONER_DEATH: any;
+ public static ENTITY_ILLUSIONER_HURT: any;
+ public static ENTITY_ILLUSIONER_MIRROR_MOVE: any;
+ public static ENTITY_ILLUSIONER_PREPARE_BLINDNESS: any;
+ public static ENTITY_ILLUSIONER_PREPARE_MIRROR: any;
+ public static ENTITY_IRON_GOLEM_ATTACK: any;
+ public static ENTITY_IRON_GOLEM_DEATH: any;
+ public static ENTITY_IRON_GOLEM_HURT: any;
+ public static ENTITY_IRON_GOLEM_STEP: any;
+ public static ENTITY_ITEM_BREAK: any;
+ public static ENTITY_ITEM_FRAME_ADD_ITEM: any;
+ public static ENTITY_ITEM_FRAME_BREAK: any;
+ public static ENTITY_ITEM_FRAME_PLACE: any;
+ public static ENTITY_ITEM_FRAME_REMOVE_ITEM: any;
+ public static ENTITY_ITEM_FRAME_ROTATE_ITEM: any;
+ public static ENTITY_ITEM_PICKUP: any;
+ public static ENTITY_LEASH_KNOT_BREAK: any;
+ public static ENTITY_LEASH_KNOT_PLACE: any;
+ public static ENTITY_LIGHTNING_BOLT_IMPACT: any;
+ public static ENTITY_LIGHTNING_BOLT_THUNDER: any;
+ public static ENTITY_LINGERING_POTION_THROW: any;
+ public static ENTITY_LLAMA_AMBIENT: any;
+ public static ENTITY_LLAMA_ANGRY: any;
+ public static ENTITY_LLAMA_CHEST: any;
+ public static ENTITY_LLAMA_DEATH: any;
+ public static ENTITY_LLAMA_EAT: any;
+ public static ENTITY_LLAMA_HURT: any;
+ public static ENTITY_LLAMA_SPIT: any;
+ public static ENTITY_LLAMA_STEP: any;
+ public static ENTITY_LLAMA_SWAG: any;
+ public static ENTITY_MAGMA_CUBE_DEATH: any;
+ public static ENTITY_MAGMA_CUBE_DEATH_SMALL: any;
+ public static ENTITY_MAGMA_CUBE_HURT: any;
+ public static ENTITY_MAGMA_CUBE_HURT_SMALL: any;
+ public static ENTITY_MAGMA_CUBE_JUMP: any;
+ public static ENTITY_MAGMA_CUBE_SQUISH: any;
+ public static ENTITY_MAGMA_CUBE_SQUISH_SMALL: any;
+ public static ENTITY_MINECART_INSIDE: any;
+ public static ENTITY_MINECART_RIDING: any;
+ public static ENTITY_MOOSHROOM_CONVERT: any;
+ public static ENTITY_MOOSHROOM_EAT: any;
+ public static ENTITY_MOOSHROOM_MILK: any;
+ public static ENTITY_MOOSHROOM_SHEAR: any;
+ public static ENTITY_MOOSHROOM_SUSPICIOUS_MILK: any;
+ public static ENTITY_MULE_AMBIENT: any;
+ public static ENTITY_MULE_CHEST: any;
+ public static ENTITY_MULE_DEATH: any;
+ public static ENTITY_MULE_HURT: any;
+ public static ENTITY_OCELOT_AMBIENT: any;
+ public static ENTITY_OCELOT_DEATH: any;
+ public static ENTITY_OCELOT_HURT: any;
+ public static ENTITY_PAINTING_BREAK: any;
+ public static ENTITY_PAINTING_PLACE: any;
+ public static ENTITY_PANDA_AGGRESSIVE_AMBIENT: any;
+ public static ENTITY_PANDA_AMBIENT: any;
+ public static ENTITY_PANDA_BITE: any;
+ public static ENTITY_PANDA_CANT_BREED: any;
+ public static ENTITY_PANDA_DEATH: any;
+ public static ENTITY_PANDA_EAT: any;
+ public static ENTITY_PANDA_HURT: any;
+ public static ENTITY_PANDA_PRE_SNEEZE: any;
+ public static ENTITY_PANDA_SNEEZE: any;
+ public static ENTITY_PANDA_STEP: any;
+ public static ENTITY_PANDA_WORRIED_AMBIENT: any;
+ public static ENTITY_PARROT_AMBIENT: any;
+ public static ENTITY_PARROT_DEATH: any;
+ public static ENTITY_PARROT_EAT: any;
+ public static ENTITY_PARROT_FLY: any;
+ public static ENTITY_PARROT_HURT: any;
+ public static ENTITY_PARROT_IMITATE_BLAZE: any;
+ public static ENTITY_PARROT_IMITATE_CREEPER: any;
+ public static ENTITY_PARROT_IMITATE_DROWNED: any;
+ public static ENTITY_PARROT_IMITATE_ELDER_GUARDIAN: any;
+ public static ENTITY_PARROT_IMITATE_ENDERMAN: any;
+ public static ENTITY_PARROT_IMITATE_ENDERMITE: any;
+ public static ENTITY_PARROT_IMITATE_ENDER_DRAGON: any;
+ public static ENTITY_PARROT_IMITATE_EVOKER: any;
+ public static ENTITY_PARROT_IMITATE_GHAST: any;
+ public static ENTITY_PARROT_IMITATE_GUARDIAN: any;
+ public static ENTITY_PARROT_IMITATE_HUSK: any;
+ public static ENTITY_PARROT_IMITATE_ILLUSIONER: any;
+ public static ENTITY_PARROT_IMITATE_MAGMA_CUBE: any;
+ public static ENTITY_PARROT_IMITATE_PANDA: any;
+ public static ENTITY_PARROT_IMITATE_PHANTOM: any;
+ public static ENTITY_PARROT_IMITATE_PILLAGER: any;
+ public static ENTITY_PARROT_IMITATE_POLAR_BEAR: any;
+ public static ENTITY_PARROT_IMITATE_RAVAGER: any;
+ public static ENTITY_PARROT_IMITATE_SHULKER: any;
+ public static ENTITY_PARROT_IMITATE_SILVERFISH: any;
+ public static ENTITY_PARROT_IMITATE_SKELETON: any;
+ public static ENTITY_PARROT_IMITATE_SLIME: any;
+ public static ENTITY_PARROT_IMITATE_SPIDER: any;
+ public static ENTITY_PARROT_IMITATE_STRAY: any;
+ public static ENTITY_PARROT_IMITATE_VEX: any;
+ public static ENTITY_PARROT_IMITATE_VINDICATOR: any;
+ public static ENTITY_PARROT_IMITATE_WITCH: any;
+ public static ENTITY_PARROT_IMITATE_WITHER: any;
+ public static ENTITY_PARROT_IMITATE_WITHER_SKELETON: any;
+ public static ENTITY_PARROT_IMITATE_WOLF: any;
+ public static ENTITY_PARROT_IMITATE_ZOMBIE: any;
+ public static ENTITY_PARROT_IMITATE_ZOMBIE_PIGMAN: any;
+ public static ENTITY_PARROT_IMITATE_ZOMBIE_VILLAGER: any;
+ public static ENTITY_PARROT_STEP: any;
+ public static ENTITY_PHANTOM_AMBIENT: any;
+ public static ENTITY_PHANTOM_BITE: any;
+ public static ENTITY_PHANTOM_DEATH: any;
+ public static ENTITY_PHANTOM_FLAP: any;
+ public static ENTITY_PHANTOM_HURT: any;
+ public static ENTITY_PHANTOM_SWOOP: any;
+ public static ENTITY_PIG_AMBIENT: any;
+ public static ENTITY_PIG_DEATH: any;
+ public static ENTITY_PIG_HURT: any;
+ public static ENTITY_PIG_SADDLE: any;
+ public static ENTITY_PIG_STEP: any;
+ public static ENTITY_PILLAGER_AMBIENT: any;
+ public static ENTITY_PILLAGER_CELEBRATE: any;
+ public static ENTITY_PILLAGER_DEATH: any;
+ public static ENTITY_PILLAGER_HURT: any;
+ public static ENTITY_PLAYER_ATTACK_CRIT: any;
+ public static ENTITY_PLAYER_ATTACK_KNOCKBACK: any;
+ public static ENTITY_PLAYER_ATTACK_NODAMAGE: any;
+ public static ENTITY_PLAYER_ATTACK_STRONG: any;
+ public static ENTITY_PLAYER_ATTACK_SWEEP: any;
+ public static ENTITY_PLAYER_ATTACK_WEAK: any;
+ public static ENTITY_PLAYER_BIG_FALL: any;
+ public static ENTITY_PLAYER_BREATH: any;
+ public static ENTITY_PLAYER_BURP: any;
+ public static ENTITY_PLAYER_DEATH: any;
+ public static ENTITY_PLAYER_HURT: any;
+ public static ENTITY_PLAYER_HURT_DROWN: any;
+ public static ENTITY_PLAYER_HURT_ON_FIRE: any;
+ public static ENTITY_PLAYER_HURT_SWEET_BERRY_BUSH: any;
+ public static ENTITY_PLAYER_LEVELUP: any;
+ public static ENTITY_PLAYER_SMALL_FALL: any;
+ public static ENTITY_PLAYER_SPLASH: any;
+ public static ENTITY_PLAYER_SPLASH_HIGH_SPEED: any;
+ public static ENTITY_PLAYER_SWIM: any;
+ public static ENTITY_POLAR_BEAR_AMBIENT: any;
+ public static ENTITY_POLAR_BEAR_AMBIENT_BABY: any;
+ public static ENTITY_POLAR_BEAR_DEATH: any;
+ public static ENTITY_POLAR_BEAR_HURT: any;
+ public static ENTITY_POLAR_BEAR_STEP: any;
+ public static ENTITY_POLAR_BEAR_WARNING: any;
+ public static ENTITY_PUFFER_FISH_AMBIENT: any;
+ public static ENTITY_PUFFER_FISH_BLOW_OUT: any;
+ public static ENTITY_PUFFER_FISH_BLOW_UP: any;
+ public static ENTITY_PUFFER_FISH_DEATH: any;
+ public static ENTITY_PUFFER_FISH_FLOP: any;
+ public static ENTITY_PUFFER_FISH_HURT: any;
+ public static ENTITY_PUFFER_FISH_STING: any;
+ public static ENTITY_RABBIT_AMBIENT: any;
+ public static ENTITY_RABBIT_ATTACK: any;
+ public static ENTITY_RABBIT_DEATH: any;
+ public static ENTITY_RABBIT_HURT: any;
+ public static ENTITY_RABBIT_JUMP: any;
+ public static ENTITY_RAVAGER_AMBIENT: any;
+ public static ENTITY_RAVAGER_ATTACK: any;
+ public static ENTITY_RAVAGER_CELEBRATE: any;
+ public static ENTITY_RAVAGER_DEATH: any;
+ public static ENTITY_RAVAGER_HURT: any;
+ public static ENTITY_RAVAGER_ROAR: any;
+ public static ENTITY_RAVAGER_STEP: any;
+ public static ENTITY_RAVAGER_STUNNED: any;
+ public static ENTITY_SALMON_AMBIENT: any;
+ public static ENTITY_SALMON_DEATH: any;
+ public static ENTITY_SALMON_FLOP: any;
+ public static ENTITY_SALMON_HURT: any;
+ public static ENTITY_SHEEP_AMBIENT: any;
+ public static ENTITY_SHEEP_DEATH: any;
+ public static ENTITY_SHEEP_HURT: any;
+ public static ENTITY_SHEEP_SHEAR: any;
+ public static ENTITY_SHEEP_STEP: any;
+ public static ENTITY_SHULKER_AMBIENT: any;
+ public static ENTITY_SHULKER_BULLET_HIT: any;
+ public static ENTITY_SHULKER_BULLET_HURT: any;
+ public static ENTITY_SHULKER_CLOSE: any;
+ public static ENTITY_SHULKER_DEATH: any;
+ public static ENTITY_SHULKER_HURT: any;
+ public static ENTITY_SHULKER_HURT_CLOSED: any;
+ public static ENTITY_SHULKER_OPEN: any;
+ public static ENTITY_SHULKER_SHOOT: any;
+ public static ENTITY_SHULKER_TELEPORT: any;
+ public static ENTITY_SILVERFISH_AMBIENT: any;
+ public static ENTITY_SILVERFISH_DEATH: any;
+ public static ENTITY_SILVERFISH_HURT: any;
+ public static ENTITY_SILVERFISH_STEP: any;
+ public static ENTITY_SKELETON_AMBIENT: any;
+ public static ENTITY_SKELETON_DEATH: any;
+ public static ENTITY_SKELETON_HORSE_AMBIENT: any;
+ public static ENTITY_SKELETON_HORSE_AMBIENT_WATER: any;
+ public static ENTITY_SKELETON_HORSE_DEATH: any;
+ public static ENTITY_SKELETON_HORSE_GALLOP_WATER: any;
+ public static ENTITY_SKELETON_HORSE_HURT: any;
+ public static ENTITY_SKELETON_HORSE_JUMP_WATER: any;
+ public static ENTITY_SKELETON_HORSE_STEP_WATER: any;
+ public static ENTITY_SKELETON_HORSE_SWIM: any;
+ public static ENTITY_SKELETON_HURT: any;
+ public static ENTITY_SKELETON_SHOOT: any;
+ public static ENTITY_SKELETON_STEP: any;
+ public static ENTITY_SLIME_ATTACK: any;
+ public static ENTITY_SLIME_DEATH: any;
+ public static ENTITY_SLIME_DEATH_SMALL: any;
+ public static ENTITY_SLIME_HURT: any;
+ public static ENTITY_SLIME_HURT_SMALL: any;
+ public static ENTITY_SLIME_JUMP: any;
+ public static ENTITY_SLIME_JUMP_SMALL: any;
+ public static ENTITY_SLIME_SQUISH: any;
+ public static ENTITY_SLIME_SQUISH_SMALL: any;
+ public static ENTITY_SNOWBALL_THROW: any;
+ public static ENTITY_SNOW_GOLEM_AMBIENT: any;
+ public static ENTITY_SNOW_GOLEM_DEATH: any;
+ public static ENTITY_SNOW_GOLEM_HURT: any;
+ public static ENTITY_SNOW_GOLEM_SHOOT: any;
+ public static ENTITY_SPIDER_AMBIENT: any;
+ public static ENTITY_SPIDER_DEATH: any;
+ public static ENTITY_SPIDER_HURT: any;
+ public static ENTITY_SPIDER_STEP: any;
+ public static ENTITY_SPLASH_POTION_BREAK: any;
+ public static ENTITY_SPLASH_POTION_THROW: any;
+ public static ENTITY_SQUID_AMBIENT: any;
+ public static ENTITY_SQUID_DEATH: any;
+ public static ENTITY_SQUID_HURT: any;
+ public static ENTITY_SQUID_SQUIRT: any;
+ public static ENTITY_STRAY_AMBIENT: any;
+ public static ENTITY_STRAY_DEATH: any;
+ public static ENTITY_STRAY_HURT: any;
+ public static ENTITY_STRAY_STEP: any;
+ public static ENTITY_TNT_PRIMED: any;
+ public static ENTITY_TROPICAL_FISH_AMBIENT: any;
+ public static ENTITY_TROPICAL_FISH_DEATH: any;
+ public static ENTITY_TROPICAL_FISH_FLOP: any;
+ public static ENTITY_TROPICAL_FISH_HURT: any;
+ public static ENTITY_TURTLE_AMBIENT_LAND: any;
+ public static ENTITY_TURTLE_DEATH: any;
+ public static ENTITY_TURTLE_DEATH_BABY: any;
+ public static ENTITY_TURTLE_EGG_BREAK: any;
+ public static ENTITY_TURTLE_EGG_CRACK: any;
+ public static ENTITY_TURTLE_EGG_HATCH: any;
+ public static ENTITY_TURTLE_HURT: any;
+ public static ENTITY_TURTLE_HURT_BABY: any;
+ public static ENTITY_TURTLE_LAY_EGG: any;
+ public static ENTITY_TURTLE_SHAMBLE: any;
+ public static ENTITY_TURTLE_SHAMBLE_BABY: any;
+ public static ENTITY_TURTLE_SWIM: any;
+ public static ENTITY_VEX_AMBIENT: any;
+ public static ENTITY_VEX_CHARGE: any;
+ public static ENTITY_VEX_DEATH: any;
+ public static ENTITY_VEX_HURT: any;
+ public static ENTITY_VILLAGER_AMBIENT: any;
+ public static ENTITY_VILLAGER_CELEBRATE: any;
+ public static ENTITY_VILLAGER_DEATH: any;
+ public static ENTITY_VILLAGER_HURT: any;
+ public static ENTITY_VILLAGER_NO: any;
+ public static ENTITY_VILLAGER_TRADE: any;
+ public static ENTITY_VILLAGER_WORK_ARMORER: any;
+ public static ENTITY_VILLAGER_WORK_BUTCHER: any;
+ public static ENTITY_VILLAGER_WORK_CARTOGRAPHER: any;
+ public static ENTITY_VILLAGER_WORK_CLERIC: any;
+ public static ENTITY_VILLAGER_WORK_FARMER: any;
+ public static ENTITY_VILLAGER_WORK_FISHERMAN: any;
+ public static ENTITY_VILLAGER_WORK_FLETCHER: any;
+ public static ENTITY_VILLAGER_WORK_LEATHERWORKER: any;
+ public static ENTITY_VILLAGER_WORK_LIBRARIAN: any;
+ public static ENTITY_VILLAGER_WORK_MASON: any;
+ public static ENTITY_VILLAGER_WORK_SHEPHERD: any;
+ public static ENTITY_VILLAGER_WORK_TOOLSMITH: any;
+ public static ENTITY_VILLAGER_WORK_WEAPONSMITH: any;
+ public static ENTITY_VILLAGER_YES: any;
+ public static ENTITY_VINDICATOR_AMBIENT: any;
+ public static ENTITY_VINDICATOR_CELEBRATE: any;
+ public static ENTITY_VINDICATOR_DEATH: any;
+ public static ENTITY_VINDICATOR_HURT: any;
+ public static ENTITY_WANDERING_TRADER_AMBIENT: any;
+ public static ENTITY_WANDERING_TRADER_DEATH: any;
+ public static ENTITY_WANDERING_TRADER_DISAPPEARED: any;
+ public static ENTITY_WANDERING_TRADER_DRINK_MILK: any;
+ public static ENTITY_WANDERING_TRADER_DRINK_POTION: any;
+ public static ENTITY_WANDERING_TRADER_HURT: any;
+ public static ENTITY_WANDERING_TRADER_NO: any;
+ public static ENTITY_WANDERING_TRADER_REAPPEARED: any;
+ public static ENTITY_WANDERING_TRADER_TRADE: any;
+ public static ENTITY_WANDERING_TRADER_YES: any;
+ public static ENTITY_WITCH_AMBIENT: any;
+ public static ENTITY_WITCH_CELEBRATE: any;
+ public static ENTITY_WITCH_DEATH: any;
+ public static ENTITY_WITCH_DRINK: any;
+ public static ENTITY_WITCH_HURT: any;
+ public static ENTITY_WITCH_THROW: any;
+ public static ENTITY_WITHER_AMBIENT: any;
+ public static ENTITY_WITHER_BREAK_BLOCK: any;
+ public static ENTITY_WITHER_DEATH: any;
+ public static ENTITY_WITHER_HURT: any;
+ public static ENTITY_WITHER_SHOOT: any;
+ public static ENTITY_WITHER_SKELETON_AMBIENT: any;
+ public static ENTITY_WITHER_SKELETON_DEATH: any;
+ public static ENTITY_WITHER_SKELETON_HURT: any;
+ public static ENTITY_WITHER_SKELETON_STEP: any;
+ public static ENTITY_WITHER_SPAWN: any;
+ public static ENTITY_WOLF_AMBIENT: any;
+ public static ENTITY_WOLF_DEATH: any;
+ public static ENTITY_WOLF_GROWL: any;
+ public static ENTITY_WOLF_HOWL: any;
+ public static ENTITY_WOLF_HURT: any;
+ public static ENTITY_WOLF_PANT: any;
+ public static ENTITY_WOLF_SHAKE: any;
+ public static ENTITY_WOLF_STEP: any;
+ public static ENTITY_WOLF_WHINE: any;
+ public static ENTITY_ZOMBIE_AMBIENT: any;
+ public static ENTITY_ZOMBIE_ATTACK_IRON_DOOR: any;
+ public static ENTITY_ZOMBIE_ATTACK_WOODEN_DOOR: any;
+ public static ENTITY_ZOMBIE_BREAK_WOODEN_DOOR: any;
+ public static ENTITY_ZOMBIE_CONVERTED_TO_DROWNED: any;
+ public static ENTITY_ZOMBIE_DEATH: any;
+ public static ENTITY_ZOMBIE_DESTROY_EGG: any;
+ public static ENTITY_ZOMBIE_HORSE_AMBIENT: any;
+ public static ENTITY_ZOMBIE_HORSE_DEATH: any;
+ public static ENTITY_ZOMBIE_HORSE_HURT: any;
+ public static ENTITY_ZOMBIE_HURT: any;
+ public static ENTITY_ZOMBIE_INFECT: any;
+ public static ENTITY_ZOMBIE_PIGMAN_AMBIENT: any;
+ public static ENTITY_ZOMBIE_PIGMAN_ANGRY: any;
+ public static ENTITY_ZOMBIE_PIGMAN_DEATH: any;
+ public static ENTITY_ZOMBIE_PIGMAN_HURT: any;
+ public static ENTITY_ZOMBIE_STEP: any;
+ public static ENTITY_ZOMBIE_VILLAGER_AMBIENT: any;
+ public static ENTITY_ZOMBIE_VILLAGER_CONVERTED: any;
+ public static ENTITY_ZOMBIE_VILLAGER_CURE: any;
+ public static ENTITY_ZOMBIE_VILLAGER_DEATH: any;
+ public static ENTITY_ZOMBIE_VILLAGER_HURT: any;
+ public static ENTITY_ZOMBIE_VILLAGER_STEP: any;
+ public static EVENT_RAID_HORN: any;
+ public static ITEM_ARMOR_EQUIP_CHAIN: any;
+ public static ITEM_ARMOR_EQUIP_DIAMOND: any;
+ public static ITEM_ARMOR_EQUIP_ELYTRA: any;
+ public static ITEM_ARMOR_EQUIP_GENERIC: any;
+ public static ITEM_ARMOR_EQUIP_GOLD: any;
+ public static ITEM_ARMOR_EQUIP_IRON: any;
+ public static ITEM_ARMOR_EQUIP_LEATHER: any;
+ public static ITEM_ARMOR_EQUIP_TURTLE: any;
+ public static ITEM_AXE_STRIP: any;
+ public static ITEM_BOOK_PAGE_TURN: any;
+ public static ITEM_BOOK_PUT: any;
+ public static ITEM_BOTTLE_EMPTY: any;
+ public static ITEM_BOTTLE_FILL: any;
+ public static ITEM_BOTTLE_FILL_DRAGONBREATH: any;
+ public static ITEM_BUCKET_EMPTY: any;
+ public static ITEM_BUCKET_EMPTY_FISH: any;
+ public static ITEM_BUCKET_EMPTY_LAVA: any;
+ public static ITEM_BUCKET_FILL: any;
+ public static ITEM_BUCKET_FILL_FISH: any;
+ public static ITEM_BUCKET_FILL_LAVA: any;
+ public static ITEM_CHORUS_FRUIT_TELEPORT: any;
+ public static ITEM_CROP_PLANT: any;
+ public static ITEM_CROSSBOW_HIT: any;
+ public static ITEM_CROSSBOW_LOADING_END: any;
+ public static ITEM_CROSSBOW_LOADING_MIDDLE: any;
+ public static ITEM_CROSSBOW_LOADING_START: any;
+ public static ITEM_CROSSBOW_QUICK_CHARGE_1: any;
+ public static ITEM_CROSSBOW_QUICK_CHARGE_2: any;
+ public static ITEM_CROSSBOW_QUICK_CHARGE_3: any;
+ public static ITEM_CROSSBOW_SHOOT: any;
+ public static ITEM_ELYTRA_FLYING: any;
+ public static ITEM_FIRECHARGE_USE: any;
+ public static ITEM_FLINTANDSTEEL_USE: any;
+ public static ITEM_HOE_TILL: any;
+ public static ITEM_NETHER_WART_PLANT: any;
+ public static ITEM_SHIELD_BLOCK: any;
+ public static ITEM_SHIELD_BREAK: any;
+ public static ITEM_SHOVEL_FLATTEN: any;
+ public static ITEM_SWEET_BERRIES_PICK_FROM_BUSH: any;
+ public static ITEM_TOTEM_USE: any;
+ public static ITEM_TRIDENT_HIT: any;
+ public static ITEM_TRIDENT_HIT_GROUND: any;
+ public static ITEM_TRIDENT_RETURN: any;
+ public static ITEM_TRIDENT_RIPTIDE_1: any;
+ public static ITEM_TRIDENT_RIPTIDE_2: any;
+ public static ITEM_TRIDENT_RIPTIDE_3: any;
+ public static ITEM_TRIDENT_THROW: any;
+ public static ITEM_TRIDENT_THUNDER: any;
+ public static MUSIC_CREATIVE: any;
+ public static MUSIC_CREDITS: any;
+ public static MUSIC_DISC_11: any;
+ public static MUSIC_DISC_13: any;
+ public static MUSIC_DISC_BLOCKS: any;
+ public static MUSIC_DISC_CAT: any;
+ public static MUSIC_DISC_CHIRP: any;
+ public static MUSIC_DISC_FAR: any;
+ public static MUSIC_DISC_MALL: any;
+ public static MUSIC_DISC_MELLOHI: any;
+ public static MUSIC_DISC_STAL: any;
+ public static MUSIC_DISC_STRAD: any;
+ public static MUSIC_DISC_WAIT: any;
+ public static MUSIC_DISC_WARD: any;
+ public static MUSIC_DRAGON: any;
+ public static MUSIC_END: any;
+ public static MUSIC_GAME: any;
+ public static MUSIC_MENU: any;
+ public static MUSIC_NETHER: any;
+ public static MUSIC_UNDER_WATER: any;
+ public static UI_BUTTON_CLICK: any;
+ public static UI_CARTOGRAPHY_TABLE_TAKE_RESULT: any;
+ public static UI_LOOM_SELECT_PATTERN: any;
+ public static UI_LOOM_TAKE_RESULT: any;
+ public static UI_STONECUTTER_SELECT_RECIPE: any;
+ public static UI_STONECUTTER_TAKE_RESULT: any;
+ public static UI_TOAST_CHALLENGE_COMPLETE: any;
+ public static UI_TOAST_IN: any;
+ public static UI_TOAST_OUT: any;
+ public static WEATHER_RAIN: any;
+ public static WEATHER_RAIN_ABOVE: any;
+ public static values(): any;
+ public static valueOf(name: any): any;
+ }
+ }
+}
diff --git a/packages/bukkit/src/typings/org.bukkit.SoundCategory.ts b/packages/bukkit/src/typings/org.bukkit.SoundCategory.ts
new file mode 100644
index 00000000..29510402
--- /dev/null
+++ b/packages/bukkit/src/typings/org.bukkit.SoundCategory.ts
@@ -0,0 +1,18 @@
+declare namespace org {
+ namespace bukkit {
+ class SoundCategory {
+ public static MASTER: org.bukkit.SoundCategory;
+ public static MUSIC: org.bukkit.SoundCategory;
+ public static RECORDS: org.bukkit.SoundCategory;
+ public static WEATHER: org.bukkit.SoundCategory;
+ public static BLOCKS: org.bukkit.SoundCategory;
+ public static HOSTILE: org.bukkit.SoundCategory;
+ public static NEUTRAL: org.bukkit.SoundCategory;
+ public static PLAYERS: org.bukkit.SoundCategory;
+ public static AMBIENT: org.bukkit.SoundCategory;
+ public static VOICE: org.bukkit.SoundCategory;
+ public static values(): org.bukkit.SoundCategory[];
+ public static valueOf(name: string): org.bukkit.SoundCategory;
+ }
+ }
+}
diff --git a/packages/bukkit/src/typings/org.bukkit.Statistic.Type.ts b/packages/bukkit/src/typings/org.bukkit.Statistic.Type.ts
new file mode 100644
index 00000000..55ee8bea
--- /dev/null
+++ b/packages/bukkit/src/typings/org.bukkit.Statistic.Type.ts
@@ -0,0 +1,14 @@
+declare namespace org {
+ namespace bukkit {
+ namespace Statistic {
+ class Type {
+ public static UNTYPED: org.bukkit.Statistic.Type;
+ public static ITEM: org.bukkit.Statistic.Type;
+ public static BLOCK: org.bukkit.Statistic.Type;
+ public static ENTITY: org.bukkit.Statistic.Type;
+ public static values(): org.bukkit.Statistic.Type[];
+ public static valueOf(name: string): org.bukkit.Statistic.Type;
+ }
+ }
+ }
+}
diff --git a/packages/bukkit/src/typings/org.bukkit.Statistic.ts b/packages/bukkit/src/typings/org.bukkit.Statistic.ts
new file mode 100644
index 00000000..af4d7ac4
--- /dev/null
+++ b/packages/bukkit/src/typings/org.bukkit.Statistic.ts
@@ -0,0 +1,107 @@
+declare namespace org {
+ namespace bukkit {
+ class Statistic {
+ public static DAMAGE_DEALT: org.bukkit.Statistic;
+ public static DAMAGE_TAKEN: org.bukkit.Statistic;
+ public static DEATHS: org.bukkit.Statistic;
+ public static MOB_KILLS: org.bukkit.Statistic;
+ public static PLAYER_KILLS: org.bukkit.Statistic;
+ public static FISH_CAUGHT: org.bukkit.Statistic;
+ public static ANIMALS_BRED: org.bukkit.Statistic;
+ public static LEAVE_GAME: org.bukkit.Statistic;
+ public static JUMP: org.bukkit.Statistic;
+ public static DROP_COUNT: org.bukkit.Statistic;
+ public static DROP: org.bukkit.Statistic;
+ public static PICKUP: org.bukkit.Statistic;
+ public static PLAY_ONE_MINUTE: org.bukkit.Statistic;
+ public static WALK_ONE_CM: org.bukkit.Statistic;
+ public static WALK_ON_WATER_ONE_CM: org.bukkit.Statistic;
+ public static FALL_ONE_CM: org.bukkit.Statistic;
+ public static SNEAK_TIME: org.bukkit.Statistic;
+ public static CLIMB_ONE_CM: org.bukkit.Statistic;
+ public static FLY_ONE_CM: org.bukkit.Statistic;
+ public static WALK_UNDER_WATER_ONE_CM: org.bukkit.Statistic;
+ public static MINECART_ONE_CM: org.bukkit.Statistic;
+ public static BOAT_ONE_CM: org.bukkit.Statistic;
+ public static PIG_ONE_CM: org.bukkit.Statistic;
+ public static HORSE_ONE_CM: org.bukkit.Statistic;
+ public static SPRINT_ONE_CM: org.bukkit.Statistic;
+ public static CROUCH_ONE_CM: org.bukkit.Statistic;
+ public static AVIATE_ONE_CM: org.bukkit.Statistic;
+ public static MINE_BLOCK: org.bukkit.Statistic;
+ public static USE_ITEM: org.bukkit.Statistic;
+ public static BREAK_ITEM: org.bukkit.Statistic;
+ public static CRAFT_ITEM: org.bukkit.Statistic;
+ public static KILL_ENTITY: org.bukkit.Statistic;
+ public static ENTITY_KILLED_BY: org.bukkit.Statistic;
+ public static TIME_SINCE_DEATH: org.bukkit.Statistic;
+ public static TALKED_TO_VILLAGER: org.bukkit.Statistic;
+ public static TRADED_WITH_VILLAGER: org.bukkit.Statistic;
+ public static CAKE_SLICES_EATEN: org.bukkit.Statistic;
+ public static CAULDRON_FILLED: org.bukkit.Statistic;
+ public static CAULDRON_USED: org.bukkit.Statistic;
+ public static ARMOR_CLEANED: org.bukkit.Statistic;
+ public static BANNER_CLEANED: org.bukkit.Statistic;
+ public static BREWINGSTAND_INTERACTION: org.bukkit.Statistic;
+ public static BEACON_INTERACTION: org.bukkit.Statistic;
+ public static DROPPER_INSPECTED: org.bukkit.Statistic;
+ public static HOPPER_INSPECTED: org.bukkit.Statistic;
+ public static DISPENSER_INSPECTED: org.bukkit.Statistic;
+ public static NOTEBLOCK_PLAYED: org.bukkit.Statistic;
+ public static NOTEBLOCK_TUNED: org.bukkit.Statistic;
+ public static FLOWER_POTTED: org.bukkit.Statistic;
+ public static TRAPPED_CHEST_TRIGGERED: org.bukkit.Statistic;
+ public static ENDERCHEST_OPENED: org.bukkit.Statistic;
+ public static ITEM_ENCHANTED: org.bukkit.Statistic;
+ public static RECORD_PLAYED: org.bukkit.Statistic;
+ public static FURNACE_INTERACTION: org.bukkit.Statistic;
+ public static CRAFTING_TABLE_INTERACTION: org.bukkit.Statistic;
+ public static CHEST_OPENED: org.bukkit.Statistic;
+ public static SLEEP_IN_BED: org.bukkit.Statistic;
+ public static SHULKER_BOX_OPENED: org.bukkit.Statistic;
+ public static TIME_SINCE_REST: org.bukkit.Statistic;
+ public static SWIM_ONE_CM: org.bukkit.Statistic;
+ public static DAMAGE_DEALT_ABSORBED: org.bukkit.Statistic;
+ public static DAMAGE_DEALT_RESISTED: org.bukkit.Statistic;
+ public static DAMAGE_BLOCKED_BY_SHIELD: org.bukkit.Statistic;
+ public static DAMAGE_ABSORBED: org.bukkit.Statistic;
+ public static DAMAGE_RESISTED: org.bukkit.Statistic;
+ public static CLEAN_SHULKER_BOX: org.bukkit.Statistic;
+ public static OPEN_BARREL: org.bukkit.Statistic;
+ public static INTERACT_WITH_BLAST_FURNACE: org.bukkit.Statistic;
+ public static INTERACT_WITH_SMOKER: org.bukkit.Statistic;
+ public static INTERACT_WITH_LECTERN: org.bukkit.Statistic;
+ public static INTERACT_WITH_CAMPFIRE: org.bukkit.Statistic;
+ public static INTERACT_WITH_CARTOGRAPHY_TABLE: org.bukkit.Statistic;
+ public static INTERACT_WITH_LOOM: org.bukkit.Statistic;
+ public static INTERACT_WITH_STONECUTTER: org.bukkit.Statistic;
+ public static BELL_RING: org.bukkit.Statistic;
+ public static RAID_TRIGGER: org.bukkit.Statistic;
+ public static RAID_WIN: org.bukkit.Statistic;
+ public static values(): org.bukkit.Statistic[];
+ public static valueOf(name: string): org.bukkit.Statistic;
+ /**
+ * Gets the type of this statistic.
+ */
+ public getType(): org.bukkit.Statistic.Type;
+ /**
+ * Checks if this is a substatistic.
+ * getType() != Type.UNTYPED
+ */
+ public isSubstatistic(): boolean;
+ /**
+ * Checks if this is a substatistic dealing with blocks.
+ * getType() == Type.BLOCK
+ */
+ public isBlock(): boolean;
+ public getKey(): org.bukkit.NamespacedKey;
+ }
+ }
+}
diff --git a/packages/bukkit/src/typings/org.bukkit.StructureType.ts b/packages/bukkit/src/typings/org.bukkit.StructureType.ts
new file mode 100644
index 00000000..d4f7720f
--- /dev/null
+++ b/packages/bukkit/src/typings/org.bukkit.StructureType.ts
@@ -0,0 +1,38 @@
+declare namespace org {
+ namespace bukkit {
+ class StructureType {
+ public static MINESHAFT: org.bukkit.StructureType;
+ public static VILLAGE: org.bukkit.StructureType;
+ public static NETHER_FORTRESS: org.bukkit.StructureType;
+ public static STRONGHOLD: org.bukkit.StructureType;
+ public static JUNGLE_PYRAMID: org.bukkit.StructureType;
+ public static OCEAN_RUIN: org.bukkit.StructureType;
+ public static DESERT_PYRAMID: org.bukkit.StructureType;
+ public static IGLOO: org.bukkit.StructureType;
+ public static SWAMP_HUT: org.bukkit.StructureType;
+ public static OCEAN_MONUMENT: org.bukkit.StructureType;
+ public static END_CITY: org.bukkit.StructureType;
+ public static WOODLAND_MANSION: org.bukkit.StructureType;
+ public static BURIED_TREASURE: org.bukkit.StructureType;
+ public static SHIPWRECK: org.bukkit.StructureType;
+ public static PILLAGER_OUTPOST: org.bukkit.StructureType;
+ /**
+ * Get the name of this structure. This is case-sensitive when used in
+ * commands.
+ */
+ public getName(): string;
+ /**
+ * Get the {@link org.bukkit.map.MapCursor.Type} that this structure can use on maps. If
+ * this is null, this structure will not appear on explorer maps.
+ */
+ public getMapIcon(): org.bukkit.map.MapCursor.Type;
+ public equals(other: any): boolean;
+ public hashCode(): number;
+ public toString(): string;
+ /**
+ * Get all registered {@link StructureType}s.
+ */
+ public static getStructureTypes(): Map
+ * It is currently a JSON object, as described by the Minecraft Wiki:
+ * http://minecraft.gamepedia.com/Advancements
+ *
+ * Loaded advancements will be stored and persisted across server restarts
+ * and reloads.
+ *
+ * Callers should be prepared for {@link Exception} to be thrown.
+ */
+ public loadAdvancement(key: org.bukkit.NamespacedKey, advancement: string): org.bukkit.advancement.Advancement;
+ /**
+ * Delete an advancement which was loaded and saved by
+ * {@link #loadAdvancement(org.bukkit.NamespacedKey, java.lang.String)}.
+ *
+ * This method will only remove advancement from persistent storage. It
+ * should be accompanied by a call to {@link Server#reloadData()} in order
+ * to fully remove it from the running instance.
+ */
+ public removeAdvancement(key: org.bukkit.NamespacedKey): boolean;
+ }
+ }
+}
diff --git a/packages/bukkit/src/typings/org.bukkit.Utility.ts b/packages/bukkit/src/typings/org.bukkit.Utility.ts
new file mode 100644
index 00000000..099a00f4
--- /dev/null
+++ b/packages/bukkit/src/typings/org.bukkit.Utility.ts
@@ -0,0 +1,6 @@
+declare namespace org {
+ namespace bukkit {
+ class Utility {
+ }
+ }
+}
diff --git a/packages/bukkit/src/typings/org.bukkit.Warning.WarningState.ts b/packages/bukkit/src/typings/org.bukkit.Warning.WarningState.ts
new file mode 100644
index 00000000..db281745
--- /dev/null
+++ b/packages/bukkit/src/typings/org.bukkit.Warning.WarningState.ts
@@ -0,0 +1,23 @@
+declare namespace org {
+ namespace bukkit {
+ namespace Warning {
+ class WarningState {
+ public static ON: org.bukkit.Warning.WarningState;
+ public static OFF: org.bukkit.Warning.WarningState;
+ public static DEFAULT: org.bukkit.Warning.WarningState;
+ public static values(): org.bukkit.Warning.WarningState[];
+ public static valueOf(name: string): org.bukkit.Warning.WarningState;
+ /**
+ * This method checks the provided warning should be printed for this
+ * state
+ */
+ public printFor(warning: org.bukkit.Warning): boolean;
+ /**
+ * This method returns the corresponding warning state for the given
+ * string value.
+ */
+ public static value(value: string): org.bukkit.Warning.WarningState;
+ }
+ }
+ }
+}
diff --git a/packages/bukkit/src/typings/org.bukkit.Warning.ts b/packages/bukkit/src/typings/org.bukkit.Warning.ts
new file mode 100644
index 00000000..e00ec5cd
--- /dev/null
+++ b/packages/bukkit/src/typings/org.bukkit.Warning.ts
@@ -0,0 +1,15 @@
+declare namespace org {
+ namespace bukkit {
+ class Warning {
+ /**
+ * This sets if the deprecation warnings when registering events gets
+ * printed when the setting is in the default state.
+ */
+ public value(): boolean;
+ /**
+ * This can provide detailed information on why the event is deprecated.
+ */
+ public reason(): string;
+ }
+ }
+}
diff --git a/packages/bukkit/src/typings/org.bukkit.WeatherType.ts b/packages/bukkit/src/typings/org.bukkit.WeatherType.ts
new file mode 100644
index 00000000..069bcfe3
--- /dev/null
+++ b/packages/bukkit/src/typings/org.bukkit.WeatherType.ts
@@ -0,0 +1,10 @@
+declare namespace org {
+ namespace bukkit {
+ class WeatherType {
+ public static DOWNFALL: org.bukkit.WeatherType;
+ public static CLEAR: org.bukkit.WeatherType;
+ public static values(): org.bukkit.WeatherType[];
+ public static valueOf(name: string): org.bukkit.WeatherType;
+ }
+ }
+}
diff --git a/packages/bukkit/src/typings/org.bukkit.World.Environment.ts b/packages/bukkit/src/typings/org.bukkit.World.Environment.ts
new file mode 100644
index 00000000..032fba0c
--- /dev/null
+++ b/packages/bukkit/src/typings/org.bukkit.World.Environment.ts
@@ -0,0 +1,21 @@
+declare namespace org {
+ namespace bukkit {
+ namespace World {
+ class Environment {
+ public static NORMAL: org.bukkit.World.Environment;
+ public static NETHER: org.bukkit.World.Environment;
+ public static THE_END: org.bukkit.World.Environment;
+ public static values(): org.bukkit.World.Environment[];
+ public static valueOf(name: string): org.bukkit.World.Environment;
+ /**
+ * Gets the dimension ID of this environment
+ */
+ public getId(): number;
+ /**
+ * Get an environment by ID
+ */
+ public static getEnvironment(id: number): org.bukkit.World.Environment;
+ }
+ }
+ }
+}
diff --git a/packages/bukkit/src/typings/org.bukkit.World.ts b/packages/bukkit/src/typings/org.bukkit.World.ts
new file mode 100644
index 00000000..6eca5500
--- /dev/null
+++ b/packages/bukkit/src/typings/org.bukkit.World.ts
@@ -0,0 +1,986 @@
+declare namespace org {
+ namespace bukkit {
+ class World {
+ /**
+ * Gets the {@link Block} at the given coordinates
+ */
+ public getBlockAt(x: number, y: number, z: number): org.bukkit.block.Block;
+ /**
+ * Gets the {@link Block} at the given {@link Location}
+ */
+ public getBlockAt(location: org.bukkit.Location): org.bukkit.block.Block;
+ /**
+ * Gets the y coordinate of the lowest block at this position such that the
+ * block and all blocks above it are transparent for lighting purposes.
+ */
+ public getHighestBlockYAt(x: number, z: number): number;
+ /**
+ * Gets the y coordinate of the lowest block at the given {@link Location}
+ * such that the block and all blocks above it are transparent for lighting
+ * purposes.
+ */
+ public getHighestBlockYAt(location: org.bukkit.Location): number;
+ /**
+ * Gets the lowest block at the given coordinates such that the block and
+ * all blocks above it are transparent for lighting purposes.
+ */
+ public getHighestBlockAt(x: number, z: number): org.bukkit.block.Block;
+ /**
+ * Gets the lowest block at the given {@link Location} such that the block
+ * and all blocks above it are transparent for lighting purposes.
+ */
+ public getHighestBlockAt(location: org.bukkit.Location): org.bukkit.block.Block;
+ /**
+ * Gets the {@link Chunk} at the given coordinates
+ */
+ public getChunkAt(x: number, z: number): org.bukkit.Chunk;
+ /**
+ * Gets the {@link Chunk} at the given {@link Location}
+ */
+ public getChunkAt(location: org.bukkit.Location): org.bukkit.Chunk;
+ /**
+ * Gets the {@link Chunk} that contains the given {@link Block}
+ */
+ public getChunkAt(block: org.bukkit.block.Block): org.bukkit.Chunk;
+ /**
+ * Checks if the specified {@link Chunk} is loaded
+ */
+ public isChunkLoaded(chunk: org.bukkit.Chunk): boolean;
+ /**
+ * Gets an array of all loaded {@link Chunk}s
+ */
+ public getLoadedChunks(): org.bukkit.Chunk[];
+ /**
+ * Loads the specified {@link Chunk}.
+ * raySize
parameter is only taken into account for entity
+ * collision checks.
+ *
+ * The location provided must be equal to this world.
+ */
+ public setSpawnLocation(location: org.bukkit.Location): boolean;
+ /**
+ * Sets the spawn location of the world
+ */
+ public setSpawnLocation(x: number, y: number, z: number): boolean;
+ /**
+ * Gets the relative in-game time of this world.
+ *
+ * Note that when the function is run, the entity will not be actually in
+ * the world. Any operation involving such as teleporting the entity is undefined
+ * until after this function returns.
+ */
+ public spawn(location: org.bukkit.Location, clazz: any, func: org.bukkit.util.Consumer): org.bukkit.entity.Entity;
+ /**
+ * Spawn a {@link FallingBlock} entity at the given {@link Location} of
+ * the specified {@link Material}. The material dictates what is falling.
+ * When the FallingBlock hits the ground, it will place that block.
+ *
+ *
+ *
+ *
+ *
+ *
+ *
+ *
+ *
+ * Block block = world.getBlockAt(100, 100, 100);
+ * Block shower = block.getRelative(BlockFace.UP, 2);
+ * shower.setType(Material.WATER);
+ *
+ */
+ public getRelative(face: org.bukkit.block.BlockFace, distance: number): org.bukkit.block.Block;
+ /**
+ * Gets the type of this block
+ */
+ public getType(): org.bukkit.Material;
+ /**
+ * Gets the light level between 0-15
+ */
+ public getLightLevel(): number;
+ /**
+ * Get the amount of light at this block from the sky.
+ *
+ * Note that applyPhysics = false is not in general safe. It should only be
+ * used when you need to avoid triggering a physics update of neighboring
+ * blocks, for example when creating a {@link Bisected} block. If you are
+ * using a custom populator, then this parameter may also be required to
+ * prevent triggering infinite chunk loads on border blocks. This method
+ * should NOT be used to "hack" physics by placing blocks in impossible
+ * locations. Such blocks are liable to be removed on various events such as
+ * world upgrades. Furthermore setting large amounts of such blocks in close
+ * proximity may overload the server physics engine if an update is
+ * triggered at a later point. If this occurs, the resulting behavior is
+ * undefined.
+ */
+ public setBlockData(data: org.bukkit.block.data.BlockData, applyPhysics: boolean): void;
+ /**
+ * Sets the type of this block
+ */
+ public setType(type: org.bukkit.Material): void;
+ /**
+ * Sets the type of this block
+ *
+ * Note that applyPhysics = false is not in general safe. It should only be
+ * used when you need to avoid triggering a physics update of neighboring
+ * blocks, for example when creating a {@link Bisected} block. If you are
+ * using a custom populator, then this parameter may also be required to
+ * prevent triggering infinite chunk loads on border blocks. This method
+ * should NOT be used to "hack" physics by placing blocks in impossible
+ * locations. Such blocks are liable to be removed on various events such as
+ * world upgrades. Furthermore setting large amounts of such blocks in close
+ * proximity may overload the server physics engine if an update is
+ * triggered at a later point. If this occurs, the resulting behavior is
+ * undefined.
+ */
+ public setType(type: org.bukkit.Material, applyPhysics: boolean): void;
+ /**
+ * Gets the face relation of this block compared to the given block.
+ * {@code
+ * Block current = world.getBlockAt(100, 100, 100);
+ * Block target = world.getBlockAt(100, 101, 100);
+ * current.getFace(target) == BlockFace.Up;
+ * }
+ *
+ * If the given block is not connected to this block, null may be returned
+ */
+ public getFace(block: org.bukkit.block.Block): org.bukkit.block.BlockFace;
+ /**
+ * Captures the current state of this block. You may then cast that state
+ * into any accepted type, such as Furnace or Sign.
+ *
+ * This is the delay, in ticks, until the spawner will spawn its next mob.
+ */
+ public getDelay(): number;
+ /**
+ * Set the spawner's delay.
+ *
+ * If set to -1, the spawn delay will be reset to a random value between
+ * {@link #getMinSpawnDelay} and {@link #getMaxSpawnDelay()}.
+ */
+ public setDelay(delay: number): void;
+ /**
+ * The minimum spawn delay amount (in ticks).
+ *
+ * This value is used when the spawner resets its delay (for any reason).
+ * It will choose a random number between {@link #getMinSpawnDelay()}
+ * and {@link #getMaxSpawnDelay()} for its next {@link #getDelay()}.
+ * Default value is 200 ticks.
+ */
+ public getMinSpawnDelay(): number;
+ /**
+ * Set the minimum spawn delay amount (in ticks).
+ */
+ public setMinSpawnDelay(delay: number): void;
+ /**
+ * The maximum spawn delay amount (in ticks).
+ *
+ * This value is used when the spawner resets its delay (for any reason).
+ * It will choose a random number between {@link #getMinSpawnDelay()}
+ * and {@link #getMaxSpawnDelay()} for its next {@link #getDelay()}.
+ *
+ * This value must be greater than 0 and less than or equal to
+ * {@link #getMaxSpawnDelay()}.
+ * Default value is 800 ticks.
+ */
+ public getMaxSpawnDelay(): number;
+ /**
+ * Set the maximum spawn delay amount (in ticks).
+ *
+ * This value must be greater than 0, as well as greater than or
+ * equal to {@link #getMinSpawnDelay()}
+ */
+ public setMaxSpawnDelay(delay: number): void;
+ /**
+ * Get how many mobs attempt to spawn.
+ *
+ * Default value is 4.
+ */
+ public getSpawnCount(): number;
+ /**
+ * Set how many mobs attempt to spawn.
+ */
+ public setSpawnCount(spawnCount: number): void;
+ /**
+ * Set the new maximum amount of similar entities that are allowed to be
+ * within spawning range of this spawner.
+ *
+ * If more than the maximum number of entities are within range, the spawner
+ * will not spawn and try again with a new {@link #getDelay()}.
+ *
+ * Default value is 16.
+ */
+ public getMaxNearbyEntities(): number;
+ /**
+ * Set the maximum number of similar entities that are allowed to be within
+ * spawning range of this spawner.
+ *
+ * Similar entities are entities that are of the same {@link EntityType}
+ */
+ public setMaxNearbyEntities(maxNearbyEntities: number): void;
+ /**
+ * Get the maximum distance(squared) a player can be in order for this
+ * spawner to be active.
+ *
+ * If this value is less than or equal to 0, this spawner is always active
+ * (given that there are players online).
+ *
+ * Default value is 16.
+ */
+ public getRequiredPlayerRange(): number;
+ /**
+ * Set the maximum distance (squared) a player can be in order for this
+ * spawner to be active.
+ *
+ * Setting this value to less than or equal to 0 will make this spawner
+ * always active (given that there are players online).
+ */
+ public setRequiredPlayerRange(requiredPlayerRange: number): void;
+ /**
+ * Get the radius around which the spawner will attempt to spawn mobs in.
+ *
+ * This area is square, includes the block the spawner is in, and is
+ * centered on the spawner's x,z coordinates - not the spawner itself.
+ *
+ * It is 2 blocks high, centered on the spawner's y-coordinate (its bottom);
+ * thus allowing mobs to spawn as high as its top surface and as low
+ * as 1 block below its bottom surface.
+ *
+ * Default value is 4.
+ */
+ public getSpawnRange(): number;
+ /**
+ * Set the new spawn range.
+ *
+ */
+ public setSpawnRange(spawnRange: number): void;
+ }
+ }
+ }
+}
diff --git a/packages/bukkit/src/typings/org.bukkit.block.DaylightDetector.ts b/packages/bukkit/src/typings/org.bukkit.block.DaylightDetector.ts
new file mode 100644
index 00000000..d740f043
--- /dev/null
+++ b/packages/bukkit/src/typings/org.bukkit.block.DaylightDetector.ts
@@ -0,0 +1,8 @@
+declare namespace org {
+ namespace bukkit {
+ namespace block {
+ class DaylightDetector {
+ }
+ }
+ }
+}
diff --git a/packages/bukkit/src/typings/org.bukkit.block.Dispenser.ts b/packages/bukkit/src/typings/org.bukkit.block.Dispenser.ts
new file mode 100644
index 00000000..f76d64f4
--- /dev/null
+++ b/packages/bukkit/src/typings/org.bukkit.block.Dispenser.ts
@@ -0,0 +1,22 @@
+declare namespace org {
+ namespace bukkit {
+ namespace block {
+ class Dispenser {
+ /**
+ * Gets the BlockProjectileSource object for the dispenser.
+ *
+ * If the age is less than 200 ticks a magenta beam will be emitted, whilst
+ * if it is a multiple of 2400 ticks a purple beam will be emitted.
+ */
+ public getAge(): number;
+ /**
+ * Sets the age in ticks of the gateway.
+ *
+ * If the age is less than 200 ticks a magenta beam will be emitted, whilst
+ * if it is a multiple of 2400 ticks a purple beam will be emitted.
+ */
+ public setAge(age: number): void;
+ }
+ }
+ }
+}
diff --git a/packages/bukkit/src/typings/org.bukkit.block.EnderChest.ts b/packages/bukkit/src/typings/org.bukkit.block.EnderChest.ts
new file mode 100644
index 00000000..e3496408
--- /dev/null
+++ b/packages/bukkit/src/typings/org.bukkit.block.EnderChest.ts
@@ -0,0 +1,8 @@
+declare namespace org {
+ namespace bukkit {
+ namespace block {
+ class EnderChest {
+ }
+ }
+ }
+}
diff --git a/packages/bukkit/src/typings/org.bukkit.block.FlowerPot.ts b/packages/bukkit/src/typings/org.bukkit.block.FlowerPot.ts
new file mode 100644
index 00000000..f16259ce
--- /dev/null
+++ b/packages/bukkit/src/typings/org.bukkit.block.FlowerPot.ts
@@ -0,0 +1,18 @@
+declare namespace org {
+ namespace bukkit {
+ namespace block {
+ class FlowerPot {
+ /**
+ * Gets the item present in this flower pot.
+ */
+ public getContents(): org.bukkit.material.MaterialData;
+ /**
+ * Sets the item present in this flower pot.
+ * NOTE: The Vanilla Minecraft client will currently not refresh this until
+ * a block update is triggered.
+ */
+ public setContents(item: org.bukkit.material.MaterialData): void;
+ }
+ }
+ }
+}
diff --git a/packages/bukkit/src/typings/org.bukkit.block.Furnace.ts b/packages/bukkit/src/typings/org.bukkit.block.Furnace.ts
new file mode 100644
index 00000000..1139b8a9
--- /dev/null
+++ b/packages/bukkit/src/typings/org.bukkit.block.Furnace.ts
@@ -0,0 +1,40 @@
+declare namespace org {
+ namespace bukkit {
+ namespace block {
+ class Furnace {
+ /**
+ * Get burn time.
+ */
+ public getBurnTime(): number;
+ /**
+ * Set burn time.
+ * A burn time greater than 0 will cause this block to be lit, whilst a time
+ * less than 0 will extinguish it.
+ */
+ public setBurnTime(burnTime: number): void;
+ /**
+ * Get cook time.
+ * This is the amount of time the item has been cooking for.
+ */
+ public getCookTime(): number;
+ /**
+ * Set cook time.
+ * This is the amount of time the item has been cooking for.
+ */
+ public setCookTime(cookTime: number): void;
+ /**
+ * Get cook time total.
+ * This is the amount of time the item is required to cook for.
+ */
+ public getCookTimeTotal(): number;
+ /**
+ * Set cook time.
+ * This is the amount of time the item is required to cook for.
+ */
+ public setCookTimeTotal(cookTimeTotal: number): void;
+ public getInventory(): org.bukkit.inventory.FurnaceInventory;
+ public getSnapshotInventory(): org.bukkit.inventory.FurnaceInventory;
+ }
+ }
+ }
+}
diff --git a/packages/bukkit/src/typings/org.bukkit.block.Hopper.ts b/packages/bukkit/src/typings/org.bukkit.block.Hopper.ts
new file mode 100644
index 00000000..7a23712c
--- /dev/null
+++ b/packages/bukkit/src/typings/org.bukkit.block.Hopper.ts
@@ -0,0 +1,8 @@
+declare namespace org {
+ namespace bukkit {
+ namespace block {
+ class Hopper {
+ }
+ }
+ }
+}
diff --git a/packages/bukkit/src/typings/org.bukkit.block.Jigsaw.ts b/packages/bukkit/src/typings/org.bukkit.block.Jigsaw.ts
new file mode 100644
index 00000000..3bb694c5
--- /dev/null
+++ b/packages/bukkit/src/typings/org.bukkit.block.Jigsaw.ts
@@ -0,0 +1,8 @@
+declare namespace org {
+ namespace bukkit {
+ namespace block {
+ class Jigsaw {
+ }
+ }
+ }
+}
diff --git a/packages/bukkit/src/typings/org.bukkit.block.Jukebox.ts b/packages/bukkit/src/typings/org.bukkit.block.Jukebox.ts
new file mode 100644
index 00000000..546f3c01
--- /dev/null
+++ b/packages/bukkit/src/typings/org.bukkit.block.Jukebox.ts
@@ -0,0 +1,35 @@
+declare namespace org {
+ namespace bukkit {
+ namespace block {
+ class Jukebox {
+ /**
+ * Gets the record inserted into the jukebox.
+ */
+ public getPlaying(): org.bukkit.Material;
+ /**
+ * Sets the record being played.
+ */
+ public setPlaying(record: org.bukkit.Material): void;
+ /**
+ * Gets the record item inserted into the jukebox.
+ */
+ public getRecord(): org.bukkit.inventory.ItemStack;
+ /**
+ * Sets the record being played.
+ */
+ public setRecord(record: org.bukkit.inventory.ItemStack): void;
+ /**
+ * Checks if the jukebox is playing a record.
+ */
+ public isPlaying(): boolean;
+ /**
+ * Stops the jukebox playing and ejects the current record.
+ *
+ * This is a special value, which is not persisted. It should only be set if
+ * a placed sign is manipulated during the BlockPlaceEvent. Behaviour
+ * outside of this event is undefined.
+ */
+ public isEditable(): boolean;
+ /**
+ * Marks whether this sign can be edited by players.
+ *
+ * This is a special value, which is not persisted. It should only be set if
+ * a placed sign is manipulated during the BlockPlaceEvent. Behaviour
+ * outside of this event is undefined.
+ */
+ public setEditable(editable: boolean): void;
+ }
+ }
+ }
+}
diff --git a/packages/bukkit/src/typings/org.bukkit.block.Skull.ts b/packages/bukkit/src/typings/org.bukkit.block.Skull.ts
new file mode 100644
index 00000000..9c0095d4
--- /dev/null
+++ b/packages/bukkit/src/typings/org.bukkit.block.Skull.ts
@@ -0,0 +1,51 @@
+declare namespace org {
+ namespace bukkit {
+ namespace block {
+ class Skull {
+ /**
+ * Checks to see if the skull has an owner
+ */
+ public hasOwner(): boolean;
+ /**
+ * Gets the owner of the skull, if one exists
+ */
+ public getOwner(): string;
+ /**
+ * Sets the owner of the skull
+ *
+ * While in {@link UsageMode#LOAD} mode this will ignore any entities that
+ * were saved to file.
+ */
+ public setIgnoreEntities(ignoreEntities: boolean): void;
+ /**
+ * Get if this structure block should ignore entities.
+ */
+ public isIgnoreEntities(): boolean;
+ /**
+ * Set if the structure outline should show air blocks.
+ */
+ public setShowAir(showAir: boolean): void;
+ /**
+ * Check if this structure block is currently showing all air blocks
+ */
+ public isShowAir(): boolean;
+ /**
+ * Set if this structure box should show the bounding box.
+ */
+ public setBoundingBoxVisible(showBoundingBox: boolean): void;
+ /**
+ * Get if this structure block is currently showing the bounding box.
+ */
+ public isBoundingBoxVisible(): boolean;
+ /**
+ * Set the integrity of the structure. Integrity must be between 0.0 and 1.0
+ * Lower integrity values will result in more blocks being removed when
+ * loading a structure. Integrity and {@link #getSeed()} are used together
+ * to determine which blocks are randomly removed to mimic "decay."
+ */
+ public setIntegrity(integrity: number): void;
+ /**
+ * Get the integrity of this structure.
+ */
+ public getIntegrity(): number;
+ /**
+ * The seed used to determine which blocks will be removed upon loading.
+ * {@link #getIntegrity()} and seed are used together to determine which
+ * blocks are randomly removed to mimic "decay."
+ */
+ public setSeed(seed: number): void;
+ /**
+ * The seed used to determine how many blocks are removed upon loading of
+ * this structure.
+ */
+ public getSeed(): number;
+ /**
+ * Only applicable while in {@link UsageMode#DATA}. Metadata are specific
+ * functions that can be applied to the structure location. Consult the
+ * Minecraft
+ * wiki for more information.
+ */
+ public setMetadata(metadata: string): void;
+ /**
+ * Get the metadata function this structure block will perform when
+ * activated. Consult the
+ * Minecraft
+ * Wiki for more information.
+ */
+ public getMetadata(): string;
+ }
+ }
+ }
+}
diff --git a/packages/bukkit/src/typings/org.bukkit.block.TileState.ts b/packages/bukkit/src/typings/org.bukkit.block.TileState.ts
new file mode 100644
index 00000000..78920cfe
--- /dev/null
+++ b/packages/bukkit/src/typings/org.bukkit.block.TileState.ts
@@ -0,0 +1,21 @@
+declare namespace org {
+ namespace bukkit {
+ namespace block {
+ class TileState {
+ /**
+ * Returns a custom tag container capable of storing tags on the object.
+ * Note that the tags stored on this container are all stored under their
+ * own custom namespace therefore modifying default tags using this
+ * {@link PersistentDataHolder} is impossible.
+ * {@code
+ * String dataString = "minecraft:chest[waterlogged=true]"
+ * BlockData data = Bukkit.createBlockData(dataString);
+ * dataString.equals(data.getAsString(true)); // This would return true
+ * dataString.equals(data.getAsString(false)); // This would return false as all states are present
+ * dataString.equals(data.getAsString()); // This is equivalent to the above, "getAsString(false)"
+ * }
+ */
+ public getAsString(hideUnspecified: boolean): string;
+ /**
+ * Merges all explicitly set states from the given data with this BlockData.
+ *
+ * Note that the given data MUST have been created from one of the String
+ * parse methods, e.g. {@link Server#createBlockData(java.lang.String)} and
+ * not have been subsequently modified.
+ *
+ * Note also that the block types must match identically.
+ */
+ public merge(data: org.bukkit.block.data.BlockData): org.bukkit.block.data.BlockData;
+ /**
+ * Checks if the specified BlockData matches this block data.
+ *
+ * The semantics of this method are such that for manually created or
+ * modified BlockData it has the same effect as
+ * {@link Object#equals(java.lang.Object)}, whilst for parsed data (that to
+ * which {@link #merge(org.bukkit.block.data.BlockData)} applies, it will
+ * return true when the type and all explicitly set states match.
+ *
+ * Note that these semantics mean that a.matches(b) may not be the same
+ * as b.matches(a)
+ */
+ public matches(data: org.bukkit.block.data.BlockData): boolean;
+ /**
+ * Returns a copy of this BlockData.
+ */
+ public clone(): org.bukkit.block.data.BlockData;
+ }
+ }
+ }
+ }
+}
diff --git a/packages/bukkit/src/typings/org.bukkit.block.data.Directional.ts b/packages/bukkit/src/typings/org.bukkit.block.data.Directional.ts
new file mode 100644
index 00000000..62e35a29
--- /dev/null
+++ b/packages/bukkit/src/typings/org.bukkit.block.data.Directional.ts
@@ -0,0 +1,22 @@
+declare namespace org {
+ namespace bukkit {
+ namespace block {
+ namespace data {
+ class Directional {
+ /**
+ * Gets the value of the 'facing' property.
+ */
+ public getFacing(): org.bukkit.block.BlockFace;
+ /**
+ * Sets the value of the 'facing' property.
+ */
+ public setFacing(facing: org.bukkit.block.BlockFace): void;
+ /**
+ * Gets the faces which are applicable to this block.
+ */
+ public getFaces(): any[] /*java.util.Set*/;
+ }
+ }
+ }
+ }
+}
diff --git a/packages/bukkit/src/typings/org.bukkit.block.data.Levelled.ts b/packages/bukkit/src/typings/org.bukkit.block.data.Levelled.ts
new file mode 100644
index 00000000..97ef169f
--- /dev/null
+++ b/packages/bukkit/src/typings/org.bukkit.block.data.Levelled.ts
@@ -0,0 +1,22 @@
+declare namespace org {
+ namespace bukkit {
+ namespace block {
+ namespace data {
+ class Levelled {
+ /**
+ * Gets the value of the 'level' property.
+ */
+ public getLevel(): number;
+ /**
+ * Sets the value of the 'level' property.
+ */
+ public setLevel(level: number): void;
+ /**
+ * Gets the maximum allowed value of the 'level' property.
+ */
+ public getMaximumLevel(): number;
+ }
+ }
+ }
+ }
+}
diff --git a/packages/bukkit/src/typings/org.bukkit.block.data.Lightable.ts b/packages/bukkit/src/typings/org.bukkit.block.data.Lightable.ts
new file mode 100644
index 00000000..fc2727dd
--- /dev/null
+++ b/packages/bukkit/src/typings/org.bukkit.block.data.Lightable.ts
@@ -0,0 +1,18 @@
+declare namespace org {
+ namespace bukkit {
+ namespace block {
+ namespace data {
+ class Lightable {
+ /**
+ * Gets the value of the 'lit' property.
+ */
+ public isLit(): boolean;
+ /**
+ * Sets the value of the 'lit' property.
+ */
+ public setLit(lit: boolean): void;
+ }
+ }
+ }
+ }
+}
diff --git a/packages/bukkit/src/typings/org.bukkit.block.data.MultipleFacing.ts b/packages/bukkit/src/typings/org.bukkit.block.data.MultipleFacing.ts
new file mode 100644
index 00000000..97e176f1
--- /dev/null
+++ b/packages/bukkit/src/typings/org.bukkit.block.data.MultipleFacing.ts
@@ -0,0 +1,26 @@
+declare namespace org {
+ namespace bukkit {
+ namespace block {
+ namespace data {
+ class MultipleFacing {
+ /**
+ * Checks if this block has the specified face enabled.
+ */
+ public hasFace(face: org.bukkit.block.BlockFace): boolean;
+ /**
+ * Set whether this block has the specified face enabled.
+ */
+ public setFace(face: org.bukkit.block.BlockFace, has: boolean): void;
+ /**
+ * Get all of the faces which are enabled on this block.
+ */
+ public getFaces(): any[] /*java.util.Set*/;
+ /**
+ * Gets all of this faces which may be set on this block.
+ */
+ public getAllowedFaces(): any[] /*java.util.Set*/;
+ }
+ }
+ }
+ }
+}
diff --git a/packages/bukkit/src/typings/org.bukkit.block.data.Openable.ts b/packages/bukkit/src/typings/org.bukkit.block.data.Openable.ts
new file mode 100644
index 00000000..c9fc2487
--- /dev/null
+++ b/packages/bukkit/src/typings/org.bukkit.block.data.Openable.ts
@@ -0,0 +1,18 @@
+declare namespace org {
+ namespace bukkit {
+ namespace block {
+ namespace data {
+ class Openable {
+ /**
+ * Gets the value of the 'open' property.
+ */
+ public isOpen(): boolean;
+ /**
+ * Sets the value of the 'open' property.
+ */
+ public setOpen(open: boolean): void;
+ }
+ }
+ }
+ }
+}
diff --git a/packages/bukkit/src/typings/org.bukkit.block.data.Orientable.ts b/packages/bukkit/src/typings/org.bukkit.block.data.Orientable.ts
new file mode 100644
index 00000000..23006e38
--- /dev/null
+++ b/packages/bukkit/src/typings/org.bukkit.block.data.Orientable.ts
@@ -0,0 +1,22 @@
+declare namespace org {
+ namespace bukkit {
+ namespace block {
+ namespace data {
+ class Orientable {
+ /**
+ * Gets the value of the 'axis' property.
+ */
+ public getAxis(): org.bukkit.Axis;
+ /**
+ * Sets the value of the 'axis' property.
+ */
+ public setAxis(axis: org.bukkit.Axis): void;
+ /**
+ * Gets the axes which are applicable to this block.
+ */
+ public getAxes(): any[] /*java.util.Set*/;
+ }
+ }
+ }
+ }
+}
diff --git a/packages/bukkit/src/typings/org.bukkit.block.data.Powerable.ts b/packages/bukkit/src/typings/org.bukkit.block.data.Powerable.ts
new file mode 100644
index 00000000..e1ee08ad
--- /dev/null
+++ b/packages/bukkit/src/typings/org.bukkit.block.data.Powerable.ts
@@ -0,0 +1,18 @@
+declare namespace org {
+ namespace bukkit {
+ namespace block {
+ namespace data {
+ class Powerable {
+ /**
+ * Gets the value of the 'powered' property.
+ */
+ public isPowered(): boolean;
+ /**
+ * Sets the value of the 'powered' property.
+ */
+ public setPowered(powered: boolean): void;
+ }
+ }
+ }
+ }
+}
diff --git a/packages/bukkit/src/typings/org.bukkit.block.data.Rail.Shape.ts b/packages/bukkit/src/typings/org.bukkit.block.data.Rail.Shape.ts
new file mode 100644
index 00000000..9302a7b3
--- /dev/null
+++ b/packages/bukkit/src/typings/org.bukkit.block.data.Rail.Shape.ts
@@ -0,0 +1,24 @@
+declare namespace org {
+ namespace bukkit {
+ namespace block {
+ namespace data {
+ namespace Rail {
+ class Shape {
+ public static NORTH_SOUTH: org.bukkit.block.data.Rail.Shape;
+ public static EAST_WEST: org.bukkit.block.data.Rail.Shape;
+ public static ASCENDING_EAST: org.bukkit.block.data.Rail.Shape;
+ public static ASCENDING_WEST: org.bukkit.block.data.Rail.Shape;
+ public static ASCENDING_NORTH: org.bukkit.block.data.Rail.Shape;
+ public static ASCENDING_SOUTH: org.bukkit.block.data.Rail.Shape;
+ public static SOUTH_EAST: org.bukkit.block.data.Rail.Shape;
+ public static SOUTH_WEST: org.bukkit.block.data.Rail.Shape;
+ public static NORTH_WEST: org.bukkit.block.data.Rail.Shape;
+ public static NORTH_EAST: org.bukkit.block.data.Rail.Shape;
+ public static values(): org.bukkit.block.data.Rail.Shape[];
+ public static valueOf(name: string): org.bukkit.block.data.Rail.Shape;
+ }
+ }
+ }
+ }
+ }
+}
diff --git a/packages/bukkit/src/typings/org.bukkit.block.data.Rail.ts b/packages/bukkit/src/typings/org.bukkit.block.data.Rail.ts
new file mode 100644
index 00000000..d229b68b
--- /dev/null
+++ b/packages/bukkit/src/typings/org.bukkit.block.data.Rail.ts
@@ -0,0 +1,22 @@
+declare namespace org {
+ namespace bukkit {
+ namespace block {
+ namespace data {
+ class Rail {
+ /**
+ * Gets the value of the 'shape' property.
+ */
+ public getShape(): org.bukkit.block.data.Rail.Shape;
+ /**
+ * Sets the value of the 'shape' property.
+ */
+ public setShape(shape: org.bukkit.block.data.Rail.Shape): void;
+ /**
+ * Gets the shapes which are applicable to this block.
+ */
+ public getShapes(): any[] /*java.util.Set*/;
+ }
+ }
+ }
+ }
+}
diff --git a/packages/bukkit/src/typings/org.bukkit.block.data.Rotatable.ts b/packages/bukkit/src/typings/org.bukkit.block.data.Rotatable.ts
new file mode 100644
index 00000000..5eefae0d
--- /dev/null
+++ b/packages/bukkit/src/typings/org.bukkit.block.data.Rotatable.ts
@@ -0,0 +1,18 @@
+declare namespace org {
+ namespace bukkit {
+ namespace block {
+ namespace data {
+ class Rotatable {
+ /**
+ * Gets the value of the 'rotation' property.
+ */
+ public getRotation(): org.bukkit.block.BlockFace;
+ /**
+ * Sets the value of the 'rotation' property.
+ */
+ public setRotation(rotation: org.bukkit.block.BlockFace): void;
+ }
+ }
+ }
+ }
+}
diff --git a/packages/bukkit/src/typings/org.bukkit.block.data.Snowable.ts b/packages/bukkit/src/typings/org.bukkit.block.data.Snowable.ts
new file mode 100644
index 00000000..37cd74f6
--- /dev/null
+++ b/packages/bukkit/src/typings/org.bukkit.block.data.Snowable.ts
@@ -0,0 +1,18 @@
+declare namespace org {
+ namespace bukkit {
+ namespace block {
+ namespace data {
+ class Snowable {
+ /**
+ * Gets the value of the 'snowy' property.
+ */
+ public isSnowy(): boolean;
+ /**
+ * Sets the value of the 'snowy' property.
+ */
+ public setSnowy(snowy: boolean): void;
+ }
+ }
+ }
+ }
+}
diff --git a/packages/bukkit/src/typings/org.bukkit.block.data.Waterlogged.ts b/packages/bukkit/src/typings/org.bukkit.block.data.Waterlogged.ts
new file mode 100644
index 00000000..fae11e9e
--- /dev/null
+++ b/packages/bukkit/src/typings/org.bukkit.block.data.Waterlogged.ts
@@ -0,0 +1,18 @@
+declare namespace org {
+ namespace bukkit {
+ namespace block {
+ namespace data {
+ class Waterlogged {
+ /**
+ * Gets the value of the 'waterlogged' property.
+ */
+ public isWaterlogged(): boolean;
+ /**
+ * Sets the value of the 'waterlogged' property.
+ */
+ public setWaterlogged(waterlogged: boolean): void;
+ }
+ }
+ }
+ }
+}
diff --git a/packages/bukkit/src/typings/org.bukkit.block.data.type.Bamboo.Leaves.ts b/packages/bukkit/src/typings/org.bukkit.block.data.type.Bamboo.Leaves.ts
new file mode 100644
index 00000000..1cc44916
--- /dev/null
+++ b/packages/bukkit/src/typings/org.bukkit.block.data.type.Bamboo.Leaves.ts
@@ -0,0 +1,19 @@
+declare namespace org {
+ namespace bukkit {
+ namespace block {
+ namespace data {
+ namespace type {
+ namespace Bamboo {
+ class Leaves {
+ public static NONE: org.bukkit.block.data.type.Bamboo.Leaves;
+ public static SMALL: org.bukkit.block.data.type.Bamboo.Leaves;
+ public static LARGE: org.bukkit.block.data.type.Bamboo.Leaves;
+ public static values(): org.bukkit.block.data.type.Bamboo.Leaves[];
+ public static valueOf(name: string): org.bukkit.block.data.type.Bamboo.Leaves;
+ }
+ }
+ }
+ }
+ }
+ }
+}
diff --git a/packages/bukkit/src/typings/org.bukkit.block.data.type.Bamboo.ts b/packages/bukkit/src/typings/org.bukkit.block.data.type.Bamboo.ts
new file mode 100644
index 00000000..da35cc7e
--- /dev/null
+++ b/packages/bukkit/src/typings/org.bukkit.block.data.type.Bamboo.ts
@@ -0,0 +1,20 @@
+declare namespace org {
+ namespace bukkit {
+ namespace block {
+ namespace data {
+ namespace type {
+ class Bamboo {
+ /**
+ * Gets the value of the 'leaves' property.
+ */
+ public getLeaves(): org.bukkit.block.data.type.Bamboo.Leaves;
+ /**
+ * Sets the value of the 'leaves' property.
+ */
+ public setLeaves(leaves: org.bukkit.block.data.type.Bamboo.Leaves): void;
+ }
+ }
+ }
+ }
+ }
+}
diff --git a/packages/bukkit/src/typings/org.bukkit.block.data.type.Bed.Part.ts b/packages/bukkit/src/typings/org.bukkit.block.data.type.Bed.Part.ts
new file mode 100644
index 00000000..03620c86
--- /dev/null
+++ b/packages/bukkit/src/typings/org.bukkit.block.data.type.Bed.Part.ts
@@ -0,0 +1,18 @@
+declare namespace org {
+ namespace bukkit {
+ namespace block {
+ namespace data {
+ namespace type {
+ namespace Bed {
+ class Part {
+ public static HEAD: org.bukkit.block.data.type.Bed.Part;
+ public static FOOT: org.bukkit.block.data.type.Bed.Part;
+ public static values(): org.bukkit.block.data.type.Bed.Part[];
+ public static valueOf(name: string): org.bukkit.block.data.type.Bed.Part;
+ }
+ }
+ }
+ }
+ }
+ }
+}
diff --git a/packages/bukkit/src/typings/org.bukkit.block.data.type.Bed.ts b/packages/bukkit/src/typings/org.bukkit.block.data.type.Bed.ts
new file mode 100644
index 00000000..974361b5
--- /dev/null
+++ b/packages/bukkit/src/typings/org.bukkit.block.data.type.Bed.ts
@@ -0,0 +1,24 @@
+declare namespace org {
+ namespace bukkit {
+ namespace block {
+ namespace data {
+ namespace type {
+ class Bed {
+ /**
+ * Gets the value of the 'part' property.
+ */
+ public getPart(): org.bukkit.block.data.type.Bed.Part;
+ /**
+ * Sets the value of the 'part' property.
+ */
+ public setPart(part: org.bukkit.block.data.type.Bed.Part): void;
+ /**
+ * Gets the value of the 'occupied' property.
+ */
+ public isOccupied(): boolean;
+ }
+ }
+ }
+ }
+ }
+}
diff --git a/packages/bukkit/src/typings/org.bukkit.block.data.type.Bell.Attachment.ts b/packages/bukkit/src/typings/org.bukkit.block.data.type.Bell.Attachment.ts
new file mode 100644
index 00000000..330e8ebe
--- /dev/null
+++ b/packages/bukkit/src/typings/org.bukkit.block.data.type.Bell.Attachment.ts
@@ -0,0 +1,20 @@
+declare namespace org {
+ namespace bukkit {
+ namespace block {
+ namespace data {
+ namespace type {
+ namespace Bell {
+ class Attachment {
+ public static FLOOR: org.bukkit.block.data.type.Bell.Attachment;
+ public static CEILING: org.bukkit.block.data.type.Bell.Attachment;
+ public static SINGLE_WALL: org.bukkit.block.data.type.Bell.Attachment;
+ public static DOUBLE_WALL: org.bukkit.block.data.type.Bell.Attachment;
+ public static values(): org.bukkit.block.data.type.Bell.Attachment[];
+ public static valueOf(name: string): org.bukkit.block.data.type.Bell.Attachment;
+ }
+ }
+ }
+ }
+ }
+ }
+}
diff --git a/packages/bukkit/src/typings/org.bukkit.block.data.type.Bell.ts b/packages/bukkit/src/typings/org.bukkit.block.data.type.Bell.ts
new file mode 100644
index 00000000..37dc5a24
--- /dev/null
+++ b/packages/bukkit/src/typings/org.bukkit.block.data.type.Bell.ts
@@ -0,0 +1,20 @@
+declare namespace org {
+ namespace bukkit {
+ namespace block {
+ namespace data {
+ namespace type {
+ class Bell {
+ /**
+ * Gets the value of the 'attachment' property.
+ */
+ public getAttachment(): org.bukkit.block.data.type.Bell.Attachment;
+ /**
+ * Sets the value of the 'attachment' property.
+ */
+ public setAttachment(attachment: org.bukkit.block.data.type.Bell.Attachment): void;
+ }
+ }
+ }
+ }
+ }
+}
diff --git a/packages/bukkit/src/typings/org.bukkit.block.data.type.BrewingStand.ts b/packages/bukkit/src/typings/org.bukkit.block.data.type.BrewingStand.ts
new file mode 100644
index 00000000..3580c1ca
--- /dev/null
+++ b/packages/bukkit/src/typings/org.bukkit.block.data.type.BrewingStand.ts
@@ -0,0 +1,28 @@
+declare namespace org {
+ namespace bukkit {
+ namespace block {
+ namespace data {
+ namespace type {
+ class BrewingStand {
+ /**
+ * Checks if the stand has the following bottle
+ */
+ public hasBottle(bottle: number): boolean;
+ /**
+ * Set whether the stand has this bottle present.
+ */
+ public setBottle(bottle: number, has: boolean): void;
+ /**
+ * Get the indexes of all the bottles present on this block.
+ */
+ public getBottles(): any[] /*java.util.Set*/;
+ /**
+ * Get the maximum amount of bottles present on this stand.
+ */
+ public getMaximumBottles(): number;
+ }
+ }
+ }
+ }
+ }
+}
diff --git a/packages/bukkit/src/typings/org.bukkit.block.data.type.BubbleColumn.ts b/packages/bukkit/src/typings/org.bukkit.block.data.type.BubbleColumn.ts
new file mode 100644
index 00000000..1f693ec4
--- /dev/null
+++ b/packages/bukkit/src/typings/org.bukkit.block.data.type.BubbleColumn.ts
@@ -0,0 +1,20 @@
+declare namespace org {
+ namespace bukkit {
+ namespace block {
+ namespace data {
+ namespace type {
+ class BubbleColumn {
+ /**
+ * Gets the value of the 'drag' property.
+ */
+ public isDrag(): boolean;
+ /**
+ * Sets the value of the 'drag' property.
+ */
+ public setDrag(drag: boolean): void;
+ }
+ }
+ }
+ }
+ }
+}
diff --git a/packages/bukkit/src/typings/org.bukkit.block.data.type.Cake.ts b/packages/bukkit/src/typings/org.bukkit.block.data.type.Cake.ts
new file mode 100644
index 00000000..4c27a7cb
--- /dev/null
+++ b/packages/bukkit/src/typings/org.bukkit.block.data.type.Cake.ts
@@ -0,0 +1,24 @@
+declare namespace org {
+ namespace bukkit {
+ namespace block {
+ namespace data {
+ namespace type {
+ class Cake {
+ /**
+ * Gets the value of the 'bites' property.
+ */
+ public getBites(): number;
+ /**
+ * Sets the value of the 'bites' property.
+ */
+ public setBites(bites: number): void;
+ /**
+ * Gets the maximum allowed value of the 'bites' property.
+ */
+ public getMaximumBites(): number;
+ }
+ }
+ }
+ }
+ }
+}
diff --git a/packages/bukkit/src/typings/org.bukkit.block.data.type.Campfire.ts b/packages/bukkit/src/typings/org.bukkit.block.data.type.Campfire.ts
new file mode 100644
index 00000000..e5916996
--- /dev/null
+++ b/packages/bukkit/src/typings/org.bukkit.block.data.type.Campfire.ts
@@ -0,0 +1,20 @@
+declare namespace org {
+ namespace bukkit {
+ namespace block {
+ namespace data {
+ namespace type {
+ class Campfire {
+ /**
+ * Gets the value of the 'signal_fire' property.
+ */
+ public isSignalFire(): boolean;
+ /**
+ * Sets the value of the 'signal_fire' property.
+ */
+ public setSignalFire(signalFire: boolean): void;
+ }
+ }
+ }
+ }
+ }
+}
diff --git a/packages/bukkit/src/typings/org.bukkit.block.data.type.Chest.Type.ts b/packages/bukkit/src/typings/org.bukkit.block.data.type.Chest.Type.ts
new file mode 100644
index 00000000..75f1aa09
--- /dev/null
+++ b/packages/bukkit/src/typings/org.bukkit.block.data.type.Chest.Type.ts
@@ -0,0 +1,19 @@
+declare namespace org {
+ namespace bukkit {
+ namespace block {
+ namespace data {
+ namespace type {
+ namespace Chest {
+ class Type {
+ public static SINGLE: org.bukkit.block.data.type.Chest.Type;
+ public static LEFT: org.bukkit.block.data.type.Chest.Type;
+ public static RIGHT: org.bukkit.block.data.type.Chest.Type;
+ public static values(): org.bukkit.block.data.type.Chest.Type[];
+ public static valueOf(name: string): org.bukkit.block.data.type.Chest.Type;
+ }
+ }
+ }
+ }
+ }
+ }
+}
diff --git a/packages/bukkit/src/typings/org.bukkit.block.data.type.Chest.ts b/packages/bukkit/src/typings/org.bukkit.block.data.type.Chest.ts
new file mode 100644
index 00000000..45e7246a
--- /dev/null
+++ b/packages/bukkit/src/typings/org.bukkit.block.data.type.Chest.ts
@@ -0,0 +1,20 @@
+declare namespace org {
+ namespace bukkit {
+ namespace block {
+ namespace data {
+ namespace type {
+ class Chest {
+ /**
+ * Gets the value of the 'type' property.
+ */
+ public getType(): org.bukkit.block.data.type.Chest.Type;
+ /**
+ * Sets the value of the 'type' property.
+ */
+ public setType(type: org.bukkit.block.data.type.Chest.Type): void;
+ }
+ }
+ }
+ }
+ }
+}
diff --git a/packages/bukkit/src/typings/org.bukkit.block.data.type.Cocoa.ts b/packages/bukkit/src/typings/org.bukkit.block.data.type.Cocoa.ts
new file mode 100644
index 00000000..2efe8882
--- /dev/null
+++ b/packages/bukkit/src/typings/org.bukkit.block.data.type.Cocoa.ts
@@ -0,0 +1,12 @@
+declare namespace org {
+ namespace bukkit {
+ namespace block {
+ namespace data {
+ namespace type {
+ class Cocoa {
+ }
+ }
+ }
+ }
+ }
+}
diff --git a/packages/bukkit/src/typings/org.bukkit.block.data.type.CommandBlock.ts b/packages/bukkit/src/typings/org.bukkit.block.data.type.CommandBlock.ts
new file mode 100644
index 00000000..562e1006
--- /dev/null
+++ b/packages/bukkit/src/typings/org.bukkit.block.data.type.CommandBlock.ts
@@ -0,0 +1,20 @@
+declare namespace org {
+ namespace bukkit {
+ namespace block {
+ namespace data {
+ namespace type {
+ class CommandBlock {
+ /**
+ * Gets the value of the 'conditional' property.
+ */
+ public isConditional(): boolean;
+ /**
+ * Sets the value of the 'conditional' property.
+ */
+ public setConditional(conditional: boolean): void;
+ }
+ }
+ }
+ }
+ }
+}
diff --git a/packages/bukkit/src/typings/org.bukkit.block.data.type.Comparator.Mode.ts b/packages/bukkit/src/typings/org.bukkit.block.data.type.Comparator.Mode.ts
new file mode 100644
index 00000000..e0b212c7
--- /dev/null
+++ b/packages/bukkit/src/typings/org.bukkit.block.data.type.Comparator.Mode.ts
@@ -0,0 +1,18 @@
+declare namespace org {
+ namespace bukkit {
+ namespace block {
+ namespace data {
+ namespace type {
+ namespace Comparator {
+ class Mode {
+ public static COMPARE: org.bukkit.block.data.type.Comparator.Mode;
+ public static SUBTRACT: org.bukkit.block.data.type.Comparator.Mode;
+ public static values(): org.bukkit.block.data.type.Comparator.Mode[];
+ public static valueOf(name: string): org.bukkit.block.data.type.Comparator.Mode;
+ }
+ }
+ }
+ }
+ }
+ }
+}
diff --git a/packages/bukkit/src/typings/org.bukkit.block.data.type.Comparator.ts b/packages/bukkit/src/typings/org.bukkit.block.data.type.Comparator.ts
new file mode 100644
index 00000000..d6f9a603
--- /dev/null
+++ b/packages/bukkit/src/typings/org.bukkit.block.data.type.Comparator.ts
@@ -0,0 +1,20 @@
+declare namespace org {
+ namespace bukkit {
+ namespace block {
+ namespace data {
+ namespace type {
+ class Comparator {
+ /**
+ * Gets the value of the 'mode' property.
+ */
+ public getMode(): org.bukkit.block.data.type.Comparator.Mode;
+ /**
+ * Sets the value of the 'mode' property.
+ */
+ public setMode(mode: org.bukkit.block.data.type.Comparator.Mode): void;
+ }
+ }
+ }
+ }
+ }
+}
diff --git a/packages/bukkit/src/typings/org.bukkit.block.data.type.CoralWallFan.ts b/packages/bukkit/src/typings/org.bukkit.block.data.type.CoralWallFan.ts
new file mode 100644
index 00000000..3785414e
--- /dev/null
+++ b/packages/bukkit/src/typings/org.bukkit.block.data.type.CoralWallFan.ts
@@ -0,0 +1,12 @@
+declare namespace org {
+ namespace bukkit {
+ namespace block {
+ namespace data {
+ namespace type {
+ class CoralWallFan {
+ }
+ }
+ }
+ }
+ }
+}
diff --git a/packages/bukkit/src/typings/org.bukkit.block.data.type.DaylightDetector.ts b/packages/bukkit/src/typings/org.bukkit.block.data.type.DaylightDetector.ts
new file mode 100644
index 00000000..3330a8fd
--- /dev/null
+++ b/packages/bukkit/src/typings/org.bukkit.block.data.type.DaylightDetector.ts
@@ -0,0 +1,20 @@
+declare namespace org {
+ namespace bukkit {
+ namespace block {
+ namespace data {
+ namespace type {
+ class DaylightDetector {
+ /**
+ * Gets the value of the 'inverted' property.
+ */
+ public isInverted(): boolean;
+ /**
+ * Sets the value of the 'inverted' property.
+ */
+ public setInverted(inverted: boolean): void;
+ }
+ }
+ }
+ }
+ }
+}
diff --git a/packages/bukkit/src/typings/org.bukkit.block.data.type.Dispenser.ts b/packages/bukkit/src/typings/org.bukkit.block.data.type.Dispenser.ts
new file mode 100644
index 00000000..979df898
--- /dev/null
+++ b/packages/bukkit/src/typings/org.bukkit.block.data.type.Dispenser.ts
@@ -0,0 +1,20 @@
+declare namespace org {
+ namespace bukkit {
+ namespace block {
+ namespace data {
+ namespace type {
+ class Dispenser {
+ /**
+ * Gets the value of the 'triggered' property.
+ */
+ public isTriggered(): boolean;
+ /**
+ * Sets the value of the 'triggered' property.
+ */
+ public setTriggered(triggered: boolean): void;
+ }
+ }
+ }
+ }
+ }
+}
diff --git a/packages/bukkit/src/typings/org.bukkit.block.data.type.Door.Hinge.ts b/packages/bukkit/src/typings/org.bukkit.block.data.type.Door.Hinge.ts
new file mode 100644
index 00000000..22239c42
--- /dev/null
+++ b/packages/bukkit/src/typings/org.bukkit.block.data.type.Door.Hinge.ts
@@ -0,0 +1,18 @@
+declare namespace org {
+ namespace bukkit {
+ namespace block {
+ namespace data {
+ namespace type {
+ namespace Door {
+ class Hinge {
+ public static LEFT: org.bukkit.block.data.type.Door.Hinge;
+ public static RIGHT: org.bukkit.block.data.type.Door.Hinge;
+ public static values(): org.bukkit.block.data.type.Door.Hinge[];
+ public static valueOf(name: string): org.bukkit.block.data.type.Door.Hinge;
+ }
+ }
+ }
+ }
+ }
+ }
+}
diff --git a/packages/bukkit/src/typings/org.bukkit.block.data.type.Door.ts b/packages/bukkit/src/typings/org.bukkit.block.data.type.Door.ts
new file mode 100644
index 00000000..6e78f351
--- /dev/null
+++ b/packages/bukkit/src/typings/org.bukkit.block.data.type.Door.ts
@@ -0,0 +1,20 @@
+declare namespace org {
+ namespace bukkit {
+ namespace block {
+ namespace data {
+ namespace type {
+ class Door {
+ /**
+ * Gets the value of the 'hinge' property.
+ */
+ public getHinge(): org.bukkit.block.data.type.Door.Hinge;
+ /**
+ * Sets the value of the 'hinge' property.
+ */
+ public setHinge(hinge: org.bukkit.block.data.type.Door.Hinge): void;
+ }
+ }
+ }
+ }
+ }
+}
diff --git a/packages/bukkit/src/typings/org.bukkit.block.data.type.EndPortalFrame.ts b/packages/bukkit/src/typings/org.bukkit.block.data.type.EndPortalFrame.ts
new file mode 100644
index 00000000..9d128bdd
--- /dev/null
+++ b/packages/bukkit/src/typings/org.bukkit.block.data.type.EndPortalFrame.ts
@@ -0,0 +1,20 @@
+declare namespace org {
+ namespace bukkit {
+ namespace block {
+ namespace data {
+ namespace type {
+ class EndPortalFrame {
+ /**
+ * Gets the value of the 'eye' property.
+ */
+ public hasEye(): boolean;
+ /**
+ * Sets the value of the 'eye' property.
+ */
+ public setEye(eye: boolean): void;
+ }
+ }
+ }
+ }
+ }
+}
diff --git a/packages/bukkit/src/typings/org.bukkit.block.data.type.EnderChest.ts b/packages/bukkit/src/typings/org.bukkit.block.data.type.EnderChest.ts
new file mode 100644
index 00000000..97775649
--- /dev/null
+++ b/packages/bukkit/src/typings/org.bukkit.block.data.type.EnderChest.ts
@@ -0,0 +1,12 @@
+declare namespace org {
+ namespace bukkit {
+ namespace block {
+ namespace data {
+ namespace type {
+ class EnderChest {
+ }
+ }
+ }
+ }
+ }
+}
diff --git a/packages/bukkit/src/typings/org.bukkit.block.data.type.Farmland.ts b/packages/bukkit/src/typings/org.bukkit.block.data.type.Farmland.ts
new file mode 100644
index 00000000..9e65196c
--- /dev/null
+++ b/packages/bukkit/src/typings/org.bukkit.block.data.type.Farmland.ts
@@ -0,0 +1,24 @@
+declare namespace org {
+ namespace bukkit {
+ namespace block {
+ namespace data {
+ namespace type {
+ class Farmland {
+ /**
+ * Gets the value of the 'moisture' property.
+ */
+ public getMoisture(): number;
+ /**
+ * Sets the value of the 'moisture' property.
+ */
+ public setMoisture(moisture: number): void;
+ /**
+ * Gets the maximum allowed value of the 'moisture' property.
+ */
+ public getMaximumMoisture(): number;
+ }
+ }
+ }
+ }
+ }
+}
diff --git a/packages/bukkit/src/typings/org.bukkit.block.data.type.Fence.ts b/packages/bukkit/src/typings/org.bukkit.block.data.type.Fence.ts
new file mode 100644
index 00000000..70e16f48
--- /dev/null
+++ b/packages/bukkit/src/typings/org.bukkit.block.data.type.Fence.ts
@@ -0,0 +1,12 @@
+declare namespace org {
+ namespace bukkit {
+ namespace block {
+ namespace data {
+ namespace type {
+ class Fence {
+ }
+ }
+ }
+ }
+ }
+}
diff --git a/packages/bukkit/src/typings/org.bukkit.block.data.type.Fire.ts b/packages/bukkit/src/typings/org.bukkit.block.data.type.Fire.ts
new file mode 100644
index 00000000..8e024049
--- /dev/null
+++ b/packages/bukkit/src/typings/org.bukkit.block.data.type.Fire.ts
@@ -0,0 +1,12 @@
+declare namespace org {
+ namespace bukkit {
+ namespace block {
+ namespace data {
+ namespace type {
+ class Fire {
+ }
+ }
+ }
+ }
+ }
+}
diff --git a/packages/bukkit/src/typings/org.bukkit.block.data.type.Furnace.ts b/packages/bukkit/src/typings/org.bukkit.block.data.type.Furnace.ts
new file mode 100644
index 00000000..0cd9c7e8
--- /dev/null
+++ b/packages/bukkit/src/typings/org.bukkit.block.data.type.Furnace.ts
@@ -0,0 +1,12 @@
+declare namespace org {
+ namespace bukkit {
+ namespace block {
+ namespace data {
+ namespace type {
+ class Furnace {
+ }
+ }
+ }
+ }
+ }
+}
diff --git a/packages/bukkit/src/typings/org.bukkit.block.data.type.Gate.ts b/packages/bukkit/src/typings/org.bukkit.block.data.type.Gate.ts
new file mode 100644
index 00000000..af922fef
--- /dev/null
+++ b/packages/bukkit/src/typings/org.bukkit.block.data.type.Gate.ts
@@ -0,0 +1,20 @@
+declare namespace org {
+ namespace bukkit {
+ namespace block {
+ namespace data {
+ namespace type {
+ class Gate {
+ /**
+ * Gets the value of the 'in_wall' property.
+ */
+ public isInWall(): boolean;
+ /**
+ * Sets the value of the 'in_wall' property.
+ */
+ public setInWall(inWall: boolean): void;
+ }
+ }
+ }
+ }
+ }
+}
diff --git a/packages/bukkit/src/typings/org.bukkit.block.data.type.GlassPane.ts b/packages/bukkit/src/typings/org.bukkit.block.data.type.GlassPane.ts
new file mode 100644
index 00000000..6266a241
--- /dev/null
+++ b/packages/bukkit/src/typings/org.bukkit.block.data.type.GlassPane.ts
@@ -0,0 +1,12 @@
+declare namespace org {
+ namespace bukkit {
+ namespace block {
+ namespace data {
+ namespace type {
+ class GlassPane {
+ }
+ }
+ }
+ }
+ }
+}
diff --git a/packages/bukkit/src/typings/org.bukkit.block.data.type.Hopper.ts b/packages/bukkit/src/typings/org.bukkit.block.data.type.Hopper.ts
new file mode 100644
index 00000000..b0522b72
--- /dev/null
+++ b/packages/bukkit/src/typings/org.bukkit.block.data.type.Hopper.ts
@@ -0,0 +1,20 @@
+declare namespace org {
+ namespace bukkit {
+ namespace block {
+ namespace data {
+ namespace type {
+ class Hopper {
+ /**
+ * Gets the value of the 'enabled' property.
+ */
+ public isEnabled(): boolean;
+ /**
+ * Sets the value of the 'enabled' property.
+ */
+ public setEnabled(enabled: boolean): void;
+ }
+ }
+ }
+ }
+ }
+}
diff --git a/packages/bukkit/src/typings/org.bukkit.block.data.type.Jukebox.ts b/packages/bukkit/src/typings/org.bukkit.block.data.type.Jukebox.ts
new file mode 100644
index 00000000..c1731588
--- /dev/null
+++ b/packages/bukkit/src/typings/org.bukkit.block.data.type.Jukebox.ts
@@ -0,0 +1,16 @@
+declare namespace org {
+ namespace bukkit {
+ namespace block {
+ namespace data {
+ namespace type {
+ class Jukebox {
+ /**
+ * Gets the value of the 'has_record' property.
+ */
+ public hasRecord(): boolean;
+ }
+ }
+ }
+ }
+ }
+}
diff --git a/packages/bukkit/src/typings/org.bukkit.block.data.type.Ladder.ts b/packages/bukkit/src/typings/org.bukkit.block.data.type.Ladder.ts
new file mode 100644
index 00000000..b61d876c
--- /dev/null
+++ b/packages/bukkit/src/typings/org.bukkit.block.data.type.Ladder.ts
@@ -0,0 +1,12 @@
+declare namespace org {
+ namespace bukkit {
+ namespace block {
+ namespace data {
+ namespace type {
+ class Ladder {
+ }
+ }
+ }
+ }
+ }
+}
diff --git a/packages/bukkit/src/typings/org.bukkit.block.data.type.Lantern.ts b/packages/bukkit/src/typings/org.bukkit.block.data.type.Lantern.ts
new file mode 100644
index 00000000..d7c301c0
--- /dev/null
+++ b/packages/bukkit/src/typings/org.bukkit.block.data.type.Lantern.ts
@@ -0,0 +1,20 @@
+declare namespace org {
+ namespace bukkit {
+ namespace block {
+ namespace data {
+ namespace type {
+ class Lantern {
+ /**
+ * Gets the value of the 'hanging' property.
+ */
+ public isHanging(): boolean;
+ /**
+ * Sets the value of the 'hanging' property.
+ */
+ public setHanging(hanging: boolean): void;
+ }
+ }
+ }
+ }
+ }
+}
diff --git a/packages/bukkit/src/typings/org.bukkit.block.data.type.Leaves.ts b/packages/bukkit/src/typings/org.bukkit.block.data.type.Leaves.ts
new file mode 100644
index 00000000..ec508bc1
--- /dev/null
+++ b/packages/bukkit/src/typings/org.bukkit.block.data.type.Leaves.ts
@@ -0,0 +1,28 @@
+declare namespace org {
+ namespace bukkit {
+ namespace block {
+ namespace data {
+ namespace type {
+ class Leaves {
+ /**
+ * Gets the value of the 'persistent' property.
+ */
+ public isPersistent(): boolean;
+ /**
+ * Sets the value of the 'persistent' property.
+ */
+ public setPersistent(persistent: boolean): void;
+ /**
+ * Gets the value of the 'distance' property.
+ */
+ public getDistance(): number;
+ /**
+ * Sets the value of the 'distance' property.
+ */
+ public setDistance(distance: number): void;
+ }
+ }
+ }
+ }
+ }
+}
diff --git a/packages/bukkit/src/typings/org.bukkit.block.data.type.Lectern.ts b/packages/bukkit/src/typings/org.bukkit.block.data.type.Lectern.ts
new file mode 100644
index 00000000..788aa2b8
--- /dev/null
+++ b/packages/bukkit/src/typings/org.bukkit.block.data.type.Lectern.ts
@@ -0,0 +1,16 @@
+declare namespace org {
+ namespace bukkit {
+ namespace block {
+ namespace data {
+ namespace type {
+ class Lectern {
+ /**
+ * Gets the value of the 'has_book' property.
+ */
+ public hasBook(): boolean;
+ }
+ }
+ }
+ }
+ }
+}
diff --git a/packages/bukkit/src/typings/org.bukkit.block.data.type.NoteBlock.ts b/packages/bukkit/src/typings/org.bukkit.block.data.type.NoteBlock.ts
new file mode 100644
index 00000000..d12a5d82
--- /dev/null
+++ b/packages/bukkit/src/typings/org.bukkit.block.data.type.NoteBlock.ts
@@ -0,0 +1,28 @@
+declare namespace org {
+ namespace bukkit {
+ namespace block {
+ namespace data {
+ namespace type {
+ class NoteBlock {
+ /**
+ * Gets the value of the 'instrument' property.
+ */
+ public getInstrument(): org.bukkit.Instrument;
+ /**
+ * Sets the value of the 'instrument' property.
+ */
+ public setInstrument(instrument: org.bukkit.Instrument): void;
+ /**
+ * Gets the value of the 'note' property.
+ */
+ public getNote(): org.bukkit.Note;
+ /**
+ * Sets the value of the 'note' property.
+ */
+ public setNote(note: org.bukkit.Note): void;
+ }
+ }
+ }
+ }
+ }
+}
diff --git a/packages/bukkit/src/typings/org.bukkit.block.data.type.Observer.ts b/packages/bukkit/src/typings/org.bukkit.block.data.type.Observer.ts
new file mode 100644
index 00000000..42a6c167
--- /dev/null
+++ b/packages/bukkit/src/typings/org.bukkit.block.data.type.Observer.ts
@@ -0,0 +1,12 @@
+declare namespace org {
+ namespace bukkit {
+ namespace block {
+ namespace data {
+ namespace type {
+ class Observer {
+ }
+ }
+ }
+ }
+ }
+}
diff --git a/packages/bukkit/src/typings/org.bukkit.block.data.type.Piston.ts b/packages/bukkit/src/typings/org.bukkit.block.data.type.Piston.ts
new file mode 100644
index 00000000..100dd73d
--- /dev/null
+++ b/packages/bukkit/src/typings/org.bukkit.block.data.type.Piston.ts
@@ -0,0 +1,20 @@
+declare namespace org {
+ namespace bukkit {
+ namespace block {
+ namespace data {
+ namespace type {
+ class Piston {
+ /**
+ * Gets the value of the 'extended' property.
+ */
+ public isExtended(): boolean;
+ /**
+ * Sets the value of the 'extended' property.
+ */
+ public setExtended(extended: boolean): void;
+ }
+ }
+ }
+ }
+ }
+}
diff --git a/packages/bukkit/src/typings/org.bukkit.block.data.type.PistonHead.ts b/packages/bukkit/src/typings/org.bukkit.block.data.type.PistonHead.ts
new file mode 100644
index 00000000..61be80de
--- /dev/null
+++ b/packages/bukkit/src/typings/org.bukkit.block.data.type.PistonHead.ts
@@ -0,0 +1,20 @@
+declare namespace org {
+ namespace bukkit {
+ namespace block {
+ namespace data {
+ namespace type {
+ class PistonHead {
+ /**
+ * Gets the value of the 'short' property.
+ */
+ public isShort(): boolean;
+ /**
+ * Sets the value of the 'short' property.
+ */
+ public setShort(_short: boolean): void;
+ }
+ }
+ }
+ }
+ }
+}
diff --git a/packages/bukkit/src/typings/org.bukkit.block.data.type.RedstoneRail.ts b/packages/bukkit/src/typings/org.bukkit.block.data.type.RedstoneRail.ts
new file mode 100644
index 00000000..73992dae
--- /dev/null
+++ b/packages/bukkit/src/typings/org.bukkit.block.data.type.RedstoneRail.ts
@@ -0,0 +1,12 @@
+declare namespace org {
+ namespace bukkit {
+ namespace block {
+ namespace data {
+ namespace type {
+ class RedstoneRail {
+ }
+ }
+ }
+ }
+ }
+}
diff --git a/packages/bukkit/src/typings/org.bukkit.block.data.type.RedstoneWallTorch.ts b/packages/bukkit/src/typings/org.bukkit.block.data.type.RedstoneWallTorch.ts
new file mode 100644
index 00000000..641a442a
--- /dev/null
+++ b/packages/bukkit/src/typings/org.bukkit.block.data.type.RedstoneWallTorch.ts
@@ -0,0 +1,12 @@
+declare namespace org {
+ namespace bukkit {
+ namespace block {
+ namespace data {
+ namespace type {
+ class RedstoneWallTorch {
+ }
+ }
+ }
+ }
+ }
+}
diff --git a/packages/bukkit/src/typings/org.bukkit.block.data.type.RedstoneWire.Connection.ts b/packages/bukkit/src/typings/org.bukkit.block.data.type.RedstoneWire.Connection.ts
new file mode 100644
index 00000000..6fd6ddc5
--- /dev/null
+++ b/packages/bukkit/src/typings/org.bukkit.block.data.type.RedstoneWire.Connection.ts
@@ -0,0 +1,19 @@
+declare namespace org {
+ namespace bukkit {
+ namespace block {
+ namespace data {
+ namespace type {
+ namespace RedstoneWire {
+ class Connection {
+ public static UP: org.bukkit.block.data.type.RedstoneWire.Connection;
+ public static SIDE: org.bukkit.block.data.type.RedstoneWire.Connection;
+ public static NONE: org.bukkit.block.data.type.RedstoneWire.Connection;
+ public static values(): org.bukkit.block.data.type.RedstoneWire.Connection[];
+ public static valueOf(name: string): org.bukkit.block.data.type.RedstoneWire.Connection;
+ }
+ }
+ }
+ }
+ }
+ }
+}
diff --git a/packages/bukkit/src/typings/org.bukkit.block.data.type.RedstoneWire.ts b/packages/bukkit/src/typings/org.bukkit.block.data.type.RedstoneWire.ts
new file mode 100644
index 00000000..07bb0820
--- /dev/null
+++ b/packages/bukkit/src/typings/org.bukkit.block.data.type.RedstoneWire.ts
@@ -0,0 +1,24 @@
+declare namespace org {
+ namespace bukkit {
+ namespace block {
+ namespace data {
+ namespace type {
+ class RedstoneWire {
+ /**
+ * Checks the type of connection on the specified face.
+ */
+ public getFace(face: org.bukkit.block.BlockFace): org.bukkit.block.data.type.RedstoneWire.Connection;
+ /**
+ * Sets the type of connection on the specified face.
+ */
+ public setFace(face: org.bukkit.block.BlockFace, connection: org.bukkit.block.data.type.RedstoneWire.Connection): void;
+ /**
+ * Gets all of this faces which may be set on this block.
+ */
+ public getAllowedFaces(): any[] /*java.util.Set*/;
+ }
+ }
+ }
+ }
+ }
+}
diff --git a/packages/bukkit/src/typings/org.bukkit.block.data.type.Repeater.ts b/packages/bukkit/src/typings/org.bukkit.block.data.type.Repeater.ts
new file mode 100644
index 00000000..8c945cb8
--- /dev/null
+++ b/packages/bukkit/src/typings/org.bukkit.block.data.type.Repeater.ts
@@ -0,0 +1,36 @@
+declare namespace org {
+ namespace bukkit {
+ namespace block {
+ namespace data {
+ namespace type {
+ class Repeater {
+ /**
+ * Gets the value of the 'delay' property.
+ */
+ public getDelay(): number;
+ /**
+ * Sets the value of the 'delay' property.
+ */
+ public setDelay(delay: number): void;
+ /**
+ * Gets the minimum allowed value of the 'delay' property.
+ */
+ public getMinimumDelay(): number;
+ /**
+ * Gets the maximum allowed value of the 'delay' property.
+ */
+ public getMaximumDelay(): number;
+ /**
+ * Gets the value of the 'locked' property.
+ */
+ public isLocked(): boolean;
+ /**
+ * Sets the value of the 'locked' property.
+ */
+ public setLocked(locked: boolean): void;
+ }
+ }
+ }
+ }
+ }
+}
diff --git a/packages/bukkit/src/typings/org.bukkit.block.data.type.Sapling.ts b/packages/bukkit/src/typings/org.bukkit.block.data.type.Sapling.ts
new file mode 100644
index 00000000..f0e48c86
--- /dev/null
+++ b/packages/bukkit/src/typings/org.bukkit.block.data.type.Sapling.ts
@@ -0,0 +1,24 @@
+declare namespace org {
+ namespace bukkit {
+ namespace block {
+ namespace data {
+ namespace type {
+ class Sapling {
+ /**
+ * Gets the value of the 'stage' property.
+ */
+ public getStage(): number;
+ /**
+ * Sets the value of the 'stage' property.
+ */
+ public setStage(stage: number): void;
+ /**
+ * Gets the maximum allowed value of the 'stage' property.
+ */
+ public getMaximumStage(): number;
+ }
+ }
+ }
+ }
+ }
+}
diff --git a/packages/bukkit/src/typings/org.bukkit.block.data.type.Scaffolding.ts b/packages/bukkit/src/typings/org.bukkit.block.data.type.Scaffolding.ts
new file mode 100644
index 00000000..9bb97bcb
--- /dev/null
+++ b/packages/bukkit/src/typings/org.bukkit.block.data.type.Scaffolding.ts
@@ -0,0 +1,32 @@
+declare namespace org {
+ namespace bukkit {
+ namespace block {
+ namespace data {
+ namespace type {
+ class Scaffolding {
+ /**
+ * Gets the value of the 'bottom' property.
+ */
+ public isBottom(): boolean;
+ /**
+ * Sets the value of the 'bottom' property.
+ */
+ public setBottom(bottom: boolean): void;
+ /**
+ * Gets the value of the 'distance' property.
+ */
+ public getDistance(): number;
+ /**
+ * Sets the value of the 'distance' property.
+ */
+ public setDistance(distance: number): void;
+ /**
+ * Gets the maximum allowed value of the 'distance' property.
+ */
+ public getMaximumDistance(): number;
+ }
+ }
+ }
+ }
+ }
+}
diff --git a/packages/bukkit/src/typings/org.bukkit.block.data.type.SeaPickle.ts b/packages/bukkit/src/typings/org.bukkit.block.data.type.SeaPickle.ts
new file mode 100644
index 00000000..ad2143de
--- /dev/null
+++ b/packages/bukkit/src/typings/org.bukkit.block.data.type.SeaPickle.ts
@@ -0,0 +1,28 @@
+declare namespace org {
+ namespace bukkit {
+ namespace block {
+ namespace data {
+ namespace type {
+ class SeaPickle {
+ /**
+ * Gets the value of the 'pickles' property.
+ */
+ public getPickles(): number;
+ /**
+ * Sets the value of the 'pickles' property.
+ */
+ public setPickles(pickles: number): void;
+ /**
+ * Gets the minimum allowed value of the 'pickles' property.
+ */
+ public getMinimumPickles(): number;
+ /**
+ * Gets the maximum allowed value of the 'pickles' property.
+ */
+ public getMaximumPickles(): number;
+ }
+ }
+ }
+ }
+ }
+}
diff --git a/packages/bukkit/src/typings/org.bukkit.block.data.type.Sign.ts b/packages/bukkit/src/typings/org.bukkit.block.data.type.Sign.ts
new file mode 100644
index 00000000..7b651f04
--- /dev/null
+++ b/packages/bukkit/src/typings/org.bukkit.block.data.type.Sign.ts
@@ -0,0 +1,12 @@
+declare namespace org {
+ namespace bukkit {
+ namespace block {
+ namespace data {
+ namespace type {
+ class Sign {
+ }
+ }
+ }
+ }
+ }
+}
diff --git a/packages/bukkit/src/typings/org.bukkit.block.data.type.Slab.Type.ts b/packages/bukkit/src/typings/org.bukkit.block.data.type.Slab.Type.ts
new file mode 100644
index 00000000..6ff11646
--- /dev/null
+++ b/packages/bukkit/src/typings/org.bukkit.block.data.type.Slab.Type.ts
@@ -0,0 +1,19 @@
+declare namespace org {
+ namespace bukkit {
+ namespace block {
+ namespace data {
+ namespace type {
+ namespace Slab {
+ class Type {
+ public static TOP: org.bukkit.block.data.type.Slab.Type;
+ public static BOTTOM: org.bukkit.block.data.type.Slab.Type;
+ public static DOUBLE: org.bukkit.block.data.type.Slab.Type;
+ public static values(): org.bukkit.block.data.type.Slab.Type[];
+ public static valueOf(name: string): org.bukkit.block.data.type.Slab.Type;
+ }
+ }
+ }
+ }
+ }
+ }
+}
diff --git a/packages/bukkit/src/typings/org.bukkit.block.data.type.Slab.ts b/packages/bukkit/src/typings/org.bukkit.block.data.type.Slab.ts
new file mode 100644
index 00000000..a0588606
--- /dev/null
+++ b/packages/bukkit/src/typings/org.bukkit.block.data.type.Slab.ts
@@ -0,0 +1,20 @@
+declare namespace org {
+ namespace bukkit {
+ namespace block {
+ namespace data {
+ namespace type {
+ class Slab {
+ /**
+ * Gets the value of the 'type' property.
+ */
+ public getType(): org.bukkit.block.data.type.Slab.Type;
+ /**
+ * Sets the value of the 'type' property.
+ */
+ public setType(type: org.bukkit.block.data.type.Slab.Type): void;
+ }
+ }
+ }
+ }
+ }
+}
diff --git a/packages/bukkit/src/typings/org.bukkit.block.data.type.Snow.ts b/packages/bukkit/src/typings/org.bukkit.block.data.type.Snow.ts
new file mode 100644
index 00000000..d3517a40
--- /dev/null
+++ b/packages/bukkit/src/typings/org.bukkit.block.data.type.Snow.ts
@@ -0,0 +1,28 @@
+declare namespace org {
+ namespace bukkit {
+ namespace block {
+ namespace data {
+ namespace type {
+ class Snow {
+ /**
+ * Gets the value of the 'layers' property.
+ */
+ public getLayers(): number;
+ /**
+ * Sets the value of the 'layers' property.
+ */
+ public setLayers(layers: number): void;
+ /**
+ * Gets the minimum allowed value of the 'layers' property.
+ */
+ public getMinimumLayers(): number;
+ /**
+ * Gets the maximum allowed value of the 'layers' property.
+ */
+ public getMaximumLayers(): number;
+ }
+ }
+ }
+ }
+ }
+}
diff --git a/packages/bukkit/src/typings/org.bukkit.block.data.type.Stairs.Shape.ts b/packages/bukkit/src/typings/org.bukkit.block.data.type.Stairs.Shape.ts
new file mode 100644
index 00000000..5c0193ed
--- /dev/null
+++ b/packages/bukkit/src/typings/org.bukkit.block.data.type.Stairs.Shape.ts
@@ -0,0 +1,21 @@
+declare namespace org {
+ namespace bukkit {
+ namespace block {
+ namespace data {
+ namespace type {
+ namespace Stairs {
+ class Shape {
+ public static STRAIGHT: org.bukkit.block.data.type.Stairs.Shape;
+ public static INNER_LEFT: org.bukkit.block.data.type.Stairs.Shape;
+ public static INNER_RIGHT: org.bukkit.block.data.type.Stairs.Shape;
+ public static OUTER_LEFT: org.bukkit.block.data.type.Stairs.Shape;
+ public static OUTER_RIGHT: org.bukkit.block.data.type.Stairs.Shape;
+ public static values(): org.bukkit.block.data.type.Stairs.Shape[];
+ public static valueOf(name: string): org.bukkit.block.data.type.Stairs.Shape;
+ }
+ }
+ }
+ }
+ }
+ }
+}
diff --git a/packages/bukkit/src/typings/org.bukkit.block.data.type.Stairs.ts b/packages/bukkit/src/typings/org.bukkit.block.data.type.Stairs.ts
new file mode 100644
index 00000000..16ade43e
--- /dev/null
+++ b/packages/bukkit/src/typings/org.bukkit.block.data.type.Stairs.ts
@@ -0,0 +1,20 @@
+declare namespace org {
+ namespace bukkit {
+ namespace block {
+ namespace data {
+ namespace type {
+ class Stairs {
+ /**
+ * Gets the value of the 'shape' property.
+ */
+ public getShape(): org.bukkit.block.data.type.Stairs.Shape;
+ /**
+ * Sets the value of the 'shape' property.
+ */
+ public setShape(shape: org.bukkit.block.data.type.Stairs.Shape): void;
+ }
+ }
+ }
+ }
+ }
+}
diff --git a/packages/bukkit/src/typings/org.bukkit.block.data.type.StructureBlock.Mode.ts b/packages/bukkit/src/typings/org.bukkit.block.data.type.StructureBlock.Mode.ts
new file mode 100644
index 00000000..82841477
--- /dev/null
+++ b/packages/bukkit/src/typings/org.bukkit.block.data.type.StructureBlock.Mode.ts
@@ -0,0 +1,20 @@
+declare namespace org {
+ namespace bukkit {
+ namespace block {
+ namespace data {
+ namespace type {
+ namespace StructureBlock {
+ class Mode {
+ public static SAVE: org.bukkit.block.data.type.StructureBlock.Mode;
+ public static LOAD: org.bukkit.block.data.type.StructureBlock.Mode;
+ public static CORNER: org.bukkit.block.data.type.StructureBlock.Mode;
+ public static DATA: org.bukkit.block.data.type.StructureBlock.Mode;
+ public static values(): org.bukkit.block.data.type.StructureBlock.Mode[];
+ public static valueOf(name: string): org.bukkit.block.data.type.StructureBlock.Mode;
+ }
+ }
+ }
+ }
+ }
+ }
+}
diff --git a/packages/bukkit/src/typings/org.bukkit.block.data.type.StructureBlock.ts b/packages/bukkit/src/typings/org.bukkit.block.data.type.StructureBlock.ts
new file mode 100644
index 00000000..ee0ce590
--- /dev/null
+++ b/packages/bukkit/src/typings/org.bukkit.block.data.type.StructureBlock.ts
@@ -0,0 +1,20 @@
+declare namespace org {
+ namespace bukkit {
+ namespace block {
+ namespace data {
+ namespace type {
+ class StructureBlock {
+ /**
+ * Gets the value of the 'mode' property.
+ */
+ public getMode(): org.bukkit.block.data.type.StructureBlock.Mode;
+ /**
+ * Sets the value of the 'mode' property.
+ */
+ public setMode(mode: org.bukkit.block.data.type.StructureBlock.Mode): void;
+ }
+ }
+ }
+ }
+ }
+}
diff --git a/packages/bukkit/src/typings/org.bukkit.block.data.type.Switch.Face.ts b/packages/bukkit/src/typings/org.bukkit.block.data.type.Switch.Face.ts
new file mode 100644
index 00000000..63d85b9f
--- /dev/null
+++ b/packages/bukkit/src/typings/org.bukkit.block.data.type.Switch.Face.ts
@@ -0,0 +1,19 @@
+declare namespace org {
+ namespace bukkit {
+ namespace block {
+ namespace data {
+ namespace type {
+ namespace Switch {
+ class Face {
+ public static FLOOR: org.bukkit.block.data.type.Switch.Face;
+ public static WALL: org.bukkit.block.data.type.Switch.Face;
+ public static CEILING: org.bukkit.block.data.type.Switch.Face;
+ public static values(): org.bukkit.block.data.type.Switch.Face[];
+ public static valueOf(name: string): org.bukkit.block.data.type.Switch.Face;
+ }
+ }
+ }
+ }
+ }
+ }
+}
diff --git a/packages/bukkit/src/typings/org.bukkit.block.data.type.Switch.ts b/packages/bukkit/src/typings/org.bukkit.block.data.type.Switch.ts
new file mode 100644
index 00000000..2bdf62f0
--- /dev/null
+++ b/packages/bukkit/src/typings/org.bukkit.block.data.type.Switch.ts
@@ -0,0 +1,20 @@
+declare namespace org {
+ namespace bukkit {
+ namespace block {
+ namespace data {
+ namespace type {
+ class Switch {
+ /**
+ * Gets the value of the 'face' property.
+ */
+ public getFace(): org.bukkit.block.data.type.Switch.Face;
+ /**
+ * Sets the value of the 'face' property.
+ */
+ public setFace(face: org.bukkit.block.data.type.Switch.Face): void;
+ }
+ }
+ }
+ }
+ }
+}
diff --git a/packages/bukkit/src/typings/org.bukkit.block.data.type.TNT.ts b/packages/bukkit/src/typings/org.bukkit.block.data.type.TNT.ts
new file mode 100644
index 00000000..08188c47
--- /dev/null
+++ b/packages/bukkit/src/typings/org.bukkit.block.data.type.TNT.ts
@@ -0,0 +1,20 @@
+declare namespace org {
+ namespace bukkit {
+ namespace block {
+ namespace data {
+ namespace type {
+ class TNT {
+ /**
+ * Gets the value of the 'unstable' property.
+ */
+ public isUnstable(): boolean;
+ /**
+ * Sets the value of the 'unstable' property.
+ */
+ public setUnstable(unstable: boolean): void;
+ }
+ }
+ }
+ }
+ }
+}
diff --git a/packages/bukkit/src/typings/org.bukkit.block.data.type.TechnicalPiston.Type.ts b/packages/bukkit/src/typings/org.bukkit.block.data.type.TechnicalPiston.Type.ts
new file mode 100644
index 00000000..5b834334
--- /dev/null
+++ b/packages/bukkit/src/typings/org.bukkit.block.data.type.TechnicalPiston.Type.ts
@@ -0,0 +1,18 @@
+declare namespace org {
+ namespace bukkit {
+ namespace block {
+ namespace data {
+ namespace type {
+ namespace TechnicalPiston {
+ class Type {
+ public static NORMAL: org.bukkit.block.data.type.TechnicalPiston.Type;
+ public static STICKY: org.bukkit.block.data.type.TechnicalPiston.Type;
+ public static values(): org.bukkit.block.data.type.TechnicalPiston.Type[];
+ public static valueOf(name: string): org.bukkit.block.data.type.TechnicalPiston.Type;
+ }
+ }
+ }
+ }
+ }
+ }
+}
diff --git a/packages/bukkit/src/typings/org.bukkit.block.data.type.TechnicalPiston.ts b/packages/bukkit/src/typings/org.bukkit.block.data.type.TechnicalPiston.ts
new file mode 100644
index 00000000..18f3cec4
--- /dev/null
+++ b/packages/bukkit/src/typings/org.bukkit.block.data.type.TechnicalPiston.ts
@@ -0,0 +1,20 @@
+declare namespace org {
+ namespace bukkit {
+ namespace block {
+ namespace data {
+ namespace type {
+ class TechnicalPiston {
+ /**
+ * Gets the value of the 'type' property.
+ */
+ public getType(): org.bukkit.block.data.type.TechnicalPiston.Type;
+ /**
+ * Sets the value of the 'type' property.
+ */
+ public setType(type: org.bukkit.block.data.type.TechnicalPiston.Type): void;
+ }
+ }
+ }
+ }
+ }
+}
diff --git a/packages/bukkit/src/typings/org.bukkit.block.data.type.TrapDoor.ts b/packages/bukkit/src/typings/org.bukkit.block.data.type.TrapDoor.ts
new file mode 100644
index 00000000..b342ba2a
--- /dev/null
+++ b/packages/bukkit/src/typings/org.bukkit.block.data.type.TrapDoor.ts
@@ -0,0 +1,12 @@
+declare namespace org {
+ namespace bukkit {
+ namespace block {
+ namespace data {
+ namespace type {
+ class TrapDoor {
+ }
+ }
+ }
+ }
+ }
+}
diff --git a/packages/bukkit/src/typings/org.bukkit.block.data.type.Tripwire.ts b/packages/bukkit/src/typings/org.bukkit.block.data.type.Tripwire.ts
new file mode 100644
index 00000000..4fa4755f
--- /dev/null
+++ b/packages/bukkit/src/typings/org.bukkit.block.data.type.Tripwire.ts
@@ -0,0 +1,20 @@
+declare namespace org {
+ namespace bukkit {
+ namespace block {
+ namespace data {
+ namespace type {
+ class Tripwire {
+ /**
+ * Gets the value of the 'disarmed' property.
+ */
+ public isDisarmed(): boolean;
+ /**
+ * Sets the value of the 'disarmed' property.
+ */
+ public setDisarmed(disarmed: boolean): void;
+ }
+ }
+ }
+ }
+ }
+}
diff --git a/packages/bukkit/src/typings/org.bukkit.block.data.type.TripwireHook.ts b/packages/bukkit/src/typings/org.bukkit.block.data.type.TripwireHook.ts
new file mode 100644
index 00000000..8aa54845
--- /dev/null
+++ b/packages/bukkit/src/typings/org.bukkit.block.data.type.TripwireHook.ts
@@ -0,0 +1,12 @@
+declare namespace org {
+ namespace bukkit {
+ namespace block {
+ namespace data {
+ namespace type {
+ class TripwireHook {
+ }
+ }
+ }
+ }
+ }
+}
diff --git a/packages/bukkit/src/typings/org.bukkit.block.data.type.TurtleEgg.ts b/packages/bukkit/src/typings/org.bukkit.block.data.type.TurtleEgg.ts
new file mode 100644
index 00000000..9da8b221
--- /dev/null
+++ b/packages/bukkit/src/typings/org.bukkit.block.data.type.TurtleEgg.ts
@@ -0,0 +1,40 @@
+declare namespace org {
+ namespace bukkit {
+ namespace block {
+ namespace data {
+ namespace type {
+ class TurtleEgg {
+ /**
+ * Gets the value of the 'eggs' property.
+ */
+ public getEggs(): number;
+ /**
+ * Sets the value of the 'eggs' property.
+ */
+ public setEggs(eggs: number): void;
+ /**
+ * Gets the minimum allowed value of the 'eggs' property.
+ */
+ public getMinimumEggs(): number;
+ /**
+ * Gets the maximum allowed value of the 'eggs' property.
+ */
+ public getMaximumEggs(): number;
+ /**
+ * Gets the value of the 'hatch' property.
+ */
+ public getHatch(): number;
+ /**
+ * Sets the value of the 'hatch' property.
+ */
+ public setHatch(hatch: number): void;
+ /**
+ * Gets the maximum allowed value of the 'hatch' property.
+ */
+ public getMaximumHatch(): number;
+ }
+ }
+ }
+ }
+ }
+}
diff --git a/packages/bukkit/src/typings/org.bukkit.block.data.type.WallSign.ts b/packages/bukkit/src/typings/org.bukkit.block.data.type.WallSign.ts
new file mode 100644
index 00000000..02d0fc71
--- /dev/null
+++ b/packages/bukkit/src/typings/org.bukkit.block.data.type.WallSign.ts
@@ -0,0 +1,12 @@
+declare namespace org {
+ namespace bukkit {
+ namespace block {
+ namespace data {
+ namespace type {
+ class WallSign {
+ }
+ }
+ }
+ }
+ }
+}
diff --git a/packages/bukkit/src/typings/org.bukkit.block.structure.Mirror.ts b/packages/bukkit/src/typings/org.bukkit.block.structure.Mirror.ts
new file mode 100644
index 00000000..cc18ce2b
--- /dev/null
+++ b/packages/bukkit/src/typings/org.bukkit.block.structure.Mirror.ts
@@ -0,0 +1,15 @@
+declare namespace org {
+ namespace bukkit {
+ namespace block {
+ namespace structure {
+ class Mirror {
+ public static NONE: org.bukkit.block.structure.Mirror;
+ public static LEFT_RIGHT: org.bukkit.block.structure.Mirror;
+ public static FRONT_BACK: org.bukkit.block.structure.Mirror;
+ public static values(): org.bukkit.block.structure.Mirror[];
+ public static valueOf(name: string): org.bukkit.block.structure.Mirror;
+ }
+ }
+ }
+ }
+}
diff --git a/packages/bukkit/src/typings/org.bukkit.block.structure.StructureRotation.ts b/packages/bukkit/src/typings/org.bukkit.block.structure.StructureRotation.ts
new file mode 100644
index 00000000..a6d124c9
--- /dev/null
+++ b/packages/bukkit/src/typings/org.bukkit.block.structure.StructureRotation.ts
@@ -0,0 +1,16 @@
+declare namespace org {
+ namespace bukkit {
+ namespace block {
+ namespace structure {
+ class StructureRotation {
+ public static NONE: org.bukkit.block.structure.StructureRotation;
+ public static CLOCKWISE_90: org.bukkit.block.structure.StructureRotation;
+ public static CLOCKWISE_180: org.bukkit.block.structure.StructureRotation;
+ public static COUNTERCLOCKWISE_90: org.bukkit.block.structure.StructureRotation;
+ public static values(): org.bukkit.block.structure.StructureRotation[];
+ public static valueOf(name: string): org.bukkit.block.structure.StructureRotation;
+ }
+ }
+ }
+ }
+}
diff --git a/packages/bukkit/src/typings/org.bukkit.block.structure.UsageMode.ts b/packages/bukkit/src/typings/org.bukkit.block.structure.UsageMode.ts
new file mode 100644
index 00000000..d8a4c37e
--- /dev/null
+++ b/packages/bukkit/src/typings/org.bukkit.block.structure.UsageMode.ts
@@ -0,0 +1,16 @@
+declare namespace org {
+ namespace bukkit {
+ namespace block {
+ namespace structure {
+ class UsageMode {
+ public static SAVE: org.bukkit.block.structure.UsageMode;
+ public static LOAD: org.bukkit.block.structure.UsageMode;
+ public static CORNER: org.bukkit.block.structure.UsageMode;
+ public static DATA: org.bukkit.block.structure.UsageMode;
+ public static values(): org.bukkit.block.structure.UsageMode[];
+ public static valueOf(name: string): org.bukkit.block.structure.UsageMode;
+ }
+ }
+ }
+ }
+}
diff --git a/packages/bukkit/src/typings/org.bukkit.boss.BarColor.ts b/packages/bukkit/src/typings/org.bukkit.boss.BarColor.ts
new file mode 100644
index 00000000..83ab70ee
--- /dev/null
+++ b/packages/bukkit/src/typings/org.bukkit.boss.BarColor.ts
@@ -0,0 +1,17 @@
+declare namespace org {
+ namespace bukkit {
+ namespace boss {
+ class BarColor {
+ public static PINK: org.bukkit.boss.BarColor;
+ public static BLUE: org.bukkit.boss.BarColor;
+ public static RED: org.bukkit.boss.BarColor;
+ public static GREEN: org.bukkit.boss.BarColor;
+ public static YELLOW: org.bukkit.boss.BarColor;
+ public static PURPLE: org.bukkit.boss.BarColor;
+ public static WHITE: org.bukkit.boss.BarColor;
+ public static values(): org.bukkit.boss.BarColor[];
+ public static valueOf(name: string): org.bukkit.boss.BarColor;
+ }
+ }
+ }
+}
diff --git a/packages/bukkit/src/typings/org.bukkit.boss.BarFlag.ts b/packages/bukkit/src/typings/org.bukkit.boss.BarFlag.ts
new file mode 100644
index 00000000..8f3bd52d
--- /dev/null
+++ b/packages/bukkit/src/typings/org.bukkit.boss.BarFlag.ts
@@ -0,0 +1,13 @@
+declare namespace org {
+ namespace bukkit {
+ namespace boss {
+ class BarFlag {
+ public static DARKEN_SKY: org.bukkit.boss.BarFlag;
+ public static PLAY_BOSS_MUSIC: org.bukkit.boss.BarFlag;
+ public static CREATE_FOG: org.bukkit.boss.BarFlag;
+ public static values(): org.bukkit.boss.BarFlag[];
+ public static valueOf(name: string): org.bukkit.boss.BarFlag;
+ }
+ }
+ }
+}
diff --git a/packages/bukkit/src/typings/org.bukkit.boss.BarStyle.ts b/packages/bukkit/src/typings/org.bukkit.boss.BarStyle.ts
new file mode 100644
index 00000000..8273acdd
--- /dev/null
+++ b/packages/bukkit/src/typings/org.bukkit.boss.BarStyle.ts
@@ -0,0 +1,15 @@
+declare namespace org {
+ namespace bukkit {
+ namespace boss {
+ class BarStyle {
+ public static SOLID: org.bukkit.boss.BarStyle;
+ public static SEGMENTED_6: org.bukkit.boss.BarStyle;
+ public static SEGMENTED_10: org.bukkit.boss.BarStyle;
+ public static SEGMENTED_12: org.bukkit.boss.BarStyle;
+ public static SEGMENTED_20: org.bukkit.boss.BarStyle;
+ public static values(): org.bukkit.boss.BarStyle[];
+ public static valueOf(name: string): org.bukkit.boss.BarStyle;
+ }
+ }
+ }
+}
diff --git a/packages/bukkit/src/typings/org.bukkit.boss.BossBar.ts b/packages/bukkit/src/typings/org.bukkit.boss.BossBar.ts
new file mode 100644
index 00000000..342dbb14
--- /dev/null
+++ b/packages/bukkit/src/typings/org.bukkit.boss.BossBar.ts
@@ -0,0 +1,86 @@
+declare namespace org {
+ namespace bukkit {
+ namespace boss {
+ class BossBar {
+ /**
+ * Returns the title of this boss bar
+ */
+ public getTitle(): string;
+ /**
+ * Sets the title of this boss bar
+ */
+ public setTitle(title: string): void;
+ /**
+ * Returns the color of this boss bar
+ */
+ public getColor(): org.bukkit.boss.BarColor;
+ /**
+ * Sets the color of this boss bar.
+ */
+ public setColor(color: org.bukkit.boss.BarColor): void;
+ /**
+ * Returns the style of this boss bar
+ */
+ public getStyle(): org.bukkit.boss.BarStyle;
+ /**
+ * Sets the bar style of this boss bar
+ */
+ public setStyle(style: org.bukkit.boss.BarStyle): void;
+ /**
+ * Remove an existing flag on this boss bar
+ */
+ public removeFlag(flag: org.bukkit.boss.BarFlag): void;
+ /**
+ * Add an optional flag to this boss bar
+ */
+ public addFlag(flag: org.bukkit.boss.BarFlag): void;
+ /**
+ * Returns whether this boss bar as the passed flag set
+ */
+ public hasFlag(flag: org.bukkit.boss.BarFlag): boolean;
+ /**
+ * Sets the progress of the bar. Values should be between 0.0 (empty) and
+ * 1.0 (full)
+ */
+ public setProgress(progress: number): void;
+ /**
+ * Returns the progress of the bar between 0.0 and 1.0
+ */
+ public getProgress(): number;
+ /**
+ * Adds the player to this boss bar causing it to display on their screen.
+ */
+ public addPlayer(player: org.bukkit.entity.Player): void;
+ /**
+ * Removes the player from this boss bar causing it to be removed from their
+ * screen.
+ */
+ public removePlayer(player: org.bukkit.entity.Player): void;
+ /**
+ * Removes all players from this boss bar
+ */
+ public removeAll(): void;
+ /**
+ * Returns all players viewing this boss bar
+ */
+ public getPlayers(): any[] /*java.util.List*/;
+ /**
+ * Set if the boss bar is displayed to attached players.
+ */
+ public setVisible(visible: boolean): void;
+ /**
+ * Return if the boss bar is displayed to attached players.
+ */
+ public isVisible(): boolean;
+ /**
+ * Shows the previously hidden boss bar to all attached players
+ */
+ public show(): void;
+ /**
+ * Hides this boss bar from all attached players
+ */
+ public hide(): void;
+ }
+ }
+ }
+}
diff --git a/packages/bukkit/src/typings/org.bukkit.boss.KeyedBossBar.ts b/packages/bukkit/src/typings/org.bukkit.boss.KeyedBossBar.ts
new file mode 100644
index 00000000..65b640d6
--- /dev/null
+++ b/packages/bukkit/src/typings/org.bukkit.boss.KeyedBossBar.ts
@@ -0,0 +1,8 @@
+declare namespace org {
+ namespace bukkit {
+ namespace boss {
+ class KeyedBossBar {
+ }
+ }
+ }
+}
diff --git a/packages/bukkit/src/typings/org.bukkit.command.BlockCommandSender.ts b/packages/bukkit/src/typings/org.bukkit.command.BlockCommandSender.ts
new file mode 100644
index 00000000..04215a2e
--- /dev/null
+++ b/packages/bukkit/src/typings/org.bukkit.command.BlockCommandSender.ts
@@ -0,0 +1,12 @@
+declare namespace org {
+ namespace bukkit {
+ namespace command {
+ class BlockCommandSender {
+ /**
+ * Returns the block this command sender belongs to
+ */
+ public getBlock(): org.bukkit.block.Block;
+ }
+ }
+ }
+}
diff --git a/packages/bukkit/src/typings/org.bukkit.command.Command.ts b/packages/bukkit/src/typings/org.bukkit.command.Command.ts
new file mode 100644
index 00000000..a4b1be89
--- /dev/null
+++ b/packages/bukkit/src/typings/org.bukkit.command.Command.ts
@@ -0,0 +1,130 @@
+declare namespace org {
+ namespace bukkit {
+ namespace command {
+ abstract class Command {
+ constructor(name: string)
+ constructor(name: string, description: string, usageMessage: string, aliases: any[] /*java.util.List*/)
+ protected description: string;
+ protected usageMessage: string;
+ /**
+ * Executes the command, returning its success
+ */
+ public abstract execute(sender: org.bukkit.command.CommandSender, commandLabel: string, args: string): boolean;
+ /**
+ * Executed on tab completion for this command, returning a list of
+ * options the player can tab through.
+ */
+ public tabComplete(sender: org.bukkit.command.CommandSender, alias: string, args: string): any[] /*java.util.List*/;
+ /**
+ * Executed on tab completion for this command, returning a list of
+ * options the player can tab through.
+ */
+ public tabComplete(sender: org.bukkit.command.CommandSender, alias: string, args: string, location: org.bukkit.Location): any[] /*java.util.List*/;
+ /**
+ * Returns the name of this command
+ */
+ public getName(): string;
+ /**
+ * Sets the name of this command.
+ * aliases
' node) is equivalent to this method.
+ */
+ public setAliases(aliases: any[] /*java.util.List*/): org.bukkit.command.Command;
+ /**
+ * Sets a brief description of this command. Defining a description in the
+ * {@link PluginDescriptionFile#getCommands()} (under the
+ * `description
' node) is equivalent to this method.
+ */
+ public setDescription(description: string): org.bukkit.command.Command;
+ /**
+ * Sets the message sent when a permission check fails
+ */
+ public setPermissionMessage(permissionMessage: string): org.bukkit.command.Command;
+ /**
+ * Sets the example usage of this command
+ */
+ public setUsage(usage: string): org.bukkit.command.Command;
+ public static broadcastCommandMessage(source: org.bukkit.command.CommandSender, message: string): void;
+ public static broadcastCommandMessage(source: org.bukkit.command.CommandSender, message: string, sendToSource: boolean): void;
+ public toString(): string;
+ }
+ }
+ }
+}
diff --git a/packages/bukkit/src/typings/org.bukkit.command.CommandException.ts b/packages/bukkit/src/typings/org.bukkit.command.CommandException.ts
new file mode 100644
index 00000000..1c5f47d4
--- /dev/null
+++ b/packages/bukkit/src/typings/org.bukkit.command.CommandException.ts
@@ -0,0 +1,19 @@
+declare namespace org {
+ namespace bukkit {
+ namespace command {
+ class CommandException {
+ /**
+ * Creates a new instance of CommandException
without detail
+ * message.
+ */
+ constructor()
+ /**
+ * Constructs an instance of CommandException
with the
+ * specified detail message.
+ */
+ constructor(msg: string)
+ constructor(msg: string, cause: any)
+ }
+ }
+ }
+}
diff --git a/packages/bukkit/src/typings/org.bukkit.command.CommandExecutor.ts b/packages/bukkit/src/typings/org.bukkit.command.CommandExecutor.ts
new file mode 100644
index 00000000..57a8e4fe
--- /dev/null
+++ b/packages/bukkit/src/typings/org.bukkit.command.CommandExecutor.ts
@@ -0,0 +1,15 @@
+declare namespace org {
+ namespace bukkit {
+ namespace command {
+ class CommandExecutor {
+ /**
+ * Executes the given command, returning its success.
+ *
+ * If false is returned, then the "usage" plugin.yml entry for this command
+ * (if defined) will be sent to the player.
+ */
+ public onCommand(sender: org.bukkit.command.CommandSender, command: org.bukkit.command.Command, label: string, args: string): boolean;
+ }
+ }
+ }
+}
diff --git a/packages/bukkit/src/typings/org.bukkit.command.CommandMap.ts b/packages/bukkit/src/typings/org.bukkit.command.CommandMap.ts
new file mode 100644
index 00000000..6d20c644
--- /dev/null
+++ b/packages/bukkit/src/typings/org.bukkit.command.CommandMap.ts
@@ -0,0 +1,70 @@
+declare namespace org {
+ namespace bukkit {
+ namespace command {
+ class CommandMap {
+ /**
+ * Registers all the commands belonging to a certain plugin.
+ *
+ *
+ */
+ public registerAll(fallbackPrefix: string, commands: any[] /*java.util.List*/): void;
+ /**
+ * Registers a command. Returns true on success; false if name is already
+ * taken and fallback had to be used.
+ *
+ *
+ */
+ public register(label: string, fallbackPrefix: string, command: org.bukkit.command.Command): boolean;
+ /**
+ * Registers a command. Returns true on success; false if name is already
+ * taken and fallback had to be used.
+ *
+ *
+ */
+ public register(fallbackPrefix: string, command: org.bukkit.command.Command): boolean;
+ /**
+ * Looks for the requested command and executes it if found.
+ */
+ public dispatch(sender: org.bukkit.command.CommandSender, cmdLine: string): boolean;
+ /**
+ * Clears all registered commands.
+ */
+ public clearCommands(): void;
+ /**
+ * Gets the command registered to the specified name
+ */
+ public getCommand(name: string): org.bukkit.command.Command;
+ /**
+ * Looks for the requested command and executes an appropriate
+ * tab-completer if found. This method will also tab-complete partial
+ * commands.
+ */
+ public tabComplete(sender: org.bukkit.command.CommandSender, cmdLine: string): any[] /*java.util.List*/;
+ /**
+ * Looks for the requested command and executes an appropriate
+ * tab-completer if found. This method will also tab-complete partial
+ * commands.
+ */
+ public tabComplete(sender: org.bukkit.command.CommandSender, cmdLine: string, location: org.bukkit.Location): any[] /*java.util.List*/;
+ }
+ }
+ }
+}
diff --git a/packages/bukkit/src/typings/org.bukkit.command.CommandSender.ts b/packages/bukkit/src/typings/org.bukkit.command.CommandSender.ts
new file mode 100644
index 00000000..327b3188
--- /dev/null
+++ b/packages/bukkit/src/typings/org.bukkit.command.CommandSender.ts
@@ -0,0 +1,24 @@
+declare namespace org {
+ namespace bukkit {
+ namespace command {
+ class CommandSender {
+ /**
+ * Sends this sender a message
+ */
+ public sendMessage(message: string): void;
+ /**
+ * Sends this sender multiple messages
+ */
+ public sendMessage(messages: string): void;
+ /**
+ * Returns the server instance that this command is running on
+ */
+ public getServer(): org.bukkit.Server;
+ /**
+ * Gets the name of this command sender
+ */
+ public getName(): string;
+ }
+ }
+ }
+}
diff --git a/packages/bukkit/src/typings/org.bukkit.command.ConsoleCommandSender.ts b/packages/bukkit/src/typings/org.bukkit.command.ConsoleCommandSender.ts
new file mode 100644
index 00000000..05d9b110
--- /dev/null
+++ b/packages/bukkit/src/typings/org.bukkit.command.ConsoleCommandSender.ts
@@ -0,0 +1,8 @@
+declare namespace org {
+ namespace bukkit {
+ namespace command {
+ class ConsoleCommandSender {
+ }
+ }
+ }
+}
diff --git a/packages/bukkit/src/typings/org.bukkit.command.FormattedCommandAlias.ts b/packages/bukkit/src/typings/org.bukkit.command.FormattedCommandAlias.ts
new file mode 100644
index 00000000..79918f3d
--- /dev/null
+++ b/packages/bukkit/src/typings/org.bukkit.command.FormattedCommandAlias.ts
@@ -0,0 +1,10 @@
+declare namespace org {
+ namespace bukkit {
+ namespace command {
+ class FormattedCommandAlias {
+ constructor(alias: string, formatStrings: string)
+ public execute(sender: org.bukkit.command.CommandSender, commandLabel: string, args: string): boolean;
+ }
+ }
+ }
+}
diff --git a/packages/bukkit/src/typings/org.bukkit.command.MultipleCommandAlias.ts b/packages/bukkit/src/typings/org.bukkit.command.MultipleCommandAlias.ts
new file mode 100644
index 00000000..289f0f3a
--- /dev/null
+++ b/packages/bukkit/src/typings/org.bukkit.command.MultipleCommandAlias.ts
@@ -0,0 +1,14 @@
+declare namespace org {
+ namespace bukkit {
+ namespace command {
+ class MultipleCommandAlias {
+ constructor(name: string, commands: org.bukkit.command.Command)
+ /**
+ * Gets the commands associated with the multi-command alias.
+ */
+ public getCommands(): org.bukkit.command.Command[];
+ public execute(sender: org.bukkit.command.CommandSender, commandLabel: string, args: string): boolean;
+ }
+ }
+ }
+}
diff --git a/packages/bukkit/src/typings/org.bukkit.command.PluginCommand.ts b/packages/bukkit/src/typings/org.bukkit.command.PluginCommand.ts
new file mode 100644
index 00000000..046034ea
--- /dev/null
+++ b/packages/bukkit/src/typings/org.bukkit.command.PluginCommand.ts
@@ -0,0 +1,51 @@
+declare namespace org {
+ namespace bukkit {
+ namespace command {
+ class PluginCommand {
+ constructor(name: string, owner: org.bukkit.plugin.Plugin)
+ /**
+ * Executes the command, returning its success
+ */
+ public execute(sender: org.bukkit.command.CommandSender, commandLabel: string, args: string): boolean;
+ /**
+ * Sets the {@link CommandExecutor} to run when parsing this command
+ */
+ public setExecutor(executor: org.bukkit.command.CommandExecutor): void;
+ /**
+ * Gets the {@link CommandExecutor} associated with this command
+ */
+ public getExecutor(): org.bukkit.command.CommandExecutor;
+ /**
+ * Sets the {@link TabCompleter} to run when tab-completing this command.
+ *
+ * Treasure enchantments can only be received via looting, trading, or
+ * fishing.
+ */
+ public abstract isTreasure(): boolean;
+ /**
+ * Checks if this enchantment is a cursed enchantment
+ *
+ * Cursed enchantments are found the same way treasure enchantments are
+ */
+ public abstract isCursed(): boolean;
+ /**
+ * Check if this enchantment conflicts with another enchantment.
+ */
+ public abstract conflictsWith(other: org.bukkit.enchantments.Enchantment): boolean;
+ /**
+ * Checks if this Enchantment may be applied to the given {@link
+ * ItemStack}.
+ * 0.5 * (1 + power level)
added for arrows fired from
+ * enchanted bows.
+ */
+ public getDamage(): number;
+ /**
+ * Sets the base amount of damage this arrow will do.
+ */
+ public setDamage(damage: number): void;
+ /**
+ * Gets the number of times this arrow can pierce through an entity.
+ */
+ public getPierceLevel(): number;
+ /**
+ * Sets the number of times this arrow can pierce through an entity.
+ * Must be between 0 and 127 times.
+ */
+ public setPierceLevel(pierceLevel: number): void;
+ /**
+ * Gets whether this arrow is critical.
+ *
+ * Note that this inventory is not the Merchant inventory, rather, it is the
+ * items that a villager might have collected (from harvesting crops, etc.)
+ * {@inheritDoc}
+ */
+ public getInventory(): org.bukkit.inventory.Inventory;
+ }
+ }
+ }
+}
diff --git a/packages/bukkit/src/typings/org.bukkit.entity.Ageable.ts b/packages/bukkit/src/typings/org.bukkit.entity.Ageable.ts
new file mode 100644
index 00000000..aec91f78
--- /dev/null
+++ b/packages/bukkit/src/typings/org.bukkit.entity.Ageable.ts
@@ -0,0 +1,46 @@
+declare namespace org {
+ namespace bukkit {
+ namespace entity {
+ class Ageable {
+ /**
+ * Gets the age of this animal.
+ */
+ public getAge(): number;
+ /**
+ * Sets the age of this animal.
+ */
+ public setAge(age: number): void;
+ /**
+ * Lock the age of the animal, setting this will prevent the animal from
+ * maturing or getting ready for mating.
+ */
+ public setAgeLock(lock: boolean): void;
+ /**
+ * Gets the current agelock.
+ */
+ public getAgeLock(): boolean;
+ /**
+ * Sets the age of the animal to a baby
+ */
+ public setBaby(): void;
+ /**
+ * Sets the age of the animal to an adult
+ */
+ public setAdult(): void;
+ /**
+ * Returns true if the animal is an adult.
+ */
+ public isAdult(): boolean;
+ /**
+ * Return the ability to breed of the animal.
+ */
+ public canBreed(): boolean;
+ /**
+ * Set breedability of the animal, if the animal is a baby and set to
+ * breed it will instantly grow up.
+ */
+ public setBreed(breed: boolean): void;
+ }
+ }
+ }
+}
diff --git a/packages/bukkit/src/typings/org.bukkit.entity.Ambient.ts b/packages/bukkit/src/typings/org.bukkit.entity.Ambient.ts
new file mode 100644
index 00000000..463d1c0a
--- /dev/null
+++ b/packages/bukkit/src/typings/org.bukkit.entity.Ambient.ts
@@ -0,0 +1,8 @@
+declare namespace org {
+ namespace bukkit {
+ namespace entity {
+ class Ambient {
+ }
+ }
+ }
+}
diff --git a/packages/bukkit/src/typings/org.bukkit.entity.AnimalTamer.ts b/packages/bukkit/src/typings/org.bukkit.entity.AnimalTamer.ts
new file mode 100644
index 00000000..b1c05bd8
--- /dev/null
+++ b/packages/bukkit/src/typings/org.bukkit.entity.AnimalTamer.ts
@@ -0,0 +1,16 @@
+declare namespace org {
+ namespace bukkit {
+ namespace entity {
+ class AnimalTamer {
+ /**
+ * This is the name of the specified AnimalTamer.
+ */
+ public getName(): string;
+ /**
+ * This is the UUID of the specified AnimalTamer.
+ */
+ public getUniqueId(): any;
+ }
+ }
+ }
+}
diff --git a/packages/bukkit/src/typings/org.bukkit.entity.Animals.ts b/packages/bukkit/src/typings/org.bukkit.entity.Animals.ts
new file mode 100644
index 00000000..12e9085e
--- /dev/null
+++ b/packages/bukkit/src/typings/org.bukkit.entity.Animals.ts
@@ -0,0 +1,35 @@
+declare namespace org {
+ namespace bukkit {
+ namespace entity {
+ class Animals {
+ /**
+ * Get the UUID of the entity that caused this entity to enter the
+ * {@link #canBreed()} state.
+ */
+ public getBreedCause(): any;
+ /**
+ * Set the UUID of the entity that caused this entity to enter the
+ * {@link #canBreed()} state.
+ */
+ public setBreedCause(uuid: any): void;
+ /**
+ * Get whether or not this entity is in love mode and will produce
+ * offspring with another entity in love mode. Will return true if
+ * and only if {@link #getLoveModeTicks()} is greater than 0.
+ */
+ public isLoveMode(): boolean;
+ /**
+ * Get the amount of ticks remaining for this entity in love mode.
+ * If the entity is not in love mode, 0 will be returned.
+ */
+ public getLoveModeTicks(): number;
+ /**
+ * Set the amount of ticks for which this entity should be in love mode.
+ * Setting the love mode ticks to 600 is the equivalent of a player
+ * feeding the entity their breeding item of choice.
+ */
+ public setLoveModeTicks(ticks: number): void;
+ }
+ }
+ }
+}
diff --git a/packages/bukkit/src/typings/org.bukkit.entity.AreaEffectCloud.ts b/packages/bukkit/src/typings/org.bukkit.entity.AreaEffectCloud.ts
new file mode 100644
index 00000000..ab17a07c
--- /dev/null
+++ b/packages/bukkit/src/typings/org.bukkit.entity.AreaEffectCloud.ts
@@ -0,0 +1,134 @@
+declare namespace org {
+ namespace bukkit {
+ namespace entity {
+ class AreaEffectCloud {
+ /**
+ * Gets the duration which this cloud will exist for (in ticks).
+ */
+ public getDuration(): number;
+ /**
+ * Sets the duration which this cloud will exist for (in ticks).
+ */
+ public setDuration(duration: number): void;
+ /**
+ * Gets the time which an entity has to be exposed to the cloud before the
+ * effect is applied.
+ */
+ public getWaitTime(): number;
+ /**
+ * Sets the time which an entity has to be exposed to the cloud before the
+ * effect is applied.
+ */
+ public setWaitTime(waitTime: number): void;
+ /**
+ * Gets the time that an entity will be immune from subsequent exposure.
+ */
+ public getReapplicationDelay(): number;
+ /**
+ * Sets the time that an entity will be immune from subsequent exposure.
+ */
+ public setReapplicationDelay(delay: number): void;
+ /**
+ * Gets the amount that the duration of this cloud will decrease by when it
+ * applies an effect to an entity.
+ */
+ public getDurationOnUse(): number;
+ /**
+ * Sets the amount that the duration of this cloud will decrease by when it
+ * applies an effect to an entity.
+ */
+ public setDurationOnUse(duration: number): void;
+ /**
+ * Gets the initial radius of the cloud.
+ */
+ public getRadius(): number;
+ /**
+ * Sets the initial radius of the cloud.
+ */
+ public setRadius(radius: number): void;
+ /**
+ * Gets the amount that the radius of this cloud will decrease by when it
+ * applies an effect to an entity.
+ */
+ public getRadiusOnUse(): number;
+ /**
+ * Sets the amount that the radius of this cloud will decrease by when it
+ * applies an effect to an entity.
+ */
+ public setRadiusOnUse(radius: number): void;
+ /**
+ * Gets the amount that the radius of this cloud will decrease by each tick.
+ */
+ public getRadiusPerTick(): number;
+ /**
+ * Gets the amount that the radius of this cloud will decrease by each tick.
+ */
+ public setRadiusPerTick(radius: number): void;
+ /**
+ * Gets the particle which this cloud will be composed of
+ */
+ public getParticle(): org.bukkit.Particle;
+ /**
+ * Sets the particle which this cloud will be composed of
+ */
+ public setParticle(particle: org.bukkit.Particle): void;
+ /**
+ * Sets the particle which this cloud will be composed of
+ */
+ public setParticle(particle: org.bukkit.Particle, data: any): void;
+ /**
+ * Sets the underlying potion data
+ */
+ public setBasePotionData(data: org.bukkit.potion.PotionData): void;
+ /**
+ * Returns the potion data about the base potion
+ */
+ public getBasePotionData(): org.bukkit.potion.PotionData;
+ /**
+ * Checks for the presence of custom potion effects.
+ */
+ public hasCustomEffects(): boolean;
+ /**
+ * Gets an immutable list containing all custom potion effects applied to
+ * this cloud.
+ *
+ * When setting a new target location, the {@link #getDropItem()} resets to
+ * a random value and the despawn timer gets set back to 0.
+ */
+ public setTargetLocation(location: org.bukkit.Location): void;
+ /**
+ * Gets if the EnderSignal should drop an item on death.
+ * If {@code true}, it will drop an item. If {@code false}, it will shatter.
+ */
+ public getDropItem(): boolean;
+ /**
+ * Sets if the EnderSignal should drop an item on death; or if it should
+ * shatter.
+ */
+ public setDropItem(drop: boolean): void;
+ /**
+ * Gets the amount of time this entity has been alive (in ticks).
+ *
+ * When this number is greater than 80, it will despawn on the next tick.
+ */
+ public getDespawnTimer(): number;
+ /**
+ * Set how long this entity has been alive (in ticks).
+ *
+ * When this number is greater than 80, it will despawn on the next tick.
+ */
+ public setDespawnTimer(timer: number): void;
+ }
+ }
+ }
+}
diff --git a/packages/bukkit/src/typings/org.bukkit.entity.Enderman.ts b/packages/bukkit/src/typings/org.bukkit.entity.Enderman.ts
new file mode 100644
index 00000000..1beba98f
--- /dev/null
+++ b/packages/bukkit/src/typings/org.bukkit.entity.Enderman.ts
@@ -0,0 +1,24 @@
+declare namespace org {
+ namespace bukkit {
+ namespace entity {
+ class Enderman {
+ /**
+ * Gets the id and data of the block that the Enderman is carrying.
+ */
+ public getCarriedMaterial(): org.bukkit.material.MaterialData;
+ /**
+ * Sets the id and data of the block that the Enderman is carrying.
+ */
+ public setCarriedMaterial(material: org.bukkit.material.MaterialData): void;
+ /**
+ * Gets the data of the block that the Enderman is carrying.
+ */
+ public getCarriedBlock(): org.bukkit.block.data.BlockData;
+ /**
+ * Sets the data of the block that the Enderman is carrying.
+ */
+ public setCarriedBlock(blockData: org.bukkit.block.data.BlockData): void;
+ }
+ }
+ }
+}
diff --git a/packages/bukkit/src/typings/org.bukkit.entity.Endermite.ts b/packages/bukkit/src/typings/org.bukkit.entity.Endermite.ts
new file mode 100644
index 00000000..dc49a85f
--- /dev/null
+++ b/packages/bukkit/src/typings/org.bukkit.entity.Endermite.ts
@@ -0,0 +1,18 @@
+declare namespace org {
+ namespace bukkit {
+ namespace entity {
+ class Endermite {
+ /**
+ * Gets whether this Endermite was spawned by a player.
+ * An Endermite spawned by a player will be attacked by nearby Enderman.
+ */
+ public isPlayerSpawned(): boolean;
+ /**
+ * Sets whether this Endermite was spawned by a player.
+ * An Endermite spawned by a player will be attacked by nearby Enderman.
+ */
+ public setPlayerSpawned(playerSpawned: boolean): void;
+ }
+ }
+ }
+}
diff --git a/packages/bukkit/src/typings/org.bukkit.entity.Entity.ts b/packages/bukkit/src/typings/org.bukkit.entity.Entity.ts
new file mode 100644
index 00000000..6a308a9e
--- /dev/null
+++ b/packages/bukkit/src/typings/org.bukkit.entity.Entity.ts
@@ -0,0 +1,329 @@
+declare namespace org {
+ namespace bukkit {
+ namespace entity {
+ class Entity {
+ /**
+ * Gets the entity's current position
+ */
+ public getLocation(): org.bukkit.Location;
+ /**
+ * Stores the entity's current position in the provided Location object.
+ *
+ * Entities can have no more than 1024 tags.
+ */
+ public getScoreboardTags(): any[] /*java.util.Set*/;
+ /**
+ * Add a tag to this entity.
+ *
+ * Entities can have no more than 1024 tags.
+ */
+ public addScoreboardTag(tag: string): boolean;
+ /**
+ * Removes a given tag from this entity.
+ */
+ public removeScoreboardTag(tag: string): boolean;
+ /**
+ * Returns the reaction of the entity when moved by a piston.
+ */
+ public getPistonMoveReaction(): org.bukkit.block.PistonMoveReaction;
+ /**
+ * Get the closest cardinal {@link BlockFace} direction an entity is
+ * currently facing.
+ *
+ * This will not return any non-cardinal directions such as
+ * {@link BlockFace#UP} or {@link BlockFace#DOWN}.
+ *
+ * {@link Hanging} entities will override this call and thus their behavior
+ * may be different.
+ */
+ public getFacing(): org.bukkit.block.BlockFace;
+ /**
+ * Gets the entity's current pose.
+ * Note that the pose is only updated at the end of a tick, so may be
+ * inconsistent with other methods. eg {@link Player#isSneaking()} being
+ * true does not imply the current pose will be {@link Pose#SNEAKING}
+ */
+ public getPose(): org.bukkit.entity.Pose;
+ }
+ }
+ }
+}
diff --git a/packages/bukkit/src/typings/org.bukkit.entity.EntityType.ts b/packages/bukkit/src/typings/org.bukkit.entity.EntityType.ts
new file mode 100644
index 00000000..b4af98fb
--- /dev/null
+++ b/packages/bukkit/src/typings/org.bukkit.entity.EntityType.ts
@@ -0,0 +1,127 @@
+declare namespace org {
+ namespace bukkit {
+ namespace entity {
+ class EntityType {
+ public static DROPPED_ITEM: org.bukkit.entity.EntityType;
+ public static EXPERIENCE_ORB: org.bukkit.entity.EntityType;
+ public static AREA_EFFECT_CLOUD: org.bukkit.entity.EntityType;
+ public static ELDER_GUARDIAN: org.bukkit.entity.EntityType;
+ public static WITHER_SKELETON: org.bukkit.entity.EntityType;
+ public static STRAY: org.bukkit.entity.EntityType;
+ public static EGG: org.bukkit.entity.EntityType;
+ public static LEASH_HITCH: org.bukkit.entity.EntityType;
+ public static PAINTING: org.bukkit.entity.EntityType;
+ public static ARROW: org.bukkit.entity.EntityType;
+ public static SNOWBALL: org.bukkit.entity.EntityType;
+ public static FIREBALL: org.bukkit.entity.EntityType;
+ public static SMALL_FIREBALL: org.bukkit.entity.EntityType;
+ public static ENDER_PEARL: org.bukkit.entity.EntityType;
+ public static ENDER_SIGNAL: org.bukkit.entity.EntityType;
+ public static SPLASH_POTION: org.bukkit.entity.EntityType;
+ public static THROWN_EXP_BOTTLE: org.bukkit.entity.EntityType;
+ public static ITEM_FRAME: org.bukkit.entity.EntityType;
+ public static WITHER_SKULL: org.bukkit.entity.EntityType;
+ public static PRIMED_TNT: org.bukkit.entity.EntityType;
+ public static FALLING_BLOCK: org.bukkit.entity.EntityType;
+ public static FIREWORK: org.bukkit.entity.EntityType;
+ public static HUSK: org.bukkit.entity.EntityType;
+ public static SPECTRAL_ARROW: org.bukkit.entity.EntityType;
+ public static SHULKER_BULLET: org.bukkit.entity.EntityType;
+ public static DRAGON_FIREBALL: org.bukkit.entity.EntityType;
+ public static ZOMBIE_VILLAGER: org.bukkit.entity.EntityType;
+ public static SKELETON_HORSE: org.bukkit.entity.EntityType;
+ public static ZOMBIE_HORSE: org.bukkit.entity.EntityType;
+ public static ARMOR_STAND: org.bukkit.entity.EntityType;
+ public static DONKEY: org.bukkit.entity.EntityType;
+ public static MULE: org.bukkit.entity.EntityType;
+ public static EVOKER_FANGS: org.bukkit.entity.EntityType;
+ public static EVOKER: org.bukkit.entity.EntityType;
+ public static VEX: org.bukkit.entity.EntityType;
+ public static VINDICATOR: org.bukkit.entity.EntityType;
+ public static ILLUSIONER: org.bukkit.entity.EntityType;
+ public static MINECART_COMMAND: org.bukkit.entity.EntityType;
+ public static BOAT: org.bukkit.entity.EntityType;
+ public static MINECART: org.bukkit.entity.EntityType;
+ public static MINECART_CHEST: org.bukkit.entity.EntityType;
+ public static MINECART_FURNACE: org.bukkit.entity.EntityType;
+ public static MINECART_TNT: org.bukkit.entity.EntityType;
+ public static MINECART_HOPPER: org.bukkit.entity.EntityType;
+ public static MINECART_MOB_SPAWNER: org.bukkit.entity.EntityType;
+ public static CREEPER: org.bukkit.entity.EntityType;
+ public static SKELETON: org.bukkit.entity.EntityType;
+ public static SPIDER: org.bukkit.entity.EntityType;
+ public static GIANT: org.bukkit.entity.EntityType;
+ public static ZOMBIE: org.bukkit.entity.EntityType;
+ public static SLIME: org.bukkit.entity.EntityType;
+ public static GHAST: org.bukkit.entity.EntityType;
+ public static PIG_ZOMBIE: org.bukkit.entity.EntityType;
+ public static ENDERMAN: org.bukkit.entity.EntityType;
+ public static CAVE_SPIDER: org.bukkit.entity.EntityType;
+ public static SILVERFISH: org.bukkit.entity.EntityType;
+ public static BLAZE: org.bukkit.entity.EntityType;
+ public static MAGMA_CUBE: org.bukkit.entity.EntityType;
+ public static ENDER_DRAGON: org.bukkit.entity.EntityType;
+ public static WITHER: org.bukkit.entity.EntityType;
+ public static BAT: org.bukkit.entity.EntityType;
+ public static WITCH: org.bukkit.entity.EntityType;
+ public static ENDERMITE: org.bukkit.entity.EntityType;
+ public static GUARDIAN: org.bukkit.entity.EntityType;
+ public static SHULKER: org.bukkit.entity.EntityType;
+ public static PIG: org.bukkit.entity.EntityType;
+ public static SHEEP: org.bukkit.entity.EntityType;
+ public static COW: org.bukkit.entity.EntityType;
+ public static CHICKEN: org.bukkit.entity.EntityType;
+ public static SQUID: org.bukkit.entity.EntityType;
+ public static WOLF: org.bukkit.entity.EntityType;
+ public static MUSHROOM_COW: org.bukkit.entity.EntityType;
+ public static SNOWMAN: org.bukkit.entity.EntityType;
+ public static OCELOT: org.bukkit.entity.EntityType;
+ public static IRON_GOLEM: org.bukkit.entity.EntityType;
+ public static HORSE: org.bukkit.entity.EntityType;
+ public static RABBIT: org.bukkit.entity.EntityType;
+ public static POLAR_BEAR: org.bukkit.entity.EntityType;
+ public static LLAMA: org.bukkit.entity.EntityType;
+ public static LLAMA_SPIT: org.bukkit.entity.EntityType;
+ public static PARROT: org.bukkit.entity.EntityType;
+ public static VILLAGER: org.bukkit.entity.EntityType;
+ public static ENDER_CRYSTAL: org.bukkit.entity.EntityType;
+ public static TURTLE: org.bukkit.entity.EntityType;
+ public static PHANTOM: org.bukkit.entity.EntityType;
+ public static TRIDENT: org.bukkit.entity.EntityType;
+ public static COD: org.bukkit.entity.EntityType;
+ public static SALMON: org.bukkit.entity.EntityType;
+ public static PUFFERFISH: org.bukkit.entity.EntityType;
+ public static TROPICAL_FISH: org.bukkit.entity.EntityType;
+ public static DROWNED: org.bukkit.entity.EntityType;
+ public static DOLPHIN: org.bukkit.entity.EntityType;
+ public static CAT: org.bukkit.entity.EntityType;
+ public static PANDA: org.bukkit.entity.EntityType;
+ public static PILLAGER: org.bukkit.entity.EntityType;
+ public static RAVAGER: org.bukkit.entity.EntityType;
+ public static TRADER_LLAMA: org.bukkit.entity.EntityType;
+ public static WANDERING_TRADER: org.bukkit.entity.EntityType;
+ public static FOX: org.bukkit.entity.EntityType;
+ public static FISHING_HOOK: org.bukkit.entity.EntityType;
+ public static LIGHTNING: org.bukkit.entity.EntityType;
+ public static PLAYER: org.bukkit.entity.EntityType;
+ public static UNKNOWN: org.bukkit.entity.EntityType;
+ public static values(): org.bukkit.entity.EntityType[];
+ public static valueOf(name: string): org.bukkit.entity.EntityType;
+ public getName(): string;
+ public getKey(): org.bukkit.NamespacedKey;
+ public getEntityClass(): any;
+ public getTypeId(): number;
+ public static fromName(name: string): org.bukkit.entity.EntityType;
+ public static fromId(id: number): org.bukkit.entity.EntityType;
+ /**
+ * Some entities cannot be spawned using {@link
+ * World#spawnEntity(Location, EntityType)} or {@link
+ * World#spawn(Location, Class)}, usually because they require additional
+ * information in order to spawn.
+ */
+ public isSpawnable(): boolean;
+ public isAlive(): boolean;
+ }
+ }
+ }
+}
diff --git a/packages/bukkit/src/typings/org.bukkit.entity.Evoker.Spell.ts b/packages/bukkit/src/typings/org.bukkit.entity.Evoker.Spell.ts
new file mode 100644
index 00000000..3b0e738a
--- /dev/null
+++ b/packages/bukkit/src/typings/org.bukkit.entity.Evoker.Spell.ts
@@ -0,0 +1,18 @@
+declare namespace org {
+ namespace bukkit {
+ namespace entity {
+ namespace Evoker {
+ class Spell {
+ public static NONE: org.bukkit.entity.Evoker.Spell;
+ public static SUMMON: org.bukkit.entity.Evoker.Spell;
+ public static FANGS: org.bukkit.entity.Evoker.Spell;
+ public static WOLOLO: org.bukkit.entity.Evoker.Spell;
+ public static DISAPPEAR: org.bukkit.entity.Evoker.Spell;
+ public static BLINDNESS: org.bukkit.entity.Evoker.Spell;
+ public static values(): org.bukkit.entity.Evoker.Spell[];
+ public static valueOf(name: string): org.bukkit.entity.Evoker.Spell;
+ }
+ }
+ }
+ }
+}
diff --git a/packages/bukkit/src/typings/org.bukkit.entity.Evoker.ts b/packages/bukkit/src/typings/org.bukkit.entity.Evoker.ts
new file mode 100644
index 00000000..8d9cfec8
--- /dev/null
+++ b/packages/bukkit/src/typings/org.bukkit.entity.Evoker.ts
@@ -0,0 +1,16 @@
+declare namespace org {
+ namespace bukkit {
+ namespace entity {
+ class Evoker {
+ /**
+ * Gets the {@link Spell} the Evoker is currently using.
+ */
+ public getCurrentSpell(): org.bukkit.entity.Evoker.Spell;
+ /**
+ * Sets the {@link Spell} the Evoker is currently using.
+ */
+ public setCurrentSpell(spell: org.bukkit.entity.Evoker.Spell): void;
+ }
+ }
+ }
+}
diff --git a/packages/bukkit/src/typings/org.bukkit.entity.EvokerFangs.ts b/packages/bukkit/src/typings/org.bukkit.entity.EvokerFangs.ts
new file mode 100644
index 00000000..160f5e48
--- /dev/null
+++ b/packages/bukkit/src/typings/org.bukkit.entity.EvokerFangs.ts
@@ -0,0 +1,16 @@
+declare namespace org {
+ namespace bukkit {
+ namespace entity {
+ class EvokerFangs {
+ /**
+ * Gets the {@link LivingEntity} which summoned the fangs.
+ */
+ public getOwner(): org.bukkit.entity.LivingEntity;
+ /**
+ * Sets the {@link LivingEntity} which summoned the fangs.
+ */
+ public setOwner(owner: org.bukkit.entity.LivingEntity): void;
+ }
+ }
+ }
+}
diff --git a/packages/bukkit/src/typings/org.bukkit.entity.ExperienceOrb.ts b/packages/bukkit/src/typings/org.bukkit.entity.ExperienceOrb.ts
new file mode 100644
index 00000000..90edb45b
--- /dev/null
+++ b/packages/bukkit/src/typings/org.bukkit.entity.ExperienceOrb.ts
@@ -0,0 +1,16 @@
+declare namespace org {
+ namespace bukkit {
+ namespace entity {
+ class ExperienceOrb {
+ /**
+ * Gets how much experience is contained within this orb
+ */
+ public getExperience(): number;
+ /**
+ * Sets how much experience is contained within this orb
+ */
+ public setExperience(value: number): void;
+ }
+ }
+ }
+}
diff --git a/packages/bukkit/src/typings/org.bukkit.entity.Explosive.ts b/packages/bukkit/src/typings/org.bukkit.entity.Explosive.ts
new file mode 100644
index 00000000..000dab10
--- /dev/null
+++ b/packages/bukkit/src/typings/org.bukkit.entity.Explosive.ts
@@ -0,0 +1,24 @@
+declare namespace org {
+ namespace bukkit {
+ namespace entity {
+ class Explosive {
+ /**
+ * Set the radius affected by this explosive's explosion
+ */
+ public setYield(yield: number): void;
+ /**
+ * Return the radius or yield of this explosive's explosion
+ */
+ public getYield(): number;
+ /**
+ * Set whether or not this explosive's explosion causes fire
+ */
+ public setIsIncendiary(isIncendiary: boolean): void;
+ /**
+ * Return whether or not this explosive creates a fire when exploding
+ */
+ public isIncendiary(): boolean;
+ }
+ }
+ }
+}
diff --git a/packages/bukkit/src/typings/org.bukkit.entity.FallingBlock.ts b/packages/bukkit/src/typings/org.bukkit.entity.FallingBlock.ts
new file mode 100644
index 00000000..e13aff66
--- /dev/null
+++ b/packages/bukkit/src/typings/org.bukkit.entity.FallingBlock.ts
@@ -0,0 +1,32 @@
+declare namespace org {
+ namespace bukkit {
+ namespace entity {
+ class FallingBlock {
+ /**
+ * Get the Material of the falling block
+ */
+ public getMaterial(): org.bukkit.Material;
+ /**
+ * Get the data for the falling block
+ */
+ public getBlockData(): org.bukkit.block.data.BlockData;
+ /**
+ * Get if the falling block will break into an item if it cannot be placed
+ */
+ public getDropItem(): boolean;
+ /**
+ * Set if the falling block will break into an item if it cannot be placed
+ */
+ public setDropItem(drop: boolean): void;
+ /**
+ * Get the HurtEntities state of this block.
+ */
+ public canHurtEntities(): boolean;
+ /**
+ * Set the HurtEntities state of this block.
+ */
+ public setHurtEntities(hurtEntities: boolean): void;
+ }
+ }
+ }
+}
diff --git a/packages/bukkit/src/typings/org.bukkit.entity.Fireball.ts b/packages/bukkit/src/typings/org.bukkit.entity.Fireball.ts
new file mode 100644
index 00000000..299a894f
--- /dev/null
+++ b/packages/bukkit/src/typings/org.bukkit.entity.Fireball.ts
@@ -0,0 +1,16 @@
+declare namespace org {
+ namespace bukkit {
+ namespace entity {
+ class Fireball {
+ /**
+ * Fireballs fly straight and do not take setVelocity(...) well.
+ */
+ public setDirection(direction: org.bukkit.util.Vector): void;
+ /**
+ * Retrieve the direction this fireball is heading toward
+ */
+ public getDirection(): org.bukkit.util.Vector;
+ }
+ }
+ }
+}
diff --git a/packages/bukkit/src/typings/org.bukkit.entity.Firework.ts b/packages/bukkit/src/typings/org.bukkit.entity.Firework.ts
new file mode 100644
index 00000000..44d32ccf
--- /dev/null
+++ b/packages/bukkit/src/typings/org.bukkit.entity.Firework.ts
@@ -0,0 +1,31 @@
+declare namespace org {
+ namespace bukkit {
+ namespace entity {
+ class Firework {
+ /**
+ * Get a copy of the fireworks meta
+ */
+ public getFireworkMeta(): org.bukkit.inventory.meta.FireworkMeta;
+ /**
+ * Apply the provided meta to the fireworks
+ */
+ public setFireworkMeta(meta: org.bukkit.inventory.meta.FireworkMeta): void;
+ /**
+ * Cause this firework to explode at earliest opportunity, as if it has no
+ * remaining fuse.
+ */
+ public detonate(): void;
+ /**
+ * Gets if the firework was shot at an angle (i.e. from a crossbow).
+ * A firework which was not shot at an angle will fly straight upwards.
+ */
+ public isShotAtAngle(): boolean;
+ /**
+ * Sets if the firework was shot at an angle (i.e. from a crossbow).
+ * A firework which was not shot at an angle will fly straight upwards.
+ */
+ public setShotAtAngle(shotAtAngle: boolean): void;
+ }
+ }
+ }
+}
diff --git a/packages/bukkit/src/typings/org.bukkit.entity.Fish.ts b/packages/bukkit/src/typings/org.bukkit.entity.Fish.ts
new file mode 100644
index 00000000..195e4418
--- /dev/null
+++ b/packages/bukkit/src/typings/org.bukkit.entity.Fish.ts
@@ -0,0 +1,8 @@
+declare namespace org {
+ namespace bukkit {
+ namespace entity {
+ class Fish {
+ }
+ }
+ }
+}
diff --git a/packages/bukkit/src/typings/org.bukkit.entity.FishHook.ts b/packages/bukkit/src/typings/org.bukkit.entity.FishHook.ts
new file mode 100644
index 00000000..377c7579
--- /dev/null
+++ b/packages/bukkit/src/typings/org.bukkit.entity.FishHook.ts
@@ -0,0 +1,22 @@
+declare namespace org {
+ namespace bukkit {
+ namespace entity {
+ class FishHook {
+ /**
+ * Gets the chance of a fish biting.
+ *
+ * 1.0 = Instant catch.
+ */
+ public getBiteChance(): number;
+ /**
+ * Sets the chance of a fish biting.
+ *
+ * 1.0 = Instant catch.
+ */
+ public setBiteChance(chance: number): void;
+ }
+ }
+ }
+}
diff --git a/packages/bukkit/src/typings/org.bukkit.entity.Flying.ts b/packages/bukkit/src/typings/org.bukkit.entity.Flying.ts
new file mode 100644
index 00000000..fcf02dd0
--- /dev/null
+++ b/packages/bukkit/src/typings/org.bukkit.entity.Flying.ts
@@ -0,0 +1,8 @@
+declare namespace org {
+ namespace bukkit {
+ namespace entity {
+ class Flying {
+ }
+ }
+ }
+}
diff --git a/packages/bukkit/src/typings/org.bukkit.entity.Fox.Type.ts b/packages/bukkit/src/typings/org.bukkit.entity.Fox.Type.ts
new file mode 100644
index 00000000..be283fed
--- /dev/null
+++ b/packages/bukkit/src/typings/org.bukkit.entity.Fox.Type.ts
@@ -0,0 +1,14 @@
+declare namespace org {
+ namespace bukkit {
+ namespace entity {
+ namespace Fox {
+ class Type {
+ public static RED: org.bukkit.entity.Fox.Type;
+ public static SNOW: org.bukkit.entity.Fox.Type;
+ public static values(): org.bukkit.entity.Fox.Type[];
+ public static valueOf(name: string): org.bukkit.entity.Fox.Type;
+ }
+ }
+ }
+ }
+}
diff --git a/packages/bukkit/src/typings/org.bukkit.entity.Fox.ts b/packages/bukkit/src/typings/org.bukkit.entity.Fox.ts
new file mode 100644
index 00000000..e7458c2d
--- /dev/null
+++ b/packages/bukkit/src/typings/org.bukkit.entity.Fox.ts
@@ -0,0 +1,28 @@
+declare namespace org {
+ namespace bukkit {
+ namespace entity {
+ class Fox {
+ /**
+ * Gets the current type of this fox.
+ */
+ public getFoxType(): org.bukkit.entity.Fox.Type;
+ /**
+ * Sets the current type of this fox.
+ */
+ public setFoxType(type: org.bukkit.entity.Fox.Type): void;
+ /**
+ * Checks if this animal is crouching
+ */
+ public isCrouching(): boolean;
+ /**
+ * Sets if this animal is crouching.
+ */
+ public setCrouching(crouching: boolean): void;
+ /**
+ * Sets if this animal is sleeping.
+ */
+ public setSleeping(sleeping: boolean): void;
+ }
+ }
+ }
+}
diff --git a/packages/bukkit/src/typings/org.bukkit.entity.Ghast.ts b/packages/bukkit/src/typings/org.bukkit.entity.Ghast.ts
new file mode 100644
index 00000000..c43b32b6
--- /dev/null
+++ b/packages/bukkit/src/typings/org.bukkit.entity.Ghast.ts
@@ -0,0 +1,8 @@
+declare namespace org {
+ namespace bukkit {
+ namespace entity {
+ class Ghast {
+ }
+ }
+ }
+}
diff --git a/packages/bukkit/src/typings/org.bukkit.entity.Giant.ts b/packages/bukkit/src/typings/org.bukkit.entity.Giant.ts
new file mode 100644
index 00000000..feafa53f
--- /dev/null
+++ b/packages/bukkit/src/typings/org.bukkit.entity.Giant.ts
@@ -0,0 +1,8 @@
+declare namespace org {
+ namespace bukkit {
+ namespace entity {
+ class Giant {
+ }
+ }
+ }
+}
diff --git a/packages/bukkit/src/typings/org.bukkit.entity.Golem.ts b/packages/bukkit/src/typings/org.bukkit.entity.Golem.ts
new file mode 100644
index 00000000..df5a05f2
--- /dev/null
+++ b/packages/bukkit/src/typings/org.bukkit.entity.Golem.ts
@@ -0,0 +1,8 @@
+declare namespace org {
+ namespace bukkit {
+ namespace entity {
+ class Golem {
+ }
+ }
+ }
+}
diff --git a/packages/bukkit/src/typings/org.bukkit.entity.Guardian.ts b/packages/bukkit/src/typings/org.bukkit.entity.Guardian.ts
new file mode 100644
index 00000000..809d2715
--- /dev/null
+++ b/packages/bukkit/src/typings/org.bukkit.entity.Guardian.ts
@@ -0,0 +1,13 @@
+declare namespace org {
+ namespace bukkit {
+ namespace entity {
+ class Guardian {
+ /**
+ * Check if the Guardian is an elder Guardian
+ */
+ public isElder(): boolean;
+ public setElder(shouldBeElder: boolean): void;
+ }
+ }
+ }
+}
diff --git a/packages/bukkit/src/typings/org.bukkit.entity.Hanging.ts b/packages/bukkit/src/typings/org.bukkit.entity.Hanging.ts
new file mode 100644
index 00000000..35eddb46
--- /dev/null
+++ b/packages/bukkit/src/typings/org.bukkit.entity.Hanging.ts
@@ -0,0 +1,14 @@
+declare namespace org {
+ namespace bukkit {
+ namespace entity {
+ class Hanging {
+ /**
+ * Sets the direction of the hanging entity, potentially overriding rules
+ * of placement. Note that if the result is not valid the object would
+ * normally drop as an item.
+ */
+ public setFacingDirection(face: org.bukkit.block.BlockFace, force: boolean): boolean;
+ }
+ }
+ }
+}
diff --git a/packages/bukkit/src/typings/org.bukkit.entity.Horse.Color.ts b/packages/bukkit/src/typings/org.bukkit.entity.Horse.Color.ts
new file mode 100644
index 00000000..d71e5983
--- /dev/null
+++ b/packages/bukkit/src/typings/org.bukkit.entity.Horse.Color.ts
@@ -0,0 +1,19 @@
+declare namespace org {
+ namespace bukkit {
+ namespace entity {
+ namespace Horse {
+ class Color {
+ public static WHITE: org.bukkit.entity.Horse.Color;
+ public static CREAMY: org.bukkit.entity.Horse.Color;
+ public static CHESTNUT: org.bukkit.entity.Horse.Color;
+ public static BROWN: org.bukkit.entity.Horse.Color;
+ public static BLACK: org.bukkit.entity.Horse.Color;
+ public static GRAY: org.bukkit.entity.Horse.Color;
+ public static DARK_BROWN: org.bukkit.entity.Horse.Color;
+ public static values(): org.bukkit.entity.Horse.Color[];
+ public static valueOf(name: string): org.bukkit.entity.Horse.Color;
+ }
+ }
+ }
+ }
+}
diff --git a/packages/bukkit/src/typings/org.bukkit.entity.Horse.Style.ts b/packages/bukkit/src/typings/org.bukkit.entity.Horse.Style.ts
new file mode 100644
index 00000000..0c607cf3
--- /dev/null
+++ b/packages/bukkit/src/typings/org.bukkit.entity.Horse.Style.ts
@@ -0,0 +1,17 @@
+declare namespace org {
+ namespace bukkit {
+ namespace entity {
+ namespace Horse {
+ class Style {
+ public static NONE: org.bukkit.entity.Horse.Style;
+ public static WHITE: org.bukkit.entity.Horse.Style;
+ public static WHITEFIELD: org.bukkit.entity.Horse.Style;
+ public static WHITE_DOTS: org.bukkit.entity.Horse.Style;
+ public static BLACK_DOTS: org.bukkit.entity.Horse.Style;
+ public static values(): org.bukkit.entity.Horse.Style[];
+ public static valueOf(name: string): org.bukkit.entity.Horse.Style;
+ }
+ }
+ }
+ }
+}
diff --git a/packages/bukkit/src/typings/org.bukkit.entity.Horse.Variant.ts b/packages/bukkit/src/typings/org.bukkit.entity.Horse.Variant.ts
new file mode 100644
index 00000000..60b3012d
--- /dev/null
+++ b/packages/bukkit/src/typings/org.bukkit.entity.Horse.Variant.ts
@@ -0,0 +1,18 @@
+declare namespace org {
+ namespace bukkit {
+ namespace entity {
+ namespace Horse {
+ class Variant {
+ public static HORSE: org.bukkit.entity.Horse.Variant;
+ public static DONKEY: org.bukkit.entity.Horse.Variant;
+ public static MULE: org.bukkit.entity.Horse.Variant;
+ public static UNDEAD_HORSE: org.bukkit.entity.Horse.Variant;
+ public static SKELETON_HORSE: org.bukkit.entity.Horse.Variant;
+ public static LLAMA: org.bukkit.entity.Horse.Variant;
+ public static values(): org.bukkit.entity.Horse.Variant[];
+ public static valueOf(name: string): org.bukkit.entity.Horse.Variant;
+ }
+ }
+ }
+ }
+}
diff --git a/packages/bukkit/src/typings/org.bukkit.entity.Horse.ts b/packages/bukkit/src/typings/org.bukkit.entity.Horse.ts
new file mode 100644
index 00000000..4b6a9b06
--- /dev/null
+++ b/packages/bukkit/src/typings/org.bukkit.entity.Horse.ts
@@ -0,0 +1,41 @@
+declare namespace org {
+ namespace bukkit {
+ namespace entity {
+ class Horse {
+ /**
+ * Gets the horse's color.
+ *
+ * The location must be in the current world and have a bed placed at the
+ * location. The game may also enforce other requirements such as proximity
+ * to bed, monsters, and dimension type if force is not set.
+ */
+ public sleep(location: org.bukkit.Location, force: boolean): boolean;
+ /**
+ * Causes the player to wakeup if they are currently sleeping.
+ */
+ public wakeup(setSpawnLocation: boolean): void;
+ /**
+ * Gets the location of the bed the player is currently sleeping in
+ */
+ public getBedLocation(): org.bukkit.Location;
+ /**
+ * Gets this human's current {@link GameMode}
+ */
+ public getGameMode(): org.bukkit.GameMode;
+ /**
+ * Sets this human's current {@link GameMode}
+ */
+ public setGameMode(mode: org.bukkit.GameMode): void;
+ /**
+ * Check if the player is currently blocking (ie with a shield).
+ */
+ public isBlocking(): boolean;
+ /**
+ * Check if the player currently has their hand raised (ie about to begin
+ * blocking).
+ */
+ public isHandRaised(): boolean;
+ /**
+ * Get the total amount of experience required for the player to level
+ */
+ public getExpToLevel(): number;
+ /**
+ * Discover a recipe for this player such that it has not already been
+ * discovered. This method will add the key's associated recipe to the
+ * player's recipe book.
+ */
+ public discoverRecipe(recipe: org.bukkit.NamespacedKey): boolean;
+ /**
+ * Discover a collection of recipes for this player such that they have not
+ * already been discovered. This method will add the keys' associated
+ * recipes to the player's recipe book. If a recipe in the provided
+ * collection has already been discovered, it will be silently ignored.
+ */
+ public discoverRecipes(recipes: any[] /*java.util.Collection*/): number;
+ /**
+ * Undiscover a recipe for this player such that it has already been
+ * discovered. This method will remove the key's associated recipe from the
+ * player's recipe book.
+ */
+ public undiscoverRecipe(recipe: org.bukkit.NamespacedKey): boolean;
+ /**
+ * Undiscover a collection of recipes for this player such that they have
+ * already been discovered. This method will remove the keys' associated
+ * recipes from the player's recipe book. If a recipe in the provided
+ * collection has not yet been discovered, it will be silently ignored.
+ */
+ public undiscoverRecipes(recipes: any[] /*java.util.Collection*/): number;
+ /**
+ * Gets the entity currently perched on the left shoulder or null if no
+ * entity.
+ *
+ * The returned entity will not be spawned within the world, so most
+ * operations are invalid unless the entity is first spawned in.
+ */
+ public getShoulderEntityLeft(): org.bukkit.entity.Entity;
+ /**
+ * Sets the entity currently perched on the left shoulder, or null to
+ * remove. This method will remove the entity from the world.
+ *
+ * Note that only a copy of the entity will be set to display on the
+ * shoulder.
+ *
+ * Also note that the client will currently only render {@link Parrot}
+ * entities.
+ */
+ public setShoulderEntityLeft(entity: org.bukkit.entity.Entity): void;
+ /**
+ * Gets the entity currently perched on the right shoulder or null if no
+ * entity.
+ *
+ * The returned entity will not be spawned within the world, so most
+ * operations are invalid unless the entity is first spawned in.
+ */
+ public getShoulderEntityRight(): org.bukkit.entity.Entity;
+ /**
+ * Sets the entity currently perched on the right shoulder, or null to
+ * remove. This method will remove the entity from the world.
+ *
+ * Note that only a copy of the entity will be set to display on the
+ * shoulder.
+ *
+ * Also note that the client will currently only render {@link Parrot}
+ * entities.
+ */
+ public setShoulderEntityRight(entity: org.bukkit.entity.Entity): void;
+ }
+ }
+ }
+}
diff --git a/packages/bukkit/src/typings/org.bukkit.entity.Husk.ts b/packages/bukkit/src/typings/org.bukkit.entity.Husk.ts
new file mode 100644
index 00000000..a98150f1
--- /dev/null
+++ b/packages/bukkit/src/typings/org.bukkit.entity.Husk.ts
@@ -0,0 +1,27 @@
+declare namespace org {
+ namespace bukkit {
+ namespace entity {
+ class Husk {
+ /**
+ * Get if this entity is in the process of converting to a Zombie as a
+ * result of being underwater.
+ */
+ public isConverting(): boolean;
+ /**
+ * Gets the amount of ticks until this entity will be converted to a Zombie
+ * as a result of being underwater.
+ * When this reaches 0, the entity will be converted.
+ */
+ public getConversionTime(): number;
+ /**
+ * Sets the amount of ticks until this entity will be converted to a Zombie
+ * as a result of being underwater.
+ * When this reaches 0, the entity will be converted. A value of less than 0
+ * will stop the current conversion process without converting the current
+ * entity.
+ */
+ public setConversionTime(time: number): void;
+ }
+ }
+ }
+}
diff --git a/packages/bukkit/src/typings/org.bukkit.entity.Illager.ts b/packages/bukkit/src/typings/org.bukkit.entity.Illager.ts
new file mode 100644
index 00000000..2994a159
--- /dev/null
+++ b/packages/bukkit/src/typings/org.bukkit.entity.Illager.ts
@@ -0,0 +1,8 @@
+declare namespace org {
+ namespace bukkit {
+ namespace entity {
+ class Illager {
+ }
+ }
+ }
+}
diff --git a/packages/bukkit/src/typings/org.bukkit.entity.Illusioner.ts b/packages/bukkit/src/typings/org.bukkit.entity.Illusioner.ts
new file mode 100644
index 00000000..02cd2282
--- /dev/null
+++ b/packages/bukkit/src/typings/org.bukkit.entity.Illusioner.ts
@@ -0,0 +1,8 @@
+declare namespace org {
+ namespace bukkit {
+ namespace entity {
+ class Illusioner {
+ }
+ }
+ }
+}
diff --git a/packages/bukkit/src/typings/org.bukkit.entity.IronGolem.ts b/packages/bukkit/src/typings/org.bukkit.entity.IronGolem.ts
new file mode 100644
index 00000000..91c5abf1
--- /dev/null
+++ b/packages/bukkit/src/typings/org.bukkit.entity.IronGolem.ts
@@ -0,0 +1,16 @@
+declare namespace org {
+ namespace bukkit {
+ namespace entity {
+ class IronGolem {
+ /**
+ * Gets whether this iron golem was built by a player.
+ */
+ public isPlayerCreated(): boolean;
+ /**
+ * Sets whether this iron golem was built by a player or not.
+ */
+ public setPlayerCreated(playerCreated: boolean): void;
+ }
+ }
+ }
+}
diff --git a/packages/bukkit/src/typings/org.bukkit.entity.Item.ts b/packages/bukkit/src/typings/org.bukkit.entity.Item.ts
new file mode 100644
index 00000000..2f22b715
--- /dev/null
+++ b/packages/bukkit/src/typings/org.bukkit.entity.Item.ts
@@ -0,0 +1,24 @@
+declare namespace org {
+ namespace bukkit {
+ namespace entity {
+ class Item {
+ /**
+ * Gets the item stack associated with this item drop.
+ */
+ public getItemStack(): org.bukkit.inventory.ItemStack;
+ /**
+ * Sets the item stack associated with this item drop.
+ */
+ public setItemStack(stack: org.bukkit.inventory.ItemStack): void;
+ /**
+ * Gets the delay before this Item is available to be picked up by players
+ */
+ public getPickupDelay(): number;
+ /**
+ * Sets the delay before this Item is available to be picked up by players
+ */
+ public setPickupDelay(delay: number): void;
+ }
+ }
+ }
+}
diff --git a/packages/bukkit/src/typings/org.bukkit.entity.ItemFrame.ts b/packages/bukkit/src/typings/org.bukkit.entity.ItemFrame.ts
new file mode 100644
index 00000000..da6e73a7
--- /dev/null
+++ b/packages/bukkit/src/typings/org.bukkit.entity.ItemFrame.ts
@@ -0,0 +1,28 @@
+declare namespace org {
+ namespace bukkit {
+ namespace entity {
+ class ItemFrame {
+ /**
+ * Get the item in this frame
+ */
+ public getItem(): org.bukkit.inventory.ItemStack;
+ /**
+ * Set the item in this frame
+ */
+ public setItem(item: org.bukkit.inventory.ItemStack): void;
+ /**
+ * Set the item in this frame
+ */
+ public setItem(item: org.bukkit.inventory.ItemStack, playSound: boolean): void;
+ /**
+ * Get the rotation of the frame's item
+ */
+ public getRotation(): org.bukkit.Rotation;
+ /**
+ * Set the rotation of the frame's item
+ */
+ public setRotation(rotation: org.bukkit.Rotation): void;
+ }
+ }
+ }
+}
diff --git a/packages/bukkit/src/typings/org.bukkit.entity.LargeFireball.ts b/packages/bukkit/src/typings/org.bukkit.entity.LargeFireball.ts
new file mode 100644
index 00000000..efb24d02
--- /dev/null
+++ b/packages/bukkit/src/typings/org.bukkit.entity.LargeFireball.ts
@@ -0,0 +1,8 @@
+declare namespace org {
+ namespace bukkit {
+ namespace entity {
+ class LargeFireball {
+ }
+ }
+ }
+}
diff --git a/packages/bukkit/src/typings/org.bukkit.entity.LeashHitch.ts b/packages/bukkit/src/typings/org.bukkit.entity.LeashHitch.ts
new file mode 100644
index 00000000..bb14026f
--- /dev/null
+++ b/packages/bukkit/src/typings/org.bukkit.entity.LeashHitch.ts
@@ -0,0 +1,8 @@
+declare namespace org {
+ namespace bukkit {
+ namespace entity {
+ class LeashHitch {
+ }
+ }
+ }
+}
diff --git a/packages/bukkit/src/typings/org.bukkit.entity.LightningStrike.ts b/packages/bukkit/src/typings/org.bukkit.entity.LightningStrike.ts
new file mode 100644
index 00000000..20d91d6e
--- /dev/null
+++ b/packages/bukkit/src/typings/org.bukkit.entity.LightningStrike.ts
@@ -0,0 +1,12 @@
+declare namespace org {
+ namespace bukkit {
+ namespace entity {
+ class LightningStrike {
+ /**
+ * Returns whether the strike is an effect that does no damage.
+ */
+ public isEffect(): boolean;
+ }
+ }
+ }
+}
diff --git a/packages/bukkit/src/typings/org.bukkit.entity.LingeringPotion.ts b/packages/bukkit/src/typings/org.bukkit.entity.LingeringPotion.ts
new file mode 100644
index 00000000..ce0fdafb
--- /dev/null
+++ b/packages/bukkit/src/typings/org.bukkit.entity.LingeringPotion.ts
@@ -0,0 +1,8 @@
+declare namespace org {
+ namespace bukkit {
+ namespace entity {
+ class LingeringPotion {
+ }
+ }
+ }
+}
diff --git a/packages/bukkit/src/typings/org.bukkit.entity.LivingEntity.ts b/packages/bukkit/src/typings/org.bukkit.entity.LivingEntity.ts
new file mode 100644
index 00000000..514fe577
--- /dev/null
+++ b/packages/bukkit/src/typings/org.bukkit.entity.LivingEntity.ts
@@ -0,0 +1,284 @@
+declare namespace org {
+ namespace bukkit {
+ namespace entity {
+ class LivingEntity {
+ /**
+ * Gets the height of the living entity's eyes above its Location.
+ */
+ public getEyeHeight(): number;
+ /**
+ * Gets the height of the living entity's eyes above its Location.
+ */
+ public getEyeHeight(ignorePose: boolean): number;
+ /**
+ * Get a Location detailing the current eye position of the living entity.
+ */
+ public getEyeLocation(): org.bukkit.Location;
+ /**
+ * Gets all blocks along the living entity's line of sight.
+ * incrementStatistic(Statistic, 1)
+ */
+ public incrementStatistic(statistic: org.bukkit.Statistic): void;
+ /**
+ * Decrements the given statistic for this player.
+ * decrementStatistic(Statistic, 1)
+ */
+ public decrementStatistic(statistic: org.bukkit.Statistic): void;
+ /**
+ * Increments the given statistic for this player.
+ */
+ public incrementStatistic(statistic: org.bukkit.Statistic, amount: number): void;
+ /**
+ * Decrements the given statistic for this player.
+ */
+ public decrementStatistic(statistic: org.bukkit.Statistic, amount: number): void;
+ /**
+ * Sets the given statistic for this player.
+ */
+ public setStatistic(statistic: org.bukkit.Statistic, newValue: number): void;
+ /**
+ * Gets the value of the given statistic for this player.
+ */
+ public getStatistic(statistic: org.bukkit.Statistic): number;
+ /**
+ * Increments the given statistic for this player for the given material.
+ * incrementStatistic(Statistic, Material, 1)
+ */
+ public incrementStatistic(statistic: org.bukkit.Statistic, material: org.bukkit.Material): void;
+ /**
+ * Decrements the given statistic for this player for the given material.
+ * decrementStatistic(Statistic, Material, 1)
+ */
+ public decrementStatistic(statistic: org.bukkit.Statistic, material: org.bukkit.Material): void;
+ /**
+ * Gets the value of the given statistic for this player.
+ */
+ public getStatistic(statistic: org.bukkit.Statistic, material: org.bukkit.Material): number;
+ /**
+ * Increments the given statistic for this player for the given material.
+ */
+ public incrementStatistic(statistic: org.bukkit.Statistic, material: org.bukkit.Material, amount: number): void;
+ /**
+ * Decrements the given statistic for this player for the given material.
+ */
+ public decrementStatistic(statistic: org.bukkit.Statistic, material: org.bukkit.Material, amount: number): void;
+ /**
+ * Sets the given statistic for this player for the given material.
+ */
+ public setStatistic(statistic: org.bukkit.Statistic, material: org.bukkit.Material, newValue: number): void;
+ /**
+ * Increments the given statistic for this player for the given entity.
+ * incrementStatistic(Statistic, EntityType, 1)
+ */
+ public incrementStatistic(statistic: org.bukkit.Statistic, entityType: org.bukkit.entity.EntityType): void;
+ /**
+ * Decrements the given statistic for this player for the given entity.
+ * decrementStatistic(Statistic, EntityType, 1)
+ */
+ public decrementStatistic(statistic: org.bukkit.Statistic, entityType: org.bukkit.entity.EntityType): void;
+ /**
+ * Gets the value of the given statistic for this player.
+ */
+ public getStatistic(statistic: org.bukkit.Statistic, entityType: org.bukkit.entity.EntityType): number;
+ /**
+ * Increments the given statistic for this player for the given entity.
+ */
+ public incrementStatistic(statistic: org.bukkit.Statistic, entityType: org.bukkit.entity.EntityType, amount: number): void;
+ /**
+ * Decrements the given statistic for this player for the given entity.
+ */
+ public decrementStatistic(statistic: org.bukkit.Statistic, entityType: org.bukkit.entity.EntityType, amount: number): void;
+ /**
+ * Sets the given statistic for this player for the given entity.
+ */
+ public setStatistic(statistic: org.bukkit.Statistic, entityType: org.bukkit.entity.EntityType, newValue: number): void;
+ /**
+ * Sets the current time on the player's client. When relative is true the
+ * player's time will be kept synchronized to its world time with the
+ * specified offset.
+ *
+ * This refers to the total amount of experience the player has collected
+ * over time and is only displayed as the player's "score" upon dying.
+ */
+ public getTotalExperience(): number;
+ /**
+ * Sets the players current experience points.
+ *
+ * This refers to the total amount of experience the player has collected
+ * over time and is only displayed as the player's "score" upon dying.
+ */
+ public setTotalExperience(exp: number): void;
+ /**
+ * Gets the players current exhaustion level.
+ *
+ *
+ */
+ public setTexturePack(url: string): void;
+ /**
+ * Request that the player's client download and switch resource packs.
+ *
+ *
+ */
+ public setResourcePack(url: string): void;
+ /**
+ * Request that the player's client download and switch resource packs.
+ *
+ *
+ */
+ public setResourcePack(url: string, hash: number): void;
+ /**
+ * Gets the Scoreboard displayed to this player
+ */
+ public getScoreboard(): org.bukkit.scoreboard.Scoreboard;
+ /**
+ * Sets the player's visible Scoreboard.
+ */
+ public setScoreboard(scoreboard: org.bukkit.scoreboard.Scoreboard): void;
+ /**
+ * Gets if the client is displayed a 'scaled' health, that is, health on a
+ * scale from 0-{@link #getHealthScale()}.
+ */
+ public isHealthScaled(): boolean;
+ /**
+ * Sets if the client is displayed a 'scaled' health, that is, health on a
+ * scale from 0-{@link #getHealthScale()}.
+ * displayedHealth =
+ * getHealth() / getMaxHealth() * getHealthScale()
.
+ */
+ public setHealthScaled(scale: boolean): void;
+ /**
+ * Sets the number to scale health to for the client; this will also
+ * {@link #setHealthScaled(boolean) setHealthScaled(true)}.
+ * displayedHealth =
+ * getHealth() / getMaxHealth() * getHealthScale()
.
+ */
+ public setHealthScale(scale: number): void;
+ /**
+ * Gets the number that health is scaled to for the client.
+ */
+ public getHealthScale(): number;
+ /**
+ * Gets the entity which is followed by the camera when in
+ * {@link GameMode#SPECTATOR}.
+ */
+ public getSpectatorTarget(): org.bukkit.entity.Entity;
+ /**
+ * Sets the entity which is followed by the camera when in
+ * {@link GameMode#SPECTATOR}.
+ */
+ public setSpectatorTarget(entity: org.bukkit.entity.Entity): void;
+ /**
+ * Sends a title and a subtitle message to the player. If either of these
+ * values are null, they will not be sent and the display will remain
+ * unchanged. If they are empty strings, the display will be updated as
+ * such. If the strings contain a new line, only the first line will be
+ * sent. The titles will be displayed with the client's default timings.
+ */
+ public sendTitle(title: string, subtitle: string): void;
+ /**
+ * Sends a title and a subtitle message to the player. If either of these
+ * values are null, they will not be sent and the display will remain
+ * unchanged. If they are empty strings, the display will be updated as
+ * such. If the strings contain a new line, only the first line will be
+ * sent. All timings values may take a value of -1 to indicate that they
+ * will use the last value sent (or the defaults if no title has been
+ * displayed).
+ */
+ public sendTitle(title: string, subtitle: string, fadeIn: number, stay: number, fadeOut: number): void;
+ /**
+ * Resets the title displayed to the player. This will clear the displayed
+ * title / subtitle and reset timings to their default values.
+ */
+ public resetTitle(): void;
+ /**
+ * Spawns the particle (the number of times specified by count)
+ * at the target location.
+ */
+ public spawnParticle(particle: org.bukkit.Particle, location: org.bukkit.Location, count: number): void;
+ /**
+ * Spawns the particle (the number of times specified by count)
+ * at the target location.
+ */
+ public spawnParticle(particle: org.bukkit.Particle, x: number, y: number, z: number, count: number): void;
+ /**
+ * Spawns the particle (the number of times specified by count)
+ * at the target location.
+ */
+ public spawnParticle(particle: org.bukkit.Particle, location: org.bukkit.Location, count: number, data: any): void;
+ /**
+ * Spawns the particle (the number of times specified by count)
+ * at the target location.
+ */
+ public spawnParticle(particle: org.bukkit.Particle, x: number, y: number, z: number, count: number, data: any): void;
+ /**
+ * 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.
+ */
+ public spawnParticle(particle: org.bukkit.Particle, location: org.bukkit.Location, count: number, offsetX: number, offsetY: number, offsetZ: number): void;
+ /**
+ * 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.
+ */
+ public spawnParticle(particle: org.bukkit.Particle, x: number, y: number, z: number, count: number, offsetX: number, offsetY: number, offsetZ: number): void;
+ /**
+ * 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.
+ */
+ public spawnParticle(particle: org.bukkit.Particle, location: org.bukkit.Location, count: number, offsetX: number, offsetY: number, offsetZ: number, data: any): void;
+ /**
+ * 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.
+ */
+ public spawnParticle(particle: org.bukkit.Particle, x: number, y: number, z: number, count: number, offsetX: number, offsetY: number, offsetZ: number, data: any): void;
+ /**
+ * 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.
+ */
+ public spawnParticle(particle: org.bukkit.Particle, location: org.bukkit.Location, count: number, offsetX: number, offsetY: number, offsetZ: number, extra: number): void;
+ /**
+ * 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.
+ */
+ public spawnParticle(particle: org.bukkit.Particle, x: number, y: number, z: number, count: number, offsetX: number, offsetY: number, offsetZ: number, extra: number): void;
+ /**
+ * 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.
+ */
+ public spawnParticle(particle: org.bukkit.Particle, location: org.bukkit.Location, count: number, offsetX: number, offsetY: number, offsetZ: number, extra: number, data: any): void;
+ /**
+ * 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.
+ */
+ public spawnParticle(particle: org.bukkit.Particle, x: number, y: number, z: number, count: number, offsetX: number, offsetY: number, offsetZ: number, extra: number, data: any): void;
+ /**
+ * Return the player's progression on the specified advancement.
+ */
+ public getAdvancementProgress(advancement: org.bukkit.advancement.Advancement): org.bukkit.advancement.AdvancementProgress;
+ /**
+ * Get the player's current client side view distance.
+ *
+ * Will default to the server view distance if the client has not yet
+ * communicated this information,
+ */
+ public getClientViewDistance(): number;
+ /**
+ * Gets the player's current locale.
+ * The value of the locale String is not defined properly.
+ *
+ * The vanilla Minecraft client will use lowercase language / country pairs
+ * separated by an underscore, but custom resource packs may use any format
+ * they wish.
+ */
+ public getLocale(): string;
+ /**
+ * Update the list of commands sent to the client.
+ *
+ * Generally useful to ensure the client has a complete list of commands
+ * after permission changes are done.
+ */
+ public updateCommands(): void;
+ /**
+ * Open a {@link Material#WRITTEN_BOOK} for a Player
+ */
+ public openBook(book: org.bukkit.inventory.ItemStack): void;
+ }
+ }
+ }
+}
diff --git a/packages/bukkit/src/typings/org.bukkit.entity.PolarBear.ts b/packages/bukkit/src/typings/org.bukkit.entity.PolarBear.ts
new file mode 100644
index 00000000..3679cb84
--- /dev/null
+++ b/packages/bukkit/src/typings/org.bukkit.entity.PolarBear.ts
@@ -0,0 +1,8 @@
+declare namespace org {
+ namespace bukkit {
+ namespace entity {
+ class PolarBear {
+ }
+ }
+ }
+}
diff --git a/packages/bukkit/src/typings/org.bukkit.entity.Pose.ts b/packages/bukkit/src/typings/org.bukkit.entity.Pose.ts
new file mode 100644
index 00000000..91842584
--- /dev/null
+++ b/packages/bukkit/src/typings/org.bukkit.entity.Pose.ts
@@ -0,0 +1,17 @@
+declare namespace org {
+ namespace bukkit {
+ namespace entity {
+ class Pose {
+ public static STANDING: org.bukkit.entity.Pose;
+ public static FALL_FLYING: org.bukkit.entity.Pose;
+ public static SLEEPING: org.bukkit.entity.Pose;
+ public static SWIMMING: org.bukkit.entity.Pose;
+ public static SPIN_ATTACK: org.bukkit.entity.Pose;
+ public static SNEAKING: org.bukkit.entity.Pose;
+ public static DYING: org.bukkit.entity.Pose;
+ public static values(): org.bukkit.entity.Pose[];
+ public static valueOf(name: string): org.bukkit.entity.Pose;
+ }
+ }
+ }
+}
diff --git a/packages/bukkit/src/typings/org.bukkit.entity.Projectile.ts b/packages/bukkit/src/typings/org.bukkit.entity.Projectile.ts
new file mode 100644
index 00000000..c9463b52
--- /dev/null
+++ b/packages/bukkit/src/typings/org.bukkit.entity.Projectile.ts
@@ -0,0 +1,27 @@
+declare namespace org {
+ namespace bukkit {
+ namespace entity {
+ class Projectile {
+ /**
+ * Retrieve the shooter of this projectile.
+ */
+ public getShooter(): org.bukkit.projectiles.ProjectileSource;
+ /**
+ * Set the shooter of this projectile.
+ */
+ public setShooter(source: org.bukkit.projectiles.ProjectileSource): void;
+ /**
+ * Determine if this projectile should bounce or not when it hits.
+ *
+ * The location must be in the current world and have a bed placed at the
+ * location. The villager will put its head on the specified block while
+ * sleeping.
+ */
+ public sleep(location: org.bukkit.Location): boolean;
+ /**
+ * Causes this villager to wake up if he's currently sleeping.
+ */
+ public wakeup(): void;
+ }
+ }
+ }
+}
diff --git a/packages/bukkit/src/typings/org.bukkit.entity.Vindicator.ts b/packages/bukkit/src/typings/org.bukkit.entity.Vindicator.ts
new file mode 100644
index 00000000..67b24dd8
--- /dev/null
+++ b/packages/bukkit/src/typings/org.bukkit.entity.Vindicator.ts
@@ -0,0 +1,8 @@
+declare namespace org {
+ namespace bukkit {
+ namespace entity {
+ class Vindicator {
+ }
+ }
+ }
+}
diff --git a/packages/bukkit/src/typings/org.bukkit.entity.WanderingTrader.ts b/packages/bukkit/src/typings/org.bukkit.entity.WanderingTrader.ts
new file mode 100644
index 00000000..4f22b3be
--- /dev/null
+++ b/packages/bukkit/src/typings/org.bukkit.entity.WanderingTrader.ts
@@ -0,0 +1,8 @@
+declare namespace org {
+ namespace bukkit {
+ namespace entity {
+ class WanderingTrader {
+ }
+ }
+ }
+}
diff --git a/packages/bukkit/src/typings/org.bukkit.entity.WaterMob.ts b/packages/bukkit/src/typings/org.bukkit.entity.WaterMob.ts
new file mode 100644
index 00000000..f776cb2f
--- /dev/null
+++ b/packages/bukkit/src/typings/org.bukkit.entity.WaterMob.ts
@@ -0,0 +1,8 @@
+declare namespace org {
+ namespace bukkit {
+ namespace entity {
+ class WaterMob {
+ }
+ }
+ }
+}
diff --git a/packages/bukkit/src/typings/org.bukkit.entity.Witch.ts b/packages/bukkit/src/typings/org.bukkit.entity.Witch.ts
new file mode 100644
index 00000000..8bb65136
--- /dev/null
+++ b/packages/bukkit/src/typings/org.bukkit.entity.Witch.ts
@@ -0,0 +1,8 @@
+declare namespace org {
+ namespace bukkit {
+ namespace entity {
+ class Witch {
+ }
+ }
+ }
+}
diff --git a/packages/bukkit/src/typings/org.bukkit.entity.Wither.ts b/packages/bukkit/src/typings/org.bukkit.entity.Wither.ts
new file mode 100644
index 00000000..ccd80764
--- /dev/null
+++ b/packages/bukkit/src/typings/org.bukkit.entity.Wither.ts
@@ -0,0 +1,8 @@
+declare namespace org {
+ namespace bukkit {
+ namespace entity {
+ class Wither {
+ }
+ }
+ }
+}
diff --git a/packages/bukkit/src/typings/org.bukkit.entity.WitherSkeleton.ts b/packages/bukkit/src/typings/org.bukkit.entity.WitherSkeleton.ts
new file mode 100644
index 00000000..ab5b8416
--- /dev/null
+++ b/packages/bukkit/src/typings/org.bukkit.entity.WitherSkeleton.ts
@@ -0,0 +1,8 @@
+declare namespace org {
+ namespace bukkit {
+ namespace entity {
+ class WitherSkeleton {
+ }
+ }
+ }
+}
diff --git a/packages/bukkit/src/typings/org.bukkit.entity.WitherSkull.ts b/packages/bukkit/src/typings/org.bukkit.entity.WitherSkull.ts
new file mode 100644
index 00000000..f19bad36
--- /dev/null
+++ b/packages/bukkit/src/typings/org.bukkit.entity.WitherSkull.ts
@@ -0,0 +1,16 @@
+declare namespace org {
+ namespace bukkit {
+ namespace entity {
+ class WitherSkull {
+ /**
+ * Sets the charged status of the wither skull.
+ */
+ public setCharged(charged: boolean): void;
+ /**
+ * Gets whether or not the wither skull is charged.
+ */
+ public isCharged(): boolean;
+ }
+ }
+ }
+}
diff --git a/packages/bukkit/src/typings/org.bukkit.entity.Wolf.ts b/packages/bukkit/src/typings/org.bukkit.entity.Wolf.ts
new file mode 100644
index 00000000..f781be39
--- /dev/null
+++ b/packages/bukkit/src/typings/org.bukkit.entity.Wolf.ts
@@ -0,0 +1,26 @@
+declare namespace org {
+ namespace bukkit {
+ namespace entity {
+ class Wolf {
+ /**
+ * Checks if this wolf is angry
+ */
+ public isAngry(): boolean;
+ /**
+ * Sets the anger of this wolf.
+ *
+ *
+ */
+ public isAsynchronous(): boolean;
+ }
+ }
+ }
+}
diff --git a/packages/bukkit/src/typings/org.bukkit.event.EventException.ts b/packages/bukkit/src/typings/org.bukkit.event.EventException.ts
new file mode 100644
index 00000000..00fcc218
--- /dev/null
+++ b/packages/bukkit/src/typings/org.bukkit.event.EventException.ts
@@ -0,0 +1,28 @@
+declare namespace org {
+ namespace bukkit {
+ namespace event {
+ class EventException {
+ /**
+ * Constructs a new EventException based on the given Exception
+ */
+ constructor(throwable: any)
+ /**
+ * Constructs a new EventException
+ */
+ constructor()
+ /**
+ * Constructs a new EventException with the given message
+ */
+ constructor(cause: any, message: string)
+ /**
+ * Constructs a new EventException with the given message
+ */
+ constructor(message: string)
+ /**
+ * If applicable, returns the Exception that triggered this Exception
+ */
+ public getCause(): any;
+ }
+ }
+ }
+}
diff --git a/packages/bukkit/src/typings/org.bukkit.event.EventHandler.ts b/packages/bukkit/src/typings/org.bukkit.event.EventHandler.ts
new file mode 100644
index 00000000..c5080379
--- /dev/null
+++ b/packages/bukkit/src/typings/org.bukkit.event.EventHandler.ts
@@ -0,0 +1,29 @@
+declare namespace org {
+ namespace bukkit {
+ namespace event {
+ class EventHandler {
+ /**
+ * Define the priority of the event.
+ *
+ *
+ */
+ public priority(): org.bukkit.event.EventPriority;
+ /**
+ * Define if the handler ignores a cancelled event.
+ *
+ * May be null for legacy calls of the event.
+ */
+ public getPlayer(): org.bukkit.entity.Player;
+ public getHandlers(): org.bukkit.event.HandlerList;
+ public static getHandlerList(): org.bukkit.event.HandlerList;
+ }
+ }
+ }
+ }
+}
diff --git a/packages/bukkit/src/typings/org.bukkit.event.block.BlockCookEvent.ts b/packages/bukkit/src/typings/org.bukkit.event.block.BlockCookEvent.ts
new file mode 100644
index 00000000..60c8e2ca
--- /dev/null
+++ b/packages/bukkit/src/typings/org.bukkit.event.block.BlockCookEvent.ts
@@ -0,0 +1,27 @@
+declare namespace org {
+ namespace bukkit {
+ namespace event {
+ namespace block {
+ class BlockCookEvent {
+ constructor(block: org.bukkit.block.Block, source: org.bukkit.inventory.ItemStack, result: org.bukkit.inventory.ItemStack)
+ /**
+ * Gets the smelted ItemStack for this event
+ */
+ public getSource(): org.bukkit.inventory.ItemStack;
+ /**
+ * Gets the resultant ItemStack for this event
+ */
+ public getResult(): org.bukkit.inventory.ItemStack;
+ /**
+ * Sets the resultant ItemStack for this event
+ */
+ public setResult(result: org.bukkit.inventory.ItemStack): void;
+ public isCancelled(): boolean;
+ public setCancelled(cancel: boolean): void;
+ public getHandlers(): org.bukkit.event.HandlerList;
+ public static getHandlerList(): org.bukkit.event.HandlerList;
+ }
+ }
+ }
+ }
+}
diff --git a/packages/bukkit/src/typings/org.bukkit.event.block.BlockDamageEvent.ts b/packages/bukkit/src/typings/org.bukkit.event.block.BlockDamageEvent.ts
new file mode 100644
index 00000000..9bf9e69f
--- /dev/null
+++ b/packages/bukkit/src/typings/org.bukkit.event.block.BlockDamageEvent.ts
@@ -0,0 +1,31 @@
+declare namespace org {
+ namespace bukkit {
+ namespace event {
+ namespace block {
+ class BlockDamageEvent {
+ constructor(player: org.bukkit.entity.Player, block: org.bukkit.block.Block, itemInHand: org.bukkit.inventory.ItemStack, instaBreak: boolean)
+ /**
+ * Gets the player damaging the block involved in this event.
+ */
+ public getPlayer(): org.bukkit.entity.Player;
+ /**
+ * Gets if the block is set to instantly break when damaged by the player.
+ */
+ public getInstaBreak(): boolean;
+ /**
+ * Sets if the block should instantly break when damaged by the player.
+ */
+ public setInstaBreak(bool: boolean): void;
+ /**
+ * Gets the ItemStack for the item currently in the player's hand.
+ */
+ public getItemInHand(): org.bukkit.inventory.ItemStack;
+ public isCancelled(): boolean;
+ public setCancelled(cancel: boolean): void;
+ public getHandlers(): org.bukkit.event.HandlerList;
+ public static getHandlerList(): org.bukkit.event.HandlerList;
+ }
+ }
+ }
+ }
+}
diff --git a/packages/bukkit/src/typings/org.bukkit.event.block.BlockDispenseArmorEvent.ts b/packages/bukkit/src/typings/org.bukkit.event.block.BlockDispenseArmorEvent.ts
new file mode 100644
index 00000000..b621e55d
--- /dev/null
+++ b/packages/bukkit/src/typings/org.bukkit.event.block.BlockDispenseArmorEvent.ts
@@ -0,0 +1,15 @@
+declare namespace org {
+ namespace bukkit {
+ namespace event {
+ namespace block {
+ class BlockDispenseArmorEvent {
+ constructor(block: org.bukkit.block.Block, dispensed: org.bukkit.inventory.ItemStack, target: org.bukkit.entity.LivingEntity)
+ /**
+ * Get the living entity on which the armor was dispensed.
+ */
+ public getTargetEntity(): org.bukkit.entity.LivingEntity;
+ }
+ }
+ }
+ }
+}
diff --git a/packages/bukkit/src/typings/org.bukkit.event.block.BlockDispenseEvent.ts b/packages/bukkit/src/typings/org.bukkit.event.block.BlockDispenseEvent.ts
new file mode 100644
index 00000000..d488ba8c
--- /dev/null
+++ b/packages/bukkit/src/typings/org.bukkit.event.block.BlockDispenseEvent.ts
@@ -0,0 +1,36 @@
+declare namespace org {
+ namespace bukkit {
+ namespace event {
+ namespace block {
+ class BlockDispenseEvent {
+ constructor(block: org.bukkit.block.Block, dispensed: org.bukkit.inventory.ItemStack, velocity: org.bukkit.util.Vector)
+ /**
+ * Gets the item that is being dispensed. Modifying the returned item will
+ * have no effect, you must use {@link
+ * #setItem(org.bukkit.inventory.ItemStack)} instead.
+ */
+ public getItem(): org.bukkit.inventory.ItemStack;
+ /**
+ * Sets the item being dispensed.
+ */
+ public setItem(item: org.bukkit.inventory.ItemStack): void;
+ /**
+ * Gets the velocity.
+ *
+ * This list is mutable and contains the blocks in their removed state, i.e.
+ * having a type of {@link Material#AIR}.
+ */
+ public getBlocks(): any[] /*java.util.List*/;
+ public isCancelled(): boolean;
+ public setCancelled(cancel: boolean): void;
+ public getHandlers(): org.bukkit.event.HandlerList;
+ public static getHandlerList(): org.bukkit.event.HandlerList;
+ }
+ }
+ }
+ }
+}
diff --git a/packages/bukkit/src/typings/org.bukkit.event.enchantment.EnchantItemEvent.ts b/packages/bukkit/src/typings/org.bukkit.event.enchantment.EnchantItemEvent.ts
new file mode 100644
index 00000000..f6cf6796
--- /dev/null
+++ b/packages/bukkit/src/typings/org.bukkit.event.enchantment.EnchantItemEvent.ts
@@ -0,0 +1,45 @@
+declare namespace org {
+ namespace bukkit {
+ namespace event {
+ namespace enchantment {
+ class EnchantItemEvent {
+ constructor(enchanter: org.bukkit.entity.Player, view: org.bukkit.inventory.InventoryView, table: org.bukkit.block.Block, item: org.bukkit.inventory.ItemStack, level: number, enchants: Map
+ * {@link org.bukkit.event.Event.Result#DENY} will prevent the player from sleeping. This has the
+ * same effect as canceling the event via {@link #setCancelled(boolean)}.
+ *
+ * {@link org.bukkit.event.Event.Result#DEFAULT} will result in the outcome described by
+ * {@link #getBedEnterResult()}.
+ */
+ public setUseBed(useBed: org.bukkit.event.Event.Result): void;
+ /**
+ * Gets the cancellation state of this event. Set to true if you want to
+ * prevent the player from sleeping.
+ *
+ * This does not remove any existing spawn location, only prevent it from
+ * being changed (if true).
+ *
+ * To change a {@link Player}'s spawn location, use
+ * {@link Player#setBedSpawnLocation(Location)}.
+ */
+ public shouldSetSpawnLocation(): boolean;
+ /**
+ * Set if this event should set the new spawn location for the
+ * {@link Player}.
+ *
+ * This will not remove any existing spawn location, only prevent it from
+ * being changed (if true).
+ *
+ * To change a {@link Player}'s spawn location, use
+ * {@link Player#setBedSpawnLocation(Location)}.
+ */
+ public setSpawnLocation(setBedSpawn: boolean): void;
+ public getHandlers(): org.bukkit.event.HandlerList;
+ public static getHandlerList(): org.bukkit.event.HandlerList;
+ }
+ }
+ }
+ }
+}
diff --git a/packages/bukkit/src/typings/org.bukkit.event.player.PlayerBucketEmptyEvent.ts b/packages/bukkit/src/typings/org.bukkit.event.player.PlayerBucketEmptyEvent.ts
new file mode 100644
index 00000000..fb13176a
--- /dev/null
+++ b/packages/bukkit/src/typings/org.bukkit.event.player.PlayerBucketEmptyEvent.ts
@@ -0,0 +1,14 @@
+declare namespace org {
+ namespace bukkit {
+ namespace event {
+ namespace player {
+ class PlayerBucketEmptyEvent {
+ constructor(who: org.bukkit.entity.Player, blockClicked: org.bukkit.block.Block, blockFace: org.bukkit.block.BlockFace, bucket: org.bukkit.Material, itemInHand: org.bukkit.inventory.ItemStack)
+ constructor(who: org.bukkit.entity.Player, block: org.bukkit.block.Block, blockClicked: org.bukkit.block.Block, blockFace: org.bukkit.block.BlockFace, bucket: org.bukkit.Material, itemInHand: org.bukkit.inventory.ItemStack)
+ public getHandlers(): org.bukkit.event.HandlerList;
+ public static getHandlerList(): org.bukkit.event.HandlerList;
+ }
+ }
+ }
+ }
+}
diff --git a/packages/bukkit/src/typings/org.bukkit.event.player.PlayerBucketEvent.ts b/packages/bukkit/src/typings/org.bukkit.event.player.PlayerBucketEvent.ts
new file mode 100644
index 00000000..d3598a30
--- /dev/null
+++ b/packages/bukkit/src/typings/org.bukkit.event.player.PlayerBucketEvent.ts
@@ -0,0 +1,38 @@
+declare namespace org {
+ namespace bukkit {
+ namespace event {
+ namespace player {
+ abstract class PlayerBucketEvent {
+ constructor(who: org.bukkit.entity.Player, blockClicked: org.bukkit.block.Block, blockFace: org.bukkit.block.BlockFace, bucket: org.bukkit.Material, itemInHand: org.bukkit.inventory.ItemStack)
+ constructor(who: org.bukkit.entity.Player, block: org.bukkit.block.Block, blockClicked: org.bukkit.block.Block, blockFace: org.bukkit.block.BlockFace, bucket: org.bukkit.Material, itemInHand: org.bukkit.inventory.ItemStack)
+ /**
+ * Returns the bucket used in this event
+ */
+ public getBucket(): org.bukkit.Material;
+ /**
+ * Get the resulting item in hand after the bucket event
+ */
+ public getItemStack(): org.bukkit.inventory.ItemStack;
+ /**
+ * Set the item in hand after the event
+ */
+ public setItemStack(itemStack: org.bukkit.inventory.ItemStack): void;
+ /**
+ * Gets the block involved in this event.
+ */
+ public getBlock(): org.bukkit.block.Block;
+ /**
+ * Return the block clicked
+ */
+ public getBlockClicked(): org.bukkit.block.Block;
+ /**
+ * Get the face on the clicked block
+ */
+ public getBlockFace(): org.bukkit.block.BlockFace;
+ public isCancelled(): boolean;
+ public setCancelled(cancel: boolean): void;
+ }
+ }
+ }
+ }
+}
diff --git a/packages/bukkit/src/typings/org.bukkit.event.player.PlayerBucketFillEvent.ts b/packages/bukkit/src/typings/org.bukkit.event.player.PlayerBucketFillEvent.ts
new file mode 100644
index 00000000..f7ab3aac
--- /dev/null
+++ b/packages/bukkit/src/typings/org.bukkit.event.player.PlayerBucketFillEvent.ts
@@ -0,0 +1,14 @@
+declare namespace org {
+ namespace bukkit {
+ namespace event {
+ namespace player {
+ class PlayerBucketFillEvent {
+ constructor(who: org.bukkit.entity.Player, blockClicked: org.bukkit.block.Block, blockFace: org.bukkit.block.BlockFace, bucket: org.bukkit.Material, itemInHand: org.bukkit.inventory.ItemStack)
+ constructor(who: org.bukkit.entity.Player, block: org.bukkit.block.Block, blockClicked: org.bukkit.block.Block, blockFace: org.bukkit.block.BlockFace, bucket: org.bukkit.Material, itemInHand: org.bukkit.inventory.ItemStack)
+ public getHandlers(): org.bukkit.event.HandlerList;
+ public static getHandlerList(): org.bukkit.event.HandlerList;
+ }
+ }
+ }
+ }
+}
diff --git a/packages/bukkit/src/typings/org.bukkit.event.player.PlayerChangedMainHandEvent.ts b/packages/bukkit/src/typings/org.bukkit.event.player.PlayerChangedMainHandEvent.ts
new file mode 100644
index 00000000..9d15c4da
--- /dev/null
+++ b/packages/bukkit/src/typings/org.bukkit.event.player.PlayerChangedMainHandEvent.ts
@@ -0,0 +1,18 @@
+declare namespace org {
+ namespace bukkit {
+ namespace event {
+ namespace player {
+ class PlayerChangedMainHandEvent {
+ constructor(who: org.bukkit.entity.Player, mainHand: org.bukkit.inventory.MainHand)
+ /**
+ * Gets the new main hand of the player. The old hand is still momentarily
+ * available via {@link Player#getMainHand()}.
+ */
+ public getMainHand(): org.bukkit.inventory.MainHand;
+ public getHandlers(): org.bukkit.event.HandlerList;
+ public static getHandlerList(): org.bukkit.event.HandlerList;
+ }
+ }
+ }
+ }
+}
diff --git a/packages/bukkit/src/typings/org.bukkit.event.player.PlayerChangedWorldEvent.ts b/packages/bukkit/src/typings/org.bukkit.event.player.PlayerChangedWorldEvent.ts
new file mode 100644
index 00000000..cf9c0458
--- /dev/null
+++ b/packages/bukkit/src/typings/org.bukkit.event.player.PlayerChangedWorldEvent.ts
@@ -0,0 +1,17 @@
+declare namespace org {
+ namespace bukkit {
+ namespace event {
+ namespace player {
+ class PlayerChangedWorldEvent {
+ constructor(player: org.bukkit.entity.Player, from: org.bukkit.World)
+ /**
+ * Gets the world the player is switching from.
+ */
+ public getFrom(): org.bukkit.World;
+ public getHandlers(): org.bukkit.event.HandlerList;
+ public static getHandlerList(): org.bukkit.event.HandlerList;
+ }
+ }
+ }
+ }
+}
diff --git a/packages/bukkit/src/typings/org.bukkit.event.player.PlayerChannelEvent.ts b/packages/bukkit/src/typings/org.bukkit.event.player.PlayerChannelEvent.ts
new file mode 100644
index 00000000..46551b83
--- /dev/null
+++ b/packages/bukkit/src/typings/org.bukkit.event.player.PlayerChannelEvent.ts
@@ -0,0 +1,14 @@
+declare namespace org {
+ namespace bukkit {
+ namespace event {
+ namespace player {
+ abstract class PlayerChannelEvent {
+ constructor(player: org.bukkit.entity.Player, channel: string)
+ public getChannel(): string;
+ public getHandlers(): org.bukkit.event.HandlerList;
+ public static getHandlerList(): org.bukkit.event.HandlerList;
+ }
+ }
+ }
+ }
+}
diff --git a/packages/bukkit/src/typings/org.bukkit.event.player.PlayerChatEvent.ts b/packages/bukkit/src/typings/org.bukkit.event.player.PlayerChatEvent.ts
new file mode 100644
index 00000000..76bdc62f
--- /dev/null
+++ b/packages/bukkit/src/typings/org.bukkit.event.player.PlayerChatEvent.ts
@@ -0,0 +1,41 @@
+declare namespace org {
+ namespace bukkit {
+ namespace event {
+ namespace player {
+ class PlayerChatEvent {
+ constructor(player: org.bukkit.entity.Player, message: string)
+ constructor(player: org.bukkit.entity.Player, message: string, format: string, recipients: any[] /*java.util.Set*/)
+ public isCancelled(): boolean;
+ public setCancelled(cancel: boolean): void;
+ /**
+ * Gets the message that the player is attempting to send
+ */
+ public getMessage(): string;
+ /**
+ * Sets the message that the player will send
+ */
+ public setMessage(message: string): void;
+ /**
+ * Sets the player that this message will display as, or command will be
+ * executed as
+ */
+ public setPlayer(player: org.bukkit.entity.Player): void;
+ /**
+ * Gets the format to use to display this chat message
+ */
+ public getFormat(): string;
+ /**
+ * Sets the format to use to display this chat message
+ */
+ public setFormat(format: string): void;
+ /**
+ * Gets a set of recipients that this chat message will be displayed to
+ */
+ public getRecipients(): any[] /*java.util.Set*/;
+ public getHandlers(): org.bukkit.event.HandlerList;
+ public static getHandlerList(): org.bukkit.event.HandlerList;
+ }
+ }
+ }
+ }
+}
diff --git a/packages/bukkit/src/typings/org.bukkit.event.player.PlayerChatTabCompleteEvent.ts b/packages/bukkit/src/typings/org.bukkit.event.player.PlayerChatTabCompleteEvent.ts
new file mode 100644
index 00000000..4aaeb398
--- /dev/null
+++ b/packages/bukkit/src/typings/org.bukkit.event.player.PlayerChatTabCompleteEvent.ts
@@ -0,0 +1,28 @@
+declare namespace org {
+ namespace bukkit {
+ namespace event {
+ namespace player {
+ class PlayerChatTabCompleteEvent {
+ constructor(who: org.bukkit.entity.Player, message: string, completions: any[] /*java.util.Collection*/)
+ /**
+ * Gets the chat message being tab-completed.
+ */
+ public getChatMessage(): string;
+ /**
+ * Gets the last 'token' of the message being tab-completed.
+ *
+ * It is not legal to add entries to this collection, only remove them.
+ * Behaviour of adding entries is undefined.
+ */
+ public getCommands(): any[] /*java.util.Collection*/;
+ public getHandlers(): org.bukkit.event.HandlerList;
+ public static getHandlerList(): org.bukkit.event.HandlerList;
+ }
+ }
+ }
+ }
+}
diff --git a/packages/bukkit/src/typings/org.bukkit.event.player.PlayerDropItemEvent.ts b/packages/bukkit/src/typings/org.bukkit.event.player.PlayerDropItemEvent.ts
new file mode 100644
index 00000000..55b346c0
--- /dev/null
+++ b/packages/bukkit/src/typings/org.bukkit.event.player.PlayerDropItemEvent.ts
@@ -0,0 +1,19 @@
+declare namespace org {
+ namespace bukkit {
+ namespace event {
+ namespace player {
+ class PlayerDropItemEvent {
+ constructor(player: org.bukkit.entity.Player, drop: org.bukkit.entity.Item)
+ /**
+ * Gets the ItemDrop created by the player
+ */
+ public getItemDrop(): org.bukkit.entity.Item;
+ public isCancelled(): boolean;
+ public setCancelled(cancel: boolean): void;
+ public getHandlers(): org.bukkit.event.HandlerList;
+ public static getHandlerList(): org.bukkit.event.HandlerList;
+ }
+ }
+ }
+ }
+}
diff --git a/packages/bukkit/src/typings/org.bukkit.event.player.PlayerEditBookEvent.ts b/packages/bukkit/src/typings/org.bukkit.event.player.PlayerEditBookEvent.ts
new file mode 100644
index 00000000..15af2659
--- /dev/null
+++ b/packages/bukkit/src/typings/org.bukkit.event.player.PlayerEditBookEvent.ts
@@ -0,0 +1,52 @@
+declare namespace org {
+ namespace bukkit {
+ namespace event {
+ namespace player {
+ class PlayerEditBookEvent {
+ constructor(who: org.bukkit.entity.Player, slot: number, previousBookMeta: org.bukkit.inventory.meta.BookMeta, newBookMeta: org.bukkit.inventory.meta.BookMeta, isSigning: boolean)
+ /**
+ * Gets the book meta currently on the book.
+ *
+ *
+ */
+ public getNumHatches(): number;
+ /**
+ * Change the number of mobs coming out of the hatched egg
+ *
+ *
+ */
+ public getItemInMainHandDropChance(): number;
+ /**
+ * Sets the chance of the item this creature is currently holding in their
+ * main hand being dropped upon this creature's death.
+ *
+ *
+ */
+ public setItemInMainHandDropChance(chance: number): void;
+ /**
+ * Gets the chance of the off hand item being dropped upon this creature's
+ * death.
+ *
+ *
+ */
+ public getItemInOffHandDropChance(): number;
+ /**
+ * Sets the chance of the off hand item being dropped upon this creature's
+ * death.
+ *
+ *
+ */
+ public setItemInOffHandDropChance(chance: number): void;
+ /**
+ * Gets the chance of the helmet being dropped upon this creature's death.
+ *
+ *
+ */
+ public getHelmetDropChance(): number;
+ /**
+ * Sets the chance of the helmet being dropped upon this creature's death.
+ *
+ *
+ */
+ public setHelmetDropChance(chance: number): void;
+ /**
+ * Gets the chance of the chest plate being dropped upon this creature's
+ * death.
+ *
+ *
+ */
+ public getChestplateDropChance(): number;
+ /**
+ * Sets the chance of the chest plate being dropped upon this creature's
+ * death.
+ *
+ *
+ */
+ public setChestplateDropChance(chance: number): void;
+ /**
+ * Gets the chance of the leggings being dropped upon this creature's
+ * death.
+ *
+ *
+ */
+ public getLeggingsDropChance(): number;
+ /**
+ * Sets the chance of the leggings being dropped upon this creature's
+ * death.
+ *
+ *
+ */
+ public setLeggingsDropChance(chance: number): void;
+ /**
+ * Gets the chance of the boots being dropped upon this creature's death.
+ *
+ *
+ */
+ public getBootsDropChance(): number;
+ /**
+ * Sets the chance of the boots being dropped upon this creature's death.
+ *
+ *
+ */
+ public setBootsDropChance(chance: number): void;
+ /**
+ * Get the entity this EntityEquipment belongs to
+ */
+ public getHolder(): org.bukkit.entity.Entity;
+ }
+ }
+ }
+}
diff --git a/packages/bukkit/src/typings/org.bukkit.inventory.EquipmentSlot.ts b/packages/bukkit/src/typings/org.bukkit.inventory.EquipmentSlot.ts
new file mode 100644
index 00000000..fdc7b990
--- /dev/null
+++ b/packages/bukkit/src/typings/org.bukkit.inventory.EquipmentSlot.ts
@@ -0,0 +1,16 @@
+declare namespace org {
+ namespace bukkit {
+ namespace inventory {
+ class EquipmentSlot {
+ public static HAND: org.bukkit.inventory.EquipmentSlot;
+ public static OFF_HAND: org.bukkit.inventory.EquipmentSlot;
+ public static FEET: org.bukkit.inventory.EquipmentSlot;
+ public static LEGS: org.bukkit.inventory.EquipmentSlot;
+ public static CHEST: org.bukkit.inventory.EquipmentSlot;
+ public static HEAD: org.bukkit.inventory.EquipmentSlot;
+ public static values(): org.bukkit.inventory.EquipmentSlot[];
+ public static valueOf(name: string): org.bukkit.inventory.EquipmentSlot;
+ }
+ }
+ }
+}
diff --git a/packages/bukkit/src/typings/org.bukkit.inventory.FurnaceInventory.ts b/packages/bukkit/src/typings/org.bukkit.inventory.FurnaceInventory.ts
new file mode 100644
index 00000000..08c4f320
--- /dev/null
+++ b/packages/bukkit/src/typings/org.bukkit.inventory.FurnaceInventory.ts
@@ -0,0 +1,33 @@
+declare namespace org {
+ namespace bukkit {
+ namespace inventory {
+ class FurnaceInventory {
+ /**
+ * Get the current item in the result slot.
+ */
+ public getResult(): org.bukkit.inventory.ItemStack;
+ /**
+ * Get the current fuel.
+ */
+ public getFuel(): org.bukkit.inventory.ItemStack;
+ /**
+ * Get the item currently smelting.
+ */
+ public getSmelting(): org.bukkit.inventory.ItemStack;
+ /**
+ * Set the current fuel.
+ */
+ public setFuel(stack: org.bukkit.inventory.ItemStack): void;
+ /**
+ * Set the current item in the result slot.
+ */
+ public setResult(stack: org.bukkit.inventory.ItemStack): void;
+ /**
+ * Set the item currently smelting.
+ */
+ public setSmelting(stack: org.bukkit.inventory.ItemStack): void;
+ public getHolder(): org.bukkit.block.Furnace;
+ }
+ }
+ }
+}
diff --git a/packages/bukkit/src/typings/org.bukkit.inventory.FurnaceRecipe.ts b/packages/bukkit/src/typings/org.bukkit.inventory.FurnaceRecipe.ts
new file mode 100644
index 00000000..f39e6074
--- /dev/null
+++ b/packages/bukkit/src/typings/org.bukkit.inventory.FurnaceRecipe.ts
@@ -0,0 +1,31 @@
+declare namespace org {
+ namespace bukkit {
+ namespace inventory {
+ class FurnaceRecipe {
+ constructor(result: org.bukkit.inventory.ItemStack, source: org.bukkit.Material)
+ constructor(result: org.bukkit.inventory.ItemStack, source: org.bukkit.material.MaterialData)
+ constructor(result: org.bukkit.inventory.ItemStack, source: org.bukkit.material.MaterialData, experience: number)
+ constructor(result: org.bukkit.inventory.ItemStack, source: org.bukkit.Material, data: number)
+ /**
+ * Create a furnace recipe to craft the specified ItemStack.
+ */
+ constructor(key: org.bukkit.NamespacedKey, result: org.bukkit.inventory.ItemStack, source: org.bukkit.Material, experience: number, cookingTime: number)
+ constructor(key: org.bukkit.NamespacedKey, result: org.bukkit.inventory.ItemStack, source: org.bukkit.Material, data: number, experience: number, cookingTime: number)
+ /**
+ * Create a furnace recipe to craft the specified ItemStack.
+ */
+ constructor(key: org.bukkit.NamespacedKey, result: org.bukkit.inventory.ItemStack, input: org.bukkit.inventory.RecipeChoice, experience: number, cookingTime: number)
+ /**
+ * Sets the input of this furnace recipe.
+ */
+ public setInput(input: org.bukkit.material.MaterialData): org.bukkit.inventory.FurnaceRecipe;
+ public setInput(input: org.bukkit.Material): org.bukkit.inventory.FurnaceRecipe;
+ /**
+ * Sets the input of this furnace recipe.
+ */
+ public setInput(input: org.bukkit.Material, data: number): org.bukkit.inventory.FurnaceRecipe;
+ public setInputChoice(input: org.bukkit.inventory.RecipeChoice): org.bukkit.inventory.FurnaceRecipe;
+ }
+ }
+ }
+}
diff --git a/packages/bukkit/src/typings/org.bukkit.inventory.GrindstoneInventory.ts b/packages/bukkit/src/typings/org.bukkit.inventory.GrindstoneInventory.ts
new file mode 100644
index 00000000..cea441a7
--- /dev/null
+++ b/packages/bukkit/src/typings/org.bukkit.inventory.GrindstoneInventory.ts
@@ -0,0 +1,8 @@
+declare namespace org {
+ namespace bukkit {
+ namespace inventory {
+ class GrindstoneInventory {
+ }
+ }
+ }
+}
diff --git a/packages/bukkit/src/typings/org.bukkit.inventory.HorseInventory.ts b/packages/bukkit/src/typings/org.bukkit.inventory.HorseInventory.ts
new file mode 100644
index 00000000..cf282bc0
--- /dev/null
+++ b/packages/bukkit/src/typings/org.bukkit.inventory.HorseInventory.ts
@@ -0,0 +1,16 @@
+declare namespace org {
+ namespace bukkit {
+ namespace inventory {
+ class HorseInventory {
+ /**
+ * Gets the item in the horse's armor slot.
+ */
+ public getArmor(): org.bukkit.inventory.ItemStack;
+ /**
+ * Sets the item in the horse's armor slot.
+ */
+ public setArmor(stack: org.bukkit.inventory.ItemStack): void;
+ }
+ }
+ }
+}
diff --git a/packages/bukkit/src/typings/org.bukkit.inventory.Inventory.ts b/packages/bukkit/src/typings/org.bukkit.inventory.Inventory.ts
new file mode 100644
index 00000000..18acd95f
--- /dev/null
+++ b/packages/bukkit/src/typings/org.bukkit.inventory.Inventory.ts
@@ -0,0 +1,214 @@
+declare namespace org {
+ namespace bukkit {
+ namespace inventory {
+ class Inventory {
+ /**
+ * Returns the size of the inventory
+ */
+ public getSize(): number;
+ /**
+ * Returns the maximum stack size for an ItemStack in this inventory.
+ */
+ public getMaxStackSize(): number;
+ /**
+ * This method allows you to change the maximum stack size for an
+ * inventory.
+ *
+ *
+ */
+ public setMaxStackSize(size: number): void;
+ /**
+ * Returns the ItemStack found in the slot at the given index
+ */
+ public getItem(index: number): org.bukkit.inventory.ItemStack;
+ /**
+ * Stores the ItemStack at the given index of the inventory.
+ */
+ public setItem(index: number, item: org.bukkit.inventory.ItemStack): void;
+ /**
+ * Stores the given ItemStacks in the inventory. This will try to fill
+ * existing stacks and empty slots as well as it can.
+ *
+ * It is these contents which will be used for add / contains / remove
+ * methods which look for a specific stack.
+ */
+ public getStorageContents(): org.bukkit.inventory.ItemStack[];
+ /**
+ * Put the given ItemStacks into the storage slots
+ */
+ public setStorageContents(items: org.bukkit.inventory.ItemStack): void;
+ /**
+ * Checks if the inventory contains any ItemStacks with the given
+ * material.
+ */
+ public contains(material: org.bukkit.Material): boolean;
+ /**
+ * Checks if the inventory contains any ItemStacks matching the given
+ * ItemStack.
+ *
+ * This will not change the selected trades of players currently trading
+ * with this merchant.
+ */
+ public setRecipes(recipes: any[] /*java.util.List*/): void;
+ /**
+ * Get the recipe at a certain index of this merchant's trade list.
+ */
+ public getRecipe(i: number): org.bukkit.inventory.MerchantRecipe;
+ /**
+ * Set the recipe at a certain index of this merchant's trade list.
+ */
+ public setRecipe(i: number, recipe: org.bukkit.inventory.MerchantRecipe): void;
+ /**
+ * Get the number of trades this merchant currently has available.
+ */
+ public getRecipeCount(): number;
+ /**
+ * Gets whether this merchant is currently trading.
+ */
+ public isTrading(): boolean;
+ /**
+ * Gets the player this merchant is trading with, or null if it is not
+ * currently trading.
+ */
+ public getTrader(): org.bukkit.entity.HumanEntity;
+ }
+ }
+ }
+}
diff --git a/packages/bukkit/src/typings/org.bukkit.inventory.MerchantInventory.ts b/packages/bukkit/src/typings/org.bukkit.inventory.MerchantInventory.ts
new file mode 100644
index 00000000..fcbe5516
--- /dev/null
+++ b/packages/bukkit/src/typings/org.bukkit.inventory.MerchantInventory.ts
@@ -0,0 +1,26 @@
+declare namespace org {
+ namespace bukkit {
+ namespace inventory {
+ class MerchantInventory {
+ /**
+ * Get the index of the currently selected recipe.
+ */
+ public getSelectedRecipeIndex(): number;
+ /**
+ * Get the currently active recipe.
+ * null
if the items provided by the player do
+ * not match the ingredients of the selected recipe. This does not
+ * necessarily match the recipe selected by the player: If the player has
+ * selected the first recipe, the merchant will search all of its offers
+ * for a matching recipe to activate.
+ */
+ public getSelectedRecipe(): org.bukkit.inventory.MerchantRecipe;
+ /**
+ * Gets the Merchant associated with this inventory.
+ */
+ public getMerchant(): org.bukkit.inventory.Merchant;
+ }
+ }
+ }
+}
diff --git a/packages/bukkit/src/typings/org.bukkit.inventory.MerchantRecipe.ts b/packages/bukkit/src/typings/org.bukkit.inventory.MerchantRecipe.ts
new file mode 100644
index 00000000..9c13a79a
--- /dev/null
+++ b/packages/bukkit/src/typings/org.bukkit.inventory.MerchantRecipe.ts
@@ -0,0 +1,59 @@
+declare namespace org {
+ namespace bukkit {
+ namespace inventory {
+ class MerchantRecipe {
+ constructor(result: org.bukkit.inventory.ItemStack, maxUses: number)
+ constructor(result: org.bukkit.inventory.ItemStack, uses: number, maxUses: number, experienceReward: boolean)
+ constructor(result: org.bukkit.inventory.ItemStack, uses: number, maxUses: number, experienceReward: boolean, villagerExperience: number, priceMultiplier: number)
+ public getResult(): org.bukkit.inventory.ItemStack;
+ public addIngredient(item: org.bukkit.inventory.ItemStack): void;
+ public removeIngredient(index: number): void;
+ public setIngredients(ingredients: any[] /*java.util.List*/): void;
+ public getIngredients(): any[] /*java.util.List*/;
+ /**
+ * Get the number of times this trade has been used.
+ */
+ public getUses(): number;
+ /**
+ * Set the number of times this trade has been used.
+ */
+ public setUses(uses: number): void;
+ /**
+ * Get the maximum number of uses this trade has.
+ *
+ * The maximum uses of this trade may increase when a player trades with the
+ * owning merchant.
+ */
+ public getMaxUses(): number;
+ /**
+ * Set the maximum number of uses this trade has.
+ */
+ public setMaxUses(maxUses: number): void;
+ /**
+ * Whether to reward experience to the player for the trade.
+ */
+ public hasExperienceReward(): boolean;
+ /**
+ * Set whether to reward experience to the player for the trade.
+ */
+ public setExperienceReward(flag: boolean): void;
+ /**
+ * Gets the amount of experience the villager earns from this trade.
+ */
+ public getVillagerExperience(): number;
+ /**
+ * Sets the amount of experience the villager earns from this trade.
+ */
+ public setVillagerExperience(villagerExperience: number): void;
+ /**
+ * Gets the additive price multiplier for the cost of this trade.
+ */
+ public getPriceMultiplier(): number;
+ /**
+ * Sets the additive price multiplier for the cost of this trade.
+ */
+ public setPriceMultiplier(priceMultiplier: number): void;
+ }
+ }
+ }
+}
diff --git a/packages/bukkit/src/typings/org.bukkit.inventory.PlayerInventory.ts b/packages/bukkit/src/typings/org.bukkit.inventory.PlayerInventory.ts
new file mode 100644
index 00000000..d1766319
--- /dev/null
+++ b/packages/bukkit/src/typings/org.bukkit.inventory.PlayerInventory.ts
@@ -0,0 +1,120 @@
+declare namespace org {
+ namespace bukkit {
+ namespace inventory {
+ class PlayerInventory {
+ /**
+ * Get all ItemStacks from the armor slots
+ */
+ public getArmorContents(): org.bukkit.inventory.ItemStack[];
+ /**
+ * Get all additional ItemStacks stored in this inventory.
+ *
+ * NB: What defines an extra slot is up to the implementation, however it
+ * will not be contained within {@link #getStorageContents()} or
+ * {@link #getArmorContents()}
+ */
+ public getExtraContents(): org.bukkit.inventory.ItemStack[];
+ /**
+ * Return the ItemStack from the helmet slot
+ */
+ public getHelmet(): org.bukkit.inventory.ItemStack;
+ /**
+ * Return the ItemStack from the chestplate slot
+ */
+ public getChestplate(): org.bukkit.inventory.ItemStack;
+ /**
+ * Return the ItemStack from the leg slot
+ */
+ public getLeggings(): org.bukkit.inventory.ItemStack;
+ /**
+ * Return the ItemStack from the boots slot
+ */
+ public getBoots(): org.bukkit.inventory.ItemStack;
+ /**
+ * Stores the ItemStack at the given index of the inventory.
+ *
+ * See {@link #getExtraContents()} for an explanation of extra slots.
+ */
+ public setExtraContents(items: org.bukkit.inventory.ItemStack): void;
+ /**
+ * Put the given ItemStack into the helmet slot. This does not check if
+ * the ItemStack is a helmet
+ */
+ public setHelmet(helmet: org.bukkit.inventory.ItemStack): void;
+ /**
+ * Put the given ItemStack into the chestplate slot. This does not check
+ * if the ItemStack is a chestplate
+ */
+ public setChestplate(chestplate: org.bukkit.inventory.ItemStack): void;
+ /**
+ * Put the given ItemStack into the leg slot. This does not check if the
+ * ItemStack is a pair of leggings
+ */
+ public setLeggings(leggings: org.bukkit.inventory.ItemStack): void;
+ /**
+ * Put the given ItemStack into the boots slot. This does not check if the
+ * ItemStack is a boots
+ */
+ public setBoots(boots: org.bukkit.inventory.ItemStack): void;
+ /**
+ * Gets a copy of the item the player is currently holding
+ * in their main hand.
+ */
+ public getItemInMainHand(): org.bukkit.inventory.ItemStack;
+ /**
+ * Sets the item the player is holding in their main hand.
+ */
+ public setItemInMainHand(item: org.bukkit.inventory.ItemStack): void;
+ /**
+ * Gets a copy of the item the player is currently holding
+ * in their off hand.
+ */
+ public getItemInOffHand(): org.bukkit.inventory.ItemStack;
+ /**
+ * Sets the item the player is holding in their off hand.
+ */
+ public setItemInOffHand(item: org.bukkit.inventory.ItemStack): void;
+ /**
+ * Gets a copy of the item the player is currently holding
+ */
+ public getItemInHand(): org.bukkit.inventory.ItemStack;
+ /**
+ * Sets the item the player is holding
+ */
+ public setItemInHand(stack: org.bukkit.inventory.ItemStack): void;
+ /**
+ * Get the slot number of the currently held item
+ */
+ public getHeldItemSlot(): number;
+ /**
+ * Set the slot number of the currently held item.
+ * true
+ * before calling this method.
+ */
+ public getDisplayName(): string;
+ /**
+ * Sets the display name.
+ */
+ public setDisplayName(name: string): void;
+ /**
+ * Checks for existence of a localized name.
+ */
+ public hasLocalizedName(): boolean;
+ /**
+ * Gets the localized display name that is set.
+ * true
+ * before calling this method.
+ */
+ public getLocalizedName(): string;
+ /**
+ * Sets the localized name.
+ */
+ public setLocalizedName(name: string): void;
+ /**
+ * Checks for existence of lore.
+ */
+ public hasLore(): boolean;
+ /**
+ * Gets the lore that is set.
+ * true
before
+ * calling this method.
+ */
+ public getLore(): any[] /*java.util.List*/;
+ /**
+ * Sets the lore for this item.
+ * Removes lore when given null.
+ */
+ public setLore(lore: any[] /*java.util.List*/): void;
+ /**
+ * Checks for existence of custom model data.
+ * true
+ * before calling this method.
+ */
+ public getCustomModelData(): number;
+ /**
+ * Sets the custom model data.
+ *
+ * Returns an empty map if none.
+ */
+ public getEnchants(): Map
+ * Returns null if none exist.
+ */
+ public getAttributeModifiers(): any;
+ /**
+ * Return an immutable copy of all {@link Attribute}s and their
+ * {@link AttributeModifier}s for a given {@link EquipmentSlot}.
+ * Any {@link AttributeModifier} that does have have a given
+ * {@link EquipmentSlot} will be returned. This is because
+ * AttributeModifiers without a slot are active in any slot.
+ * If there are no attributes set for the given slot, an empty map
+ * will be returned.
+ */
+ public getAttributeModifiers(slot: org.bukkit.inventory.EquipmentSlot): any;
+ /**
+ * Return an immutable copy of all {@link AttributeModifier}s
+ * for a given {@link Attribute}
+ */
+ public getAttributeModifiers(attribute: org.bukkit.attribute.Attribute): any[] /*java.util.Collection*/;
+ /**
+ * Add an Attribute and it's Modifier.
+ * AttributeModifiers can now support {@link EquipmentSlot}s.
+ * If not set, the {@link AttributeModifier} will be active in ALL slots.
+ *
+ * Two {@link AttributeModifier}s that have the same {@link java.util.UUID}
+ * cannot exist on the same Attribute.
+ */
+ public addAttributeModifier(attribute: org.bukkit.attribute.Attribute, modifier: org.bukkit.attribute.AttributeModifier): boolean;
+ /**
+ * Set all {@link Attribute}s and their {@link AttributeModifier}s.
+ * To clear all currently set Attributes and AttributeModifiers use
+ * null or an empty Multimap.
+ * If not null nor empty, this will filter all entries that are not-null
+ * and add them to the ItemStack.
+ */
+ public setAttributeModifiers(attributeModifiers: any): void;
+ /**
+ * Remove all {@link AttributeModifier}s associated with the given
+ * {@link Attribute}.
+ * This will return false if nothing was removed.
+ */
+ public removeAttributeModifier(attribute: org.bukkit.attribute.Attribute): boolean;
+ /**
+ * Remove all {@link Attribute}s and {@link AttributeModifier}s for a
+ * given {@link EquipmentSlot}.
+ * If the given {@link EquipmentSlot} is null, this will remove all
+ * {@link AttributeModifier}s that do not have an EquipmentSlot set.
+ */
+ public removeAttributeModifier(slot: org.bukkit.inventory.EquipmentSlot): boolean;
+ /**
+ * Remove a specific {@link Attribute} and {@link AttributeModifier}.
+ * AttributeModifiers are matched according to their {@link java.util.UUID}.
+ */
+ public removeAttributeModifier(attribute: org.bukkit.attribute.Attribute, modifier: org.bukkit.attribute.AttributeModifier): boolean;
+ /**
+ * Returns a public custom tag container capable of storing tags on the
+ * item.
+ * Those tags will be sent to the client with all of their content, so the
+ * client is capable of reading them. This will result in the player seeing
+ * a NBT Tag notification on the item.
+ * These tags can also be modified by the client once in creative mode
+ */
+ public getCustomTagContainer(): org.bukkit.inventory.meta.tags.CustomItemTagContainer;
+ /**
+ * Internal use only! Do not use under any circumstances!
+ */
+ public setVersion(version: number): void;
+ public clone(): org.bukkit.inventory.meta.ItemMeta;
+ }
+ }
+ }
+ }
+}
diff --git a/packages/bukkit/src/typings/org.bukkit.inventory.meta.KnowledgeBookMeta.ts b/packages/bukkit/src/typings/org.bukkit.inventory.meta.KnowledgeBookMeta.ts
new file mode 100644
index 00000000..e75f05b1
--- /dev/null
+++ b/packages/bukkit/src/typings/org.bukkit.inventory.meta.KnowledgeBookMeta.ts
@@ -0,0 +1,28 @@
+declare namespace org {
+ namespace bukkit {
+ namespace inventory {
+ namespace meta {
+ class KnowledgeBookMeta {
+ /**
+ * Checks for the existence of recipes in the book.
+ */
+ public hasRecipes(): boolean;
+ /**
+ * Gets all the recipes in the book.
+ */
+ public getRecipes(): any[] /*java.util.List*/;
+ /**
+ * Clears the existing book recipes, and sets the book to use the provided
+ * recipes.
+ */
+ public setRecipes(recipes: any[] /*java.util.List*/): void;
+ /**
+ * Adds new recipe to the end of the book.
+ */
+ public addRecipe(recipes: org.bukkit.NamespacedKey): void;
+ public clone(): org.bukkit.inventory.meta.KnowledgeBookMeta;
+ }
+ }
+ }
+ }
+}
diff --git a/packages/bukkit/src/typings/org.bukkit.inventory.meta.LeatherArmorMeta.ts b/packages/bukkit/src/typings/org.bukkit.inventory.meta.LeatherArmorMeta.ts
new file mode 100644
index 00000000..92b2f62f
--- /dev/null
+++ b/packages/bukkit/src/typings/org.bukkit.inventory.meta.LeatherArmorMeta.ts
@@ -0,0 +1,20 @@
+declare namespace org {
+ namespace bukkit {
+ namespace inventory {
+ namespace meta {
+ class LeatherArmorMeta {
+ /**
+ * Gets the color of the armor. If it has not been set otherwise, it will
+ * be {@link ItemFactory#getDefaultLeatherColor()}.
+ */
+ public getColor(): org.bukkit.Color;
+ /**
+ * Sets the color of the armor.
+ */
+ public setColor(color: org.bukkit.Color): void;
+ public clone(): org.bukkit.inventory.meta.LeatherArmorMeta;
+ }
+ }
+ }
+ }
+}
diff --git a/packages/bukkit/src/typings/org.bukkit.inventory.meta.MapMeta.ts b/packages/bukkit/src/typings/org.bukkit.inventory.meta.MapMeta.ts
new file mode 100644
index 00000000..c68c5179
--- /dev/null
+++ b/packages/bukkit/src/typings/org.bukkit.inventory.meta.MapMeta.ts
@@ -0,0 +1,87 @@
+declare namespace org {
+ namespace bukkit {
+ namespace inventory {
+ namespace meta {
+ class MapMeta {
+ /**
+ * Checks for existence of a map ID number.
+ */
+ public hasMapId(): boolean;
+ /**
+ * Gets the map ID that is set. This is used to determine what map is
+ * displayed.
+ * true
before
+ * calling this method.
+ */
+ public getMapId(): number;
+ /**
+ * Sets the map ID. This is used to determine what map is displayed.
+ */
+ public setMapId(id: number): void;
+ /**
+ * Checks for existence of an associated map.
+ */
+ public hasMapView(): boolean;
+ /**
+ * Gets the map view that is associated with this map item.
+ * true
before
+ * calling this method.
+ */
+ public getMapView(): org.bukkit.map.MapView;
+ /**
+ * Sets the associated map. This is used to determine what map is displayed.
+ * true
+ * before calling this method.
+ */
+ public getLocationName(): string;
+ /**
+ * Sets the location name. A custom map color will alter the display of the
+ * map in an inventory slot.
+ */
+ public setLocationName(name: string): void;
+ /**
+ * Checks for existence of a map color.
+ */
+ public hasColor(): boolean;
+ /**
+ * Gets the map color that is set. A custom map color will alter the display
+ * of the map in an inventory slot.
+ * true
before
+ * calling this method.
+ */
+ public getColor(): org.bukkit.Color;
+ /**
+ * Sets the map color. A custom map color will alter the display of the map
+ * in an inventory slot.
+ */
+ public setColor(color: org.bukkit.Color): void;
+ public clone(): org.bukkit.inventory.meta.MapMeta;
+ }
+ }
+ }
+ }
+}
diff --git a/packages/bukkit/src/typings/org.bukkit.inventory.meta.PotionMeta.ts b/packages/bukkit/src/typings/org.bukkit.inventory.meta.PotionMeta.ts
new file mode 100644
index 00000000..0ab5ceaa
--- /dev/null
+++ b/packages/bukkit/src/typings/org.bukkit.inventory.meta.PotionMeta.ts
@@ -0,0 +1,70 @@
+declare namespace org {
+ namespace bukkit {
+ namespace inventory {
+ namespace meta {
+ class PotionMeta {
+ /**
+ * Sets the underlying potion data
+ */
+ public setBasePotionData(data: org.bukkit.potion.PotionData): void;
+ /**
+ * Returns the potion data about the base potion
+ */
+ public getBasePotionData(): org.bukkit.potion.PotionData;
+ /**
+ * Checks for the presence of custom potion effects.
+ */
+ public hasCustomEffects(): boolean;
+ /**
+ * Gets an immutable list containing all custom potion effects applied to
+ * this potion.
+ * true
before
+ * calling this method.
+ */
+ public getColor(): org.bukkit.Color;
+ /**
+ * Sets the potion color. A custom potion color will alter the display of
+ * the potion in an inventory slot.
+ */
+ public setColor(color: org.bukkit.Color): void;
+ public clone(): org.bukkit.inventory.meta.PotionMeta;
+ }
+ }
+ }
+ }
+}
diff --git a/packages/bukkit/src/typings/org.bukkit.inventory.meta.Repairable.ts b/packages/bukkit/src/typings/org.bukkit.inventory.meta.Repairable.ts
new file mode 100644
index 00000000..226282ba
--- /dev/null
+++ b/packages/bukkit/src/typings/org.bukkit.inventory.meta.Repairable.ts
@@ -0,0 +1,23 @@
+declare namespace org {
+ namespace bukkit {
+ namespace inventory {
+ namespace meta {
+ class Repairable {
+ /**
+ * Checks to see if this has a repair penalty
+ */
+ public hasRepairCost(): boolean;
+ /**
+ * Gets the repair penalty
+ */
+ public getRepairCost(): number;
+ /**
+ * Sets the repair penalty
+ */
+ public setRepairCost(cost: number): void;
+ public clone(): org.bukkit.inventory.meta.Repairable;
+ }
+ }
+ }
+ }
+}
diff --git a/packages/bukkit/src/typings/org.bukkit.inventory.meta.SkullMeta.ts b/packages/bukkit/src/typings/org.bukkit.inventory.meta.SkullMeta.ts
new file mode 100644
index 00000000..3021f6ef
--- /dev/null
+++ b/packages/bukkit/src/typings/org.bukkit.inventory.meta.SkullMeta.ts
@@ -0,0 +1,34 @@
+declare namespace org {
+ namespace bukkit {
+ namespace inventory {
+ namespace meta {
+ class SkullMeta {
+ /**
+ * Gets the owner of the skull.
+ */
+ public getOwner(): string;
+ /**
+ * Checks to see if the skull has an owner.
+ */
+ public hasOwner(): boolean;
+ /**
+ * Sets the owner of the skull.
+ */
+ public setOwner(owner: string): boolean;
+ /**
+ * Gets the owner of the skull.
+ */
+ public getOwningPlayer(): org.bukkit.OfflinePlayer;
+ /**
+ * Sets the owner of the skull.
+ * true
before
+ * calling this method.
+ */
+ public getPatternColor(): org.bukkit.DyeColor;
+ /**
+ * Sets the color of the fish's pattern.
+ * false
will initialize
+ * all other values to unspecified defaults.
+ */
+ public setPatternColor(color: org.bukkit.DyeColor): void;
+ /**
+ * Gets the color of the fish's body.
+ * true
before
+ * calling this method.
+ */
+ public getBodyColor(): org.bukkit.DyeColor;
+ /**
+ * Sets the color of the fish's body.
+ * false
will initialize
+ * all other values to unspecified defaults.
+ */
+ public setBodyColor(color: org.bukkit.DyeColor): void;
+ /**
+ * Gets the fish's pattern.
+ * true
before
+ * calling this method.
+ */
+ public getPattern(): org.bukkit.entity.TropicalFish.Pattern;
+ /**
+ * Sets the fish's pattern.
+ * false
will initialize
+ * all other values to unspecified defaults.
+ */
+ public setPattern(pattern: org.bukkit.entity.TropicalFish.Pattern): void;
+ /**
+ * Checks for existence of a variant tag indicating a specific fish will be
+ * spawned.
+ */
+ public hasVariant(): boolean;
+ public clone(): org.bukkit.inventory.meta.TropicalFishBucketMeta;
+ }
+ }
+ }
+ }
+}
diff --git a/packages/bukkit/src/typings/org.bukkit.inventory.meta.tags.CustomItemTagContainer.ts b/packages/bukkit/src/typings/org.bukkit.inventory.meta.tags.CustomItemTagContainer.ts
new file mode 100644
index 00000000..2248f0bc
--- /dev/null
+++ b/packages/bukkit/src/typings/org.bukkit.inventory.meta.tags.CustomItemTagContainer.ts
@@ -0,0 +1,51 @@
+declare namespace org {
+ namespace bukkit {
+ namespace inventory {
+ namespace meta {
+ namespace tags {
+ class CustomItemTagContainer {
+ /**
+ * Stores a custom value on the {@link ItemMeta}.
+ * This API cannot be used to manipulate minecraft tags, as the values will
+ * be stored using your namespace. This method will override any existing
+ * value the meta may have stored under the provided key.
+ */
+ public setCustomTag(key: org.bukkit.NamespacedKey, type: org.bukkit.inventory.meta.tags.ItemTagType, value: any): void;
+ /**
+ * Returns if the item meta has a custom tag registered matching the
+ * provided parameters.
+ * This method will only return if the found value has the same primitive
+ * data type as the provided key.
+ * Storing a value using a custom {@link ItemTagType} implementation will
+ * not store the complex data type. Therefore storing a UUID (by storing a
+ * byte[]) will match hasCustomTag("key" , {@link ItemTagType#BYTE_ARRAY}).
+ * Likewise a stored byte[] will always match your UUID {@link ItemTagType}
+ * even if it is not 16 bytes long.
+ * This method is only usable for custom object keys. Overwriting existing
+ * tags, like the the display name, will not work as the values are stored
+ * using your namespace.
+ */
+ public hasCustomTag(key: org.bukkit.NamespacedKey, type: org.bukkit.inventory.meta.tags.ItemTagType): boolean;
+ /**
+ * Returns the custom tag's value that is stored on the item.
+ */
+ public getCustomTag(key: org.bukkit.NamespacedKey, type: org.bukkit.inventory.meta.tags.ItemTagType): any;
+ /**
+ * Removes a custom key from the item meta.
+ */
+ public removeCustomTag(key: org.bukkit.NamespacedKey): void;
+ /**
+ * Returns if the container instance is empty, therefore has no entries
+ * inside it.
+ */
+ public isEmpty(): boolean;
+ /**
+ * Returns the adapter context this tag container uses.
+ */
+ public getAdapterContext(): org.bukkit.inventory.meta.tags.ItemTagAdapterContext;
+ }
+ }
+ }
+ }
+ }
+}
diff --git a/packages/bukkit/src/typings/org.bukkit.inventory.meta.tags.ItemTagAdapterContext.ts b/packages/bukkit/src/typings/org.bukkit.inventory.meta.tags.ItemTagAdapterContext.ts
new file mode 100644
index 00000000..890bc881
--- /dev/null
+++ b/packages/bukkit/src/typings/org.bukkit.inventory.meta.tags.ItemTagAdapterContext.ts
@@ -0,0 +1,16 @@
+declare namespace org {
+ namespace bukkit {
+ namespace inventory {
+ namespace meta {
+ namespace tags {
+ class ItemTagAdapterContext {
+ /**
+ * Creates a new and empty tag container instance.
+ */
+ public newTagContainer(): org.bukkit.inventory.meta.tags.CustomItemTagContainer;
+ }
+ }
+ }
+ }
+ }
+}
diff --git a/packages/bukkit/src/typings/org.bukkit.inventory.meta.tags.ItemTagType.PrimitiveTagType.ts b/packages/bukkit/src/typings/org.bukkit.inventory.meta.tags.ItemTagType.PrimitiveTagType.ts
new file mode 100644
index 00000000..e82021ee
--- /dev/null
+++ b/packages/bukkit/src/typings/org.bukkit.inventory.meta.tags.ItemTagType.PrimitiveTagType.ts
@@ -0,0 +1,18 @@
+declare namespace org {
+ namespace bukkit {
+ namespace inventory {
+ namespace meta {
+ namespace tags {
+ namespace ItemTagType {
+ class PrimitiveTagType {
+ public getPrimitiveType(): any;
+ public getComplexType(): any;
+ public toPrimitive(complex: any, context: org.bukkit.inventory.meta.tags.ItemTagAdapterContext): any;
+ public fromPrimitive(primitive: any, context: org.bukkit.inventory.meta.tags.ItemTagAdapterContext): any;
+ }
+ }
+ }
+ }
+ }
+ }
+}
diff --git a/packages/bukkit/src/typings/org.bukkit.inventory.meta.tags.ItemTagType.ts b/packages/bukkit/src/typings/org.bukkit.inventory.meta.tags.ItemTagType.ts
new file mode 100644
index 00000000..a1d071d8
--- /dev/null
+++ b/packages/bukkit/src/typings/org.bukkit.inventory.meta.tags.ItemTagType.ts
@@ -0,0 +1,40 @@
+declare namespace org {
+ namespace bukkit {
+ namespace inventory {
+ namespace meta {
+ namespace tags {
+ class ItemTagType {
+ public static BYTE: org.bukkit.inventory.meta.tags.ItemTagType;
+ public static SHORT: org.bukkit.inventory.meta.tags.ItemTagType;
+ public static INTEGER: org.bukkit.inventory.meta.tags.ItemTagType;
+ public static LONG: org.bukkit.inventory.meta.tags.ItemTagType;
+ public static FLOAT: org.bukkit.inventory.meta.tags.ItemTagType;
+ public static DOUBLE: org.bukkit.inventory.meta.tags.ItemTagType;
+ public static STRING: org.bukkit.inventory.meta.tags.ItemTagType;
+ public static BYTE_ARRAY: org.bukkit.inventory.meta.tags.ItemTagType;
+ public static INTEGER_ARRAY: org.bukkit.inventory.meta.tags.ItemTagType;
+ public static LONG_ARRAY: org.bukkit.inventory.meta.tags.ItemTagType;
+ public static TAG_CONTAINER: org.bukkit.inventory.meta.tags.ItemTagType;
+ /**
+ * Returns the primitive data type of this tag.
+ */
+ public getPrimitiveType(): any;
+ /**
+ * Returns the complex object type the primitive value resembles.
+ */
+ public getComplexType(): any;
+ /**
+ * Returns the primitive data that resembles the complex object passed to
+ * this method.
+ */
+ public toPrimitive(complex: any, context: org.bukkit.inventory.meta.tags.ItemTagAdapterContext): any;
+ /**
+ * Creates a complex object based of the passed primitive value
+ */
+ public fromPrimitive(primitive: any, context: org.bukkit.inventory.meta.tags.ItemTagAdapterContext): any;
+ }
+ }
+ }
+ }
+ }
+}
diff --git a/packages/bukkit/src/typings/org.bukkit.loot.LootContext.Builder.ts b/packages/bukkit/src/typings/org.bukkit.loot.LootContext.Builder.ts
new file mode 100644
index 00000000..f94fcc3e
--- /dev/null
+++ b/packages/bukkit/src/typings/org.bukkit.loot.LootContext.Builder.ts
@@ -0,0 +1,41 @@
+declare namespace org {
+ namespace bukkit {
+ namespace loot {
+ namespace LootContext {
+ class Builder {
+ /**
+ * Creates a new LootContext.Builder instance to facilitate easy
+ * creation of {@link LootContext}s.
+ */
+ constructor(location: org.bukkit.Location)
+ /**
+ * Set how much luck to have when generating loot.
+ */
+ public luck(luck: number): org.bukkit.loot.LootContext.Builder;
+ /**
+ * Set the {@link org.bukkit.enchantments.Enchantment#LOOT_BONUS_MOBS}
+ * level equivalent to use when generating loot. Values less than or
+ * equal to 0 will force the {@link LootTable} to only return a single
+ * {@link org.bukkit.inventory.ItemStack} per pool.
+ */
+ public lootingModifier(modifier: number): org.bukkit.loot.LootContext.Builder;
+ /**
+ * The entity that was killed.
+ */
+ public lootedEntity(lootedEntity: org.bukkit.entity.Entity): org.bukkit.loot.LootContext.Builder;
+ /**
+ * Set the {@link org.bukkit.entity.HumanEntity} that killed
+ * {@link #getLootedEntity()}. This entity will be used to get the
+ * looting level if {@link #lootingModifier(int)} is not set.
+ */
+ public killer(killer: org.bukkit.entity.HumanEntity): org.bukkit.loot.LootContext.Builder;
+ /**
+ * Create a new {@link LootContext} instance using the supplied
+ * parameters.
+ */
+ public build(): org.bukkit.loot.LootContext;
+ }
+ }
+ }
+ }
+}
diff --git a/packages/bukkit/src/typings/org.bukkit.loot.LootContext.ts b/packages/bukkit/src/typings/org.bukkit.loot.LootContext.ts
new file mode 100644
index 00000000..f2047953
--- /dev/null
+++ b/packages/bukkit/src/typings/org.bukkit.loot.LootContext.ts
@@ -0,0 +1,37 @@
+declare namespace org {
+ namespace bukkit {
+ namespace loot {
+ class LootContext {
+ public static DEFAULT_LOOT_MODIFIER: number;
+ /**
+ * The {@link Location} to store where the loot will be generated.
+ */
+ public getLocation(): org.bukkit.Location;
+ /**
+ * Represents the {@link org.bukkit.potion.PotionEffectType#LUCK} that an
+ * entity can have. The higher the value the better chance of receiving more
+ * loot.
+ */
+ public getLuck(): number;
+ /**
+ * Represents the
+ * {@link org.bukkit.enchantments.Enchantment#LOOT_BONUS_MOBS} the
+ * {@link #getKiller()} entity has on their equipped item.
+ * This value is only set via
+ * {@link LootContext.Builder#lootingModifier(int)}. If not set, the
+ * {@link #getKiller()} entity's looting level will be used instead.
+ */
+ public getLootingModifier(): number;
+ /**
+ * Get the {@link Entity} that was killed. Can be null.
+ */
+ public getLootedEntity(): org.bukkit.entity.Entity;
+ /**
+ * Get the {@link HumanEntity} who killed the {@link #getLootedEntity()}.
+ * Can be null.
+ */
+ public getKiller(): org.bukkit.entity.HumanEntity;
+ }
+ }
+ }
+}
diff --git a/packages/bukkit/src/typings/org.bukkit.loot.LootTable.ts b/packages/bukkit/src/typings/org.bukkit.loot.LootTable.ts
new file mode 100644
index 00000000..a34cd3b8
--- /dev/null
+++ b/packages/bukkit/src/typings/org.bukkit.loot.LootTable.ts
@@ -0,0 +1,16 @@
+declare namespace org {
+ namespace bukkit {
+ namespace loot {
+ class LootTable {
+ /**
+ * Returns a mutable list of loot generated by this LootTable.
+ */
+ public populateLoot(random: any, context: org.bukkit.loot.LootContext): any[] /*java.util.Collection*/;
+ /**
+ * Attempt to fill an inventory with this LootTable's loot.
+ */
+ public fillInventory(inventory: org.bukkit.inventory.Inventory, random: any, context: org.bukkit.loot.LootContext): void;
+ }
+ }
+ }
+}
diff --git a/packages/bukkit/src/typings/org.bukkit.loot.LootTables.ts b/packages/bukkit/src/typings/org.bukkit.loot.LootTables.ts
new file mode 100644
index 00000000..58e2748d
--- /dev/null
+++ b/packages/bukkit/src/typings/org.bukkit.loot.LootTables.ts
@@ -0,0 +1,152 @@
+declare namespace org {
+ namespace bukkit {
+ namespace loot {
+ class LootTables {
+ public static EMPTY: org.bukkit.loot.LootTables;
+ public static ABANDONED_MINESHAFT: org.bukkit.loot.LootTables;
+ public static BURIED_TREASURE: org.bukkit.loot.LootTables;
+ public static DESERT_PYRAMID: org.bukkit.loot.LootTables;
+ public static END_CITY_TREASURE: org.bukkit.loot.LootTables;
+ public static IGLOO_CHEST: org.bukkit.loot.LootTables;
+ public static JUNGLE_TEMPLE: org.bukkit.loot.LootTables;
+ public static JUNGLE_TEMPLE_DISPENSER: org.bukkit.loot.LootTables;
+ public static NETHER_BRIDGE: org.bukkit.loot.LootTables;
+ public static PILLAGER_OUTPOST: org.bukkit.loot.LootTables;
+ public static SHIPWRECK_MAP: org.bukkit.loot.LootTables;
+ public static SHIPWRECK_SUPPLY: org.bukkit.loot.LootTables;
+ public static SHIPWRECK_TREASURE: org.bukkit.loot.LootTables;
+ public static SIMPLE_DUNGEON: org.bukkit.loot.LootTables;
+ public static SPAWN_BONUS_CHEST: org.bukkit.loot.LootTables;
+ public static STRONGHOLD_CORRIDOR: org.bukkit.loot.LootTables;
+ public static STRONGHOLD_CROSSING: org.bukkit.loot.LootTables;
+ public static STRONGHOLD_LIBRARY: org.bukkit.loot.LootTables;
+ public static UNDERWATER_RUIN_BIG: org.bukkit.loot.LootTables;
+ public static UNDERWATER_RUIN_SMALL: org.bukkit.loot.LootTables;
+ public static VILLAGE_ARMORER: org.bukkit.loot.LootTables;
+ public static VILLAGE_BUTCHER: org.bukkit.loot.LootTables;
+ public static VILLAGE_CARTOGRAPHER: org.bukkit.loot.LootTables;
+ public static VILLAGE_DESERT_HOUSE: org.bukkit.loot.LootTables;
+ public static VILLAGE_FISHER: org.bukkit.loot.LootTables;
+ public static VILLAGE_FLETCHER: org.bukkit.loot.LootTables;
+ public static VILLAGE_MASON: org.bukkit.loot.LootTables;
+ public static VILLAGE_PLAINS_HOUSE: org.bukkit.loot.LootTables;
+ public static VILLAGE_SAVANNA_HOUSE: org.bukkit.loot.LootTables;
+ public static VILLAGE_SHEPHERD: org.bukkit.loot.LootTables;
+ public static VILLAGE_SNOWY_HOUSE: org.bukkit.loot.LootTables;
+ public static VILLAGE_TAIGA_HOUSE: org.bukkit.loot.LootTables;
+ public static VILLAGE_TANNERY: org.bukkit.loot.LootTables;
+ public static VILLAGE_TEMPLE: org.bukkit.loot.LootTables;
+ public static VILLAGE_TOOLSMITH: org.bukkit.loot.LootTables;
+ public static VILLAGE_WEAPONSMITH: org.bukkit.loot.LootTables;
+ public static WOODLAND_MANSION: org.bukkit.loot.LootTables;
+ public static ARMOR_STAND: org.bukkit.loot.LootTables;
+ public static BAT: org.bukkit.loot.LootTables;
+ public static BLAZE: org.bukkit.loot.LootTables;
+ public static CAT: org.bukkit.loot.LootTables;
+ public static CAVE_SPIDER: org.bukkit.loot.LootTables;
+ public static CHICKEN: org.bukkit.loot.LootTables;
+ public static COD: org.bukkit.loot.LootTables;
+ public static COW: org.bukkit.loot.LootTables;
+ public static CREEPER: org.bukkit.loot.LootTables;
+ public static DOLPHIN: org.bukkit.loot.LootTables;
+ public static DONKEY: org.bukkit.loot.LootTables;
+ public static DROWNED: org.bukkit.loot.LootTables;
+ public static ELDER_GUARDIAN: org.bukkit.loot.LootTables;
+ public static ENDERMAN: org.bukkit.loot.LootTables;
+ public static ENDERMITE: org.bukkit.loot.LootTables;
+ public static ENDER_DRAGON: org.bukkit.loot.LootTables;
+ public static EVOKER: org.bukkit.loot.LootTables;
+ public static FOX: org.bukkit.loot.LootTables;
+ public static GHAST: org.bukkit.loot.LootTables;
+ public static GIANT: org.bukkit.loot.LootTables;
+ public static GUARDIAN: org.bukkit.loot.LootTables;
+ public static HORSE: org.bukkit.loot.LootTables;
+ public static HUSK: org.bukkit.loot.LootTables;
+ public static ILLUSIONER: org.bukkit.loot.LootTables;
+ public static IRON_GOLEM: org.bukkit.loot.LootTables;
+ public static LLAMA: org.bukkit.loot.LootTables;
+ public static MAGMA_CUBE: org.bukkit.loot.LootTables;
+ public static MOOSHROOM: org.bukkit.loot.LootTables;
+ public static MULE: org.bukkit.loot.LootTables;
+ public static OCELOT: org.bukkit.loot.LootTables;
+ public static PANDA: org.bukkit.loot.LootTables;
+ public static PARROT: org.bukkit.loot.LootTables;
+ public static PHANTOM: org.bukkit.loot.LootTables;
+ public static PIG: org.bukkit.loot.LootTables;
+ public static PILLAGER: org.bukkit.loot.LootTables;
+ public static POLAR_BEAR: org.bukkit.loot.LootTables;
+ public static PUFFERFISH: org.bukkit.loot.LootTables;
+ public static RABBIT: org.bukkit.loot.LootTables;
+ public static RAVAGER: org.bukkit.loot.LootTables;
+ public static SALMON: org.bukkit.loot.LootTables;
+ public static SHULKER: org.bukkit.loot.LootTables;
+ public static SILVERFISH: org.bukkit.loot.LootTables;
+ public static SKELETON: org.bukkit.loot.LootTables;
+ public static SKELETON_HORSE: org.bukkit.loot.LootTables;
+ public static SLIME: org.bukkit.loot.LootTables;
+ public static SNOW_GOLEM: org.bukkit.loot.LootTables;
+ public static SPIDER: org.bukkit.loot.LootTables;
+ public static SQUID: org.bukkit.loot.LootTables;
+ public static STRAY: org.bukkit.loot.LootTables;
+ public static TRADER_LLAMA: org.bukkit.loot.LootTables;
+ public static TROPICAL_FISH: org.bukkit.loot.LootTables;
+ public static TURTLE: org.bukkit.loot.LootTables;
+ public static VEX: org.bukkit.loot.LootTables;
+ public static VILLAGER: org.bukkit.loot.LootTables;
+ public static VINDICATOR: org.bukkit.loot.LootTables;
+ public static WANDERING_TRADER: org.bukkit.loot.LootTables;
+ public static WITCH: org.bukkit.loot.LootTables;
+ public static WITHER: org.bukkit.loot.LootTables;
+ public static WITHER_SKELETON: org.bukkit.loot.LootTables;
+ public static WOLF: org.bukkit.loot.LootTables;
+ public static ZOMBIE: org.bukkit.loot.LootTables;
+ public static ZOMBIE_HORSE: org.bukkit.loot.LootTables;
+ public static ZOMBIE_PIGMAN: org.bukkit.loot.LootTables;
+ public static ZOMBIE_VILLAGER: org.bukkit.loot.LootTables;
+ public static ARMORER_GIFT: org.bukkit.loot.LootTables;
+ public static BUTCHER_GIFT: org.bukkit.loot.LootTables;
+ public static CARTOGRAPHER_GIFT: org.bukkit.loot.LootTables;
+ public static CAT_MORNING_GIFT: org.bukkit.loot.LootTables;
+ public static CLERIC_GIFT: org.bukkit.loot.LootTables;
+ public static FARMER_GIFT: org.bukkit.loot.LootTables;
+ public static FISHERMAN_GIFT: org.bukkit.loot.LootTables;
+ public static FISHING: org.bukkit.loot.LootTables;
+ public static FISHING_FISH: org.bukkit.loot.LootTables;
+ public static FISHING_JUNK: org.bukkit.loot.LootTables;
+ public static FISHING_TREASURE: org.bukkit.loot.LootTables;
+ public static FLETCHER_GIFT: org.bukkit.loot.LootTables;
+ public static LEATHERWORKER_GIFT: org.bukkit.loot.LootTables;
+ public static LIBRARIAN_GIFT: org.bukkit.loot.LootTables;
+ public static MASON_GIFT: org.bukkit.loot.LootTables;
+ public static SHEPHERD_GIFT: org.bukkit.loot.LootTables;
+ public static TOOLSMITH_GIFT: org.bukkit.loot.LootTables;
+ public static WEAPONSMITH_GIFT: org.bukkit.loot.LootTables;
+ public static SHEEP: org.bukkit.loot.LootTables;
+ public static SHEEP_BLACK: org.bukkit.loot.LootTables;
+ public static SHEEP_BLUE: org.bukkit.loot.LootTables;
+ public static SHEEP_BROWN: org.bukkit.loot.LootTables;
+ public static SHEEP_CYAN: org.bukkit.loot.LootTables;
+ public static SHEEP_GRAY: org.bukkit.loot.LootTables;
+ public static SHEEP_GREEN: org.bukkit.loot.LootTables;
+ public static SHEEP_LIGHT_BLUE: org.bukkit.loot.LootTables;
+ public static SHEEP_LIGHT_GRAY: org.bukkit.loot.LootTables;
+ public static SHEEP_LIME: org.bukkit.loot.LootTables;
+ public static SHEEP_MAGENTA: org.bukkit.loot.LootTables;
+ public static SHEEP_ORANGE: org.bukkit.loot.LootTables;
+ public static SHEEP_PINK: org.bukkit.loot.LootTables;
+ public static SHEEP_PURPLE: org.bukkit.loot.LootTables;
+ public static SHEEP_RED: org.bukkit.loot.LootTables;
+ public static SHEEP_WHITE: org.bukkit.loot.LootTables;
+ public static SHEEP_YELLOW: org.bukkit.loot.LootTables;
+ public static values(): org.bukkit.loot.LootTables[];
+ public static valueOf(name: string): org.bukkit.loot.LootTables;
+ public getKey(): org.bukkit.NamespacedKey;
+ /**
+ * Get the {@link LootTable} corresponding to this constant. This is
+ * equivalent to calling {@code Bukkit.getLootTable(this.getKey());}.
+ */
+ public getLootTable(): org.bukkit.loot.LootTable;
+ }
+ }
+ }
+}
diff --git a/packages/bukkit/src/typings/org.bukkit.loot.Lootable.ts b/packages/bukkit/src/typings/org.bukkit.loot.Lootable.ts
new file mode 100644
index 00000000..1364080f
--- /dev/null
+++ b/packages/bukkit/src/typings/org.bukkit.loot.Lootable.ts
@@ -0,0 +1,32 @@
+declare namespace org {
+ namespace bukkit {
+ namespace loot {
+ class Lootable {
+ /**
+ * Set the loot table for a container or entity.
+ *
+ * To remove a loot table use null. Do not use {@link LootTables#EMPTY} to
+ * clear a LootTable.
+ */
+ public setLootTable(table: org.bukkit.loot.LootTable): void;
+ /**
+ * Gets the Loot Table attached to this block or entity.
+ *
+ * If an block/entity does not have a loot table, this will return null, NOT
+ * an empty loot table.
+ */
+ public getLootTable(): org.bukkit.loot.LootTable;
+ /**
+ * Set the seed used when this Loot Table generates loot.
+ */
+ public setSeed(seed: number): void;
+ /**
+ * Get the Loot Table's seed.
+ *
+ * The seed is used when generating loot.
+ */
+ public getSeed(): number;
+ }
+ }
+ }
+}
diff --git a/packages/bukkit/src/typings/org.bukkit.map.MapCanvas.ts b/packages/bukkit/src/typings/org.bukkit.map.MapCanvas.ts
new file mode 100644
index 00000000..78c9ccbe
--- /dev/null
+++ b/packages/bukkit/src/typings/org.bukkit.map.MapCanvas.ts
@@ -0,0 +1,45 @@
+declare namespace org {
+ namespace bukkit {
+ namespace map {
+ class MapCanvas {
+ /**
+ * Get the map this canvas is attached to.
+ */
+ public getMapView(): org.bukkit.map.MapView;
+ /**
+ * Get the cursor collection associated with this canvas.
+ */
+ public getCursors(): org.bukkit.map.MapCursorCollection;
+ /**
+ * Set the cursor collection associated with this canvas. This does not
+ * usually need to be called since a MapCursorCollection is already
+ * provided.
+ */
+ public setCursors(cursors: org.bukkit.map.MapCursorCollection): void;
+ /**
+ * Draw a pixel to the canvas.
+ */
+ public setPixel(x: number, y: number, color: number): void;
+ /**
+ * Get a pixel from the canvas.
+ */
+ public getPixel(x: number, y: number): number;
+ /**
+ * Get a pixel from the layers below this canvas.
+ */
+ public getBasePixel(x: number, y: number): number;
+ /**
+ * Draw an image to the map. The image will be clipped if necessary.
+ */
+ public drawImage(x: number, y: number, image: any): void;
+ /**
+ * Render text to the map using fancy formatting. Newline (\n) characters
+ * will move down one line and return to the original column, and the text
+ * color can be changed using sequences such as "§12;", replacing 12 with
+ * the palette index of the color (see {@link MapPalette}).
+ */
+ public drawText(x: number, y: number, font: org.bukkit.map.MapFont, text: string): void;
+ }
+ }
+ }
+}
diff --git a/packages/bukkit/src/typings/org.bukkit.map.MapCursor.Type.ts b/packages/bukkit/src/typings/org.bukkit.map.MapCursor.Type.ts
new file mode 100644
index 00000000..92ece9e5
--- /dev/null
+++ b/packages/bukkit/src/typings/org.bukkit.map.MapCursor.Type.ts
@@ -0,0 +1,41 @@
+declare namespace org {
+ namespace bukkit {
+ namespace map {
+ namespace MapCursor {
+ class Type {
+ public static WHITE_POINTER: org.bukkit.map.MapCursor.Type;
+ public static GREEN_POINTER: org.bukkit.map.MapCursor.Type;
+ public static RED_POINTER: org.bukkit.map.MapCursor.Type;
+ public static BLUE_POINTER: org.bukkit.map.MapCursor.Type;
+ public static WHITE_CROSS: org.bukkit.map.MapCursor.Type;
+ public static RED_MARKER: org.bukkit.map.MapCursor.Type;
+ public static WHITE_CIRCLE: org.bukkit.map.MapCursor.Type;
+ public static SMALL_WHITE_CIRCLE: org.bukkit.map.MapCursor.Type;
+ public static MANSION: org.bukkit.map.MapCursor.Type;
+ public static TEMPLE: org.bukkit.map.MapCursor.Type;
+ public static BANNER_WHITE: org.bukkit.map.MapCursor.Type;
+ public static BANNER_ORANGE: org.bukkit.map.MapCursor.Type;
+ public static BANNER_MAGENTA: org.bukkit.map.MapCursor.Type;
+ public static BANNER_LIGHT_BLUE: org.bukkit.map.MapCursor.Type;
+ public static BANNER_YELLOW: org.bukkit.map.MapCursor.Type;
+ public static BANNER_LIME: org.bukkit.map.MapCursor.Type;
+ public static BANNER_PINK: org.bukkit.map.MapCursor.Type;
+ public static BANNER_GRAY: org.bukkit.map.MapCursor.Type;
+ public static BANNER_LIGHT_GRAY: org.bukkit.map.MapCursor.Type;
+ public static BANNER_CYAN: org.bukkit.map.MapCursor.Type;
+ public static BANNER_PURPLE: org.bukkit.map.MapCursor.Type;
+ public static BANNER_BLUE: org.bukkit.map.MapCursor.Type;
+ public static BANNER_BROWN: org.bukkit.map.MapCursor.Type;
+ public static BANNER_GREEN: org.bukkit.map.MapCursor.Type;
+ public static BANNER_RED: org.bukkit.map.MapCursor.Type;
+ public static BANNER_BLACK: org.bukkit.map.MapCursor.Type;
+ public static RED_X: org.bukkit.map.MapCursor.Type;
+ public static values(): org.bukkit.map.MapCursor.Type[];
+ public static valueOf(name: string): org.bukkit.map.MapCursor.Type;
+ public getValue(): number;
+ public static byValue(value: number): org.bukkit.map.MapCursor.Type;
+ }
+ }
+ }
+ }
+}
diff --git a/packages/bukkit/src/typings/org.bukkit.map.MapCursor.ts b/packages/bukkit/src/typings/org.bukkit.map.MapCursor.ts
new file mode 100644
index 00000000..ac325911
--- /dev/null
+++ b/packages/bukkit/src/typings/org.bukkit.map.MapCursor.ts
@@ -0,0 +1,80 @@
+declare namespace org {
+ namespace bukkit {
+ namespace map {
+ class MapCursor {
+ /**
+ * Initialize the map cursor.
+ */
+ constructor(x: number, y: number, direction: number, type: number, visible: boolean)
+ /**
+ * Initialize the map cursor.
+ */
+ constructor(x: number, y: number, direction: number, type: org.bukkit.map.MapCursor.Type, visible: boolean)
+ /**
+ * Initialize the map cursor.
+ */
+ constructor(x: number, y: number, direction: number, type: number, visible: boolean, caption: string)
+ /**
+ * Initialize the map cursor.
+ */
+ constructor(x: number, y: number, direction: number, type: org.bukkit.map.MapCursor.Type, visible: boolean, caption: string)
+ /**
+ * Get the X position of this cursor.
+ */
+ public getX(): number;
+ /**
+ * Get the Y position of this cursor.
+ */
+ public getY(): number;
+ /**
+ * Get the direction of this cursor.
+ */
+ public getDirection(): number;
+ /**
+ * Get the type of this cursor.
+ */
+ public getType(): org.bukkit.map.MapCursor.Type;
+ /**
+ * Get the type of this cursor.
+ */
+ public getRawType(): number;
+ /**
+ * Get the visibility status of this cursor.
+ */
+ public isVisible(): boolean;
+ /**
+ * Set the X position of this cursor.
+ */
+ public setX(x: number): void;
+ /**
+ * Set the Y position of this cursor.
+ */
+ public setY(y: number): void;
+ /**
+ * Set the direction of this cursor.
+ */
+ public setDirection(direction: number): void;
+ /**
+ * Set the type of this cursor.
+ */
+ public setType(type: org.bukkit.map.MapCursor.Type): void;
+ /**
+ * Set the type of this cursor.
+ */
+ public setRawType(type: number): void;
+ /**
+ * Set the visibility status of this cursor.
+ */
+ public setVisible(visible: boolean): void;
+ /**
+ * Gets the caption on this cursor.
+ */
+ public getCaption(): string;
+ /**
+ * Sets the caption on this cursor.
+ */
+ public setCaption(caption: string): void;
+ }
+ }
+ }
+}
diff --git a/packages/bukkit/src/typings/org.bukkit.map.MapCursorCollection.ts b/packages/bukkit/src/typings/org.bukkit.map.MapCursorCollection.ts
new file mode 100644
index 00000000..432762a6
--- /dev/null
+++ b/packages/bukkit/src/typings/org.bukkit.map.MapCursorCollection.ts
@@ -0,0 +1,41 @@
+declare namespace org {
+ namespace bukkit {
+ namespace map {
+ class MapCursorCollection {
+ constructor()
+ /**
+ * Get the amount of cursors in this collection.
+ */
+ public size(): number;
+ /**
+ * Get a cursor from this collection.
+ */
+ public getCursor(index: number): org.bukkit.map.MapCursor;
+ /**
+ * Remove a cursor from the collection.
+ */
+ public removeCursor(cursor: org.bukkit.map.MapCursor): boolean;
+ /**
+ * Add a cursor to the collection.
+ */
+ public addCursor(cursor: org.bukkit.map.MapCursor): org.bukkit.map.MapCursor;
+ /**
+ * Add a cursor to the collection.
+ */
+ public addCursor(x: number, y: number, direction: number): org.bukkit.map.MapCursor;
+ /**
+ * Add a cursor to the collection.
+ */
+ public addCursor(x: number, y: number, direction: number, type: number): org.bukkit.map.MapCursor;
+ /**
+ * Add a cursor to the collection.
+ */
+ public addCursor(x: number, y: number, direction: number, type: number, visible: boolean): org.bukkit.map.MapCursor;
+ /**
+ * Add a cursor to the collection.
+ */
+ public addCursor(x: number, y: number, direction: number, type: number, visible: boolean, caption: string): org.bukkit.map.MapCursor;
+ }
+ }
+ }
+}
diff --git a/packages/bukkit/src/typings/org.bukkit.map.MapFont.CharacterSprite.ts b/packages/bukkit/src/typings/org.bukkit.map.MapFont.CharacterSprite.ts
new file mode 100644
index 00000000..6194adf2
--- /dev/null
+++ b/packages/bukkit/src/typings/org.bukkit.map.MapFont.CharacterSprite.ts
@@ -0,0 +1,23 @@
+declare namespace org {
+ namespace bukkit {
+ namespace map {
+ namespace MapFont {
+ class CharacterSprite {
+ constructor(width: number, height: number, data: boolean)
+ /**
+ * Get the value of a pixel of the character.
+ */
+ public get(row: number, col: number): boolean;
+ /**
+ * Get the width of the character sprite.
+ */
+ public getWidth(): number;
+ /**
+ * Get the height of the character sprite.
+ */
+ public getHeight(): number;
+ }
+ }
+ }
+ }
+}
diff --git a/packages/bukkit/src/typings/org.bukkit.map.MapFont.ts b/packages/bukkit/src/typings/org.bukkit.map.MapFont.ts
new file mode 100644
index 00000000..fd170091
--- /dev/null
+++ b/packages/bukkit/src/typings/org.bukkit.map.MapFont.ts
@@ -0,0 +1,31 @@
+declare namespace org {
+ namespace bukkit {
+ namespace map {
+ class MapFont {
+ constructor()
+ protected malleable: boolean;
+ /**
+ * Set the sprite for a given character.
+ */
+ public setChar(ch: string, sprite: org.bukkit.map.MapFont.CharacterSprite): void;
+ /**
+ * Get the sprite for a given character.
+ */
+ public getChar(ch: string): org.bukkit.map.MapFont.CharacterSprite;
+ /**
+ * Get the width of the given text as it would be rendered using this
+ * font.
+ */
+ public getWidth(text: string): number;
+ /**
+ * Get the height of this font.
+ */
+ public getHeight(): number;
+ /**
+ * Check whether the given text is valid.
+ */
+ public isValid(text: string): boolean;
+ }
+ }
+ }
+}
diff --git a/packages/bukkit/src/typings/org.bukkit.map.MapPalette.ts b/packages/bukkit/src/typings/org.bukkit.map.MapPalette.ts
new file mode 100644
index 00000000..bf102d4d
--- /dev/null
+++ b/packages/bukkit/src/typings/org.bukkit.map.MapPalette.ts
@@ -0,0 +1,44 @@
+declare namespace org {
+ namespace bukkit {
+ namespace map {
+ class MapPalette {
+ public static TRANSPARENT: number;
+ public static LIGHT_GREEN: number;
+ public static LIGHT_BROWN: number;
+ public static GRAY_1: number;
+ public static RED: number;
+ public static PALE_BLUE: number;
+ public static GRAY_2: number;
+ public static DARK_GREEN: number;
+ public static WHITE: number;
+ public static LIGHT_GRAY: number;
+ public static BROWN: number;
+ public static DARK_GRAY: number;
+ public static BLUE: number;
+ public static DARK_BROWN: number;
+ /**
+ * Resize an image to 128x128.
+ */
+ public static resizeImage(image: any): any;
+ /**
+ * Convert an Image to a byte[] using the palette.
+ */
+ public static imageToBytes(image: any): number[];
+ /**
+ * Get the index of the closest matching color in the palette to the given
+ * color.
+ */
+ public static matchColor(r: number, g: number, b: number): number;
+ /**
+ * Get the index of the closest matching color in the palette to the given
+ * color.
+ */
+ public static matchColor(color: any): number;
+ /**
+ * Get the value of the given color in the palette.
+ */
+ public static getColor(index: number): any;
+ }
+ }
+ }
+}
diff --git a/packages/bukkit/src/typings/org.bukkit.map.MapRenderer.ts b/packages/bukkit/src/typings/org.bukkit.map.MapRenderer.ts
new file mode 100644
index 00000000..7f154547
--- /dev/null
+++ b/packages/bukkit/src/typings/org.bukkit.map.MapRenderer.ts
@@ -0,0 +1,30 @@
+declare namespace org {
+ namespace bukkit {
+ namespace map {
+ abstract class MapRenderer {
+ /**
+ * Initialize the map renderer base to be non-contextual. See {@link
+ * #isContextual()}.
+ */
+ constructor()
+ /**
+ * Initialize the map renderer base with the given contextual status.
+ */
+ constructor(contextual: boolean)
+ /**
+ * Get whether the renderer is contextual, i.e. has different canvases for
+ * different players.
+ */
+ public isContextual(): boolean;
+ /**
+ * Initialize this MapRenderer for the given map.
+ */
+ public initialize(map: org.bukkit.map.MapView): void;
+ /**
+ * Render to the given map.
+ */
+ public abstract render(map: org.bukkit.map.MapView, canvas: org.bukkit.map.MapCanvas, player: org.bukkit.entity.Player): void;
+ }
+ }
+ }
+}
diff --git a/packages/bukkit/src/typings/org.bukkit.map.MapView.Scale.ts b/packages/bukkit/src/typings/org.bukkit.map.MapView.Scale.ts
new file mode 100644
index 00000000..ce1f2fcc
--- /dev/null
+++ b/packages/bukkit/src/typings/org.bukkit.map.MapView.Scale.ts
@@ -0,0 +1,25 @@
+declare namespace org {
+ namespace bukkit {
+ namespace map {
+ namespace MapView {
+ class Scale {
+ public static CLOSEST: org.bukkit.map.MapView.Scale;
+ public static CLOSE: org.bukkit.map.MapView.Scale;
+ public static NORMAL: org.bukkit.map.MapView.Scale;
+ public static FAR: org.bukkit.map.MapView.Scale;
+ public static FARTHEST: org.bukkit.map.MapView.Scale;
+ public static values(): org.bukkit.map.MapView.Scale[];
+ public static valueOf(name: string): org.bukkit.map.MapView.Scale;
+ /**
+ * Get the scale given the raw value.
+ */
+ public static valueOf(value: number): org.bukkit.map.MapView.Scale;
+ /**
+ * Get the raw value of this scale level.
+ */
+ public getValue(): number;
+ }
+ }
+ }
+ }
+}
diff --git a/packages/bukkit/src/typings/org.bukkit.map.MapView.ts b/packages/bukkit/src/typings/org.bukkit.map.MapView.ts
new file mode 100644
index 00000000..711df881
--- /dev/null
+++ b/packages/bukkit/src/typings/org.bukkit.map.MapView.ts
@@ -0,0 +1,94 @@
+declare namespace org {
+ namespace bukkit {
+ namespace map {
+ class MapView {
+ /**
+ * Get the ID of this map item for use with {@link MapMeta}.
+ */
+ public getId(): number;
+ /**
+ * Check whether this map is virtual. A map is virtual if its lowermost
+ * MapRenderer is plugin-provided.
+ */
+ public isVirtual(): boolean;
+ /**
+ * Get the scale of this map.
+ */
+ public getScale(): org.bukkit.map.MapView.Scale;
+ /**
+ * Set the scale of this map.
+ */
+ public setScale(scale: org.bukkit.map.MapView.Scale): void;
+ /**
+ * Get the center X position of this map.
+ */
+ public getCenterX(): number;
+ /**
+ * Get the center Z position of this map.
+ */
+ public getCenterZ(): number;
+ /**
+ * Set the center X position of this map.
+ */
+ public setCenterX(x: number): void;
+ /**
+ * Set the center Z position of this map.
+ */
+ public setCenterZ(z: number): void;
+ /**
+ * Get the world that this map is associated with. Primarily used by the
+ * internal renderer, but may be used by external renderers. May return
+ * null if the world the map is associated with is not loaded.
+ */
+ public getWorld(): org.bukkit.World;
+ /**
+ * Set the world that this map is associated with. The world is used by
+ * the internal renderer, and may also be used by external renderers.
+ */
+ public setWorld(world: org.bukkit.World): void;
+ /**
+ * Get a list of MapRenderers currently in effect.
+ */
+ public getRenderers(): any[] /*java.util.List*/;
+ /**
+ * Add a renderer to this map.
+ */
+ public addRenderer(renderer: org.bukkit.map.MapRenderer): void;
+ /**
+ * Remove a renderer from this map.
+ */
+ public removeRenderer(renderer: org.bukkit.map.MapRenderer): boolean;
+ /**
+ * Gets whether a position cursor should be shown when the map is near its
+ * center.
+ */
+ public isTrackingPosition(): boolean;
+ /**
+ * Sets whether a position cursor should be shown when the map is near its
+ * center.
+ */
+ public setTrackingPosition(trackingPosition: boolean): void;
+ /**
+ * Whether the map will show a smaller position cursor (true), or no
+ * position cursor (false) when cursor is outside of map's range.
+ */
+ public isUnlimitedTracking(): boolean;
+ /**
+ * Whether the map will show a smaller position cursor (true), or no
+ * position cursor (false) when cursor is outside of map's range.
+ */
+ public setUnlimitedTracking(unlimited: boolean): void;
+ /**
+ * Gets whether the map is locked or not.
+ * A locked map may not be explored further.
+ */
+ public isLocked(): boolean;
+ /**
+ * Gets whether the map is locked or not.
+ * A locked map may not be explored further.
+ */
+ public setLocked(locked: boolean): void;
+ }
+ }
+ }
+}
diff --git a/packages/bukkit/src/typings/org.bukkit.map.MinecraftFont.ts b/packages/bukkit/src/typings/org.bukkit.map.MinecraftFont.ts
new file mode 100644
index 00000000..27f16e05
--- /dev/null
+++ b/packages/bukkit/src/typings/org.bukkit.map.MinecraftFont.ts
@@ -0,0 +1,13 @@
+declare namespace org {
+ namespace bukkit {
+ namespace map {
+ class MinecraftFont {
+ /**
+ * Initialize a new MinecraftFont.
+ */
+ constructor()
+ public static Font: org.bukkit.map.MinecraftFont;
+ }
+ }
+ }
+}
diff --git a/packages/bukkit/src/typings/org.bukkit.material.Attachable.ts b/packages/bukkit/src/typings/org.bukkit.material.Attachable.ts
new file mode 100644
index 00000000..2f94e760
--- /dev/null
+++ b/packages/bukkit/src/typings/org.bukkit.material.Attachable.ts
@@ -0,0 +1,12 @@
+declare namespace org {
+ namespace bukkit {
+ namespace material {
+ class Attachable {
+ /**
+ * Gets the face that this block is attached on
+ */
+ public getAttachedFace(): org.bukkit.block.BlockFace;
+ }
+ }
+ }
+}
diff --git a/packages/bukkit/src/typings/org.bukkit.material.Banner.ts b/packages/bukkit/src/typings/org.bukkit.material.Banner.ts
new file mode 100644
index 00000000..47d89ec1
--- /dev/null
+++ b/packages/bukkit/src/typings/org.bukkit.material.Banner.ts
@@ -0,0 +1,17 @@
+declare namespace org {
+ namespace bukkit {
+ namespace material {
+ class Banner {
+ constructor()
+ constructor(type: org.bukkit.Material)
+ constructor(type: org.bukkit.Material, data: number)
+ public isWallBanner(): boolean;
+ public getAttachedFace(): org.bukkit.block.BlockFace;
+ public getFacing(): org.bukkit.block.BlockFace;
+ public setFacingDirection(face: org.bukkit.block.BlockFace): void;
+ public toString(): string;
+ public clone(): org.bukkit.material.Banner;
+ }
+ }
+ }
+}
diff --git a/packages/bukkit/src/typings/org.bukkit.material.Bed.ts b/packages/bukkit/src/typings/org.bukkit.material.Bed.ts
new file mode 100644
index 00000000..a5bba2d4
--- /dev/null
+++ b/packages/bukkit/src/typings/org.bukkit.material.Bed.ts
@@ -0,0 +1,37 @@
+declare namespace org {
+ namespace bukkit {
+ namespace material {
+ class Bed {
+ /**
+ * Default constructor for a bed.
+ */
+ constructor()
+ /**
+ * Instantiate a bed facing in a particular direction.
+ */
+ constructor(direction: org.bukkit.block.BlockFace)
+ constructor(type: org.bukkit.Material)
+ constructor(type: org.bukkit.Material, data: number)
+ /**
+ * Determine if this block represents the head of the bed
+ */
+ public isHeadOfBed(): boolean;
+ /**
+ * Configure this to be either the head or the foot of the bed
+ */
+ public setHeadOfBed(isHeadOfBed: boolean): void;
+ /**
+ * Set which direction the head of the bed is facing. Note that this will
+ * only affect one of the two blocks the bed is made of.
+ */
+ public setFacingDirection(face: org.bukkit.block.BlockFace): void;
+ /**
+ * Get the direction that this bed's head is facing toward
+ */
+ public getFacing(): org.bukkit.block.BlockFace;
+ public toString(): string;
+ public clone(): org.bukkit.material.Bed;
+ }
+ }
+ }
+}
diff --git a/packages/bukkit/src/typings/org.bukkit.material.Button.ts b/packages/bukkit/src/typings/org.bukkit.material.Button.ts
new file mode 100644
index 00000000..afc3b463
--- /dev/null
+++ b/packages/bukkit/src/typings/org.bukkit.material.Button.ts
@@ -0,0 +1,30 @@
+declare namespace org {
+ namespace bukkit {
+ namespace material {
+ class Button {
+ constructor()
+ constructor(type: org.bukkit.Material)
+ constructor(type: org.bukkit.Material, data: number)
+ /**
+ * Gets the current state of this Material, indicating if it's powered or
+ * unpowered
+ */
+ public isPowered(): boolean;
+ /**
+ * Sets the current state of this button
+ */
+ public setPowered(bool: boolean): void;
+ /**
+ * Gets the face that this block is attached on
+ */
+ public getAttachedFace(): org.bukkit.block.BlockFace;
+ /**
+ * Sets the direction this button is pointing toward
+ */
+ public setFacingDirection(face: org.bukkit.block.BlockFace): void;
+ public toString(): string;
+ public clone(): org.bukkit.material.Button;
+ }
+ }
+ }
+}
diff --git a/packages/bukkit/src/typings/org.bukkit.material.Cake.ts b/packages/bukkit/src/typings/org.bukkit.material.Cake.ts
new file mode 100644
index 00000000..5cc8a480
--- /dev/null
+++ b/packages/bukkit/src/typings/org.bukkit.material.Cake.ts
@@ -0,0 +1,29 @@
+declare namespace org {
+ namespace bukkit {
+ namespace material {
+ class Cake {
+ constructor()
+ constructor(type: org.bukkit.Material)
+ constructor(type: org.bukkit.Material, data: number)
+ /**
+ * Gets the number of slices eaten from this cake
+ */
+ public getSlicesEaten(): number;
+ /**
+ * Gets the number of slices remaining on this cake
+ */
+ public getSlicesRemaining(): number;
+ /**
+ * Sets the number of slices eaten from this cake
+ */
+ public setSlicesEaten(n: number): void;
+ /**
+ * Sets the number of slices remaining on this cake
+ */
+ public setSlicesRemaining(n: number): void;
+ public toString(): string;
+ public clone(): org.bukkit.material.Cake;
+ }
+ }
+ }
+}
diff --git a/packages/bukkit/src/typings/org.bukkit.material.Cauldron.ts b/packages/bukkit/src/typings/org.bukkit.material.Cauldron.ts
new file mode 100644
index 00000000..a2592034
--- /dev/null
+++ b/packages/bukkit/src/typings/org.bukkit.material.Cauldron.ts
@@ -0,0 +1,21 @@
+declare namespace org {
+ namespace bukkit {
+ namespace material {
+ class Cauldron {
+ constructor()
+ constructor(type: org.bukkit.Material, data: number)
+ constructor(data: number)
+ /**
+ * Check if the cauldron is full.
+ */
+ public isFull(): boolean;
+ /**
+ * Check if the cauldron is empty.
+ */
+ public isEmpty(): boolean;
+ public toString(): string;
+ public clone(): org.bukkit.material.Cauldron;
+ }
+ }
+ }
+}
diff --git a/packages/bukkit/src/typings/org.bukkit.material.Chest.ts b/packages/bukkit/src/typings/org.bukkit.material.Chest.ts
new file mode 100644
index 00000000..dd7070a0
--- /dev/null
+++ b/packages/bukkit/src/typings/org.bukkit.material.Chest.ts
@@ -0,0 +1,16 @@
+declare namespace org {
+ namespace bukkit {
+ namespace material {
+ class Chest {
+ constructor()
+ /**
+ * Instantiate a chest facing in a particular direction.
+ */
+ constructor(direction: org.bukkit.block.BlockFace)
+ constructor(type: org.bukkit.Material)
+ constructor(type: org.bukkit.Material, data: number)
+ public clone(): org.bukkit.material.Chest;
+ }
+ }
+ }
+}
diff --git a/packages/bukkit/src/typings/org.bukkit.material.Coal.ts b/packages/bukkit/src/typings/org.bukkit.material.Coal.ts
new file mode 100644
index 00000000..7c471c4e
--- /dev/null
+++ b/packages/bukkit/src/typings/org.bukkit.material.Coal.ts
@@ -0,0 +1,22 @@
+declare namespace org {
+ namespace bukkit {
+ namespace material {
+ class Coal {
+ constructor()
+ constructor(type: org.bukkit.CoalType)
+ constructor(type: org.bukkit.Material)
+ constructor(type: org.bukkit.Material, data: number)
+ /**
+ * Gets the current type of this coal
+ */
+ public getType(): org.bukkit.CoalType;
+ /**
+ * Sets the type of this coal
+ */
+ public setType(type: org.bukkit.CoalType): void;
+ public toString(): string;
+ public clone(): org.bukkit.material.Coal;
+ }
+ }
+ }
+}
diff --git a/packages/bukkit/src/typings/org.bukkit.material.CocoaPlant.CocoaPlantSize.ts b/packages/bukkit/src/typings/org.bukkit.material.CocoaPlant.CocoaPlantSize.ts
new file mode 100644
index 00000000..6b197eba
--- /dev/null
+++ b/packages/bukkit/src/typings/org.bukkit.material.CocoaPlant.CocoaPlantSize.ts
@@ -0,0 +1,15 @@
+declare namespace org {
+ namespace bukkit {
+ namespace material {
+ namespace CocoaPlant {
+ class CocoaPlantSize {
+ public static SMALL: org.bukkit.material.CocoaPlant.CocoaPlantSize;
+ public static MEDIUM: org.bukkit.material.CocoaPlant.CocoaPlantSize;
+ public static LARGE: org.bukkit.material.CocoaPlant.CocoaPlantSize;
+ public static values(): org.bukkit.material.CocoaPlant.CocoaPlantSize[];
+ public static valueOf(name: string): org.bukkit.material.CocoaPlant.CocoaPlantSize;
+ }
+ }
+ }
+ }
+}
diff --git a/packages/bukkit/src/typings/org.bukkit.material.CocoaPlant.ts b/packages/bukkit/src/typings/org.bukkit.material.CocoaPlant.ts
new file mode 100644
index 00000000..2925951b
--- /dev/null
+++ b/packages/bukkit/src/typings/org.bukkit.material.CocoaPlant.ts
@@ -0,0 +1,25 @@
+declare namespace org {
+ namespace bukkit {
+ namespace material {
+ class CocoaPlant {
+ constructor()
+ constructor(type: org.bukkit.Material, data: number)
+ constructor(sz: org.bukkit.material.CocoaPlant.CocoaPlantSize)
+ constructor(sz: org.bukkit.material.CocoaPlant.CocoaPlantSize, dir: org.bukkit.block.BlockFace)
+ /**
+ * Get size of plant
+ */
+ public getSize(): org.bukkit.material.CocoaPlant.CocoaPlantSize;
+ /**
+ * Set size of plant
+ */
+ public setSize(sz: org.bukkit.material.CocoaPlant.CocoaPlantSize): void;
+ public getAttachedFace(): org.bukkit.block.BlockFace;
+ public setFacingDirection(face: org.bukkit.block.BlockFace): void;
+ public getFacing(): org.bukkit.block.BlockFace;
+ public clone(): org.bukkit.material.CocoaPlant;
+ public toString(): string;
+ }
+ }
+ }
+}
diff --git a/packages/bukkit/src/typings/org.bukkit.material.Colorable.ts b/packages/bukkit/src/typings/org.bukkit.material.Colorable.ts
new file mode 100644
index 00000000..9db2e1ee
--- /dev/null
+++ b/packages/bukkit/src/typings/org.bukkit.material.Colorable.ts
@@ -0,0 +1,22 @@
+declare namespace org {
+ namespace bukkit {
+ namespace material {
+ class Colorable {
+ /**
+ * Gets the color of this object.
+ *
+ * This may be null to represent the default color of an object, if the
+ * object has a special default color (e.g Shulkers).
+ */
+ public getColor(): org.bukkit.DyeColor;
+ /**
+ * Sets the color of this object to the specified DyeColor.
+ *
+ * This may be null to represent the default color of an object, if the
+ * object has a special default color (e.g Shulkers).
+ */
+ public setColor(color: org.bukkit.DyeColor): void;
+ }
+ }
+ }
+}
diff --git a/packages/bukkit/src/typings/org.bukkit.material.Command.ts b/packages/bukkit/src/typings/org.bukkit.material.Command.ts
new file mode 100644
index 00000000..a3691adf
--- /dev/null
+++ b/packages/bukkit/src/typings/org.bukkit.material.Command.ts
@@ -0,0 +1,22 @@
+declare namespace org {
+ namespace bukkit {
+ namespace material {
+ class Command {
+ constructor()
+ constructor(type: org.bukkit.Material)
+ constructor(type: org.bukkit.Material, data: number)
+ /**
+ * Gets the current state of this Material, indicating if it's powered or
+ * unpowered
+ */
+ public isPowered(): boolean;
+ /**
+ * Sets the current state of this Material
+ */
+ public setPowered(bool: boolean): void;
+ public toString(): string;
+ public clone(): org.bukkit.material.Command;
+ }
+ }
+ }
+}
diff --git a/packages/bukkit/src/typings/org.bukkit.material.Comparator.ts b/packages/bukkit/src/typings/org.bukkit.material.Comparator.ts
new file mode 100644
index 00000000..e4cbace2
--- /dev/null
+++ b/packages/bukkit/src/typings/org.bukkit.material.Comparator.ts
@@ -0,0 +1,55 @@
+declare namespace org {
+ namespace bukkit {
+ namespace material {
+ class Comparator {
+ /**
+ * Constructs a comparator switched off, with the default mode (normal) and facing the default direction (north).
+ */
+ constructor()
+ /**
+ * Constructs a comparator switched off, with the default mode (normal) and facing the specified direction.
+ */
+ constructor(facingDirection: org.bukkit.block.BlockFace)
+ /**
+ * Constructs a comparator switched off, with the specified mode and facing the specified direction.
+ */
+ constructor(facingDirection: org.bukkit.block.BlockFace, isSubtraction: boolean)
+ /**
+ * Constructs a comparator switched on or off, with the specified mode and facing the specified direction.
+ */
+ constructor(facingDirection: org.bukkit.block.BlockFace, isSubtraction: boolean, state: boolean)
+ constructor(type: org.bukkit.Material)
+ constructor(type: org.bukkit.Material, data: number)
+ protected static DEFAULT_DIRECTION: org.bukkit.block.BlockFace;
+ protected static DEFAULT_SUBTRACTION_MODE: boolean;
+ protected static DEFAULT_STATE: boolean;
+ /**
+ * Sets whether the comparator is in subtraction mode.
+ */
+ public setSubtractionMode(isSubtraction: boolean): void;
+ /**
+ * Checks whether the comparator is in subtraction mode
+ */
+ public isSubtractionMode(): boolean;
+ /**
+ * Sets the direction this comparator is facing
+ */
+ public setFacingDirection(face: org.bukkit.block.BlockFace): void;
+ /**
+ * Gets the direction this comparator is facing
+ */
+ public getFacing(): org.bukkit.block.BlockFace;
+ public toString(): string;
+ public clone(): org.bukkit.material.Comparator;
+ /**
+ * Checks if the comparator is powered
+ */
+ public isPowered(): boolean;
+ /**
+ * Checks if the comparator is being powered
+ */
+ public isBeingPowered(): boolean;
+ }
+ }
+ }
+}
diff --git a/packages/bukkit/src/typings/org.bukkit.material.Crops.ts b/packages/bukkit/src/typings/org.bukkit.material.Crops.ts
new file mode 100644
index 00000000..ffcd8e02
--- /dev/null
+++ b/packages/bukkit/src/typings/org.bukkit.material.Crops.ts
@@ -0,0 +1,45 @@
+declare namespace org {
+ namespace bukkit {
+ namespace material {
+ class Crops {
+ /**
+ * Constructs a wheat crop block in the seeded state.
+ */
+ constructor()
+ /**
+ * Constructs a wheat crop block in the given growth state
+ */
+ constructor(state: org.bukkit.CropState)
+ /**
+ * Constructs a crop block of the given type and in the given growth state
+ */
+ constructor(type: org.bukkit.Material, state: org.bukkit.CropState)
+ /**
+ * Constructs a crop block of the given type and in the seeded state
+ */
+ constructor(type: org.bukkit.Material)
+ constructor(type: org.bukkit.Material, data: number)
+ protected static DEFAULT_TYPE: org.bukkit.Material;
+ protected static DEFAULT_STATE: org.bukkit.CropState;
+ /**
+ * Gets the current growth state of this crop
+ * For crops with only four growth states such as beetroot, only the values SEEDED, SMALL, TALL and RIPE will be
+ * returned.
+ */
+ public getState(): org.bukkit.CropState;
+ /**
+ * Sets the growth state of this crop
+ * For crops with only four growth states such as beetroot, the 8 CropStates are mapped into four states:
+ * SEEDED, SMALL, TALL and RIPE
+ * GERMINATED will change to SEEDED
+ * VERY_SMALL will change to SMALL
+ * MEDIUM will change to TALL
+ * VERY_TALL will change to RIPE
+ */
+ public setState(state: org.bukkit.CropState): void;
+ public toString(): string;
+ public clone(): org.bukkit.material.Crops;
+ }
+ }
+ }
+}
diff --git a/packages/bukkit/src/typings/org.bukkit.material.DetectorRail.ts b/packages/bukkit/src/typings/org.bukkit.material.DetectorRail.ts
new file mode 100644
index 00000000..47356712
--- /dev/null
+++ b/packages/bukkit/src/typings/org.bukkit.material.DetectorRail.ts
@@ -0,0 +1,14 @@
+declare namespace org {
+ namespace bukkit {
+ namespace material {
+ class DetectorRail {
+ constructor()
+ constructor(type: org.bukkit.Material)
+ constructor(type: org.bukkit.Material, data: number)
+ public isPressed(): boolean;
+ public setPressed(isPressed: boolean): void;
+ public clone(): org.bukkit.material.DetectorRail;
+ }
+ }
+ }
+}
diff --git a/packages/bukkit/src/typings/org.bukkit.material.Diode.ts b/packages/bukkit/src/typings/org.bukkit.material.Diode.ts
new file mode 100644
index 00000000..69978bfc
--- /dev/null
+++ b/packages/bukkit/src/typings/org.bukkit.material.Diode.ts
@@ -0,0 +1,57 @@
+declare namespace org {
+ namespace bukkit {
+ namespace material {
+ class Diode {
+ /**
+ * Constructs a diode switched on, with a delay of 1 and facing the default
+ * direction (north).
+ * By default this constructor creates a diode that is switched on for
+ * backwards compatibility with past implementations.
+ */
+ constructor()
+ /**
+ * Constructs a diode switched off, with a delay of 1 and facing the
+ * specified direction.
+ */
+ constructor(facingDirection: org.bukkit.block.BlockFace)
+ /**
+ * Constructs a diode switched off, with the specified delay and facing the
+ * specified direction.
+ */
+ constructor(facingDirection: org.bukkit.block.BlockFace, delay: number)
+ /**
+ * Constructs a diode switched on or off, with the specified delay and
+ * facing the specified direction.
+ */
+ constructor(facingDirection: org.bukkit.block.BlockFace, delay: number, state: boolean)
+ constructor(type: org.bukkit.Material)
+ constructor(type: org.bukkit.Material, data: number)
+ protected static DEFAULT_DIRECTION: org.bukkit.block.BlockFace;
+ protected static DEFAULT_DELAY: number;
+ protected static DEFAULT_STATE: boolean;
+ /**
+ * Sets the delay of the repeater.
+ */
+ public setDelay(delay: number): void;
+ /**
+ * Gets the delay of the repeater in ticks.
+ */
+ public getDelay(): number;
+ /**
+ * Sets the direction this diode is facing.
+ */
+ public setFacingDirection(face: org.bukkit.block.BlockFace): void;
+ /**
+ * Gets the direction this diode is facing
+ */
+ public getFacing(): org.bukkit.block.BlockFace;
+ public toString(): string;
+ public clone(): org.bukkit.material.Diode;
+ /**
+ * Checks if the diode is powered.
+ */
+ public isPowered(): boolean;
+ }
+ }
+ }
+}
diff --git a/packages/bukkit/src/typings/org.bukkit.material.Directional.ts b/packages/bukkit/src/typings/org.bukkit.material.Directional.ts
new file mode 100644
index 00000000..1e877e68
--- /dev/null
+++ b/packages/bukkit/src/typings/org.bukkit.material.Directional.ts
@@ -0,0 +1,16 @@
+declare namespace org {
+ namespace bukkit {
+ namespace material {
+ class Directional {
+ /**
+ * Sets the direction that this block is facing in
+ */
+ public setFacingDirection(face: org.bukkit.block.BlockFace): void;
+ /**
+ * Gets the direction this block is facing
+ */
+ public getFacing(): org.bukkit.block.BlockFace;
+ }
+ }
+ }
+}
diff --git a/packages/bukkit/src/typings/org.bukkit.material.DirectionalContainer.ts b/packages/bukkit/src/typings/org.bukkit.material.DirectionalContainer.ts
new file mode 100644
index 00000000..1e9cb4f3
--- /dev/null
+++ b/packages/bukkit/src/typings/org.bukkit.material.DirectionalContainer.ts
@@ -0,0 +1,14 @@
+declare namespace org {
+ namespace bukkit {
+ namespace material {
+ class DirectionalContainer {
+ constructor(type: org.bukkit.Material)
+ constructor(type: org.bukkit.Material, data: number)
+ public setFacingDirection(face: org.bukkit.block.BlockFace): void;
+ public getFacing(): org.bukkit.block.BlockFace;
+ public toString(): string;
+ public clone(): org.bukkit.material.DirectionalContainer;
+ }
+ }
+ }
+}
diff --git a/packages/bukkit/src/typings/org.bukkit.material.Dispenser.ts b/packages/bukkit/src/typings/org.bukkit.material.Dispenser.ts
new file mode 100644
index 00000000..cc032b69
--- /dev/null
+++ b/packages/bukkit/src/typings/org.bukkit.material.Dispenser.ts
@@ -0,0 +1,15 @@
+declare namespace org {
+ namespace bukkit {
+ namespace material {
+ class Dispenser {
+ constructor()
+ constructor(direction: org.bukkit.block.BlockFace)
+ constructor(type: org.bukkit.Material)
+ constructor(type: org.bukkit.Material, data: number)
+ public setFacingDirection(face: org.bukkit.block.BlockFace): void;
+ public getFacing(): org.bukkit.block.BlockFace;
+ public clone(): org.bukkit.material.Dispenser;
+ }
+ }
+ }
+}
diff --git a/packages/bukkit/src/typings/org.bukkit.material.Door.ts b/packages/bukkit/src/typings/org.bukkit.material.Door.ts
new file mode 100644
index 00000000..6f61b911
--- /dev/null
+++ b/packages/bukkit/src/typings/org.bukkit.material.Door.ts
@@ -0,0 +1,78 @@
+declare namespace org {
+ namespace bukkit {
+ namespace material {
+ class Door {
+ constructor()
+ constructor(type: org.bukkit.Material)
+ /**
+ * Constructs the bottom half of a door of the given material type, facing the specified direction and set to closed
+ */
+ constructor(type: org.bukkit.Material, face: org.bukkit.block.BlockFace)
+ /**
+ * Constructs the bottom half of a door of the given material type, facing the specified direction and set to open
+ * or closed
+ */
+ constructor(type: org.bukkit.Material, face: org.bukkit.block.BlockFace, isOpen: boolean)
+ /**
+ * Constructs the top half of door of the given material type and with the hinge on the left or right
+ */
+ constructor(type: org.bukkit.Material, isHingeRight: boolean)
+ /**
+ * Constructs the bottom half of a wooden door of the given species, facing the specified direction and set to
+ * closed
+ */
+ constructor(species: org.bukkit.TreeSpecies, face: org.bukkit.block.BlockFace)
+ /**
+ * Constructs the bottom half of a wooden door of the given species, facing the specified direction and set to open
+ * or closed
+ */
+ constructor(species: org.bukkit.TreeSpecies, face: org.bukkit.block.BlockFace, isOpen: boolean)
+ /**
+ * Constructs the top half of a wooden door of the given species and with the hinge on the left or right
+ */
+ constructor(species: org.bukkit.TreeSpecies, isHingeRight: boolean)
+ constructor(type: org.bukkit.Material, data: number)
+ /**
+ * Returns the item type of a wooden door for the given tree species.
+ */
+ public static getWoodDoorOfSpecies(species: org.bukkit.TreeSpecies): org.bukkit.Material;
+ /**
+ * Result is undefined if isTopHalf()
is true.
+ */
+ public isOpen(): boolean;
+ /**
+ * Set whether the door is open. Undefined if isTopHalf()
is true.
+ */
+ public setOpen(isOpen: boolean): void;
+ public isTopHalf(): boolean;
+ /**
+ * Configure this part of the door to be either the top or the bottom half
+ */
+ public setTopHalf(isTopHalf: boolean): void;
+ public getHingeCorner(): org.bukkit.block.BlockFace;
+ public toString(): string;
+ /**
+ * Set the direction that this door should is facing.
+ * Undefined if isTopHalf()
is true.
+ */
+ public setFacingDirection(face: org.bukkit.block.BlockFace): void;
+ /**
+ * Get the direction that this door is facing.
+ * Undefined if isTopHalf()
is true.
+ */
+ public getFacing(): org.bukkit.block.BlockFace;
+ /**
+ * Returns the side of the door the hinge is on.
+ * Undefined if isTopHalf()
is false.
+ */
+ public getHinge(): boolean;
+ /**
+ * Set whether the hinge is on the left or right side. Left is false, right is true.
+ * Undefined if isTopHalf()
is false.
+ */
+ public setHinge(isHingeRight: boolean): void;
+ public clone(): org.bukkit.material.Door;
+ }
+ }
+ }
+}
diff --git a/packages/bukkit/src/typings/org.bukkit.material.Dye.ts b/packages/bukkit/src/typings/org.bukkit.material.Dye.ts
new file mode 100644
index 00000000..0affc23a
--- /dev/null
+++ b/packages/bukkit/src/typings/org.bukkit.material.Dye.ts
@@ -0,0 +1,22 @@
+declare namespace org {
+ namespace bukkit {
+ namespace material {
+ class Dye {
+ constructor()
+ constructor(type: org.bukkit.Material)
+ constructor(type: org.bukkit.Material, data: number)
+ constructor(color: org.bukkit.DyeColor)
+ /**
+ * Gets the current color of this dye
+ */
+ public getColor(): org.bukkit.DyeColor;
+ /**
+ * Sets the color of this dye
+ */
+ public setColor(color: org.bukkit.DyeColor): void;
+ public toString(): string;
+ public clone(): org.bukkit.material.Dye;
+ }
+ }
+ }
+}
diff --git a/packages/bukkit/src/typings/org.bukkit.material.EnderChest.ts b/packages/bukkit/src/typings/org.bukkit.material.EnderChest.ts
new file mode 100644
index 00000000..b315594e
--- /dev/null
+++ b/packages/bukkit/src/typings/org.bukkit.material.EnderChest.ts
@@ -0,0 +1,16 @@
+declare namespace org {
+ namespace bukkit {
+ namespace material {
+ class EnderChest {
+ constructor()
+ /**
+ * Instantiate an ender chest facing in a particular direction.
+ */
+ constructor(direction: org.bukkit.block.BlockFace)
+ constructor(type: org.bukkit.Material)
+ constructor(type: org.bukkit.Material, data: number)
+ public clone(): org.bukkit.material.EnderChest;
+ }
+ }
+ }
+}
diff --git a/packages/bukkit/src/typings/org.bukkit.material.ExtendedRails.ts b/packages/bukkit/src/typings/org.bukkit.material.ExtendedRails.ts
new file mode 100644
index 00000000..f4181570
--- /dev/null
+++ b/packages/bukkit/src/typings/org.bukkit.material.ExtendedRails.ts
@@ -0,0 +1,14 @@
+declare namespace org {
+ namespace bukkit {
+ namespace material {
+ class ExtendedRails {
+ constructor(type: org.bukkit.Material)
+ constructor(type: org.bukkit.Material, data: number)
+ public isCurve(): boolean;
+ protected getConvertedData(): number;
+ public setDirection(face: org.bukkit.block.BlockFace, isOnSlope: boolean): void;
+ public clone(): org.bukkit.material.ExtendedRails;
+ }
+ }
+ }
+}
diff --git a/packages/bukkit/src/typings/org.bukkit.material.FlowerPot.ts b/packages/bukkit/src/typings/org.bukkit.material.FlowerPot.ts
new file mode 100644
index 00000000..f506a3b3
--- /dev/null
+++ b/packages/bukkit/src/typings/org.bukkit.material.FlowerPot.ts
@@ -0,0 +1,24 @@
+declare namespace org {
+ namespace bukkit {
+ namespace material {
+ class FlowerPot {
+ /**
+ * Default constructor for a flower pot.
+ */
+ constructor()
+ constructor(type: org.bukkit.Material)
+ constructor(type: org.bukkit.Material, data: number)
+ /**
+ * Get the material in the flower pot
+ */
+ public getContents(): org.bukkit.material.MaterialData;
+ /**
+ * Set the contents of the flower pot
+ */
+ public setContents(materialData: org.bukkit.material.MaterialData): void;
+ public toString(): string;
+ public clone(): org.bukkit.material.FlowerPot;
+ }
+ }
+ }
+}
diff --git a/packages/bukkit/src/typings/org.bukkit.material.Furnace.ts b/packages/bukkit/src/typings/org.bukkit.material.Furnace.ts
new file mode 100644
index 00000000..206c824e
--- /dev/null
+++ b/packages/bukkit/src/typings/org.bukkit.material.Furnace.ts
@@ -0,0 +1,16 @@
+declare namespace org {
+ namespace bukkit {
+ namespace material {
+ class Furnace {
+ constructor()
+ /**
+ * Instantiate a furnace facing in a particular direction.
+ */
+ constructor(direction: org.bukkit.block.BlockFace)
+ constructor(type: org.bukkit.Material)
+ constructor(type: org.bukkit.Material, data: number)
+ public clone(): org.bukkit.material.Furnace;
+ }
+ }
+ }
+}
diff --git a/packages/bukkit/src/typings/org.bukkit.material.FurnaceAndDispenser.ts b/packages/bukkit/src/typings/org.bukkit.material.FurnaceAndDispenser.ts
new file mode 100644
index 00000000..bcb8c29f
--- /dev/null
+++ b/packages/bukkit/src/typings/org.bukkit.material.FurnaceAndDispenser.ts
@@ -0,0 +1,11 @@
+declare namespace org {
+ namespace bukkit {
+ namespace material {
+ class FurnaceAndDispenser {
+ constructor(type: org.bukkit.Material)
+ constructor(type: org.bukkit.Material, data: number)
+ public clone(): org.bukkit.material.FurnaceAndDispenser;
+ }
+ }
+ }
+}
diff --git a/packages/bukkit/src/typings/org.bukkit.material.Gate.ts b/packages/bukkit/src/typings/org.bukkit.material.Gate.ts
new file mode 100644
index 00000000..dbc37462
--- /dev/null
+++ b/packages/bukkit/src/typings/org.bukkit.material.Gate.ts
@@ -0,0 +1,17 @@
+declare namespace org {
+ namespace bukkit {
+ namespace material {
+ class Gate {
+ constructor()
+ constructor(type: org.bukkit.Material, data: number)
+ constructor(data: number)
+ public setFacingDirection(face: org.bukkit.block.BlockFace): void;
+ public getFacing(): org.bukkit.block.BlockFace;
+ public isOpen(): boolean;
+ public setOpen(isOpen: boolean): void;
+ public toString(): string;
+ public clone(): org.bukkit.material.Gate;
+ }
+ }
+ }
+}
diff --git a/packages/bukkit/src/typings/org.bukkit.material.Hopper.ts b/packages/bukkit/src/typings/org.bukkit.material.Hopper.ts
new file mode 100644
index 00000000..e747555c
--- /dev/null
+++ b/packages/bukkit/src/typings/org.bukkit.material.Hopper.ts
@@ -0,0 +1,48 @@
+declare namespace org {
+ namespace bukkit {
+ namespace material {
+ class Hopper {
+ /**
+ * Constructs a hopper facing the default direction (down) and initially
+ * active.
+ */
+ constructor()
+ /**
+ * Constructs a hopper facing the specified direction and initially active.
+ */
+ constructor(facingDirection: org.bukkit.block.BlockFace)
+ /**
+ * Constructs a hopper facing the specified direction and either active or
+ * not.
+ */
+ constructor(facingDirection: org.bukkit.block.BlockFace, isActive: boolean)
+ constructor(type: org.bukkit.Material)
+ constructor(type: org.bukkit.Material, data: number)
+ protected static DEFAULT_DIRECTION: org.bukkit.block.BlockFace;
+ protected static DEFAULT_ACTIVE: boolean;
+ /**
+ * Sets whether the hopper is active or not.
+ */
+ public setActive(isActive: boolean): void;
+ /**
+ * Checks whether the hopper is active or not.
+ */
+ public isActive(): boolean;
+ /**
+ * Sets the direction this hopper is facing
+ */
+ public setFacingDirection(face: org.bukkit.block.BlockFace): void;
+ /**
+ * Gets the direction this hopper is facing
+ */
+ public getFacing(): org.bukkit.block.BlockFace;
+ public toString(): string;
+ public clone(): org.bukkit.material.Hopper;
+ /**
+ * Checks if the hopper is powered.
+ */
+ public isPowered(): boolean;
+ }
+ }
+ }
+}
diff --git a/packages/bukkit/src/typings/org.bukkit.material.Ladder.ts b/packages/bukkit/src/typings/org.bukkit.material.Ladder.ts
new file mode 100644
index 00000000..abecc2d1
--- /dev/null
+++ b/packages/bukkit/src/typings/org.bukkit.material.Ladder.ts
@@ -0,0 +1,20 @@
+declare namespace org {
+ namespace bukkit {
+ namespace material {
+ class Ladder {
+ constructor()
+ constructor(type: org.bukkit.Material)
+ constructor(type: org.bukkit.Material, data: number)
+ /**
+ * Gets the face that this block is attached on
+ */
+ public getAttachedFace(): org.bukkit.block.BlockFace;
+ /**
+ * Sets the direction this ladder is facing
+ */
+ public setFacingDirection(face: org.bukkit.block.BlockFace): void;
+ public clone(): org.bukkit.material.Ladder;
+ }
+ }
+ }
+}
diff --git a/packages/bukkit/src/typings/org.bukkit.material.Leaves.ts b/packages/bukkit/src/typings/org.bukkit.material.Leaves.ts
new file mode 100644
index 00000000..9e212f6b
--- /dev/null
+++ b/packages/bukkit/src/typings/org.bukkit.material.Leaves.ts
@@ -0,0 +1,56 @@
+declare namespace org {
+ namespace bukkit {
+ namespace material {
+ class Leaves {
+ /**
+ * Constructs a leaf block.
+ */
+ constructor()
+ /**
+ * Constructs a leaf block of the given tree species.
+ */
+ constructor(species: org.bukkit.TreeSpecies)
+ /**
+ * Constructs a leaf block of the given tree species and flag for whether
+ * this leaf block will disappear when too far from a log.
+ */
+ constructor(species: org.bukkit.TreeSpecies, isDecayable: boolean)
+ /**
+ * Constructs a leaf block of the given type.
+ */
+ constructor(type: org.bukkit.Material)
+ /**
+ * Constructs a leaf block of the given type and tree species.
+ */
+ constructor(type: org.bukkit.Material, species: org.bukkit.TreeSpecies)
+ /**
+ * Constructs a leaf block of the given type and tree species and flag for
+ * whether this leaf block will disappear when too far from a log.
+ */
+ constructor(type: org.bukkit.Material, species: org.bukkit.TreeSpecies, isDecayable: boolean)
+ constructor(type: org.bukkit.Material, data: number)
+ protected static DEFAULT_TYPE: org.bukkit.Material;
+ protected static DEFAULT_DECAYABLE: boolean;
+ /**
+ * Checks if this leaf block is in the process of decaying
+ */
+ public isDecaying(): boolean;
+ /**
+ * Set whether this leaf block is in the process of decaying
+ */
+ public setDecaying(isDecaying: boolean): void;
+ /**
+ * Checks if this leaf block is permanent or can decay when too far from a
+ * log
+ */
+ public isDecayable(): boolean;
+ /**
+ * Set whether this leaf block will disappear when too far from a log
+ */
+ public setDecayable(isDecayable: boolean): void;
+ public toString(): string;
+ public clone(): org.bukkit.material.Leaves;
+ }
+ }
+ }
+}
diff --git a/packages/bukkit/src/typings/org.bukkit.material.Lever.ts b/packages/bukkit/src/typings/org.bukkit.material.Lever.ts
new file mode 100644
index 00000000..f393e93e
--- /dev/null
+++ b/packages/bukkit/src/typings/org.bukkit.material.Lever.ts
@@ -0,0 +1,30 @@
+declare namespace org {
+ namespace bukkit {
+ namespace material {
+ class Lever {
+ constructor()
+ constructor(type: org.bukkit.Material)
+ constructor(type: org.bukkit.Material, data: number)
+ /**
+ * Gets the current state of this Material, indicating if it's powered or
+ * unpowered
+ */
+ public isPowered(): boolean;
+ /**
+ * Set this lever to be powered or not.
+ */
+ public setPowered(isPowered: boolean): void;
+ /**
+ * Gets the face that this block is attached on
+ */
+ public getAttachedFace(): org.bukkit.block.BlockFace;
+ /**
+ * Sets the direction this lever is pointing in
+ */
+ public setFacingDirection(face: org.bukkit.block.BlockFace): void;
+ public toString(): string;
+ public clone(): org.bukkit.material.Lever;
+ }
+ }
+ }
+}
diff --git a/packages/bukkit/src/typings/org.bukkit.material.LongGrass.ts b/packages/bukkit/src/typings/org.bukkit.material.LongGrass.ts
new file mode 100644
index 00000000..cf6a26f4
--- /dev/null
+++ b/packages/bukkit/src/typings/org.bukkit.material.LongGrass.ts
@@ -0,0 +1,22 @@
+declare namespace org {
+ namespace bukkit {
+ namespace material {
+ class LongGrass {
+ constructor()
+ constructor(species: org.bukkit.GrassSpecies)
+ constructor(type: org.bukkit.Material)
+ constructor(type: org.bukkit.Material, data: number)
+ /**
+ * Gets the current species of this grass
+ */
+ public getSpecies(): org.bukkit.GrassSpecies;
+ /**
+ * Sets the species of this grass
+ */
+ public setSpecies(species: org.bukkit.GrassSpecies): void;
+ public toString(): string;
+ public clone(): org.bukkit.material.LongGrass;
+ }
+ }
+ }
+}
diff --git a/packages/bukkit/src/typings/org.bukkit.material.MaterialData.ts b/packages/bukkit/src/typings/org.bukkit.material.MaterialData.ts
new file mode 100644
index 00000000..7c8fa865
--- /dev/null
+++ b/packages/bukkit/src/typings/org.bukkit.material.MaterialData.ts
@@ -0,0 +1,34 @@
+declare namespace org {
+ namespace bukkit {
+ namespace material {
+ class MaterialData {
+ constructor(type: org.bukkit.Material)
+ constructor(type: org.bukkit.Material, data: number)
+ /**
+ * Gets the raw data in this material
+ */
+ public getData(): number;
+ /**
+ * Sets the raw data of this material
+ */
+ public setData(data: number): void;
+ /**
+ * Gets the Material that this MaterialData represents
+ */
+ public getItemType(): org.bukkit.Material;
+ /**
+ * Creates a new ItemStack based on this MaterialData
+ */
+ public toItemStack(): org.bukkit.inventory.ItemStack;
+ /**
+ * Creates a new ItemStack based on this MaterialData
+ */
+ public toItemStack(amount: number): org.bukkit.inventory.ItemStack;
+ public toString(): string;
+ public hashCode(): number;
+ public equals(obj: any): boolean;
+ public clone(): org.bukkit.material.MaterialData;
+ }
+ }
+ }
+}
diff --git a/packages/bukkit/src/typings/org.bukkit.material.MonsterEggs.ts b/packages/bukkit/src/typings/org.bukkit.material.MonsterEggs.ts
new file mode 100644
index 00000000..b3148028
--- /dev/null
+++ b/packages/bukkit/src/typings/org.bukkit.material.MonsterEggs.ts
@@ -0,0 +1,13 @@
+declare namespace org {
+ namespace bukkit {
+ namespace material {
+ class MonsterEggs {
+ constructor()
+ constructor(type: org.bukkit.Material)
+ constructor(type: org.bukkit.Material, data: number)
+ public getTextures(): any[] /*java.util.List*/;
+ public clone(): org.bukkit.material.MonsterEggs;
+ }
+ }
+ }
+}
diff --git a/packages/bukkit/src/typings/org.bukkit.material.Mushroom.ts b/packages/bukkit/src/typings/org.bukkit.material.Mushroom.ts
new file mode 100644
index 00000000..931e2dd6
--- /dev/null
+++ b/packages/bukkit/src/typings/org.bukkit.material.Mushroom.ts
@@ -0,0 +1,51 @@
+declare namespace org {
+ namespace bukkit {
+ namespace material {
+ class Mushroom {
+ /**
+ * Constructs a brown/red mushroom block with all sides set to pores.
+ */
+ constructor(shroom: org.bukkit.Material)
+ /**
+ * Constructs a brown/red mushroom cap block with the specified face or
+ * faces set to cap texture.
+ * Setting any of the four sides will also set the top to cap.
+ * To set two side faces at once use e.g. north-west.
+ * Specify self to set all six faces at once.
+ */
+ constructor(shroom: org.bukkit.Material, capFace: org.bukkit.block.BlockFace)
+ /**
+ * Constructs a brown/red mushroom block with the specified textures.
+ */
+ constructor(shroom: org.bukkit.Material, texture: org.bukkit.material.types.MushroomBlockTexture)
+ constructor(shroom: org.bukkit.Material, data: number)
+ public isStem(): boolean;
+ /**
+ * Sets this to be a mushroom stem.
+ */
+ public setStem(): void;
+ /**
+ * Gets the mushroom texture of this block.
+ */
+ public getBlockTexture(): org.bukkit.material.types.MushroomBlockTexture;
+ /**
+ * Sets the mushroom texture of this block.
+ */
+ public setBlockTexture(texture: org.bukkit.material.types.MushroomBlockTexture): void;
+ /**
+ * Checks whether a face of the block is painted with cap texture.
+ */
+ public isFacePainted(face: org.bukkit.block.BlockFace): boolean;
+ /**
+ * Set a face of the block to be painted or not. Note that due to the
+ * nature of how the data is stored, setting a face painted or not is not
+ * guaranteed to leave the other faces unchanged.
+ */
+ public setFacePainted(face: org.bukkit.block.BlockFace, painted: boolean): void;
+ public getPaintedFaces(): any[] /*java.util.Set*/;
+ public toString(): string;
+ public clone(): org.bukkit.material.Mushroom;
+ }
+ }
+ }
+}
diff --git a/packages/bukkit/src/typings/org.bukkit.material.NetherWarts.ts b/packages/bukkit/src/typings/org.bukkit.material.NetherWarts.ts
new file mode 100644
index 00000000..f28cd19f
--- /dev/null
+++ b/packages/bukkit/src/typings/org.bukkit.material.NetherWarts.ts
@@ -0,0 +1,22 @@
+declare namespace org {
+ namespace bukkit {
+ namespace material {
+ class NetherWarts {
+ constructor()
+ constructor(state: org.bukkit.NetherWartsState)
+ constructor(type: org.bukkit.Material)
+ constructor(type: org.bukkit.Material, data: number)
+ /**
+ * Gets the current growth state of this nether wart
+ */
+ public getState(): org.bukkit.NetherWartsState;
+ /**
+ * Sets the growth state of this nether wart
+ */
+ public setState(state: org.bukkit.NetherWartsState): void;
+ public toString(): string;
+ public clone(): org.bukkit.material.NetherWarts;
+ }
+ }
+ }
+}
diff --git a/packages/bukkit/src/typings/org.bukkit.material.Observer.ts b/packages/bukkit/src/typings/org.bukkit.material.Observer.ts
new file mode 100644
index 00000000..05d8d914
--- /dev/null
+++ b/packages/bukkit/src/typings/org.bukkit.material.Observer.ts
@@ -0,0 +1,17 @@
+declare namespace org {
+ namespace bukkit {
+ namespace material {
+ class Observer {
+ constructor()
+ constructor(direction: org.bukkit.block.BlockFace)
+ constructor(type: org.bukkit.Material)
+ constructor(type: org.bukkit.Material, data: number)
+ public isPowered(): boolean;
+ public setFacingDirection(face: org.bukkit.block.BlockFace): void;
+ public getFacing(): org.bukkit.block.BlockFace;
+ public toString(): string;
+ public clone(): org.bukkit.material.Observer;
+ }
+ }
+ }
+}
diff --git a/packages/bukkit/src/typings/org.bukkit.material.Openable.ts b/packages/bukkit/src/typings/org.bukkit.material.Openable.ts
new file mode 100644
index 00000000..0ed47d15
--- /dev/null
+++ b/packages/bukkit/src/typings/org.bukkit.material.Openable.ts
@@ -0,0 +1,16 @@
+declare namespace org {
+ namespace bukkit {
+ namespace material {
+ class Openable {
+ /**
+ * Check to see if the door is open.
+ */
+ public isOpen(): boolean;
+ /**
+ * Configure this door to be either open or closed;
+ */
+ public setOpen(isOpen: boolean): void;
+ }
+ }
+ }
+}
diff --git a/packages/bukkit/src/typings/org.bukkit.material.PistonBaseMaterial.ts b/packages/bukkit/src/typings/org.bukkit.material.PistonBaseMaterial.ts
new file mode 100644
index 00000000..2a7b0e0f
--- /dev/null
+++ b/packages/bukkit/src/typings/org.bukkit.material.PistonBaseMaterial.ts
@@ -0,0 +1,25 @@
+declare namespace org {
+ namespace bukkit {
+ namespace material {
+ class PistonBaseMaterial {
+ constructor(type: org.bukkit.Material)
+ /**
+ * Constructs a PistonBaseMaterial.
+ */
+ constructor(type: org.bukkit.Material, data: number)
+ public setFacingDirection(face: org.bukkit.block.BlockFace): void;
+ public getFacing(): org.bukkit.block.BlockFace;
+ public isPowered(): boolean;
+ /**
+ * Sets the current state of this piston
+ */
+ public setPowered(powered: boolean): void;
+ /**
+ * Checks if this piston base is sticky, and returns true if so
+ */
+ public isSticky(): boolean;
+ public clone(): org.bukkit.material.PistonBaseMaterial;
+ }
+ }
+ }
+}
diff --git a/packages/bukkit/src/typings/org.bukkit.material.PistonExtensionMaterial.ts b/packages/bukkit/src/typings/org.bukkit.material.PistonExtensionMaterial.ts
new file mode 100644
index 00000000..f7dc2918
--- /dev/null
+++ b/packages/bukkit/src/typings/org.bukkit.material.PistonExtensionMaterial.ts
@@ -0,0 +1,22 @@
+declare namespace org {
+ namespace bukkit {
+ namespace material {
+ class PistonExtensionMaterial {
+ constructor(type: org.bukkit.Material)
+ constructor(type: org.bukkit.Material, data: number)
+ public setFacingDirection(face: org.bukkit.block.BlockFace): void;
+ public getFacing(): org.bukkit.block.BlockFace;
+ /**
+ * Checks if this piston extension is sticky, and returns true if so
+ */
+ public isSticky(): boolean;
+ /**
+ * Sets whether or not this extension is sticky
+ */
+ public setSticky(sticky: boolean): void;
+ public getAttachedFace(): org.bukkit.block.BlockFace;
+ public clone(): org.bukkit.material.PistonExtensionMaterial;
+ }
+ }
+ }
+}
diff --git a/packages/bukkit/src/typings/org.bukkit.material.PoweredRail.ts b/packages/bukkit/src/typings/org.bukkit.material.PoweredRail.ts
new file mode 100644
index 00000000..48ae1a88
--- /dev/null
+++ b/packages/bukkit/src/typings/org.bukkit.material.PoweredRail.ts
@@ -0,0 +1,17 @@
+declare namespace org {
+ namespace bukkit {
+ namespace material {
+ class PoweredRail {
+ constructor()
+ constructor(type: org.bukkit.Material)
+ constructor(type: org.bukkit.Material, data: number)
+ public isPowered(): boolean;
+ /**
+ * Set whether this PoweredRail should be powered or not.
+ */
+ public setPowered(isPowered: boolean): void;
+ public clone(): org.bukkit.material.PoweredRail;
+ }
+ }
+ }
+}
diff --git a/packages/bukkit/src/typings/org.bukkit.material.PressurePlate.ts b/packages/bukkit/src/typings/org.bukkit.material.PressurePlate.ts
new file mode 100644
index 00000000..e855e5bb
--- /dev/null
+++ b/packages/bukkit/src/typings/org.bukkit.material.PressurePlate.ts
@@ -0,0 +1,14 @@
+declare namespace org {
+ namespace bukkit {
+ namespace material {
+ class PressurePlate {
+ constructor()
+ constructor(type: org.bukkit.Material)
+ constructor(type: org.bukkit.Material, data: number)
+ public isPressed(): boolean;
+ public toString(): string;
+ public clone(): org.bukkit.material.PressurePlate;
+ }
+ }
+ }
+}
diff --git a/packages/bukkit/src/typings/org.bukkit.material.PressureSensor.ts b/packages/bukkit/src/typings/org.bukkit.material.PressureSensor.ts
new file mode 100644
index 00000000..e1ed910d
--- /dev/null
+++ b/packages/bukkit/src/typings/org.bukkit.material.PressureSensor.ts
@@ -0,0 +1,9 @@
+declare namespace org {
+ namespace bukkit {
+ namespace material {
+ class PressureSensor {
+ public isPressed(): boolean;
+ }
+ }
+ }
+}
diff --git a/packages/bukkit/src/typings/org.bukkit.material.Pumpkin.ts b/packages/bukkit/src/typings/org.bukkit.material.Pumpkin.ts
new file mode 100644
index 00000000..9495381a
--- /dev/null
+++ b/packages/bukkit/src/typings/org.bukkit.material.Pumpkin.ts
@@ -0,0 +1,20 @@
+declare namespace org {
+ namespace bukkit {
+ namespace material {
+ class Pumpkin {
+ constructor()
+ /**
+ * Instantiate a pumpkin facing in a particular direction.
+ */
+ constructor(direction: org.bukkit.block.BlockFace)
+ constructor(type: org.bukkit.Material)
+ constructor(type: org.bukkit.Material, data: number)
+ public isLit(): boolean;
+ public setFacingDirection(face: org.bukkit.block.BlockFace): void;
+ public getFacing(): org.bukkit.block.BlockFace;
+ public toString(): string;
+ public clone(): org.bukkit.material.Pumpkin;
+ }
+ }
+ }
+}
diff --git a/packages/bukkit/src/typings/org.bukkit.material.Rails.ts b/packages/bukkit/src/typings/org.bukkit.material.Rails.ts
new file mode 100644
index 00000000..1f44f1ca
--- /dev/null
+++ b/packages/bukkit/src/typings/org.bukkit.material.Rails.ts
@@ -0,0 +1,30 @@
+declare namespace org {
+ namespace bukkit {
+ namespace material {
+ class Rails {
+ constructor()
+ constructor(type: org.bukkit.Material)
+ constructor(type: org.bukkit.Material, data: number)
+ public isOnSlope(): boolean;
+ public isCurve(): boolean;
+ public getDirection(): org.bukkit.block.BlockFace;
+ public toString(): string;
+ /**
+ * Return the data without the extended properties used by {@link
+ * PoweredRail} and {@link DetectorRail}. Overridden in {@link
+ * ExtendedRails}
+ */
+ protected getConvertedData(): number;
+ /**
+ * Set the direction of these tracks
+ *
+ *
+ */
+ public static loadPermissions(data: Map
+ *
+ */
+ public static loadPermission(name: string, data: Map
+ *
+ */
+ public static loadPermission(name: string, data: MapIllegalPluginAccessException
+ * without detail message.
+ */
+ constructor()
+ /**
+ * Constructs an instance of IllegalPluginAccessException
+ * with the specified detail message.
+ */
+ constructor(msg: string)
+ }
+ }
+ }
+}
diff --git a/packages/bukkit/src/typings/org.bukkit.plugin.InvalidDescriptionException.ts b/packages/bukkit/src/typings/org.bukkit.plugin.InvalidDescriptionException.ts
new file mode 100644
index 00000000..2735b860
--- /dev/null
+++ b/packages/bukkit/src/typings/org.bukkit.plugin.InvalidDescriptionException.ts
@@ -0,0 +1,26 @@
+declare namespace org {
+ namespace bukkit {
+ namespace plugin {
+ class InvalidDescriptionException {
+ /**
+ * Constructs a new InvalidDescriptionException based on the given
+ * Exception
+ */
+ constructor(cause: any, message: string)
+ /**
+ * Constructs a new InvalidDescriptionException based on the given
+ * Exception
+ */
+ constructor(cause: any)
+ /**
+ * Constructs a new InvalidDescriptionException with the given message
+ */
+ constructor(message: string)
+ /**
+ * Constructs a new InvalidDescriptionException
+ */
+ constructor()
+ }
+ }
+ }
+}
diff --git a/packages/bukkit/src/typings/org.bukkit.plugin.InvalidPluginException.ts b/packages/bukkit/src/typings/org.bukkit.plugin.InvalidPluginException.ts
new file mode 100644
index 00000000..85a8f3c2
--- /dev/null
+++ b/packages/bukkit/src/typings/org.bukkit.plugin.InvalidPluginException.ts
@@ -0,0 +1,26 @@
+declare namespace org {
+ namespace bukkit {
+ namespace plugin {
+ class InvalidPluginException {
+ /**
+ * Constructs a new InvalidPluginException based on the given Exception
+ */
+ constructor(cause: any)
+ /**
+ * Constructs a new InvalidPluginException
+ */
+ constructor()
+ /**
+ * Constructs a new InvalidPluginException with the specified detail
+ * message and cause.
+ */
+ constructor(message: string, cause: any)
+ /**
+ * Constructs a new InvalidPluginException with the specified detail
+ * message
+ */
+ constructor(message: string)
+ }
+ }
+ }
+}
diff --git a/packages/bukkit/src/typings/org.bukkit.plugin.Plugin.ts b/packages/bukkit/src/typings/org.bukkit.plugin.Plugin.ts
new file mode 100644
index 00000000..092703d3
--- /dev/null
+++ b/packages/bukkit/src/typings/org.bukkit.plugin.Plugin.ts
@@ -0,0 +1,106 @@
+declare namespace org {
+ namespace bukkit {
+ namespace plugin {
+ class Plugin {
+ /**
+ * Returns the folder that the plugin data's files are located in. The
+ * folder may not yet exist.
+ */
+ public getDataFolder(): any;
+ /**
+ * Returns the plugin.yaml file containing the details for this plugin
+ */
+ public getDescription(): org.bukkit.plugin.PluginDescriptionFile;
+ /**
+ * Gets a {@link FileConfiguration} for this plugin, read through
+ * "config.yml"
+ *
+ *
+ * name
.
+ *
+ */
+ public getName(): string;
+ /**
+ * Gives the version of the plugin.
+ * name: MyPlugin
+ *
+ * /version PluginName
+ * version
.
+ *
+ */
+ public getVersion(): string;
+ /**
+ * Gives the fully qualified name of the main class for a plugin. The
+ * format should follow the {@link ClassLoader#loadClass(String)} syntax
+ * to successfully be resolved at runtime. For most plugins, this is the
+ * class that extends {@link JavaPlugin}.
+ * version: 1.4.1
+ *
+ * org.bukkit.plugin
, and your class
+ * file is called MyPlugin
then this must be
+ * org.bukkit.plugin.MyPlugin
+ * org.bukkit.
as a base package for
+ * any class, including the main class.
+ * main
.
+ *
+ */
+ public getMain(): string;
+ /**
+ * Gives a human-friendly description of the functionality the plugin
+ * provides.
+ * main: org.bukkit.plugin.MyPlugin
+ *
+ * /version PluginName
+ * description
.
+ *
+ */
+ public getDescription(): string;
+ /**
+ * Gives the phase of server startup that the plugin should be loaded.
+ * description: This plugin is so 31337. You can set yourself on fire.
+ *
+ * STARTUP
, but a dependency loads
+ * at POSTWORLD
, the dependency will not be loaded before
+ * the plugin is loaded.
+ * load
.
+ *
+ */
+ public getLoad(): org.bukkit.plugin.PluginLoadOrder;
+ /**
+ * Gives the list of authors for the plugin.
+ * load: STARTUP
+ *
+ * /version PluginName
+ * authors
must be in YAML list
+ * format.
+ * author
and
+ * authors
.
+ *
+ * Multiple author example:
+ * author: CaptainInflamo
+ * When both are specified, author will be the first entry in the list, so
+ * this example:
+ * authors: [Cogito, verrier, EvilSeph]
+ * Is equivilant to this example:
+ * author: Grum
+ * authors:
+ * - feildmaster
+ * - amaranth
authors: [Grum, feildmaster, aramanth]
+ */
+ public getAuthors(): any[] /*java.util.List*/;
+ /**
+ * Gives the plugin's or plugin's author's website.
+ *
+ *
+ * /version PluginName
+ * website
.
+ *
+ */
+ public getWebsite(): string;
+ /**
+ * Gives a list of other plugins that the plugin requires.
+ * website: http://www.curse.com/server-mods/minecraft/myplugin
+ *
+ * depend
,
+ * creating a network with no individual plugin does not list another
+ * plugin in the network,
+ * all plugins in that network will fail.
+ * depend
must be in must be in YAML list
+ * format.
+ * depend
.
+ *
+ */
+ public getDepend(): any[] /*java.util.List*/;
+ /**
+ * Gives a list of other plugins that the plugin requires for full
+ * functionality. The {@link PluginManager} will make best effort to treat
+ * all entries here as if they were a {@link #getDepend() dependency}, but
+ * will never fail because of one of these entries.
+ * depend:
+ * - OnePlugin
+ * - AnotherPlugin
+ *
+ * softdepend
must be in YAML list
+ * format.
+ * softdepend
.
+ *
+ */
+ public getSoftDepend(): any[] /*java.util.List*/;
+ /**
+ * Gets the list of plugins that should consider this plugin a
+ * soft-dependency.
+ * softdepend: [OnePlugin, AnotherPlugin]
+ *
+ * loadbefore
must be in YAML list
+ * format.
+ * loadbefore
.
+ *
+ */
+ public getLoadBefore(): any[] /*java.util.List*/;
+ /**
+ * Gives the token to prefix plugin-specific logging messages with.
+ * loadbefore:
+ * - OnePlugin
+ * - AnotherPlugin
+ *
+ * prefix
.
+ *
+ */
+ public getPrefix(): string;
+ /**
+ * Gives the map of command-name to command-properties. Each entry in this
+ * map corresponds to a single command and the respective values are the
+ * properties of the command. Each property, with the exception of
+ * aliases, can be defined at runtime using methods in {@link
+ * PluginCommand} and are defined here only as a convenience.
+ * prefix: ex-why-zee
+ *
+ * The commands are structured as a hiearchy of nested mappings.
+ * The primary (top-level, no intendentation) node is
+ * `
+ * Node
+ * Method
+ * Type
+ * Description
+ * Example
+ *
+ *
+ * description
{@link PluginCommand#setDescription(String)}
+ * String
+ * A user-friendly description for a command. It is useful for
+ * documentation purposes as well as in-game help.
+ *
+ * description: Set yourself on fire
+ *
+ * aliases
{@link PluginCommand#setAliases(List)}
+ * String or List of
+ * strings
+ * Alternative command names, with special usefulness for commands
+ * that are already registered. Aliases are not effective when
+ * defined at runtime, so the plugin description file is the
+ * only way to have them properly defined.
+ *
+ * Single alias format:
+ *
+ *
or
+ * multiple alias format:
+ * aliases: combust_me
aliases: [combust_me, combustMe]
+ *
+ * permission
{@link PluginCommand#setPermission(String)}
+ * String
+ * The name of the {@link Permission} required to use the command.
+ * A user without the permission will receive the specified
+ * message (see {@linkplain
+ * PluginCommand#setPermissionMessage(String) below}), or a
+ * standard one if no specific message is defined. Without the
+ * permission node, no {@link
+ * PluginCommand#setExecutor(CommandExecutor) CommandExecutor} or
+ * {@link PluginCommand#setTabCompleter(TabCompleter)} will be called.
+ *
+ * permission: inferno.flagrate
+ *
+ * permission-message
{@link PluginCommand#setPermissionMessage(String)}
+ * String
+ *
+ *
+ *
+ * permission-message: You do not have /<permission>
+ *
+ *
+ * usage
{@link PluginCommand#setUsage(String)}
+ * String
+ * This message is displayed to a player when the {@link
+ * PluginCommand#setExecutor(CommandExecutor)} {@linkplain
+ * CommandExecutor#onCommand(CommandSender, Command, String, String[]) returns false}.
+ * <command> is a macro that is replaced the command issued.
+ *
+ *
+ * It is worth noting that to use a colon in a yaml, like
+ * usage: Syntax error! Perhaps you meant /<command> PlayerName?
`usage: Usage: /god [player]'
, you need to
+ * surround
+ * the message with double-quote:
+ * usage: "Usage: /god [player]"
commands
', while each individual command name is
+ * indented, indicating it maps to some value (in our case, the
+ * properties of the table above).
+ *
+ * Note: Command names may not have a colon in their name.
+ */
+ public getCommands(): Map
+ * commands:
+ * flagrate:
+ * description: Set yourself on fire.
+ * aliases: [combust_me, combustMe]
+ * permission: inferno.flagrate
+ * permission-message: You do not have /<permission>
+ * usage: Syntax error! Perhaps you meant /<command> PlayerName?
+ * burningdeaths:
+ * description: List how many times you have died by fire.
+ * aliases:
+ * - burning_deaths
+ * - burningDeaths
+ * permission: inferno.burningdeaths
+ * usage: |
+ * /<command> [player]
+ * Example: /<command> - see how many times you have burned to death
+ * Example: /<command> CaptainIce - see how many times CaptainIce has burned to death
+ * # The next command has no description, aliases, etc. defined, but is still valid
+ * # Having an empty declaration is useful for defining the description, permission, and messages from a configuration dynamically
+ * apocalypse:
+ *
{}
) may be used (as a null value is not
+ * accepted, unlike the {@link #getCommands() commands} above).
+ *
+ *
+ * The permissions are structured as a hiearchy of nested mappings.
+ * The primary (top-level, no intendentation) node is
+ * `
+ * Node
+ * Description
+ * Example
+ *
+ *
+ * description
Plaintext (user-friendly) description of what the permission
+ * is for.
+ *
+ * description: Allows you to set yourself on fire
+ *
+ * default
The default state for the permission, as defined by {@link
+ * Permission#getDefault()}. If not defined, it will be set to
+ * the value of {@link PluginDescriptionFile#getPermissionDefault()}.
+ *
+ *
+ *
true
- Represents a positive assignment to
+ * {@link Permissible permissibles}.
+ * false
- Represents no assignment to {@link
+ * Permissible permissibles}.
+ * op
- Represents a positive assignment to
+ * {@link Permissible#isOp() operator permissibles}.
+ * notop
- Represents a positive assignment to
+ * {@link Permissible#isOp() non-operator permissibiles}.
+ *
+ * default: true
+ *
+ *
+ * children
Allows other permissions to be set as a {@linkplain
+ * Permission#getChildren() relation} to the parent permission.
+ * When a parent permissions is assigned, child permissions are
+ * respectively assigned as well.
+ *
+ *
+ *
+ *
+ *
{}
) must be used.
+ * As a list:
+ *
+ *
+ * Or as a mapping:
+ * children: [inferno.flagrate, inferno.burningdeaths]
+ * An additional example showing basic nested values can be seen
+ * here.
+ * children:
+ * inferno.flagrate: true
+ * inferno.burningdeaths: true
permissions
', while each individual permission name is
+ * indented, indicating it maps to some value (in our case, the
+ * properties of the table above).
+ *
+ * Another example, with nested definitions, can be found here.
+ */
+ public getPermissions(): any[] /*java.util.List*/;
+ /**
+ * Gives the default {@link Permission#getDefault() default} state of
+ * {@link #getPermissions() permissions} registered for the plugin.
+ *
+ * permissions:
+ * inferno.*:
+ * description: Gives access to all Inferno commands
+ * children:
+ * inferno.flagrate: true
+ * inferno.burningdeaths: true
+ * inferno.flagate:
+ * description: Allows you to ignite yourself
+ * default: true
+ * inferno.burningdeaths:
+ * description: Allows you to see how many times you have burned to death
+ * default: true
+ *
+ *
+ * default
node.
+ * default-permission
.
+ *
+ */
+ public getPermissionDefault(): org.bukkit.permissions.PermissionDefault;
+ /**
+ * Gives a set of every {@link PluginAwareness} for a plugin. An awareness
+ * dictates something that a plugin developer acknowledges when the plugin
+ * is compiled. Some implementions may define extra awarenesses that are
+ * not included in the API. Any unrecognized
+ * awareness (one unsupported or in a future version) will cause a dummy
+ * object to be created instead of failing.
+ * default-permission: NOT_OP
+ *
+ * !@
).
+ * awareness
must be in YAML list
+ * format.
+ * awareness
.
+ *
+ * awareness:
+ * - !@UTF8
+ *
+ * api-version
.
+ *
+ */
+ public getAPIVersion(): string;
+ public getClassLoaderOf(): string;
+ /**
+ * Saves this PluginDescriptionFile to the given writer
+ */
+ public save(writer: any): void;
+ public getRawName(): string;
+ }
+ }
+ }
+}
diff --git a/packages/bukkit/src/typings/org.bukkit.plugin.PluginLoadOrder.ts b/packages/bukkit/src/typings/org.bukkit.plugin.PluginLoadOrder.ts
new file mode 100644
index 00000000..2776e3e5
--- /dev/null
+++ b/packages/bukkit/src/typings/org.bukkit.plugin.PluginLoadOrder.ts
@@ -0,0 +1,12 @@
+declare namespace org {
+ namespace bukkit {
+ namespace plugin {
+ class PluginLoadOrder {
+ public static STARTUP: org.bukkit.plugin.PluginLoadOrder;
+ public static POSTWORLD: org.bukkit.plugin.PluginLoadOrder;
+ public static values(): org.bukkit.plugin.PluginLoadOrder[];
+ public static valueOf(name: string): org.bukkit.plugin.PluginLoadOrder;
+ }
+ }
+ }
+}
diff --git a/packages/bukkit/src/typings/org.bukkit.plugin.PluginLoader.ts b/packages/bukkit/src/typings/org.bukkit.plugin.PluginLoader.ts
new file mode 100644
index 00000000..cc33be04
--- /dev/null
+++ b/packages/bukkit/src/typings/org.bukkit.plugin.PluginLoader.ts
@@ -0,0 +1,38 @@
+declare namespace org {
+ namespace bukkit {
+ namespace plugin {
+ class PluginLoader {
+ /**
+ * Loads the plugin contained in the specified file
+ */
+ public loadPlugin(file: any): org.bukkit.plugin.Plugin;
+ /**
+ * Loads a PluginDescriptionFile from the specified file
+ */
+ public getPluginDescription(file: any): org.bukkit.plugin.PluginDescriptionFile;
+ /**
+ * Returns a list of all filename filters expected by this PluginLoader
+ */
+ public getPluginFileFilters(): any;
+ /**
+ * Creates and returns registered listeners for the event classes used in
+ * this listener
+ */
+ public createRegisteredListeners(listener: org.bukkit.event.Listener, plugin: org.bukkit.plugin.Plugin): Mapapi-version: 1.13
load(service)
later, as that
+ * would be a non-thread safe situation.
+ */
+ public isProvidedFor(service: any): boolean;
+ }
+ }
+ }
+}
diff --git a/packages/bukkit/src/typings/org.bukkit.plugin.SimplePluginManager.ts b/packages/bukkit/src/typings/org.bukkit.plugin.SimplePluginManager.ts
new file mode 100644
index 00000000..9a7efbd7
--- /dev/null
+++ b/packages/bukkit/src/typings/org.bukkit.plugin.SimplePluginManager.ts
@@ -0,0 +1,77 @@
+declare namespace org {
+ namespace bukkit {
+ namespace plugin {
+ class SimplePluginManager {
+ constructor(instance: org.bukkit.Server, commandMap: org.bukkit.command.SimpleCommandMap)
+ /**
+ * Registers the specified plugin loader
+ */
+ public registerInterface(loader: any): void;
+ /**
+ * Loads the plugins contained within the specified directory
+ */
+ public loadPlugins(directory: any): org.bukkit.plugin.Plugin[];
+ /**
+ * Loads the plugin in the specified file
+ * this.getEventClass().isAssignableFrom(event.getClass())
+ * and no class this.getEventClass().isAssignableFrom(clazz)
+ * {@literal && this.getEventClass() != clazz &&}
+ * event.getClass().isAssignableFrom(clazz)
for all handled events.
+ */
+ public getEventClass(): any;
+ /**
+ * Gets whether this listener has handled multiple events, such that for
+ * some two events, eventA.getClass() != eventB.getClass()
.
+ */
+ public hasMultiple(): boolean;
+ }
+ }
+ }
+}
diff --git a/packages/bukkit/src/typings/org.bukkit.plugin.UnknownDependencyException.ts b/packages/bukkit/src/typings/org.bukkit.plugin.UnknownDependencyException.ts
new file mode 100644
index 00000000..e964f10f
--- /dev/null
+++ b/packages/bukkit/src/typings/org.bukkit.plugin.UnknownDependencyException.ts
@@ -0,0 +1,26 @@
+declare namespace org {
+ namespace bukkit {
+ namespace plugin {
+ class UnknownDependencyException {
+ /**
+ * Constructs a new UnknownDependencyException based on the given
+ * Exception
+ */
+ constructor(throwable: any)
+ /**
+ * Constructs a new UnknownDependencyException with the given message
+ */
+ constructor(message: string)
+ /**
+ * Constructs a new UnknownDependencyException based on the given
+ * Exception
+ */
+ constructor(throwable: any, message: string)
+ /**
+ * Constructs a new UnknownDependencyException
+ */
+ constructor()
+ }
+ }
+ }
+}
diff --git a/packages/bukkit/src/typings/org.bukkit.plugin.java.JavaPlugin.ts b/packages/bukkit/src/typings/org.bukkit.plugin.java.JavaPlugin.ts
new file mode 100644
index 00000000..86c763f6
--- /dev/null
+++ b/packages/bukkit/src/typings/org.bukkit.plugin.java.JavaPlugin.ts
@@ -0,0 +1,95 @@
+declare namespace org {
+ namespace bukkit {
+ namespace plugin {
+ namespace java {
+ abstract class JavaPlugin {
+ constructor()
+ constructor(loader: org.bukkit.plugin.java.JavaPluginLoader, description: org.bukkit.plugin.PluginDescriptionFile, dataFolder: any, file: any)
+ /**
+ * Returns the folder that the plugin data's files are located in. The
+ * folder may not yet exist.
+ */
+ public getDataFolder(): any;
+ /**
+ * Gets the associated PluginLoader responsible for this plugin
+ */
+ public getPluginLoader(): org.bukkit.plugin.PluginLoader;
+ /**
+ * Returns the Server instance currently running this plugin
+ */
+ public getServer(): org.bukkit.Server;
+ /**
+ * Returns a value indicating whether or not this plugin is currently
+ * enabled
+ */
+ public isEnabled(): boolean;
+ /**
+ * Returns the file which contains this plugin
+ */
+ protected getFile(): any;
+ /**
+ * Returns the plugin.yaml file containing the details for this plugin
+ */
+ public getDescription(): org.bukkit.plugin.PluginDescriptionFile;
+ public getConfig(): org.bukkit.configuration.file.FileConfiguration;
+ /**
+ * Provides a reader for a text file located inside the jar.
+ *
+ * All channels within the "minecraft" namespace except for
+ * "minecraft:brand" are reserved.
+ */
+ public isReservedChannel(channel: string): boolean;
+ /**
+ * Registers the specific plugin to the requested outgoing plugin channel,
+ * allowing it to send messages through that channel to any clients.
+ */
+ public registerOutgoingPluginChannel(plugin: org.bukkit.plugin.Plugin, channel: string): void;
+ /**
+ * Unregisters the specific plugin from the requested outgoing plugin
+ * channel, no longer allowing it to send messages through that channel to
+ * any clients.
+ */
+ public unregisterOutgoingPluginChannel(plugin: org.bukkit.plugin.Plugin, channel: string): void;
+ /**
+ * Unregisters the specific plugin from all outgoing plugin channels, no
+ * longer allowing it to send any plugin messages.
+ */
+ public unregisterOutgoingPluginChannel(plugin: org.bukkit.plugin.Plugin): void;
+ /**
+ * Registers the specific plugin for listening on the requested incoming
+ * plugin channel, allowing it to act upon any plugin messages.
+ */
+ public registerIncomingPluginChannel(plugin: org.bukkit.plugin.Plugin, channel: string, listener: org.bukkit.plugin.messaging.PluginMessageListener): org.bukkit.plugin.messaging.PluginMessageListenerRegistration;
+ /**
+ * Unregisters the specific plugin's listener from listening on the
+ * requested incoming plugin channel, no longer allowing it to act upon
+ * any plugin messages.
+ */
+ public unregisterIncomingPluginChannel(plugin: org.bukkit.plugin.Plugin, channel: string, listener: org.bukkit.plugin.messaging.PluginMessageListener): void;
+ /**
+ * Unregisters the specific plugin from listening on the requested
+ * incoming plugin channel, no longer allowing it to act upon any plugin
+ * messages.
+ */
+ public unregisterIncomingPluginChannel(plugin: org.bukkit.plugin.Plugin, channel: string): void;
+ /**
+ * Unregisters the specific plugin from listening on all plugin channels
+ * through all listeners.
+ */
+ public unregisterIncomingPluginChannel(plugin: org.bukkit.plugin.Plugin): void;
+ /**
+ * Gets a set containing all the outgoing plugin channels.
+ */
+ public getOutgoingChannels(): any[] /*java.util.Set*/;
+ /**
+ * Gets a set containing all the outgoing plugin channels that the
+ * specified plugin is registered to.
+ */
+ public getOutgoingChannels(plugin: org.bukkit.plugin.Plugin): any[] /*java.util.Set*/;
+ /**
+ * Gets a set containing all the incoming plugin channels.
+ */
+ public getIncomingChannels(): any[] /*java.util.Set*/;
+ /**
+ * Gets a set containing all the incoming plugin channels that the
+ * specified plugin is registered for.
+ */
+ public getIncomingChannels(plugin: org.bukkit.plugin.Plugin): any[] /*java.util.Set*/;
+ /**
+ * Gets a set containing all the incoming plugin channel registrations
+ * that the specified plugin has.
+ */
+ public getIncomingChannelRegistrations(plugin: org.bukkit.plugin.Plugin): any[] /*java.util.Set*/;
+ /**
+ * Gets a set containing all the incoming plugin channel registrations
+ * that are on the requested channel.
+ */
+ public getIncomingChannelRegistrations(channel: string): any[] /*java.util.Set*/;
+ /**
+ * Gets a set containing all the incoming plugin channel registrations
+ * that the specified plugin has on the requested channel.
+ */
+ public getIncomingChannelRegistrations(plugin: org.bukkit.plugin.Plugin, channel: string): any[] /*java.util.Set*/;
+ /**
+ * Checks if the specified plugin message listener registration is valid.
+ *
+ *
+ */
+ public callSyncMethod(plugin: org.bukkit.plugin.Plugin, task: any): any;
+ /**
+ * Removes task from scheduler.
+ */
+ public cancelTask(taskId: number): void;
+ /**
+ * Removes all tasks associated with a particular plugin from the
+ * scheduler.
+ */
+ public cancelTasks(plugin: org.bukkit.plugin.Plugin): void;
+ /**
+ * Check if the task currently running.
+ *
+ * This only sets the team outline, other occurrences of colors such as in
+ * names are handled by prefixes / suffixes.
+ */
+ public getColor(): org.bukkit.ChatColor;
+ /**
+ * Sets the color of the team.
+ *
+ * This only sets the team outline, other occurrences of colors such as in
+ * names are handled by prefixes / suffixes.
+ */
+ public setColor(color: org.bukkit.ChatColor): void;
+ /**
+ * Gets the team friendly fire state
+ */
+ public allowFriendlyFire(): boolean;
+ /**
+ * Sets the team friendly fire state
+ */
+ public setAllowFriendlyFire(enabled: boolean): void;
+ /**
+ * Gets the team's ability to see {@link PotionEffectType#INVISIBILITY
+ * invisible} teammates.
+ */
+ public canSeeFriendlyInvisibles(): boolean;
+ /**
+ * Sets the team's ability to see {@link PotionEffectType#INVISIBILITY
+ * invisible} teammates.
+ */
+ public setCanSeeFriendlyInvisibles(enabled: boolean): void;
+ /**
+ * Gets the team's ability to see name tags
+ */
+ public getNameTagVisibility(): org.bukkit.scoreboard.NameTagVisibility;
+ /**
+ * Set's the team's ability to see name tags
+ */
+ public setNameTagVisibility(visibility: org.bukkit.scoreboard.NameTagVisibility): void;
+ /**
+ * Gets the Set of players on the team
+ */
+ public getPlayers(): any[] /*java.util.Set*/;
+ /**
+ * Gets the Set of entries on the team
+ */
+ public getEntries(): any[] /*java.util.Set*/;
+ /**
+ * Gets the size of the team
+ */
+ public getSize(): number;
+ /**
+ * Gets the Scoreboard to which this team is attached
+ */
+ public getScoreboard(): org.bukkit.scoreboard.Scoreboard;
+ /**
+ * This puts the specified player onto this team for the scoreboard.
+ * 0
.
+ */
+ constructor()
+ /**
+ * Creates a new bounding box from the given corner coordinates.
+ */
+ constructor(x1: number, y1: number, z1: number, x2: number, y2: number, z2: number)
+ /**
+ * Creates a new bounding box using the coordinates of the given vectors as
+ * corners.
+ */
+ public static of(corner1: org.bukkit.util.Vector, corner2: org.bukkit.util.Vector): org.bukkit.util.BoundingBox;
+ /**
+ * Creates a new bounding box using the coordinates of the given locations
+ * as corners.
+ */
+ public static of(corner1: org.bukkit.Location, corner2: org.bukkit.Location): org.bukkit.util.BoundingBox;
+ /**
+ * Creates a new bounding box using the coordinates of the given blocks as
+ * corners.
+ *
+ *
+ */
+ public crossProduct(o: org.bukkit.util.Vector): org.bukkit.util.Vector;
+ /**
+ * Calculates the cross product of this vector with another without mutating
+ * the original. The cross product is defined as:
+ *
+ *
+ */
+ public getCrossProduct(o: org.bukkit.util.Vector): org.bukkit.util.Vector;
+ /**
+ * Converts this vector to a unit vector (a vector with length of 1).
+ */
+ public normalize(): org.bukkit.util.Vector;
+ /**
+ * Zero this vector's components.
+ */
+ public zero(): org.bukkit.util.Vector;
+ /**
+ * Returns whether this vector is in an axis-aligned bounding box.
+ *