From 2442e126113078509631f30b0833e69189730cd6 Mon Sep 17 00:00:00 2001 From: jayly-bot <65847850+JaylyDev@users.noreply.github.com> Date: Fri, 16 Jun 2023 22:42:23 +0100 Subject: [PATCH 01/20] development --- legacyPackages.json | 1 - .../@minecraft/server-editor-bindings.d.ts | 16 +- packages/minecraft-editor/README.md | 4 +- packages/minecraft-editor/package-lock.json | 18 +- packages/minecraft-editor/package.json | 4 +- scripts/cps-counter/index.js | 24 - scripts/cps-counter/index.ts | 39 + .../{cps-counter-tests.js => tests.js} | 0 scripts/critical-hit/index.js | 42 +- scripts/dimension-entities/tests.js | 5 +- scripts/entity-hit/index.js | 4 +- scripts/force-show/index.js | 4 +- scripts/jaylydb/index.ts | 41 +- scripts/mojang-net-auth/index.d.ts | 25 - scripts/{mojang-net-auth => net-auth}/LICENSE | 0 .../{mojang-net-auth => net-auth}/index.js | 0 .../{mojang-net-auth => net-auth}/index.ts | 19 +- .../package-lock.json | 0 .../package.json | 0 .../{mojang-net-auth => net-auth}/readme.md | 0 .../{mojang-net-auth => net-auth}/tests.js | 2 +- scripts/player-velocity-fix/index.ts | 9 +- .../player-velocity-fix.js | 610 -------------- scripts/player-velocity-fix/tsconfig.json | 18 - scripts/restful/index.ts | 4 +- scripts/set-score/index.ts | 16 +- scripts/simulated-player/.gitignore | 1 - scripts/simulated-player/LICENSE | 21 - scripts/simulated-player/README.md | 9 - scripts/simulated-player/index.d.ts | 671 --------------- scripts/simulated-player/index.js | 771 ------------------ scripts/simulated-player/index.ts | 704 ---------------- scripts/simulated-player/tests.d.ts | 1 - scripts/simulated-player/tests.js | 23 - scripts/simulated-player/tests.ts | 26 - scripts/simulated-player/tsconfig.json | 10 - scripts/spawn-simulated-player/README.md | 4 - scripts/spawn-simulated-player/tests.ts | 4 +- 38 files changed, 112 insertions(+), 3038 deletions(-) delete mode 100644 scripts/cps-counter/index.js create mode 100644 scripts/cps-counter/index.ts rename scripts/cps-counter/{cps-counter-tests.js => tests.js} (100%) delete mode 100644 scripts/mojang-net-auth/index.d.ts rename scripts/{mojang-net-auth => net-auth}/LICENSE (100%) rename scripts/{mojang-net-auth => net-auth}/index.js (100%) rename scripts/{mojang-net-auth => net-auth}/index.ts (76%) rename scripts/{mojang-net-auth => net-auth}/package-lock.json (100%) rename scripts/{mojang-net-auth => net-auth}/package.json (100%) rename scripts/{mojang-net-auth => net-auth}/readme.md (100%) rename scripts/{mojang-net-auth => net-auth}/tests.js (68%) delete mode 100644 scripts/player-velocity-fix/player-velocity-fix.js delete mode 100644 scripts/player-velocity-fix/tsconfig.json delete mode 100644 scripts/simulated-player/.gitignore delete mode 100644 scripts/simulated-player/LICENSE delete mode 100644 scripts/simulated-player/README.md delete mode 100644 scripts/simulated-player/index.d.ts delete mode 100644 scripts/simulated-player/index.js delete mode 100644 scripts/simulated-player/index.ts delete mode 100644 scripts/simulated-player/tests.d.ts delete mode 100644 scripts/simulated-player/tests.js delete mode 100644 scripts/simulated-player/tests.ts delete mode 100644 scripts/simulated-player/tsconfig.json diff --git a/legacyPackages.json b/legacyPackages.json index 842713a2..0d0f949b 100644 --- a/legacyPackages.json +++ b/legacyPackages.json @@ -1,7 +1,6 @@ { "packages": [ "chat-rank", - "dimension-entities", "dimensions", "get-scores", "is-host", diff --git a/packages/minecraft-editor/@minecraft/server-editor-bindings.d.ts b/packages/minecraft-editor/@minecraft/server-editor-bindings.d.ts index 43602dbb..cbd896be 100644 --- a/packages/minecraft-editor/@minecraft/server-editor-bindings.d.ts +++ b/packages/minecraft-editor/@minecraft/server-editor-bindings.d.ts @@ -12,7 +12,7 @@ declare module '@minecraft/server-editor-bindings' { import { BlockLocationIterator, BlockVolume, BoundingBox, Color, CompoundBlockVolumeAction, Player, Vector3, } from '@minecraft/server'; export class ClipboardItem { - protected constructor(); + private constructor(); readFromSelection(selection: Selection): void; readFromWorld(a: Vector3, b: Vector3): any; writeToWorld(location: Vector3, options: ClipboardWriteOptions): void; @@ -22,7 +22,7 @@ declare module '@minecraft/server-editor-bindings' { isEmpty: boolean; } export class ClipboardManager { - protected constructor(); + private constructor(); create(): ClipboardItem; clipboard: ClipboardItem; } @@ -73,10 +73,10 @@ declare module '@minecraft/server-editor-bindings' { Face = 1 } export class Extension { - protected constructor(); + private constructor(); } export class ExtensionContext { - protected constructor(); + private constructor(); extensionName: string; player: Player; selectionManager: SelectionManager; @@ -95,7 +95,7 @@ declare module '@minecraft/server-editor-bindings' { debug(message: string, properties?: LogProperties): void; } export class MinecraftEditor { - protected constructor(); + private constructor(); registerExtension_Internal(extensionName: string, activationFunction: (context: ExtensionContext) => void, shutdownFunction: (context: ExtensionContext) => void, optionalParameters?: ExtensionOptionalParameters): Extension; readonly log: Logger; } @@ -104,7 +104,7 @@ declare module '@minecraft/server-editor-bindings' { volume: BlockVolume; } export class Selection { - protected constructor(); + private constructor(); clear(): void; pushVolume(options: PushVolumeOptions): void; popVolume(): void; @@ -122,12 +122,12 @@ declare module '@minecraft/server-editor-bindings' { visible: boolean; } export class SelectionManager { - protected constructor(); + private constructor(); create(): Selection; selection: Selection; } export class TransactionManager { - protected constructor(); + private constructor(); undo(): void; redo(): void; undoSize(): number; diff --git a/packages/minecraft-editor/README.md b/packages/minecraft-editor/README.md index 0e24127f..39719215 100644 --- a/packages/minecraft-editor/README.md +++ b/packages/minecraft-editor/README.md @@ -17,8 +17,8 @@ Then you must include the following in TSConfig. This allows the editor API modu ```json { "compilerOptions": { - "types": ["@jayly/minecraft-editor"], - "typeRoots": ["./node_modules/@jayly/minecraft-editor"], + "types": ["minecraft-editor"], + "typeRoots": ["./node_modules/@jayly"], }, } ``` diff --git a/packages/minecraft-editor/package-lock.json b/packages/minecraft-editor/package-lock.json index 44d03024..378a8863 100644 --- a/packages/minecraft-editor/package-lock.json +++ b/packages/minecraft-editor/package-lock.json @@ -1,28 +1,28 @@ { "name": "@jayly/minecraft-editor", - "version": "0.3.6-4", + "version": "0.3.7-0", "lockfileVersion": 2, "requires": true, "packages": { "": { "name": "@jayly/minecraft-editor", - "version": "0.3.6-4", + "version": "0.3.7-0", "license": "MIT", "dependencies": { - "@minecraft/server": "1.4.0-beta.1.20.10-preview.21" + "@minecraft/server": "1.4.0-beta.1.20.10-preview.23" } }, "node_modules/@minecraft/server": { - "version": "1.4.0-beta.1.20.10-preview.21", - "resolved": "https://registry.npmjs.org/@minecraft/server/-/server-1.4.0-beta.1.20.10-preview.21.tgz", - "integrity": "sha512-ujhsa/ercjy5ifdU3zBZXIyBUP+r9+DlWaWp6+tM71zXkPivISS/E5HbL/n0fMDZ32Aad1AaWDX6WOdCzlhn/Q==" + "version": "1.4.0-beta.1.20.10-preview.23", + "resolved": "https://registry.npmjs.org/@minecraft/server/-/server-1.4.0-beta.1.20.10-preview.23.tgz", + "integrity": "sha512-FWVpE1L4t9JJnV17xzd1epA7eYBJHjaSaYVwAuSwcdU2Bo/EKjRP0V4lDpzvM1LvFvtZDccfJg2Z3ononrfmEQ==" } }, "dependencies": { "@minecraft/server": { - "version": "1.4.0-beta.1.20.10-preview.21", - "resolved": "https://registry.npmjs.org/@minecraft/server/-/server-1.4.0-beta.1.20.10-preview.21.tgz", - "integrity": "sha512-ujhsa/ercjy5ifdU3zBZXIyBUP+r9+DlWaWp6+tM71zXkPivISS/E5HbL/n0fMDZ32Aad1AaWDX6WOdCzlhn/Q==" + "version": "1.4.0-beta.1.20.10-preview.23", + "resolved": "https://registry.npmjs.org/@minecraft/server/-/server-1.4.0-beta.1.20.10-preview.23.tgz", + "integrity": "sha512-FWVpE1L4t9JJnV17xzd1epA7eYBJHjaSaYVwAuSwcdU2Bo/EKjRP0V4lDpzvM1LvFvtZDccfJg2Z3ononrfmEQ==" } } } diff --git a/packages/minecraft-editor/package.json b/packages/minecraft-editor/package.json index 2310ff8c..69b7d189 100644 --- a/packages/minecraft-editor/package.json +++ b/packages/minecraft-editor/package.json @@ -1,6 +1,6 @@ { "name": "@jayly/minecraft-editor", - "version": "0.3.6-4", + "version": "0.3.7-0", "description": "Unofficial Minecraft Bedrock Editor API modules type definitions.", "types": "index.d.ts", "main": "", @@ -15,6 +15,6 @@ }, "homepage": "https://github.com/JaylyDev/ScriptAPI#readme", "dependencies": { - "@minecraft/server": "1.4.0-beta.1.20.10-preview.21" + "@minecraft/server": "1.4.0-beta.1.20.10-preview.23" } } diff --git a/scripts/cps-counter/index.js b/scripts/cps-counter/index.js deleted file mode 100644 index 99a77606..00000000 --- a/scripts/cps-counter/index.js +++ /dev/null @@ -1,24 +0,0 @@ -// Script example for ScriptAPI -// Author: Jayly -// Project: https://github.com/JaylyDev/ScriptAPI -import { MinecraftEntityTypes, world, Player } from "@minecraft/server"; - -world.afterEvents.entityHit.subscribe(function ({ entity }) { - entity.typeId === MinecraftEntityTypes.player.id && - (entity["clicks"] || (entity["clicks"] = []), - entity["clicks"].push({ timestamp: new Date().getTime() })); -}); - -/** - * Get a player's clicks per second - * @param {Player} player - * @returns {number} - */ -export function getPlayerCPS (player) { - const e = new Date().getTime(); - player["clicks"] || (player["clicks"] = []); - const t = player["clicks"].filter(({ timestamp: t }) => e - 1e3 < t); - (player["clicks"] = t); - - return t.length; -} \ No newline at end of file diff --git a/scripts/cps-counter/index.ts b/scripts/cps-counter/index.ts new file mode 100644 index 00000000..06617f5a --- /dev/null +++ b/scripts/cps-counter/index.ts @@ -0,0 +1,39 @@ +// Script example for ScriptAPI +// Author: Jayly +// Project: https://github.com/JaylyDev/ScriptAPI +import { Player, world } from "@minecraft/server"; + +declare module "@minecraft/server" { + interface ClickInfo { timestamp: number } + interface Player { + clicks?: ClickInfo[]; + } +}; + +world.afterEvents.entityHitBlock.subscribe(function ({ damagingEntity }) { + if (damagingEntity instanceof Player) { + damagingEntity.clicks ||= []; + damagingEntity.clicks.push({ timestamp: Date.now() }); + } +}); + +world.afterEvents.entityHitEntity.subscribe(function ({ damagingEntity }) { + if (damagingEntity instanceof Player) { + damagingEntity.clicks ||= []; + damagingEntity.clicks.push({ timestamp: Date.now() }); + } +}); + +/** + * Get a player's clicks per second + * @param player + * @returns + */ +export function getPlayerCPS(player: Player) { + const currentTime = Date.now(); + player.clicks ||= []; + const recentClicks = player.clicks.filter(({ timestamp }) => currentTime - 1000 < timestamp); + player.clicks = recentClicks; + + return recentClicks.length; +} diff --git a/scripts/cps-counter/cps-counter-tests.js b/scripts/cps-counter/tests.js similarity index 100% rename from scripts/cps-counter/cps-counter-tests.js rename to scripts/cps-counter/tests.js diff --git a/scripts/critical-hit/index.js b/scripts/critical-hit/index.js index a7768c46..fabe3072 100644 --- a/scripts/critical-hit/index.js +++ b/scripts/critical-hit/index.js @@ -1,25 +1,23 @@ // Script example for ScriptAPI // Author: Jayly // Project: https://github.com/JaylyDev/ScriptAPI -import { Block, Entity, EntityHitAfterEvent, Player, world } from "@minecraft/server"; +import { Block, Entity, EntityHitEntityAfterEvent, Player, world } from "@minecraft/server"; /** - * @implements {Omit} + * @implements {Omit} */ export class EntityCriticalHitAfterEvent { /** - * @param {Entity} entity - * @param {Block} hitBlock + * @param {Entity} damagingEntity * @param {Entity} hitEntity */ - constructor(entity, hitBlock, hitEntity) { - if (!(entity instanceof Player)) { - console.log("Failed to call function EntityCriticalHitAfterEvent, entity is not a player"); + constructor(damagingEntity, hitEntity) { + if (!(damagingEntity instanceof Player)) { + console.log("Failed to call function EntityCriticalHitAfterEvent, damagingEntity is not a player"); return; }; - this.player = entity; - this.hitBlock = hitBlock; + this.player = damagingEntity; this.hitEntity = hitEntity; }; /** @@ -29,21 +27,11 @@ export class EntityCriticalHitAfterEvent { * @type {Player} */ player; - /** - * @remarks - * Block that was hit by the attack, or undefined if the hit - * attack did not hit a block. If both hitEntity and hitBlock - * are undefined, then the entity basically swiped into the - * air. - * @readonly - * @type {Block | undefined} - */ - hitBlock; /** * @remarks * Entity that was hit by the attack, or undefined if the hit - * attack did not hit an entity. If both hitEntity and hitBlock - * are undefined, then the entity basically swiped into the + * attack did not hit an damagingEntity. If both hitEntity and hitBlock + * are undefined, then the damagingEntity basically swiped into the * air. * @readonly * @type {Entity | undefined} @@ -73,17 +61,17 @@ export class EntityCriticalHitAfterEventSignal { } /** * @private - * @param {EntityHitAfterEvent} event + * @param {EntityHitEntityAfterEvent} event */ trigger(event) { - this.handlers.forEach((callback) => callback(new EntityCriticalHitAfterEvent(event.entity, event.hitBlock, event.hitEntity))); + this.handlers.forEach((callback) => callback(new EntityCriticalHitAfterEvent(event.damagingEntity, event.hitEntity))); } constructor() { - world.afterEvents.entityHit.subscribe((event) => { - // checks if entity has a critical hit and is a player - if (event.entity instanceof Player && !!event.hitEntity && event.entity.getVelocity().y !== 0) this.trigger(event); + world.afterEvents.entityHitEntity.subscribe((event) => { + // checks if damagingEntity has a critical hit and is a player + if (event.damagingEntity instanceof Player && !!event.hitEntity && event.damagingEntity.getVelocity().y !== 0) this.trigger(event); }); } } -export const entityCriticalHit = new EntityCriticalHitAfterEventSignal(); +export const damagingEntityCriticalHit = new EntityCriticalHitAfterEventSignal(); diff --git a/scripts/dimension-entities/tests.js b/scripts/dimension-entities/tests.js index 156cc926..cbdaa1ae 100644 --- a/scripts/dimension-entities/tests.js +++ b/scripts/dimension-entities/tests.js @@ -1,10 +1,11 @@ -import { GameMode, MinecraftEffectTypes, world } from "@minecraft/server"; +import { GameMode, world } from "@minecraft/server"; import { getEntities, getPlayers } from "dimension-entities/index"; +import { MinecraftEffectTypes } from "@minecraft/vanilla-data"; const overworldEntities = getEntities(world.getDimension('overworld')); for (const entity of overworldEntities) { - entity.addEffect(MinecraftEffectTypes.absorption, 10); + entity.addEffect(MinecraftEffectTypes.Absorption, 10); }; const netherCreativePlayers = getPlayers(world.getDimension('nether'), { diff --git a/scripts/entity-hit/index.js b/scripts/entity-hit/index.js index ec30ce6a..1258fd7c 100644 --- a/scripts/entity-hit/index.js +++ b/scripts/entity-hit/index.js @@ -3,8 +3,8 @@ // Project: https://github.com/JaylyDev/ScriptAPI import { EntityHealthComponent, world } from "@minecraft/server"; -world.afterEvents.entityHit.subscribe((evd) => { - if (evd.entity.typeId !== 'minecraft:player') return; +world.afterEvents.entityHitEntity.subscribe((evd) => { + if (evd.damagingEntity.typeId !== 'minecraft:player') return; const ent = evd.hitEntity; if (!ent) return; diff --git a/scripts/force-show/index.js b/scripts/force-show/index.js index cbf9ecad..dc51c6d4 100644 --- a/scripts/force-show/index.js +++ b/scripts/force-show/index.js @@ -4,7 +4,7 @@ // Project: https://github.com/JaylyDev/ScriptAPI import { Player, system } from "@minecraft/server"; -import { ActionFormData, MessageFormData, ModalFormData } from "@minecraft/server-ui"; +import { ActionFormData, FormCancelationReason, MessageFormData, ModalFormData } from "@minecraft/server-ui"; /** * @template {ActionFormData | MessageFormData | ModalFormData} Form @@ -17,7 +17,7 @@ export async function forceShow(player, form, timeout = Infinity) { const startTick = system.currentTick; while ((system.currentTick - startTick) < timeout) { const response = await /** @type {ReturnType} */(form.show(player)); - if (response.cancelationReason !== "userBusy") { + if (response.cancelationReason !== FormCancelationReason.UserBusy) { return response; } }; diff --git a/scripts/jaylydb/index.ts b/scripts/jaylydb/index.ts index f86c76c7..abddb62e 100644 --- a/scripts/jaylydb/index.ts +++ b/scripts/jaylydb/index.ts @@ -77,7 +77,7 @@ const CreateCrashReport = (action: "save" | "load", data: string, error: Error, const DisplayName = { parse(text: string, salt?: string): Record { try { - const a = JSON.parse(`"${salt ? decrypt(text, salt) : text}"`); + const a = salt ? decrypt(text, salt) : text; return JSON.parse(`{${a}}`); } catch (error) { CreateCrashReport("load", text, error, salt); @@ -85,7 +85,7 @@ const DisplayName = { }, stringify(value: Record, salt?: string): string { try { - const a = JSON.stringify(JSON.stringify(value).slice(1, -1)).slice(1, -1); + const a = JSON.stringify(value).slice(1, -1); return salt ? encrypt(a, salt) : a; } catch (error) { CreateCrashReport("save", JSON.stringify(value), error, salt); @@ -93,8 +93,6 @@ const DisplayName = { } }; -const overworld = world.getDimension("overworld"); - /** * A simple database for storing data in a Minecraft world, using scoreboard. */ @@ -110,51 +108,18 @@ class JaylyDB implements Map { /** @internal */ private readonly salt: string | undefined; /** @internal */ - private warningSent = false; - /** @internal */ - private SYNC_OK: boolean = true; - /** - * Internal cache object to allow data to write from memory to scoreboard every tick interval. - * This is done to prevent multiple values written to a same key to scoreboard each operation. - * @internal - */ - private readonly tempCache = new Map(); - /** @internal */ private updateParticipants(fetchCache: boolean = false) { - const id = this.objective.id.substring(this.objective.id.indexOf(":") + 1); - if (this.tempCache.size <= 0 && this.warningSent === true) { - console.warn(`[JaylyDB] Database '${id}' has written data to world. It is now safe to exit the world.`); - this.warningSent = false; - } - else if (this.tempCache.size > 0 && this.warningSent === false) { - console.warn(`[JaylyDB] Database '${id}' is writing data to world. Please wait until the process is completed before exiting the world.`); - this.warningSent = true; - }; - - try { - for (const [key, value] of this.tempCache.entries()) { - overworld.runCommandAsync(`scoreboard players set "${value}" ${this.objective.id} 0`); - this.tempCache.delete(key); - }; - } catch (error) { - if (error.message !== "Runtime failure, command queue is full.") throw error; - }; - this.participants.clear(); if (fetchCache) this.localCache.clear(); for (const participant of this.objective.getParticipants()) { - if (participant.type !== ScoreboardIdentityType.fakePlayer) continue; + if (participant.type !== ScoreboardIdentityType.FakePlayer) continue; const data = DisplayName.parse(participant.displayName, this.salt); const key = Object.keys(data)[0]; const value = data[key]; this.participants.set(key, participant); if (fetchCache) this.localCache.set(key, value); }; - if (this.SYNC_OK === false) { - console.warn(`[JaylyDB] Database '${id}' is now sync with disk.`); - this.SYNC_OK = true; - }; } /** * @param id An identifier for the database diff --git a/scripts/mojang-net-auth/index.d.ts b/scripts/mojang-net-auth/index.d.ts deleted file mode 100644 index 333dc459..00000000 --- a/scripts/mojang-net-auth/index.d.ts +++ /dev/null @@ -1,25 +0,0 @@ -import { HttpRequest, HttpResponse, HttpClient as httpClient } from "@minecraft/server-net"; -export declare class HttpClient extends httpClient { - /** - * @remarks - * Performs a simple HTTP get request. - * @param uri - * URL to make an HTTP Request to. - * @returns - * An awaitable promise that contains the HTTP response. - */ - get(uri: string): Promise; - /** - * @remarks - * Performs an HTTP request. - * @param config - * Contains an HTTP Request object with configuration data on - * the HTTP request. - * @returns - * An awaitable promise that contains the HTTP response. - */ - request(config: HttpRequest): Promise; - constructor(); -} -export declare function auth(token: string): Promise; -export declare const http: HttpClient; diff --git a/scripts/mojang-net-auth/LICENSE b/scripts/net-auth/LICENSE similarity index 100% rename from scripts/mojang-net-auth/LICENSE rename to scripts/net-auth/LICENSE diff --git a/scripts/mojang-net-auth/index.js b/scripts/net-auth/index.js similarity index 100% rename from scripts/mojang-net-auth/index.js rename to scripts/net-auth/index.js diff --git a/scripts/mojang-net-auth/index.ts b/scripts/net-auth/index.ts similarity index 76% rename from scripts/mojang-net-auth/index.ts rename to scripts/net-auth/index.ts index 67c58066..0713426c 100644 --- a/scripts/mojang-net-auth/index.ts +++ b/scripts/net-auth/index.ts @@ -1,7 +1,7 @@ // Script example for ScriptAPI // Author: JaylyMC // Project: https://github.com/JaylyDev/ScriptAPI -import { http as Http, HttpHeader, HttpRequest, HttpRequestMethod, HttpResponse, HttpClient as httpClient } from "@minecraft/server-net"; +import { http as __http, HttpHeader, HttpRequest, HttpRequestMethod, HttpResponse, HttpClient as __HttpClient } from "@minecraft/server-net"; class authoration { static authorized: boolean = false; @@ -9,7 +9,7 @@ class authoration { static readonly PERMISSION_DENIED = "Permission Denied: This request is not authorized."; }; -export class HttpClient extends httpClient { +export class HttpClient implements __HttpClient { /** * @remarks * Performs a simple HTTP get request. @@ -20,7 +20,7 @@ export class HttpClient extends httpClient { */ async get(uri: string): Promise { if (authoration.authorized !== true) throw Error(authoration.PERMISSION_DENIED); - return await Http.get(uri); + return await __http.get(uri); }; /** * @remarks @@ -33,19 +33,20 @@ export class HttpClient extends httpClient { */ async request(config: HttpRequest): Promise { if (authoration.authorized !== true) throw Error(authoration.PERMISSION_DENIED); - return await Http.request(config); - }; - constructor() { - super() + return await __http.request(config); }; + cancelAll(reason: string): void { + http.cancelAll(reason); + } +; }; export async function auth (token: string): Promise { const localAuthRequest = new HttpRequest(authoration.url); - localAuthRequest.setMethod(HttpRequestMethod.POST); + localAuthRequest.setMethod(HttpRequestMethod.Post); localAuthRequest.setHeaders([new HttpHeader("token", token)]); - const response = await Http.request(localAuthRequest); + const response = await __http.request(localAuthRequest); if (response.status === 200) { authoration.authorized = true; diff --git a/scripts/mojang-net-auth/package-lock.json b/scripts/net-auth/package-lock.json similarity index 100% rename from scripts/mojang-net-auth/package-lock.json rename to scripts/net-auth/package-lock.json diff --git a/scripts/mojang-net-auth/package.json b/scripts/net-auth/package.json similarity index 100% rename from scripts/mojang-net-auth/package.json rename to scripts/net-auth/package.json diff --git a/scripts/mojang-net-auth/readme.md b/scripts/net-auth/readme.md similarity index 100% rename from scripts/mojang-net-auth/readme.md rename to scripts/net-auth/readme.md diff --git a/scripts/mojang-net-auth/tests.js b/scripts/net-auth/tests.js similarity index 68% rename from scripts/mojang-net-auth/tests.js rename to scripts/net-auth/tests.js index 125534e7..67e903a3 100644 --- a/scripts/mojang-net-auth/tests.js +++ b/scripts/net-auth/tests.js @@ -1,4 +1,4 @@ -import * as netauth from "mojang-net-auth/index"; +import * as netauth from "net-auth/index"; netauth.auth("jayly"); diff --git a/scripts/player-velocity-fix/index.ts b/scripts/player-velocity-fix/index.ts index bf58afc9..b1018324 100644 --- a/scripts/player-velocity-fix/index.ts +++ b/scripts/player-velocity-fix/index.ts @@ -6,8 +6,9 @@ * @author JaylyMC * @project https://github.com/JaylyDev/GametestDB/ */ -import { Vector3, Player, MinecraftEntityTypes, Entity, EntityRideableComponent, EntityMovementComponent, EntityHealthComponent, MinecraftEffectTypes } from "@minecraft/server"; -import { Commands } from "../commands/index.js"; +import { Vector3, Player, MinecraftEntityTypes, Entity, EntityRideableComponent, EntityMovementComponent, EntityHealthComponent } from "@minecraft/server"; +import { MinecraftEffectTypes } from "@minecraft/vanilla-data"; +import { Commands } from "commands/index.js"; import { clearInterval, setInterval } from "../timers/index.js"; function trunc (x: number, decimal: number): number { @@ -37,8 +38,8 @@ export function setVelocity (velocity: Vector3, player: Player) { let movement = entity.getComponent('movement') as EntityMovementComponent; let rideable = entity.getComponent('rideable') as EntityRideableComponent; - entity.addEffect(MinecraftEffectTypes.invisibility, 0x7fff, { amplifier: 255, showParticles: false }); // makes the entity invisible - entity.addEffect(MinecraftEffectTypes.resistance, 0x7fff, { amplifier: 255, showParticles: false }); // makes the entity invisible + entity.addEffect(MinecraftEffectTypes.Invisibility, 0x7fff, { amplifier: 255, showParticles: false }); // makes the entity invisible + entity.addEffect(MinecraftEffectTypes.Resistance, 0x7fff, { amplifier: 255, showParticles: false }); // makes the entity invisible entity.applyImpulse(velocity); let onInterval = setInterval((isEntityMoving: Entity) => { diff --git a/scripts/player-velocity-fix/player-velocity-fix.js b/scripts/player-velocity-fix/player-velocity-fix.js deleted file mode 100644 index 4816f3b9..00000000 --- a/scripts/player-velocity-fix/player-velocity-fix.js +++ /dev/null @@ -1,610 +0,0 @@ -// @ts-nocheck -// This file is auto-generated, if the file is not up to date -// please compile the index.ts file yourself -/** - * @license MIT - * @author JaylyMC - * @project https://github.com/JaylyDev/GametestDB/ - */ -import { Player, MinecraftEntityTypes, MinecraftEffectTypes } from "@minecraft/server"; -var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) { - function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); } - return new (P || (P = Promise))(function (resolve, reject) { - function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } } - function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } } - function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); } - step((generator = generator.apply(thisArg, _arguments || [])).next()); - }); -}; -var __generator = (this && this.__generator) || function (thisArg, body) { - var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g; - return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g; - function verb(n) { return function (v) { return step([n, v]); }; } - function step(op) { - if (f) throw new TypeError("Generator is already executing."); - while (_) try { - if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t; - if (y = 0, t) op = [op[0] & 2, t.value]; - switch (op[0]) { - case 0: case 1: t = op; break; - case 4: _.label++; return { value: op[1], done: false }; - case 5: _.label++; y = op[1]; op = [0]; continue; - case 7: op = _.ops.pop(); _.trys.pop(); continue; - default: - if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; } - if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; } - if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; } - if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; } - if (t[2]) _.ops.pop(); - _.trys.pop(); continue; - } - op = body.call(thisArg, _); - } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; } - if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true }; - } -}; -var __values = (this && this.__values) || function(o) { - var s = typeof Symbol === "function" && Symbol.iterator, m = s && o[s], i = 0; - if (m) return m.call(o); - if (o && typeof o.length === "number") return { - next: function () { - if (o && i >= o.length) o = void 0; - return { value: o && o[i++], done: !o }; - } - }; - throw new TypeError(s ? "Object is not iterable." : "Symbol.iterator is not defined."); -}; -import { Dimension, Entity, world } from "@minecraft/server"; -/** - * Main class for custom command functions, with the player that execute - * this command with additional arguments split in an iterable iterator - * string array. - */ -var Command = /** @class */ (function () { - function Command(argv, player) { - this.argv = (function () { - var argv_1, argv_1_1, arg, e_1_1; - var e_1, _a; - return __generator(this, function (_b) { - switch (_b.label) { - case 0: - _b.trys.push([0, 5, 6, 7]); - argv_1 = __values(argv), argv_1_1 = argv_1.next(); - _b.label = 1; - case 1: - if (!!argv_1_1.done) return [3 /*break*/, 4]; - arg = argv_1_1.value; - return [4 /*yield*/, arg]; - case 2: - _b.sent(); - _b.label = 3; - case 3: - argv_1_1 = argv_1.next(); - return [3 /*break*/, 1]; - case 4: return [3 /*break*/, 7]; - case 5: - e_1_1 = _b.sent(); - e_1 = { error: e_1_1 }; - return [3 /*break*/, 7]; - case 6: - try { - if (argv_1_1 && !argv_1_1.done && (_a = argv_1.return)) _a.call(argv_1); - } - finally { if (e_1) throw e_1.error; } - return [7 /*endfinally*/]; - case 7: return [2 /*return*/]; - } - }); - })(); - this.__player = player; - } - Object.defineProperty(Command.prototype, "player", { - get: function () { return this.__player; }, - enumerable: false, - configurable: true - }); - Object.defineProperty(Command.prototype, "argv0", { - get: function () { return this.argv.next().value; }, - enumerable: false, - configurable: true - }); - ; - ; - return Command; -}()); -export { Command }; -; -/** - * Contains a method that lets you run console commands within - * Minecraft. - */ -// tslint:disable-next-line:no-unnecessary-class -var Commands = /** @class */ (function () { - function Commands() { - } - /** - * @remarks - * Runs a particular command from the context. - * @param commandString - * Command to run. Note that command strings should not start - * with slash. - * @param target - * Target to be used as context for the command to run - * within. - * @returns For commands that return data, returns a JSON structure with command response values. - * @throws This function can throw errors. - * @example commands.js - * ```typescript - * Commands.run("say You got a new high score!"); - * Commands.run("scoreboard players set @p score 10", world.getDimension("overworld")); - * ``` - */ - Commands.run = function (commandString, target) { - if (target === void 0) { target = world.getDimension("overworld"); } - if (target instanceof Dimension || Entity) - return target.runCommandAsync(commandString); - else - throw TypeError("Native type conversion failed"); - }; - ; - /** - * @remarks - * Runs a particular command asynchronously from the context. - * Where possible - and especially for - * long-running operations - you should use runCommandAsync - * over runCommand. - * @param commandString - * Command to run. Note that command strings should not start - * with slash. - * @param target - * Target to be used as context for the command to run - * within. - * @returns - * For commands that return data, returns a CommandResult with - * an indicator of command results. - * @throws This function can throw errors. - */ - Commands.runAsync = function (commandString, target) { - if (target === void 0) { target = world.getDimension("overworld"); } - return __awaiter(this, void 0, void 0, function () { - return __generator(this, function (_a) { - if (target instanceof Dimension || Entity) - return [2 /*return*/, target.runCommandAsync(commandString)]; - else - throw TypeError("Native type conversion failed"); - return [2 /*return*/]; - }); - }); - }; - ; - /** - * @remarks - * Registers a new custom command. This command will become - * available in Minecraft via [prefix][command]. - * @param prefix - * The prefix of this specific command. (Case sensitive) - * @param command - * Name of this specific command. (Case sensitive) - * @param commandFunction - * Implementation of the command function. - * @throws - * This function can throw error: You are not allow to register a new slash command. - * @example example1.js - * ```typescript - * Commands.register("!", "test", function (arg) { - * arg.player.runCommandAsync(`say ${arg.argv0} ${JSON.stringify([...arg.argv])}`); - * }); - * ``` - */ - Commands.register = function (prefix, command, commandFunction) { - if (prefix.startsWith("/")) - throw Error("Unable to register slash commands."); - world.beforeEvents.chatSend.subscribe(function (arg) { - var argv = arg.message.split(/(".*?"|[^"\s]+)+(?=\s*|\s*$)/g).filter(function (e) { return e.trim().length > 0; }); - if (argv[0] === "".concat(prefix).concat(command)) { - arg.cancel = true; - try { - commandFunction(new Command(argv, arg.sender)); - } - catch (err) { - var statusMessage = JSON.parse(err).statusMessage; - console.error(err); - // @ts-ignore - !!arg.sender.tell ? arg.sender.sendMessage("\u00A7c".concat(statusMessage)) : arg.sender.runCommandAsync("tellraw @s {\"rawtext\":[{\"text\": \"\u00A7c".concat(statusMessage, "\"}]}")); - } - ; - } - ; - }); - }; - ; - return Commands; -}()); -export { Commands }; -; -var __extends = (this && this.__extends) || (function () { - var extendStatics = function (d, b) { - extendStatics = Object.setPrototypeOf || - ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) || - function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; }; - return extendStatics(d, b); - }; - return function (d, b) { - if (typeof b !== "function" && b !== null) - throw new TypeError("Class extends value " + String(b) + " is not a constructor or null"); - extendStatics(d, b); - function __() { this.constructor = d; } - d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __()); - }; -})(); -var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) { - function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); } - return new (P || (P = Promise))(function (resolve, reject) { - function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } } - function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } } - function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); } - step((generator = generator.apply(thisArg, _arguments || [])).next()); - }); -}; -var __generator = (this && this.__generator) || function (thisArg, body) { - var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g; - return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g; - function verb(n) { return function (v) { return step([n, v]); }; } - function step(op) { - if (f) throw new TypeError("Generator is already executing."); - while (_) try { - if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t; - if (y = 0, t) op = [op[0] & 2, t.value]; - switch (op[0]) { - case 0: case 1: t = op; break; - case 4: _.label++; return { value: op[1], done: false }; - case 5: _.label++; y = op[1]; op = [0]; continue; - case 7: op = _.ops.pop(); _.trys.pop(); continue; - default: - if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; } - if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; } - if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; } - if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; } - if (t[2]) _.ops.pop(); - _.trys.pop(); continue; - } - op = body.call(thisArg, _); - } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; } - if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true }; - } -}; -var __read = (this && this.__read) || function (o, n) { - var m = typeof Symbol === "function" && o[Symbol.iterator]; - if (!m) return o; - var i = m.call(o), r, ar = [], e; - try { - while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value); - } - catch (error) { e = { error: error }; } - finally { - try { - if (r && !r.done && (m = i["return"])) m.call(i); - } - finally { if (e) throw e.error; } - } - return ar; -}; -var __spreadArray = (this && this.__spreadArray) || function (to, from, pack) { - if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) { - if (ar || !(i in from)) { - if (!ar) ar = Array.prototype.slice.call(from, 0, i); - ar[i] = from[i]; - } - } - return to.concat(ar || Array.prototype.slice.call(from)); -}; -/** - * @license MIT - * @author JaylyMC - * @project https://github.com/JaylyDev/GametestDB/ - */ -/** - * The `timer` module exposes a global API for scheduling functions to - * be called at some future period of time. - * - * The timer functions within this script implement a similar API as the timers API - * provided by Web Browsers and Node.js but use a different internal implementation that is - * built for QuickJS, specifically for Minecraft Bedrock Edition script APIs (experimental). - */ -/** - * Internal timer class that can be used to reference - * the set Timeout or Interval object. - */ -var Timer = /** @class */ (function () { - function Timer(idleTimeout, idleStart, onTimeout, repeat, destroyed) { - var args = []; - for (var _i = 5; _i < arguments.length; _i++) { - args[_i - 5] = arguments[_i]; - } - var _this = this; - this._idleTimeout = idleTimeout; - this._idleStart = idleStart; - this._onTimeout = onTimeout; - this._repeat = repeat; - this._destroyed = destroyed; - (function () { return __awaiter(_this, void 0, void 0, function () { - var executionTime, executionTime; - return __generator(this, function (_a) { - switch (_a.label) { - case 0: - if (!(repeat === true)) return [3 /*break*/, 4]; - _a.label = 1; - case 1: - if (!true) return [3 /*break*/, 3]; - return [4 /*yield*/, this._destroyed]; - case 2: - if ((_a.sent()) === true) - return [2 /*return*/]; - executionTime = idleStart + idleTimeout; - if (new Date().getTime() >= executionTime) { - this._onTimeout.apply(this, __spreadArray([], __read(args), false)); - this._idleStart = idleStart = new Date().getTime(); - } - ; - return [3 /*break*/, 1]; - case 3: - ; - return [3 /*break*/, 8]; - case 4: - executionTime = idleStart + idleTimeout; - _a.label = 5; - case 5: - if (!(new Date().getTime() < executionTime)) return [3 /*break*/, 7]; - return [4 /*yield*/, this._destroyed]; - case 6: - if ((_a.sent()) === true) - return [2 /*return*/]; - return [3 /*break*/, 5]; - case 7: - ; - this._onTimeout.apply(this, __spreadArray([], __read(args), false)); - _a.label = 8; - case 8: - ; - return [2 /*return*/]; - } - }); - }); })(); - } - ; - return Timer; -}()); -; -var Timeout = /** @class */ (function (_super) { - __extends(Timeout, _super); - function Timeout(idleTimeout, idleStart, onTimeout, repeat, destroyed) { - var args = []; - for (var _i = 5; _i < arguments.length; _i++) { - args[_i - 5] = arguments[_i]; - } - var _this = _super.apply(this, __spreadArray([idleTimeout, idleStart, onTimeout, repeat, destroyed], __read(args), false)) || this; - _this._idleTimeout = idleTimeout; - _this._idleStart = idleStart; - _this._onTimeout = onTimeout; - _this._repeat = repeat; - _this._destroyed = destroyed; - return _this; - } - ; - return Timeout; -}(Timer)); -; -/** - * Internal timer class that can be used to reference - * the set Immediate object. - */ -var Immediate = /** @class */ (function () { - function Immediate(onImmediate) { - var args = []; - for (var _i = 1; _i < arguments.length; _i++) { - args[_i - 1] = arguments[_i]; - } - var _this = this; - this._destroyed = false; - this._onImmediate = onImmediate; - this._argv = args; - (function () { return __awaiter(_this, void 0, void 0, function () { - return __generator(this, function (_a) { - switch (_a.label) { - case 0: return [4 /*yield*/, this._destroyed]; - case 1: - if ((_a.sent()) === true) - return [2 /*return*/]; - return [4 /*yield*/, this._onImmediate.apply(this, __spreadArray([], __read(args), false))]; - case 2: - _a.sent(); - return [2 /*return*/]; - } - }); - }); })(); - } - ; - return Immediate; -}()); -; -function Validation(parameter, instance) { - if (parameter instanceof instance) - return; - throw TypeError("Native type conversion failed"); -} -; -/** - * @param callback a function to execute as its first argument - * @param ms the millisecond delay defined as a number as the second argument. - * @param args Additional arguments may also be included and these will be passed on to the function. - * - * @example - * ```js - * function myFunc(arg) { - * console.log(`arg was => ${arg}`); - * } - * - * setTimeout(myFunc, 1500, 'funky'); - * ``` - */ -// @ts-ignore -function setTimeout(callback, ms) { - var args = []; - for (var _i = 2; _i < arguments.length; _i++) { - args[_i - 2] = arguments[_i]; - } - Validation(callback, Function); - var idleTime = typeof ms === "number" ? ms : 1; - var startTime = new Date().getTime(); - // @ts-ignore - return new (Timeout.bind.apply(Timeout, __spreadArray([void 0, idleTime, startTime, callback, false, false], __read(args), false)))(); -} -; -/** - * By passing said object into the respective clear function, - * execution of that object will be halted completely. - * @param timeoutId Timeout object returned by `setTimeout()` - */ -// @ts-ignore -function clearTimeout(timeoutId) { - if (!(timeoutId instanceof Timeout)) - return; - timeoutId._destroyed = true; - timeoutId._onTimeout = function () { }; -} -; -/** - * @param callback Takes a function argument that will run an infinite number of times - * @param ms A given millisecond delay as the second argument - * @param args Just like `setTimeout()`, additional arguments can be added beyond the delay, - * and these will be passed on to the function call. - * @example - * ```js - * function intervalFunc() { - * console.log('Cant stop me now!'); - * } - * - * setInterval(intervalFunc, 1500); - * ``` - */ -// @ts-ignore -function setInterval(callback, ms) { - var args = []; - for (var _i = 2; _i < arguments.length; _i++) { - args[_i - 2] = arguments[_i]; - } - Validation(callback, Function); - var idleTime = typeof ms === "number" ? ms : 1; - var startTime = new Date().getTime(); - // @ts-ignore - return new (Timer.bind.apply(Timer, __spreadArray([void 0, idleTime, startTime, callback, true, false], __read(args), false)))(); -} -; -/** - * By passing said object into the respective clear function, - * execution of that object will be halted completely. - * @param intervalId Interval object returned by `setInterval()` - */ -// @ts-ignore -function clearInterval(intervalId) { - if (!(intervalId instanceof Timer)) - return; - intervalId._destroyed = true; - intervalId._onTimeout = function () { }; -} -; -/** - * @param callback The function to execute - * @param args Any subsequent arguments will be passed to the function when it is executed. - * - * @example - * ```js - * console.log('before immediate'); - * - * setImmediate((arg) => { - * console.log(`executing immediate: ${arg}`); - * }, 'so immediate'); - * - * console.log('after immediate'); - * ``` - */ -// @ts-ignore -function setImmediate(callback) { - var args = []; - for (var _i = 1; _i < arguments.length; _i++) { - args[_i - 1] = arguments[_i]; - } - Validation(callback, Function); - // @ts-ignore - return new (Immediate.bind.apply(Immediate, __spreadArray([void 0, callback], __read(args), false)))(); -} -; -/** - * By passing said object into the respective clear function, - * execution of that object will be halted completely. - * @param immediateId Immediate object returned by `setImmediate()` - */ -// @ts-ignore -function clearImmediate(immediateId) { - if (!(immediateId instanceof Immediate)) - return; - immediateId._destroyed = true; - immediateId._onImmediate = function () { }; -} -; -/** - * Timers function are exported so developers - * can choose which set of functions they want to - * withdraw from the `timers` module. - */ -export { setTimeout, clearTimeout, setInterval, clearInterval, setImmediate, clearImmediate }; -function trunc(x, decimal) { - var y = Math.pow(10, decimal); - return Math.trunc(x * y) / y; -} -; -/** - * @remarks - * Sets a velocity for the entity to move with. - * Fixes GameTest native player.setVelocity - * @param {Vector} velocity - * @param {Player} player - * @throws This function can throw errors. -*/ -export function setVelocity(velocity, player) { - if (!(player instanceof Player)) - throw TypeError("Native type conversion failed."); - var entity = player.dimension.spawnEntity(MinecraftEntityTypes.minecart.id, player.location); - entity.triggerEvent('minecraft:ageable_grow_up'); // Make them adult - entity.triggerEvent('minecraft:on_saddled'); // Add saddle to pig - var health = entity.getComponent('health'); - var movement = entity.getComponent('movement'); - var rideable = entity.getComponent('rideable'); - entity.addEffect(MinecraftEffectTypes.invisibility, 0x7fff, 255, false); // makes the entity invisible - entity.addEffect(MinecraftEffectTypes.resistance, 0x7fff, 255, false); // makes the entity invisible - entity.setVelocity(velocity); - var onInterval = setInterval(function (isEntityMoving) { - try { - var _a = isEntityMoving.getVelocity(), x = _a.x, y = _a.y, z = _a.z; - if (trunc(x, 2) === 0 && trunc(y, 1) === 0 && trunc(z, 2) === 0) { - clearInterval(onInterval); // clear timer - rideable === null || rideable === void 0 ? void 0 : rideable.ejectRider(player); // eject rider - // teleport entity to void to avoid mob loot drops - var location_1 = entity.location; - entity.teleport({x:location_1.x, y:-100, z:location_1.z}); - entity.kill(); - } - else { - // Force the player to ride the entity until the entity lands - Commands.runAsync("ride \"".concat(player.name, "\" start_riding @s teleport_rider"), entity); - movement === null || movement === void 0 ? void 0 : movement.setCurrent(0); - health === null || health === void 0 ? void 0 : health.resetToMaxValue(); - } - ; - } - catch (error) { - console.error(error); - } - }, 10, entity); -} -; diff --git a/scripts/player-velocity-fix/tsconfig.json b/scripts/player-velocity-fix/tsconfig.json deleted file mode 100644 index 4328d54e..00000000 --- a/scripts/player-velocity-fix/tsconfig.json +++ /dev/null @@ -1,18 +0,0 @@ -{ - "compilerOptions": { - "target": "ES5", - "lib": ["ES2015", "DOM"], - "forceConsistentCasingInFileNames": true, - "noImplicitAny": true, - "noImplicitThis": true, - "strictFunctionTypes": true, - "strictNullChecks": true, - "baseUrl": ".", - "types": [], - "downlevelIteration": true - }, - "files": [ - "index.ts" - ], - "extends": "../tsconfig.json" -} \ No newline at end of file diff --git a/scripts/restful/index.ts b/scripts/restful/index.ts index 2fb28fa5..29c23b28 100644 --- a/scripts/restful/index.ts +++ b/scripts/restful/index.ts @@ -136,7 +136,7 @@ export class REST { const encrypted = table.toRawtext(); // version increment - const version = participant.getScore(this.scoreboard); + const version = this.scoreboard.getScore(participant); overworld.runCommand(`scoreboard players set ${JSON.stringify(encrypted)} ${JSON.stringify(this.scoreboard.id)} ${version + 1}`); }; } @@ -167,7 +167,7 @@ export class REST { const encrypted = table.toRawtext(); // version increment - const version = participant.getScore(this.scoreboard); + const version = this.scoreboard.getScore(participant); overworld.runCommand(`scoreboard players set ${JSON.stringify(encrypted)} ${JSON.stringify(this.scoreboard.id)} ${version + 1}`); return version + 1; } diff --git a/scripts/set-score/index.ts b/scripts/set-score/index.ts index 10c07674..159eaeb3 100644 --- a/scripts/set-score/index.ts +++ b/scripts/set-score/index.ts @@ -21,20 +21,20 @@ enum ScoreboardAction { }; /** * fetch scoreboard objective display - * @internal + * @deprecated Scoreboards Setter APIs Client Sync issue is fixed in 1.20.10 */ const updateDisplay = (objective: ScoreboardObjective) => { /** * @type {(keyof typeof DisplaySlotId)[]} */ - const displaySlots: (keyof typeof DisplaySlotId)[] = [ DisplaySlotId.belowname, DisplaySlotId.list, DisplaySlotId.sidebar ]; + const displaySlots: (keyof typeof DisplaySlotId)[] = [ DisplaySlotId.BelowName, DisplaySlotId.List, DisplaySlotId.Sidebar ]; for (const displaySlotId of displaySlots) { const displaySlot = world.scoreboard.getObjectiveAtDisplaySlot(DisplaySlotId[displaySlotId]); if (displaySlot?.objective === objective) { - world.scoreboard.clearObjectiveAtDisplaySlot(DisplaySlotId.sidebar); - world.scoreboard.setObjectiveAtDisplaySlot(DisplaySlotId.sidebar, displaySlot); + world.scoreboard.clearObjectiveAtDisplaySlot(DisplaySlotId.Sidebar); + world.scoreboard.setObjectiveAtDisplaySlot(DisplaySlotId.Sidebar, displaySlot); } }; }; @@ -46,12 +46,12 @@ const updateDisplay = (objective: ScoreboardObjective) => { * @param {ScoreboardAction} action Decides whether to add, remove, or set score to entity (default = set) * @param {boolean} fetch Fetch scoreboard objective display (default = true) */ -function setScore (entity: Entity, objectiveId: string, score: number, action?: ScoreboardAction, fetch: boolean = true) { +function setScore (entity: Entity, objectiveId: string, score: number, action?: ScoreboardAction) { // Check if scoreboard object exist first const objective = world.scoreboard.getObjective(objectiveId); if (!objective) throw new ReferenceError('Scoreboard objective does not exist in world.'); - const previousScore = !!entity.scoreboardIdentity ? entity.scoreboardIdentity.getScore(objective) : 0; + const previousScore = !!entity.scoreboardIdentity ? objective.getScore(entity.scoreboardIdentity) : 0; switch (action) { case ScoreboardAction.add: @@ -68,9 +68,7 @@ function setScore (entity: Entity, objectiveId: string, score: number, action?: // If entity doesnt have scoreboard property, run command if (!entity.scoreboardIdentity) entity.runCommand('scoreboard players set @s ' + objective + ' ' + score); - else entity.scoreboardIdentity.setScore(objective, score); - - if (fetch) updateDisplay(objective); + else objective.setScore(entity.scoreboardIdentity, score); }; export { setScore }; \ No newline at end of file diff --git a/scripts/simulated-player/.gitignore b/scripts/simulated-player/.gitignore deleted file mode 100644 index fbfc28b2..00000000 --- a/scripts/simulated-player/.gitignore +++ /dev/null @@ -1 +0,0 @@ -simulated-player-tests.d.ts \ No newline at end of file diff --git a/scripts/simulated-player/LICENSE b/scripts/simulated-player/LICENSE deleted file mode 100644 index 14747b4d..00000000 --- a/scripts/simulated-player/LICENSE +++ /dev/null @@ -1,21 +0,0 @@ -MIT License - -Copyright (c) 2022 JaylyDev - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. diff --git a/scripts/simulated-player/README.md b/scripts/simulated-player/README.md deleted file mode 100644 index 1572719f..00000000 --- a/scripts/simulated-player/README.md +++ /dev/null @@ -1,9 +0,0 @@ -# simulated-player - -## Description - -SimulatedPlayer class wrapper. - -## Credits - -These scripts were written by [Jayly](https://github.com/JaylyDev) diff --git a/scripts/simulated-player/index.d.ts b/scripts/simulated-player/index.d.ts deleted file mode 100644 index aaf4a6cc..00000000 --- a/scripts/simulated-player/index.d.ts +++ /dev/null @@ -1,671 +0,0 @@ -import * as GameTest from "@minecraft/server-gametest"; -import * as Minecraft from "@minecraft/server"; -/** - * A simulated player can be used to represent - * how a player moves throughout the world and to support - * testing of how entities and the environment will react to a - * player. This type derives much of its structure and methods - * from the {@link Minecraft.Player} type. - */ -export declare class SimulatedPlayer { - private '__player'; - private '__test'; - /** - * Dimension that the simulated player is currently within. - * @throws This property can throw when used. - */ - get 'dimension'(): Minecraft.Dimension; - /** - * Location of the center of the head component of the player. - * @throws This property can throw when used. - */ - get 'headLocation'(): Minecraft.Vector3; - /** - * Rotation of the head across pitch and yaw angles. - * @throws This property can throw when used. - */ - get 'headRotation'(): Minecraft.Vector2; - /** - * Identifier for the player. - * @throws This property can throw when used. - */ - get 'id'(): string; - /** - * Unique identifier of the type of the entity - for example, - * 'minecraft:player'. - * @throws This property can throw when used. - */ - get 'typeId'(): string; - /** - * True if the player is currently using a sneaking movement. - */ - get 'isSneaking'(): boolean; - set 'isSneaking'(value: boolean); - /** - * Current location of the player. - * @throws This property can throw when used. - */ - get 'location'(): Minecraft.Vector3; - /** - * Name of the player. - * @throws This property can throw when used. - */ - get 'name'(): string; - /** - * Optional name tag of the player. - */ - get 'nameTag'(): string; - set 'nameTag'(value: string); - /** - * Contains methods for manipulating the on-screen display of a - * Player. - */ - get 'onScreenDisplay'(): Minecraft.ScreenDisplay; - /** - * Main rotation of the entity. - * @throws This property can throw when used. - */ - get 'rotation'(): Minecraft.Vector2; - /** - * Returns a scoreboard identity that represents this entity. - * @throws This property can throw when used. - */ - get 'scoreboard'(): Minecraft.ScoreboardIdentity; - /** - * Manages the selected slot in the player's hotbar. - */ - get 'selectedSlot'(): number; - set 'selectedSlot'(value: number); - /** - * Retrieves or sets an entity that is used as the target of - * AI-related behaviors, like attacking. - */ - get 'target'(): Minecraft.Entity; - /** - * Current speed of the player across X, Y, and Z dimensions. - * @throws This property can throw when used. - */ - get 'velocity'(): Minecraft.Vector; - /** - * Vector of the current view of the player. - * @throws This property can throw when used. - */ - get 'viewDirection'(): Minecraft.Vector3; - /** - * @remarks - * Adds an effect, like poison, to the entity. - * @param effectType - * Type of effect to add to the entity. - * @param duration - * Amount of time, in seconds, for the effect to apply. - * @param amplifier - * Optional amplification of the effect to apply. - * @param showParticles - * @throws This function can throw errors. - */ - addEffect(effectType: Minecraft.EffectType, duration: number, amplifier?: number, showParticles?: boolean): void; - /** - * @remarks - * Adds experience to a simulated player. - * @param amount - * Amount of experience to add. - * @throws This function can throw errors. - */ - addExperience(amount: number): number; - /** - * @remarks - * Adds a specified tag to a simulated player. - * @param tag - * Content of the tag to add. - * @throws This function can throw errors. - */ - addTag(tag: string): boolean; - /** - * @remarks - * Causes the simulated player to make an attack 'swipe'. - * Returns true if the attack was performed - for example, the - * player was not on cooldown and had a valid target. Target - * selection is performed by raycasting from the player's head. - * @throws This function can throw errors. - */ - attack(): boolean; - /** - * @remarks - * Causes the simulated player to attack the provided target. - * Returns true if the attack was performed - for example, the - * player was not on cooldown and had a valid target. The - * attack can be performed at any distance and does not require - * line of sight to the target entity. - * @param entity - * @throws This function can throw errors. - */ - attackEntity(entity: Minecraft.Entity): boolean; - /** - * @remarks - * Destroys the block at blockLocation, respecting the rules of - * the server player's game mode. The block will be hit until - * broken, an item is used or stopBreakingBlock is called. - * Returns true if the block at blockLocation is solid. - * @param blockLocation - * Location of the block to interact with. - * @param direction - * Direction to place the specified item within. - * @throws This function can throw errors. - */ - breakBlock(blockLocation: Minecraft.Vector3, direction?: Minecraft.Direction): boolean; - /** - * @remarks - * Gets the first block that intersects with the vector of the - * view of this entity. - * @param options - * Additional options for processing this raycast query. - * @throws This function can throw errors. - */ - getBlockFromViewDirection(options?: Minecraft.BlockRaycastOptions): Minecraft.Block; - /** - * @remarks - * Gets a component (that represents additional capabilities) - * for an entity. - * @param componentId - * The identifier of the component (e.g., 'minecraft:rideable') - * to retrieve. If no namespace prefix is specified, - * 'minecraft:' is assumed. If the component is not present on - * the entity, undefined is returned. - */ - getComponent(componentId: string): Minecraft.EntityComponent; - /** - * @remarks - * Returns all components that are both present on this entity - * and supported by the API. - */ - getComponents(): Minecraft.EntityComponent[]; - /** - * @remarks - * Returns a property value. - * @param identifier - * @returns - * Returns the value for the property, or undefined if the - * property has not been set. - * @throws This function can throw errors. - */ - getDynamicProperty(identifier: string): boolean | number | string; - /** - * @remarks - * Returns the effect for the specified EffectType on the - * entity, or undefined if the effect is not present. - * @param effectType - * @returns - * Effect object for the specified effect, or undefined if the - * effect is not present. - * @throws This function can throw errors. - */ - getEffect(effectType: Minecraft.EffectType): Minecraft.Effect; - /** - * @remarks - * Gets the first entity that intersects with the vector of the - * view of this entity. - * @param options - * Additional options for processing this raycast query. - * @throws This function can throw errors. - */ - getEntitiesFromViewDirection(options?: Minecraft.EntityRaycastOptions): Minecraft.Entity[]; - /** - * @remarks - * Gets the current item cooldown time for a particular - * cooldown category. - velocity * @param itemCategory - * Specifies the cooldown category to retrieve the current - * cooldown for. - * @throws This function can throw errors. - */ - getItemCooldown(itemCategory: string): number; - /** - * @remarks - * Returns all tags associated with this simulated player. - * @throws This function can throw errors. - */ - getTags(): string[]; - /** - * @remarks - * Gives the simulated player a particular item stack. - * @param itemStack - * Item to give. - * @param selectSlot - * Whether to set the selected slot once given. - * @throws This function can throw errors. - */ - giveItem(itemStack: Minecraft.ItemStack, selectSlot?: boolean): boolean; - /** - * @remarks - * Returns true if the specified component is present on this - * entity. - * @param componentId - * The identifier of the component (e.g., 'minecraft:rideable') - * to retrieve. If no namespace prefix is specified, - * 'minecraft:' is assumed. - */ - hasComponent(componentId: string): boolean; - /** - * @remarks - * Tests whether a simulated player has a particular tag. - * @param tag - * Identifier of the tag to test for. - * @throws This function can throw errors. - */ - hasTag(tag: string): boolean; - /** - * @remarks - * Performs a raycast from the player’s head and interacts with - * the first intersected block or entity. Returns true if the - * interaction was successful. Maximum range is 6 blocks. - * @throws This function can throw errors. - */ - interact(): boolean; - /** - * @remarks - * Causes the simulated player to interact with a block. The - * block at the specified block location must be solid. Returns - * true if the interaction was performed. - * @param blockLocation - * Location of the block to interact with. - * @param direction - * Direction to place the specified item within. - * @throws This function can throw errors. - */ - interactWithBlock(blockLocation: Minecraft.Vector3, direction?: Minecraft.Direction): boolean; - /** - * @remarks - * Causes the simulated player to interact with a mob. Returns - * true if the interaction was performed. - * @param entity - * Entity to interact with. - * @throws This function can throw errors. - */ - interactWithEntity(entity: Minecraft.Entity): boolean; - /** - * @remarks - * Causes the simulated player to jump. - * @returns - * True if a jump was performed. - * @throws This function can throw errors. - */ - jump(): boolean; - /** - * @remarks - * Removes this simulated player from the world. - */ - kick(reason?: string): void; - /** - * @remarks - * Kills this entity. The entity will drop loot as normal. - * @throws This function can throw errors. - */ - kill(): void; - /** - * @remarks - * Rotates the simulated player's head/body to look at the - * given block location. - * @param blockLocation - * @throws This function can throw errors. - */ - lookAtBlock(blockLocation: Minecraft.Vector3): void; - /** - * @remarks - * Rotates the simulated player's head/body to look at the - * given entity. - * @param entity - * @throws This function can throw errors. - */ - lookAtEntity(entity: Minecraft.Entity): void; - /** - * @remarks - * Rotates the simulated player's head/body to look at the - * given location. - * @param location - * @throws This function can throw errors. - */ - lookAtLocation(location: Minecraft.Vector3): void; - /** - * @remarks - * Orders the simulated player to walk in the given direction - * relative to the GameTest. - * @param westEast - * @param northSouth - * @param speed - * @throws This function can throw errors. - */ - move(westEast: number, northSouth: number, speed?: number): void; - /** - * @remarks - * Orders the simulated player to walk in the given direction - * relative to the player's current rotation. - * @param leftRight - * @param backwardForward - * @param speed - * @throws This function can throw errors. - */ - moveRelative(leftRight: number, backwardForward: number, speed?: number): void; - /** - * @remarks - * Orders the simulated player to move to the given block - * location in a straight line. If a move or navigation is - * already playing, this will override the last - * move/navigation. - * @param blockLocation - * @param speed - * @throws This function can throw errors. - */ - moveToBlock(blockLocation: Minecraft.Vector3, speed?: number): void; - /** - * @remarks - * Orders the simulated player to move to the given location in - * a straight line. If a move or navigation is already playing, - * this will override the last move/navigation. - * @param location - * @param speed - * @throws This function can throw errors. - */ - moveToLocation(location: Minecraft.Vector3, speed?: number): void; - /** - * @remarks - * Orders the simulated player to move to a specific block - * location using navigation. If a move or navigation is - * already playing, this will override the last move/walk. Note - * that if the simulated player gets stuck, that simulated - * player will stop. The player must be touching the ground in - * order to start navigation. - * @param blockLocation - * @param speed - * @throws This function can throw errors. - */ - navigateToBlock(blockLocation: Minecraft.Vector3, speed?: number): Minecraft.NavigationResult; - /** - * @remarks - * Will use navigation to follow the selected entity to within - * a one block radius. If a move or navigation is already - * playing, this will override the last move/navigation. - * @param entity - * @param speed - * @throws This function can throw errors. - */ - navigateToEntity(entity: Minecraft.Entity, speed?: number): Minecraft.NavigationResult; - /** - * @remarks - * Orders the simulated player to move to a specific location - * using navigation. If a move or navigation is already - * playing, this will override the last move/walk. Note that if - * the simulated player gets stuck, that simulated player will - * stop. The player must be touching the ground in order to - * start navigation. - * @param location - * @param speed - * @throws This function can throw errors. - */ - navigateToLocation(location: Minecraft.Vector3, speed?: number): Minecraft.NavigationResult; - /** - * @remarks - * Use navigation to follow the route provided via the - * locations parameter. If a move or navigation is already - * playing, this will override the last move/navigation. - * @param locations - * A list of locations to use for routing. - * @param speed - * Net speed to use for doing the navigation. - * @throws This function can throw errors. - */ - navigateToLocations(locations: Minecraft.Vector3[], speed?: number): void; - /** - * @remarks - * This method is inherited from Player, but is inoperative in - * the case of a SimulatedPlayer. - * @param soundID - * Identifier of the sound to play. - * @param soundOptions - * Additional optional options for the sound. - * @throws This function can throw errors. - */ - playSound(soundID: string, soundOptions?: Minecraft.PlayerSoundOptions): void; - /** - * @remarks - * Removes a specified property. - * @param identifier - * @throws This function can throw errors. - */ - removeDynamicProperty(identifier: string): boolean; - /** - * @remarks - * Removes a specified tag from a simulated player. - * @param tag - * Content of the tag to remove. - * @throws This function can throw errors. - */ - removeTag(tag: string): boolean; - /** - * @remarks - * Causes the simulated player to turn by the provided angle, - * relative to the player's current rotation. - * @param angleInDegrees - * @throws This function can throw errors. - */ - rotateBody(angleInDegrees: number): void; - /** - * @remarks - * Runs a particular command from the context of this simulated - * player. - * @param commandString - * Command to run. Note that command strings should not start - * with slash. - * @returns - * For commands that return data, returns a JSON structure with - * command response values. - * @throws This function can throw errors. - * @example commands.js - * ```typescript - * player.runCommandAsync("say You got a new high score!"); - * player.runCommandAsync("scoreboard players set @s score 10"); - * - * ``` - * @deprecated - */ - runCommand(commandString: string): never; - /** - * @remarks - * Runs a particular command asynchronously from the context of - * this entity. Where possible, running a command - * asynchronously is recommended, especially for long running - * operations. - * @param commandString - * Command to run. Note that command strings should not start - * with slash. - * @returns - * For commands that return data, returns a JSON structure with - * command response values. - * @throws This function can throw errors. - */ - runCommandAsync(commandString: string): Promise; - /** - * @remarks - * Causes the simulated player to turn to face the provided - * angle, relative to the GameTest. - * @param angleInDegrees - * @throws This function can throw errors. - */ - setBodyRotation(angleInDegrees: number): void; - /** - * @remarks - * Sets a specified property to a value. - * @param identifier - * @param value - * Data value of the property to set. - * @throws This function can throw errors. - */ - setDynamicProperty(identifier: string, value: boolean | number | string): void; - /** - * @remarks - * Sets the game mode that the simulated player is operating - * under. - * @param gameMode - * Game mode to set. - * @throws This function can throw errors. - */ - setGameMode(gameMode: Minecraft.GameMode): void; - /** - * @remarks - * Sets a particular item for the simulated player. - * @param itemStack - * Item to set. - * @param slot - * Slot to place the given item in. - * @param selectSlot - * Whether to set the selected slot once set. - * @throws This function can throw errors. - */ - setItem(itemStack: Minecraft.ItemStack, slot: number, selectSlot?: boolean): boolean; - /** - * @remarks - * Sets the main rotation of the entity. - * @param degreesX - * @param degreesY - * @throws This function can throw errors. - */ - setRotation(degreesX: number, degreesY: number): void; - /** - * @remarks - * Sets a velocity for the entity to move with. - * @param velocity - * X/Y/Z components of the velocity. - * @throws This function can throw errors. - */ - setVelocity(velocity: Minecraft.Vector): void; - /** - * @remarks - * Sets the item cooldown time for a particular cooldown - * category. - * @param itemCategory - * Specifies the cooldown category to retrieve the current - * cooldown for. - * @param tickDuration - * Duration in ticks of the item cooldown. - * @throws This function can throw errors. - */ - startItemCooldown(itemCategory: string, tickDuration: number): void; - /** - * @remarks - * Stops destroying the block that is currently being hit. - * @throws This function can throw errors. - */ - stopBreakingBlock(): void; - /** - * @remarks - * Stops interacting with entities or blocks. - * @throws This function can throw errors. - */ - stopInteracting(): void; - /** - * @remarks - * Stops moving/walking/following if the simulated player is - * moving. - * @throws This function can throw errors. - */ - stopMoving(): void; - /** - * @remarks - * Stops using the currently active item. - * @throws This function can throw errors. - */ - stopUsingItem(): void; - /** - * @remarks - * Teleports the selected player to a new location - * @param location - * New location for the player. - * @param dimension - * Dimension to move the selected player to. - * @param xRotation - * X rotation of the player after teleportation. - * @param yRotation - * Y rotation of the player after teleportation. - * @throws This function can throw errors. - */ - teleport(location: Minecraft.Vector3, dimension: Minecraft.Dimension, xRotation: number, yRotation: number): void; - /** - * @remarks - * Teleports the selected player to a new location, and will - * have the player facing a specified location. - * @param location - * New location for the player. - * @param dimension - * Dimension to move the selected player to. - * @param facingLocation - * Location that this player will be facing. - * @throws This function can throw errors. - */ - teleportFacing(location: Minecraft.Vector3, dimension: Minecraft.Dimension, facingLocation: Minecraft.Vector3): void; - /** - * @remarks - * Triggers an entity type event. For every entity, a number of - * events are defined in an entities' definition for key entity - * behaviors; for example, creepers have a - * minecraft:start_exploding type event. - * @param eventName - * Name of the entity type event to trigger. If a namespace is - * not specified, minecraft: is assumed. - * @throws This function can throw errors. - */ - triggerEvent(eventName: string): void; - /** - * @remarks - * Causes the simulated player to use an item. Does not consume - * the item. Returns false if the item is on cooldown. - * @param itemStack - * Item to use. - * @throws This function can throw errors. - */ - useItem(itemStack: Minecraft.ItemStack): boolean; - /** - * @remarks - * Causes the simulated player to hold and use an item in their - * inventory. - * @param slot - * Index of the inventory slot. - * @throws This function can throw errors. - */ - useItemInSlot(slot: number): boolean; - /** - * @remarks - * Causes the simulated player to use an item in their - * inventory on a block. The block at the specified block - * location must be solid. Returns true if the item was used. - * @param slot - * Index of the slot to use. - * @param blockLocation - * Location to use the item upon. - * @param direction - * Direction to place the specified item within. - * @param faceLocationX - * Block-face-relative X position where to place the item. - * @param faceLocationY - * Block-face-relative Y position where to place the item. - * @throws This function can throw errors. - */ - useItemInSlotOnBlock(slot: number, blockLocation: Minecraft.Vector3, direction?: Minecraft.Direction, faceLocationX?: number, faceLocationY?: number): boolean; - /** - * @remarks - * Causes the simulated player to use an item on a block. The - * block at the specified block location must be solid. Returns - * true if the item was used. - * @param itemStack - * Item to use. - * @param blockLocation - * Location to use the item upon. - * @param direction - * Direction to place the specified item within. - * @param faceLocationX - * Block-face-relative X position where to place the item. - * @param faceLocationY - * Block-face-relative Y position where to place the item. - * @throws This function can throw errors. - */ - useItemOnBlock(itemStack: Minecraft.ItemStack, blockLocation: Minecraft.Vector3, direction?: Minecraft.Direction, faceLocationX?: number, faceLocationY?: number): boolean; - constructor(player: GameTest.SimulatedPlayer, test: GameTest.Test); -} diff --git a/scripts/simulated-player/index.js b/scripts/simulated-player/index.js deleted file mode 100644 index c85d12f1..00000000 --- a/scripts/simulated-player/index.js +++ /dev/null @@ -1,771 +0,0 @@ -import * as Minecraft from "@minecraft/server"; -/** - * A simulated player can be used to represent - * how a player moves throughout the world and to support - * testing of how entities and the environment will react to a - * player. This type derives much of its structure and methods - * from the {@link Minecraft.Player} type. - */ -export class SimulatedPlayer { - /** - * Dimension that the simulated player is currently within. - * @throws This property can throw when used. - */ - get 'dimension'() { return this.__player.dimension; } - ; - /** - * Location of the center of the head component of the player. - * @throws This property can throw when used. - */ - get 'headLocation'() { return this.__player.getHeadLocation(); } - ; - /** - * Rotation of the head across pitch and yaw angles. - * @throws This property can throw when used. - */ - get 'headRotation'() { return this.__player.headRotation; } - ; - /** - * Identifier for the player. - * @throws This property can throw when used. - */ - get 'id'() { return this.__player.id; } - ; - /** - * Unique identifier of the type of the entity - for example, - * 'minecraft:player'. - * @throws This property can throw when used. - */ - get 'typeId'() { return this.__player.typeId; } - ; - /** - * True if the player is currently using a sneaking movement. - */ - get 'isSneaking'() { - return this.__player.isSneaking; - } - set 'isSneaking'(value) { - this.__player.isSneaking = value; - } - /** - * Current location of the player. - * @throws This property can throw when used. - */ - get 'location'() { return this.__player.location; } - ; - /** - * Name of the player. - * @throws This property can throw when used. - */ - get 'name'() { return this.__player.name; } - ; - /** - * Optional name tag of the player. - */ - get 'nameTag'() { - return this.__player.nameTag; - } - set 'nameTag'(value) { - this.__player.nameTag = value; - } - /** - * Contains methods for manipulating the on-screen display of a - * Player. - */ - get 'onScreenDisplay'() { return this.__player.onScreenDisplay; } - ; - /** - * Main rotation of the entity. - * @throws This property can throw when used. - */ - get 'rotation'() { return this.__player.getRotation(); } - ; - /** - * Returns a scoreboard identity that represents this entity. - * @throws This property can throw when used. - */ - get 'scoreboard'() { return this.__player.scoreboardIdentity; } - ; - /** - * Manages the selected slot in the player's hotbar. - */ - get 'selectedSlot'() { - return this.__player.selectedSlot; - } - ; - set 'selectedSlot'(value) { - this.__player.selectedSlot = value; - } - /** - * Retrieves or sets an entity that is used as the target of - * AI-related behaviors, like attacking. - */ - get 'target'() { - return this.__player.target; - } - ; - /** - * Current speed of the player across X, Y, and Z dimensions. - * @throws This property can throw when used. - */ - get 'velocity'() { return new Minecraft.Vector(this.__player.getVelocity().x, this.__player.getVelocity().y, this.__player.getVelocity().z); } - ; - /** - * Vector of the current view of the player. - * @throws This property can throw when used. - */ - get 'viewDirection'() { return this.__player.getViewDirection(); } - ; - /** - * @remarks - * Adds an effect, like poison, to the entity. - * @param effectType - * Type of effect to add to the entity. - * @param duration - * Amount of time, in seconds, for the effect to apply. - * @param amplifier - * Optional amplification of the effect to apply. - * @param showParticles - * @throws This function can throw errors. - */ - addEffect(effectType, duration, amplifier, showParticles) { - return this.__player.addEffect(effectType, duration, { - amplifier, - showParticles - }); - } - ; - /** - * @remarks - * Adds experience to a simulated player. - * @param amount - * Amount of experience to add. - * @throws This function can throw errors. - */ - addExperience(amount) { return this.__player.addExperience(amount); } - ; - /** - * @remarks - * Adds a specified tag to a simulated player. - * @param tag - * Content of the tag to add. - * @throws This function can throw errors. - */ - addTag(tag) { return this.__player.addTag(tag); } - ; - /** - * @remarks - * Causes the simulated player to make an attack 'swipe'. - * Returns true if the attack was performed - for example, the - * player was not on cooldown and had a valid target. Target - * selection is performed by raycasting from the player's head. - * @throws This function can throw errors. - */ - attack() { return this.__player.attack(); } - ; - /** - * @remarks - * Causes the simulated player to attack the provided target. - * Returns true if the attack was performed - for example, the - * player was not on cooldown and had a valid target. The - * attack can be performed at any distance and does not require - * line of sight to the target entity. - * @param entity - * @throws This function can throw errors. - */ - attackEntity(entity) { return this.__player.attackEntity(entity); } - ; - /** - * @remarks - * Destroys the block at blockLocation, respecting the rules of - * the server player's game mode. The block will be hit until - * broken, an item is used or stopBreakingBlock is called. - * Returns true if the block at blockLocation is solid. - * @param blockLocation - * Location of the block to interact with. - * @param direction - * Direction to place the specified item within. - * @throws This function can throw errors. - */ - breakBlock(blockLocation, direction) { return this.__player.breakBlock(blockLocation, direction); } - ; - /** - * @remarks - * Gets the first block that intersects with the vector of the - * view of this entity. - * @param options - * Additional options for processing this raycast query. - * @throws This function can throw errors. - */ - getBlockFromViewDirection(options) { return this.__player.getBlockFromViewDirection(options); } - ; - /** - * @remarks - * Gets a component (that represents additional capabilities) - * for an entity. - * @param componentId - * The identifier of the component (e.g., 'minecraft:rideable') - * to retrieve. If no namespace prefix is specified, - * 'minecraft:' is assumed. If the component is not present on - * the entity, undefined is returned. - */ - getComponent(componentId) { return this.__player.getComponent(componentId); } - ; - /** - * @remarks - * Returns all components that are both present on this entity - * and supported by the API. - */ - getComponents() { return this.__player.getComponents(); } - ; - /** - * @remarks - * Returns a property value. - * @param identifier - * @returns - * Returns the value for the property, or undefined if the - * property has not been set. - * @throws This function can throw errors. - */ - getDynamicProperty(identifier) { return this.__player.getDynamicProperty(identifier); } - ; - /** - * @remarks - * Returns the effect for the specified EffectType on the - * entity, or undefined if the effect is not present. - * @param effectType - * @returns - * Effect object for the specified effect, or undefined if the - * effect is not present. - * @throws This function can throw errors. - */ - getEffect(effectType) { return this.__player.getEffect(effectType); } - ; - /** - * @remarks - * Gets the first entity that intersects with the vector of the - * view of this entity. - * @param options - * Additional options for processing this raycast query. - * @throws This function can throw errors. - */ - getEntitiesFromViewDirection(options) { return this.__player.getEntitiesFromViewDirection(options); } - ; - /** - * @remarks - * Gets the current item cooldown time for a particular - * cooldown category. - velocity * @param itemCategory - * Specifies the cooldown category to retrieve the current - * cooldown for. - * @throws This function can throw errors. - */ - getItemCooldown(itemCategory) { return this.__player.getItemCooldown(itemCategory); } - ; - /** - * @remarks - * Returns all tags associated with this simulated player. - * @throws This function can throw errors. - */ - getTags() { return this.__player.getTags(); } - ; - /** - * @remarks - * Gives the simulated player a particular item stack. - * @param itemStack - * Item to give. - * @param selectSlot - * Whether to set the selected slot once given. - * @throws This function can throw errors. - */ - giveItem(itemStack, selectSlot) { return this.__player.giveItem(itemStack, selectSlot); } - ; - /** - * @remarks - * Returns true if the specified component is present on this - * entity. - * @param componentId - * The identifier of the component (e.g., 'minecraft:rideable') - * to retrieve. If no namespace prefix is specified, - * 'minecraft:' is assumed. - */ - hasComponent(componentId) { return this.__player.hasComponent(componentId); } - ; - /** - * @remarks - * Tests whether a simulated player has a particular tag. - * @param tag - * Identifier of the tag to test for. - * @throws This function can throw errors. - */ - hasTag(tag) { return this.__player.hasTag(tag); } - ; - /** - * @remarks - * Performs a raycast from the player’s head and interacts with - * the first intersected block or entity. Returns true if the - * interaction was successful. Maximum range is 6 blocks. - * @throws This function can throw errors. - */ - interact() { return this.__player.interact(); } - ; - /** - * @remarks - * Causes the simulated player to interact with a block. The - * block at the specified block location must be solid. Returns - * true if the interaction was performed. - * @param blockLocation - * Location of the block to interact with. - * @param direction - * Direction to place the specified item within. - * @throws This function can throw errors. - */ - interactWithBlock(blockLocation, direction) { return this.__player.interactWithBlock(blockLocation, direction); } - ; - /** - * @remarks - * Causes the simulated player to interact with a mob. Returns - * true if the interaction was performed. - * @param entity - * Entity to interact with. - * @throws This function can throw errors. - */ - interactWithEntity(entity) { return this.__player.interactWithEntity(entity); } - ; - /** - * @remarks - * Causes the simulated player to jump. - * @returns - * True if a jump was performed. - * @throws This function can throw errors. - */ - jump() { return this.__player.jump(); } - ; - /** - * @remarks - * Removes this simulated player from the world. - */ - kick(reason) { - if (reason) - this.__test.print(`§e${this.__player.name} is kicked from the game: ${reason}`); - else - this.__test.print(`§e${this.__player.name} is kicked from the game`); - return this.__test.removeSimulatedPlayer(this.__player); - } - ; - /** - * @remarks - * Kills this entity. The entity will drop loot as normal. - * @throws This function can throw errors. - */ - kill() { return this.__player.kill(); } - ; - /** - * @remarks - * Rotates the simulated player's head/body to look at the - * given block location. - * @param blockLocation - * @throws This function can throw errors. - */ - lookAtBlock(blockLocation) { return this.__player.lookAtBlock(blockLocation); } - ; - /** - * @remarks - * Rotates the simulated player's head/body to look at the - * given entity. - * @param entity - * @throws This function can throw errors. - */ - lookAtEntity(entity) { return this.__player.lookAtEntity(entity); } - ; - /** - * @remarks - * Rotates the simulated player's head/body to look at the - * given location. - * @param location - * @throws This function can throw errors. - */ - lookAtLocation(location) { return this.__player.lookAtLocation(location); } - ; - /** - * @remarks - * Orders the simulated player to walk in the given direction - * relative to the GameTest. - * @param westEast - * @param northSouth - * @param speed - * @throws This function can throw errors. - */ - move(westEast, northSouth, speed) { return this.__player.move(westEast, northSouth, speed); } - ; - /** - * @remarks - * Orders the simulated player to walk in the given direction - * relative to the player's current rotation. - * @param leftRight - * @param backwardForward - * @param speed - * @throws This function can throw errors. - */ - moveRelative(leftRight, backwardForward, speed) { return this.__player.moveRelative(leftRight, backwardForward, speed); } - ; - /** - * @remarks - * Orders the simulated player to move to the given block - * location in a straight line. If a move or navigation is - * already playing, this will override the last - * move/navigation. - * @param blockLocation - * @param speed - * @throws This function can throw errors. - */ - moveToBlock(blockLocation, speed) { return this.__player.moveToBlock(blockLocation, speed); } - ; - /** - * @remarks - * Orders the simulated player to move to the given location in - * a straight line. If a move or navigation is already playing, - * this will override the last move/navigation. - * @param location - * @param speed - * @throws This function can throw errors. - */ - moveToLocation(location, speed) { return this.__player.moveToLocation(location, speed); } - ; - /** - * @remarks - * Orders the simulated player to move to a specific block - * location using navigation. If a move or navigation is - * already playing, this will override the last move/walk. Note - * that if the simulated player gets stuck, that simulated - * player will stop. The player must be touching the ground in - * order to start navigation. - * @param blockLocation - * @param speed - * @throws This function can throw errors. - */ - navigateToBlock(blockLocation, speed) { return this.__player.navigateToBlock(blockLocation, speed); } - ; - /** - * @remarks - * Will use navigation to follow the selected entity to within - * a one block radius. If a move or navigation is already - * playing, this will override the last move/navigation. - * @param entity - * @param speed - * @throws This function can throw errors. - */ - navigateToEntity(entity, speed) { return this.__player.navigateToEntity(entity, speed); } - ; - /** - * @remarks - * Orders the simulated player to move to a specific location - * using navigation. If a move or navigation is already - * playing, this will override the last move/walk. Note that if - * the simulated player gets stuck, that simulated player will - * stop. The player must be touching the ground in order to - * start navigation. - * @param location - * @param speed - * @throws This function can throw errors. - */ - navigateToLocation(location, speed) { return this.__player.navigateToLocation(location, speed); } - ; - /** - * @remarks - * Use navigation to follow the route provided via the - * locations parameter. If a move or navigation is already - * playing, this will override the last move/navigation. - * @param locations - * A list of locations to use for routing. - * @param speed - * Net speed to use for doing the navigation. - * @throws This function can throw errors. - */ - navigateToLocations(locations, speed) { return this.__player.navigateToLocations(locations, speed); } - ; - /** - * @remarks - * This method is inherited from Player, but is inoperative in - * the case of a SimulatedPlayer. - * @param soundID - * Identifier of the sound to play. - * @param soundOptions - * Additional optional options for the sound. - * @throws This function can throw errors. - */ - playSound(soundID, soundOptions) { return this.__player.playSound(soundID, soundOptions); } - ; - /** - * @remarks - * Removes a specified property. - * @param identifier - * @throws This function can throw errors. - */ - removeDynamicProperty(identifier) { return this.__player.removeDynamicProperty(identifier); } - ; - /** - * @remarks - * Removes a specified tag from a simulated player. - * @param tag - * Content of the tag to remove. - * @throws This function can throw errors. - */ - removeTag(tag) { return this.__player.removeTag(tag); } - ; - /** - * @remarks - * Causes the simulated player to turn by the provided angle, - * relative to the player's current rotation. - * @param angleInDegrees - * @throws This function can throw errors. - */ - rotateBody(angleInDegrees) { return this.__player.rotateBody(angleInDegrees); } - ; - /** - * @remarks - * Runs a particular command from the context of this simulated - * player. - * @param commandString - * Command to run. Note that command strings should not start - * with slash. - * @returns - * For commands that return data, returns a JSON structure with - * command response values. - * @throws This function can throw errors. - * @example commands.js - * ```typescript - * player.runCommandAsync("say You got a new high score!"); - * player.runCommandAsync("scoreboard players set @s score 10"); - * - * ``` - * @deprecated - */ - runCommand(commandString) { - throw new ReferenceError("runCommand function has been deprecated"); - } - ; - /** - * @remarks - * Runs a particular command asynchronously from the context of - * this entity. Where possible, running a command - * asynchronously is recommended, especially for long running - * operations. - * @param commandString - * Command to run. Note that command strings should not start - * with slash. - * @returns - * For commands that return data, returns a JSON structure with - * command response values. - * @throws This function can throw errors. - */ - runCommandAsync(commandString) { return this.__player.runCommandAsync(commandString); } - ; - /** - * @remarks - * Causes the simulated player to turn to face the provided - * angle, relative to the GameTest. - * @param angleInDegrees - * @throws This function can throw errors. - */ - setBodyRotation(angleInDegrees) { return this.__player.setBodyRotation(angleInDegrees); } - ; - /** - * @remarks - * Sets a specified property to a value. - * @param identifier - * @param value - * Data value of the property to set. - * @throws This function can throw errors. - */ - setDynamicProperty(identifier, value) { return this.__player.setDynamicProperty(identifier, value); } - ; - /** - * @remarks - * Sets the game mode that the simulated player is operating - * under. - * @param gameMode - * Game mode to set. - * @throws This function can throw errors. - */ - setGameMode(gameMode) { return this.__player.setGameMode(gameMode); } - ; - /** - * @remarks - * Sets a particular item for the simulated player. - * @param itemStack - * Item to set. - * @param slot - * Slot to place the given item in. - * @param selectSlot - * Whether to set the selected slot once set. - * @throws This function can throw errors. - */ - setItem(itemStack, slot, selectSlot) { return this.__player.setItem(itemStack, slot, selectSlot); } - ; - /** - * @remarks - * Sets the main rotation of the entity. - * @param rotation - * @throws This function can throw errors. - */ - setRotation(rotation) { return this.__player.setRotation(rotation); } - ; - /** - * @remarks - * Sets a velocity for the entity to move with. - * @param velocity - * X/Y/Z components of the velocity. - * @throws This function can throw errors. - */ - setVelocity(velocity) { return this.__player.applyImpulse(velocity); } - ; - /** - * @remarks - * Sets the item cooldown time for a particular cooldown - * category. - * @param itemCategory - * Specifies the cooldown category to retrieve the current - * cooldown for. - * @param tickDuration - * Duration in ticks of the item cooldown. - * @throws This function can throw errors. - */ - startItemCooldown(itemCategory, tickDuration) { return this.__player.startItemCooldown(itemCategory, tickDuration); } - ; - /** - * @remarks - * Stops destroying the block that is currently being hit. - * @throws This function can throw errors. - */ - stopBreakingBlock() { return this.__player.stopBreakingBlock(); } - ; - /** - * @remarks - * Stops interacting with entities or blocks. - * @throws This function can throw errors. - */ - stopInteracting() { return this.__player.stopInteracting(); } - ; - /** - * @remarks - * Stops moving/walking/following if the simulated player is - * moving. - * @throws This function can throw errors. - */ - stopMoving() { return this.__player.stopMoving(); } - ; - /** - * @remarks - * Stops using the currently active item. - * @throws This function can throw errors. - */ - stopUsingItem() { return this.__player.stopUsingItem(); } - ; - /** - * @remarks - * Teleports the selected player to a new location - * @param location - * New location for the player. - * @param dimension - * Dimension to move the selected player to. - * @param xRotation - * X rotation of the player after teleportation. - * @param yRotation - * Y rotation of the player after teleportation. - * @throws This function can throw errors. - */ - teleport(location, dimension, xRotation, yRotation) { return this.__player.teleport(location, { dimension, rotation: { x: xRotation, y: yRotation } }); } - ; - /** - * @remarks - * Teleports the selected player to a new location, and will - * have the player facing a specified location. - * @param location - * New location for the player. - * @param dimension - * Dimension to move the selected player to. - * @param facingLocation - * Location that this player will be facing. - * @throws This function can throw errors. - */ - teleportFacing(location, dimension, facingLocation) { return this.__player.teleport(location, { dimension, facingLocation }); } - ; - /** - * @remarks - * Triggers an entity type event. For every entity, a number of - * events are defined in an entities' definition for key entity - * behaviors; for example, creepers have a - * minecraft:start_exploding type event. - * @param eventName - * Name of the entity type event to trigger. If a namespace is - * not specified, minecraft: is assumed. - * @throws This function can throw errors. - */ - triggerEvent(eventName) { return this.__player.triggerEvent(eventName); } - ; - /** - * @remarks - * Causes the simulated player to use an item. Does not consume - * the item. Returns false if the item is on cooldown. - * @param itemStack - * Item to use. - * @throws This function can throw errors. - */ - useItem(itemStack) { return this.__player.useItem(itemStack); } - ; - /** - * @remarks - * Causes the simulated player to hold and use an item in their - * inventory. - * @param slot - * Index of the inventory slot. - * @throws This function can throw errors. - */ - useItemInSlot(slot) { return this.__player.useItemInSlot(slot); } - ; - /** - * @remarks - * Causes the simulated player to use an item in their - * inventory on a block. The block at the specified block - * location must be solid. Returns true if the item was used. - * @param slot - * Index of the slot to use. - * @param blockLocation - * Location to use the item upon. - * @param direction - * Direction to place the specified item within. - * @param faceLocationX - * Block-face-relative X position where to place the item. - * @param faceLocationY - * Block-face-relative Y position where to place the item. - * @throws This function can throw errors. - */ - useItemInSlotOnBlock(slot, blockLocation, direction, faceLocation) { return this.__player.useItemInSlotOnBlock(slot, blockLocation, direction, faceLocation); } - ; - /** - * @remarks - * Causes the simulated player to use an item on a block. The - * block at the specified block location must be solid. Returns - * true if the item was used. - * @param itemStack - * Item to use. - * @param blockLocation - * Location to use the item upon. - * @param direction - * Direction to place the specified item within. - * @param faceLocationX - * Block-face-relative X position where to place the item. - * @param faceLocationY - * Block-face-relative Y position where to place the item. - * @throws This function can throw errors. - */ - useItemOnBlock(itemStack, blockLocation, direction, faceLocation) { return this.__player.useItemOnBlock(itemStack, blockLocation, direction, faceLocation); } - ; - constructor(player, test) { - this.__player = player; - this.__test = test; - } - ; -} -; diff --git a/scripts/simulated-player/index.ts b/scripts/simulated-player/index.ts deleted file mode 100644 index 9b8dc078..00000000 --- a/scripts/simulated-player/index.ts +++ /dev/null @@ -1,704 +0,0 @@ -// Script example for ScriptAPI -// Author: Jayly -// Project: https://github.com/JaylyDev/ScriptAPI -import * as GameTest from "@minecraft/server-gametest"; -import * as Minecraft from "@minecraft/server"; - -/** - * A simulated player can be used to represent - * how a player moves throughout the world and to support - * testing of how entities and the environment will react to a - * player. This type derives much of its structure and methods - * from the {@link Minecraft.Player} type. - */ -export class SimulatedPlayer { - private '__player': GameTest.SimulatedPlayer; - private '__test': GameTest.Test; - /** - * Dimension that the simulated player is currently within. - * @throws This property can throw when used. - */ - public get 'dimension'(): Minecraft.Dimension { return this.__player.dimension }; - /** - * Location of the center of the head component of the player. - * @throws This property can throw when used. - */ - public get 'headLocation'(): Minecraft.Vector3 { return this.__player.getHeadLocation() }; - /** - * Rotation of the head across pitch and yaw angles. - * @throws This property can throw when used. - */ - public get 'headRotation'(): Minecraft.Vector2 { return this.__player.headRotation }; - /** - * Identifier for the player. - * @throws This property can throw when used. - */ - public get 'id'(): string { return this.__player.id }; - /** - * Unique identifier of the type of the entity - for example, - * 'minecraft:player'. - * @throws This property can throw when used. - */ - public get 'typeId'(): string { return this.__player.typeId }; - /** - * True if the player is currently using a sneaking movement. - */ - public get 'isSneaking'(): boolean { - return this.__player.isSneaking; - } - public set 'isSneaking'(value: boolean) { - this.__player.isSneaking = value; - } - /** - * Current location of the player. - * @throws This property can throw when used. - */ - public get 'location'(): Minecraft.Vector3 { return this.__player.location }; - /** - * Name of the player. - * @throws This property can throw when used. - */ - public get 'name'(): string { return this.__player.name }; - /** - * Optional name tag of the player. - */ - public get 'nameTag'(): string { - return this.__player.nameTag; - } - public set 'nameTag'(value: string) { - this.__player.nameTag = value; - } - /** - * Contains methods for manipulating the on-screen display of a - * Player. - */ - public get 'onScreenDisplay'(): Minecraft.ScreenDisplay { return this.__player.onScreenDisplay }; - /** - * Main rotation of the entity. - * @throws This property can throw when used. - */ - public get 'rotation'(): Minecraft.Vector2 { return this.__player.getRotation() }; - /** - * Returns a scoreboard identity that represents this entity. - * @throws This property can throw when used. - */ - public get 'scoreboard'(): Minecraft.ScoreboardIdentity { return this.__player.scoreboardIdentity }; - /** - * Manages the selected slot in the player's hotbar. - */ - public get 'selectedSlot'(): number { - return this.__player.selectedSlot; - }; - public set 'selectedSlot'(value: number) { - this.__player.selectedSlot = value; - } - /** - * Retrieves or sets an entity that is used as the target of - * AI-related behaviors, like attacking. - */ - public get 'target'(): Minecraft.Entity { - return this.__player.target; - }; - /** - * Current speed of the player across X, Y, and Z dimensions. - * @throws This property can throw when used. - */ - public get 'velocity'(): Minecraft.Vector { return new Minecraft.Vector(this.__player.getVelocity().x, this.__player.getVelocity().y, this.__player.getVelocity().z) }; - /** - * Vector of the current view of the player. - * @throws This property can throw when used. - */ - public get 'viewDirection'(): Minecraft.Vector3 { return this.__player.getViewDirection() }; - /** - * @remarks - * Adds an effect, like poison, to the entity. - * @param effectType - * Type of effect to add to the entity. - * @param duration - * Amount of time, in seconds, for the effect to apply. - * @param amplifier - * Optional amplification of the effect to apply. - * @param showParticles - * @throws This function can throw errors. - */ - addEffect(effectType: Minecraft.EffectType, duration: number, amplifier?: number, showParticles?: boolean): void { - return this.__player.addEffect(effectType, duration, { - amplifier, - showParticles - }) - }; - /** - * @remarks - * Adds experience to a simulated player. - * @param amount - * Amount of experience to add. - * @throws This function can throw errors. - */ - addExperience(amount: number): number { return this.__player.addExperience(amount) }; - /** - * @remarks - * Adds a specified tag to a simulated player. - * @param tag - * Content of the tag to add. - * @throws This function can throw errors. - */ - addTag(tag: string): boolean { return this.__player.addTag(tag) }; - /** - * @remarks - * Causes the simulated player to make an attack 'swipe'. - * Returns true if the attack was performed - for example, the - * player was not on cooldown and had a valid target. Target - * selection is performed by raycasting from the player's head. - * @throws This function can throw errors. - */ - attack(): boolean { return this.__player.attack() }; - /** - * @remarks - * Causes the simulated player to attack the provided target. - * Returns true if the attack was performed - for example, the - * player was not on cooldown and had a valid target. The - * attack can be performed at any distance and does not require - * line of sight to the target entity. - * @param entity - * @throws This function can throw errors. - */ - attackEntity(entity: Minecraft.Entity): boolean { return this.__player.attackEntity(entity) }; - /** - * @remarks - * Destroys the block at blockLocation, respecting the rules of - * the server player's game mode. The block will be hit until - * broken, an item is used or stopBreakingBlock is called. - * Returns true if the block at blockLocation is solid. - * @param blockLocation - * Location of the block to interact with. - * @param direction - * Direction to place the specified item within. - * @throws This function can throw errors. - */ - breakBlock(blockLocation: Minecraft.Vector3, direction?: Minecraft.Direction): boolean { return this.__player.breakBlock(blockLocation, direction) }; - /** - * @remarks - * Gets the first block that intersects with the vector of the - * view of this entity. - * @param options - * Additional options for processing this raycast query. - * @throws This function can throw errors. - */ - getBlockFromViewDirection(options?: Minecraft.BlockRaycastOptions): Minecraft.Block { return this.__player.getBlockFromViewDirection(options) }; - /** - * @remarks - * Gets a component (that represents additional capabilities) - * for an entity. - * @param componentId - * The identifier of the component (e.g., 'minecraft:rideable') - * to retrieve. If no namespace prefix is specified, - * 'minecraft:' is assumed. If the component is not present on - * the entity, undefined is returned. - */ - getComponent(componentId: string): Minecraft.EntityComponent { return this.__player.getComponent(componentId) }; - /** - * @remarks - * Returns all components that are both present on this entity - * and supported by the API. - */ - getComponents(): Minecraft.EntityComponent[] { return this.__player.getComponents() }; - /** - * @remarks - * Returns a property value. - * @param identifier - * @returns - * Returns the value for the property, or undefined if the - * property has not been set. - * @throws This function can throw errors. - */ - getDynamicProperty(identifier: string): boolean | number | string { return this.__player.getDynamicProperty(identifier) }; - /** - * @remarks - * Returns the effect for the specified EffectType on the - * entity, or undefined if the effect is not present. - * @param effectType - * @returns - * Effect object for the specified effect, or undefined if the - * effect is not present. - * @throws This function can throw errors. - */ - getEffect(effectType: Minecraft.EffectType): Minecraft.Effect { return this.__player.getEffect(effectType) }; - /** - * @remarks - * Gets the first entity that intersects with the vector of the - * view of this entity. - * @param options - * Additional options for processing this raycast query. - * @throws This function can throw errors. - */ - getEntitiesFromViewDirection(options?: Minecraft.EntityRaycastOptions): Minecraft.Entity[] { return this.__player.getEntitiesFromViewDirection(options) }; - /** - * @remarks - * Gets the current item cooldown time for a particular - * cooldown category. -velocity * @param itemCategory - * Specifies the cooldown category to retrieve the current - * cooldown for. - * @throws This function can throw errors. - */ - getItemCooldown(itemCategory: string): number { return this.__player.getItemCooldown(itemCategory) }; - /** - * @remarks - * Returns all tags associated with this simulated player. - * @throws This function can throw errors. - */ - getTags(): string[] { return this.__player.getTags() }; - /** - * @remarks - * Gives the simulated player a particular item stack. - * @param itemStack - * Item to give. - * @param selectSlot - * Whether to set the selected slot once given. - * @throws This function can throw errors. - */ - giveItem(itemStack: Minecraft.ItemStack, selectSlot?: boolean): boolean { return this.__player.giveItem(itemStack, selectSlot) }; - /** - * @remarks - * Returns true if the specified component is present on this - * entity. - * @param componentId - * The identifier of the component (e.g., 'minecraft:rideable') - * to retrieve. If no namespace prefix is specified, - * 'minecraft:' is assumed. - */ - hasComponent(componentId: string): boolean { return this.__player.hasComponent(componentId) }; - /** - * @remarks - * Tests whether a simulated player has a particular tag. - * @param tag - * Identifier of the tag to test for. - * @throws This function can throw errors. - */ - hasTag(tag: string): boolean { return this.__player.hasTag(tag) }; - /** - * @remarks - * Performs a raycast from the player’s head and interacts with - * the first intersected block or entity. Returns true if the - * interaction was successful. Maximum range is 6 blocks. - * @throws This function can throw errors. - */ - interact(): boolean { return this.__player.interact() }; - /** - * @remarks - * Causes the simulated player to interact with a block. The - * block at the specified block location must be solid. Returns - * true if the interaction was performed. - * @param blockLocation - * Location of the block to interact with. - * @param direction - * Direction to place the specified item within. - * @throws This function can throw errors. - */ - interactWithBlock(blockLocation: Minecraft.Vector3, direction?: Minecraft.Direction): boolean { return this.__player.interactWithBlock(blockLocation, direction) }; - /** - * @remarks - * Causes the simulated player to interact with a mob. Returns - * true if the interaction was performed. - * @param entity - * Entity to interact with. - * @throws This function can throw errors. - */ - interactWithEntity(entity: Minecraft.Entity): boolean { return this.__player.interactWithEntity(entity) }; - /** - * @remarks - * Causes the simulated player to jump. - * @returns - * True if a jump was performed. - * @throws This function can throw errors. - */ - jump(): boolean { return this.__player.jump() }; - /** - * @remarks - * Removes this simulated player from the world. - */ - kick(reason?: string): void { - if (reason) this.__test.print(`§e${this.__player.name} is kicked from the game: ${reason}`); - else this.__test.print(`§e${this.__player.name} is kicked from the game`); - - return this.__test.removeSimulatedPlayer(this.__player); - }; - /** - * @remarks - * Kills this entity. The entity will drop loot as normal. - * @throws This function can throw errors. - */ - kill(): boolean { return this.__player.kill() }; - /** - * @remarks - * Rotates the simulated player's head/body to look at the - * given block location. - * @param blockLocation - * @throws This function can throw errors. - */ - lookAtBlock(blockLocation: Minecraft.Vector3): void { return this.__player.lookAtBlock(blockLocation) }; - /** - * @remarks - * Rotates the simulated player's head/body to look at the - * given entity. - * @param entity - * @throws This function can throw errors. - */ - lookAtEntity(entity: Minecraft.Entity): void { return this.__player.lookAtEntity(entity) }; - /** - * @remarks - * Rotates the simulated player's head/body to look at the - * given location. - * @param location - * @throws This function can throw errors. - */ - lookAtLocation(location: Minecraft.Vector3): void { return this.__player.lookAtLocation(location) }; - /** - * @remarks - * Orders the simulated player to walk in the given direction - * relative to the GameTest. - * @param westEast - * @param northSouth - * @param speed - * @throws This function can throw errors. - */ - move(westEast: number, northSouth: number, speed?: number): void { return this.__player.move(westEast, northSouth, speed) }; - /** - * @remarks - * Orders the simulated player to walk in the given direction - * relative to the player's current rotation. - * @param leftRight - * @param backwardForward - * @param speed - * @throws This function can throw errors. - */ - moveRelative(leftRight: number, backwardForward: number, speed?: number): void { return this.__player.moveRelative(leftRight, backwardForward, speed) }; - /** - * @remarks - * Orders the simulated player to move to the given block - * location in a straight line. If a move or navigation is - * already playing, this will override the last - * move/navigation. - * @param blockLocation - * @param speed - * @throws This function can throw errors. - */ - moveToBlock(blockLocation: Minecraft.Vector3, speed?: number): void { return this.__player.moveToBlock(blockLocation, speed) }; - /** - * @remarks - * Orders the simulated player to move to the given location in - * a straight line. If a move or navigation is already playing, - * this will override the last move/navigation. - * @param location - * @param speed - * @throws This function can throw errors. - */ - moveToLocation(location: Minecraft.Vector3, speed?: number): void { return this.__player.moveToLocation(location, speed) }; - /** - * @remarks - * Orders the simulated player to move to a specific block - * location using navigation. If a move or navigation is - * already playing, this will override the last move/walk. Note - * that if the simulated player gets stuck, that simulated - * player will stop. The player must be touching the ground in - * order to start navigation. - * @param blockLocation - * @param speed - * @throws This function can throw errors. - */ - navigateToBlock(blockLocation: Minecraft.Vector3, speed?: number): Minecraft.NavigationResult { return this.__player.navigateToBlock(blockLocation, speed) }; - /** - * @remarks - * Will use navigation to follow the selected entity to within - * a one block radius. If a move or navigation is already - * playing, this will override the last move/navigation. - * @param entity - * @param speed - * @throws This function can throw errors. - */ - navigateToEntity(entity: Minecraft.Entity, speed?: number): Minecraft.NavigationResult { return this.__player.navigateToEntity(entity, speed) }; - /** - * @remarks - * Orders the simulated player to move to a specific location - * using navigation. If a move or navigation is already - * playing, this will override the last move/walk. Note that if - * the simulated player gets stuck, that simulated player will - * stop. The player must be touching the ground in order to - * start navigation. - * @param location - * @param speed - * @throws This function can throw errors. - */ - navigateToLocation(location: Minecraft.Vector3, speed?: number): Minecraft.NavigationResult { return this.__player.navigateToLocation(location, speed) }; - /** - * @remarks - * Use navigation to follow the route provided via the - * locations parameter. If a move or navigation is already - * playing, this will override the last move/navigation. - * @param locations - * A list of locations to use for routing. - * @param speed - * Net speed to use for doing the navigation. - * @throws This function can throw errors. - */ - navigateToLocations(locations: Minecraft.Vector3[], speed?: number): void { return this.__player.navigateToLocations(locations, speed) }; - /** - * @remarks - * This method is inherited from Player, but is inoperative in - * the case of a SimulatedPlayer. - * @param soundID - * Identifier of the sound to play. - * @param soundOptions - * Additional optional options for the sound. - * @throws This function can throw errors. - */ - playSound(soundID: string, soundOptions?: Minecraft.PlayerSoundOptions): void { return this.__player.playSound(soundID, soundOptions) }; - /** - * @remarks - * Removes a specified property. - * @param identifier - * @throws This function can throw errors. - */ - removeDynamicProperty(identifier: string): boolean { return this.__player.removeDynamicProperty(identifier) }; - /** - * @remarks - * Removes a specified tag from a simulated player. - * @param tag - * Content of the tag to remove. - * @throws This function can throw errors. - */ - removeTag(tag: string): boolean { return this.__player.removeTag(tag) }; - /** - * @remarks - * Causes the simulated player to turn by the provided angle, - * relative to the player's current rotation. - * @param angleInDegrees - * @throws This function can throw errors. - */ - rotateBody(angleInDegrees: number): void { return this.__player.rotateBody(angleInDegrees) }; - /** - * @remarks - * Runs a particular command from the context of this simulated - * player. - * @param commandString - * Command to run. Note that command strings should not start - * with slash. - * @returns - * For commands that return data, returns a JSON structure with - * command response values. - * @throws This function can throw errors. - * @example commands.js - * ```typescript - * player.runCommandAsync("say You got a new high score!"); - * player.runCommandAsync("scoreboard players set @s score 10"); - * - * ``` - * @deprecated - */ - runCommand(commandString: string): never { - throw new ReferenceError("runCommand function has been deprecated"); - }; - /** - * @remarks - * Runs a particular command asynchronously from the context of - * this entity. Where possible, running a command - * asynchronously is recommended, especially for long running - * operations. - * @param commandString - * Command to run. Note that command strings should not start - * with slash. - * @returns - * For commands that return data, returns a JSON structure with - * command response values. - * @throws This function can throw errors. - */ - runCommandAsync(commandString: string): Promise { return this.__player.runCommandAsync(commandString) }; - /** - * @remarks - * Causes the simulated player to turn to face the provided - * angle, relative to the GameTest. - * @param angleInDegrees - * @throws This function can throw errors. - */ - setBodyRotation(angleInDegrees: number): void { return this.__player.setBodyRotation(angleInDegrees) }; - /** - * @remarks - * Sets a specified property to a value. - * @param identifier - * @param value - * Data value of the property to set. - * @throws This function can throw errors. - */ - setDynamicProperty(identifier: string, value: boolean | number | string): void { return this.__player.setDynamicProperty(identifier, value) }; - /** - * @remarks - * Sets the game mode that the simulated player is operating - * under. - * @param gameMode - * Game mode to set. - * @throws This function can throw errors. - */ - setGameMode(gameMode: Minecraft.GameMode): void { return this.__player.setGameMode(gameMode) }; - /** - * @remarks - * Sets a particular item for the simulated player. - * @param itemStack - * Item to set. - * @param slot - * Slot to place the given item in. - * @param selectSlot - * Whether to set the selected slot once set. - * @throws This function can throw errors. - */ - setItem(itemStack: Minecraft.ItemStack, slot: number, selectSlot?: boolean): boolean { return this.__player.setItem(itemStack, slot, selectSlot) }; - /** - * @remarks - * Sets the main rotation of the entity. - * @param rotation - * @throws This function can throw errors. - */ - setRotation(rotation: Minecraft.Vector2): void { return this.__player.setRotation(rotation) }; - /** - * @remarks - * Sets a velocity for the entity to move with. - * @param velocity - * X/Y/Z components of the velocity. - * @throws This function can throw errors. - */ - setVelocity(velocity: Minecraft.Vector): void { return this.__player.applyImpulse(velocity) }; - /** - * @remarks - * Sets the item cooldown time for a particular cooldown - * category. - * @param itemCategory - * Specifies the cooldown category to retrieve the current - * cooldown for. - * @param tickDuration - * Duration in ticks of the item cooldown. - * @throws This function can throw errors. - */ - startItemCooldown(itemCategory: string, tickDuration: number): void { return this.__player.startItemCooldown(itemCategory, tickDuration) }; - /** - * @remarks - * Stops destroying the block that is currently being hit. - * @throws This function can throw errors. - */ - stopBreakingBlock(): void { return this.__player.stopBreakingBlock() }; - /** - * @remarks - * Stops interacting with entities or blocks. - * @throws This function can throw errors. - */ - stopInteracting(): void { return this.__player.stopInteracting() }; - /** - * @remarks - * Stops moving/walking/following if the simulated player is - * moving. - * @throws This function can throw errors. - */ - stopMoving(): void { return this.__player.stopMoving() }; - /** - * @remarks - * Stops using the currently active item. - * @throws This function can throw errors. - */ - stopUsingItem(): void { return this.__player.stopUsingItem() }; - - /** - * @remarks - * Teleports the selected player to a new location - * @param location - * New location for the player. - * @param dimension - * Dimension to move the selected player to. - * @param xRotation - * X rotation of the player after teleportation. - * @param yRotation - * Y rotation of the player after teleportation. - * @throws This function can throw errors. - */ - teleport(location: Minecraft.Vector3, dimension: Minecraft.Dimension, xRotation: number, yRotation: number): void { return this.__player.teleport(location, { dimension, rotation: { x: xRotation, y: yRotation } }) }; - /** - * @remarks - * Teleports the selected player to a new location, and will - * have the player facing a specified location. - * @param location - * New location for the player. - * @param dimension - * Dimension to move the selected player to. - * @param facingLocation - * Location that this player will be facing. - * @throws This function can throw errors. - */ - teleportFacing(location: Minecraft.Vector3, dimension: Minecraft.Dimension, facingLocation: Minecraft.Vector3): void { return this.__player.teleport(location, { dimension, facingLocation }) }; - /** - * @remarks - * Triggers an entity type event. For every entity, a number of - * events are defined in an entities' definition for key entity - * behaviors; for example, creepers have a - * minecraft:start_exploding type event. - * @param eventName - * Name of the entity type event to trigger. If a namespace is - * not specified, minecraft: is assumed. - * @throws This function can throw errors. - */ - triggerEvent(eventName: string): void { return this.__player.triggerEvent(eventName) }; - /** - * @remarks - * Causes the simulated player to use an item. Does not consume - * the item. Returns false if the item is on cooldown. - * @param itemStack - * Item to use. - * @throws This function can throw errors. - */ - useItem(itemStack: Minecraft.ItemStack): boolean { return this.__player.useItem(itemStack) }; - /** - * @remarks - * Causes the simulated player to hold and use an item in their - * inventory. - * @param slot - * Index of the inventory slot. - * @throws This function can throw errors. - */ - useItemInSlot(slot: number): boolean { return this.__player.useItemInSlot(slot) }; - /** - * @remarks - * Causes the simulated player to use an item in their - * inventory on a block. The block at the specified block - * location must be solid. Returns true if the item was used. - * @param slot - * Index of the slot to use. - * @param blockLocation - * Location to use the item upon. - * @param direction - * Direction to place the specified item within. - * @param faceLocationX - * Block-face-relative X position where to place the item. - * @param faceLocationY - * Block-face-relative Y position where to place the item. - * @throws This function can throw errors. - */ - useItemInSlotOnBlock(slot: number, blockLocation: Minecraft.Vector3, direction?: Minecraft.Direction, faceLocation?: Minecraft.Vector3): boolean { return this.__player.useItemInSlotOnBlock(slot, blockLocation, direction, faceLocation) }; - /** - * @remarks - * Causes the simulated player to use an item on a block. The - * block at the specified block location must be solid. Returns - * true if the item was used. - * @param itemStack - * Item to use. - * @param blockLocation - * Location to use the item upon. - * @param direction - * Direction to place the specified item within. - * @param faceLocationX - * Block-face-relative X position where to place the item. - * @param faceLocationY - * Block-face-relative Y position where to place the item. - * @throws This function can throw errors. - */ - useItemOnBlock(itemStack: Minecraft.ItemStack, blockLocation: Minecraft.Vector3, direction?: Minecraft.Direction, faceLocation?: Minecraft.Vector3): boolean { return this.__player.useItemOnBlock(itemStack, blockLocation, direction, faceLocation) }; - public constructor(player: GameTest.SimulatedPlayer, test: GameTest.Test) { - this.__player = player; - this.__test = test; - }; -}; diff --git a/scripts/simulated-player/tests.d.ts b/scripts/simulated-player/tests.d.ts deleted file mode 100644 index cb0ff5c3..00000000 --- a/scripts/simulated-player/tests.d.ts +++ /dev/null @@ -1 +0,0 @@ -export {}; diff --git a/scripts/simulated-player/tests.js b/scripts/simulated-player/tests.js deleted file mode 100644 index 536cd57b..00000000 --- a/scripts/simulated-player/tests.js +++ /dev/null @@ -1,23 +0,0 @@ -/** - * @license MIT - * @author JaylyMC - * @project https://github.com/JaylyDev/GametestDB/ - */ -import { SimulatedPlayer } from "./index"; -import * as GameTest from "@minecraft/server-gametest"; -import { ItemStack, MinecraftEffectTypes, MinecraftItemTypes } from "@minecraft/server"; -GameTest.register("JaylySimulatedPlayerTests", "SimulatedPlayer", (test) => { - const player = test.spawnSimulatedPlayer({ - x: 1, - y: 2, - z: 0 - }); - const simulatedPlayer = new SimulatedPlayer(player, test); - simulatedPlayer.addEffect(MinecraftEffectTypes.absorption, 1); - simulatedPlayer.attack(); - simulatedPlayer.dimension.createExplosion(simulatedPlayer.location, 5, {}); - simulatedPlayer.giveItem(new ItemStack(MinecraftItemTypes.acaciaBoat)); - simulatedPlayer.runCommandAsync("scoreboard players add @s money 1"); - simulatedPlayer.kick("All tasks completed."); - test.succeed(); -}).tag(GameTest.Tags.suiteDefault); diff --git a/scripts/simulated-player/tests.ts b/scripts/simulated-player/tests.ts deleted file mode 100644 index 67b4090f..00000000 --- a/scripts/simulated-player/tests.ts +++ /dev/null @@ -1,26 +0,0 @@ -/** - * @license MIT - * @author JaylyMC - * @project https://github.com/JaylyDev/GametestDB/ - */ -import { SimulatedPlayer } from "./index"; -import * as GameTest from "@minecraft/server-gametest"; -import { ItemStack, MinecraftEffectTypes, MinecraftItemTypes } from "@minecraft/server"; - -GameTest.register("JaylySimulatedPlayerTests", "SimulatedPlayer", (test) => { - const player = test.spawnSimulatedPlayer({ - x: 1, - y: 2, - z: 0 - }); - const simulatedPlayer = new SimulatedPlayer(player, test); - - simulatedPlayer.addEffect(MinecraftEffectTypes.absorption, 1); - simulatedPlayer.attack(); - simulatedPlayer.dimension.createExplosion(simulatedPlayer.location, 5, {}); - simulatedPlayer.giveItem(new ItemStack(MinecraftItemTypes.acaciaBoat)); - simulatedPlayer.runCommandAsync("scoreboard players add @s money 1"); - simulatedPlayer.kick("All tasks completed."); - - test.succeed(); -}).tag(GameTest.Tags.suiteDefault); \ No newline at end of file diff --git a/scripts/simulated-player/tsconfig.json b/scripts/simulated-player/tsconfig.json deleted file mode 100644 index 8c39f504..00000000 --- a/scripts/simulated-player/tsconfig.json +++ /dev/null @@ -1,10 +0,0 @@ -{ - "compilerOptions": { - "declaration": true - }, - "files": [ - "index.ts", - "tests.ts" - ], - "extends": "../tsconfig.json" -} \ No newline at end of file diff --git a/scripts/spawn-simulated-player/README.md b/scripts/spawn-simulated-player/README.md index 3151925e..25c17c7a 100644 --- a/scripts/spawn-simulated-player/README.md +++ b/scripts/spawn-simulated-player/README.md @@ -15,7 +15,3 @@ export function SpawnSimulatedPlayer( callback: (player: SimulatedPlayer) => void ): void; ``` - -# Dependency - -### [simulated-player](../simulated-player/) diff --git a/scripts/spawn-simulated-player/tests.ts b/scripts/spawn-simulated-player/tests.ts index 6aac464b..5755124e 100644 --- a/scripts/spawn-simulated-player/tests.ts +++ b/scripts/spawn-simulated-player/tests.ts @@ -1,15 +1,15 @@ import { world, - MinecraftEffectTypes, MinecraftItemTypes, ItemStack, } from "@minecraft/server"; +import { MinecraftEffectTypes } from "@minecraft/vanilla-data"; import { SpawnSimulatedPlayer } from "./index.js"; let host = [...world.getPlayers()][0]; SpawnSimulatedPlayer(host, function (simulatedPlayer) { - simulatedPlayer.addEffect(MinecraftEffectTypes.absorption, 1); + simulatedPlayer.addEffect(MinecraftEffectTypes.Absorption, 1); simulatedPlayer.attack(); simulatedPlayer.dimension.createExplosion(simulatedPlayer.location, 5); simulatedPlayer.giveItem(new ItemStack(MinecraftItemTypes.acaciaBoat)); From e124e43b3b854f495b1fe00df219a01d42c330a0 Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" <65847850+JaylyDev@users.noreply.github.com> Date: Sat, 17 Jun 2023 11:34:36 +0100 Subject: [PATCH 02/20] Update jaylydb to 1.1.0 --- scripts/jaylydb/index.js | 141 +++----- scripts/jaylydb/index.ts | 105 +++--- scripts/jaylydb/readme.md | 8 +- scripts/jaylydb/tests.js | 101 +----- scripts/jaylydb/tests/binary.js | 10 + scripts/jaylydb/tests/corruptFix.js | 14 + scripts/jaylydb/tests/exists.js | 11 + scripts/jaylydb/tests/lz-string.d.ts | 18 + scripts/jaylydb/tests/lz-string.js | 497 +++++++++++++++++++++++++++ scripts/jaylydb/tests/perf.js | 57 +++ scripts/jaylydb/tests/sync.js | 12 + scripts/jaylydb/tsconfig.json | 3 +- 12 files changed, 748 insertions(+), 229 deletions(-) create mode 100644 scripts/jaylydb/tests/binary.js create mode 100644 scripts/jaylydb/tests/corruptFix.js create mode 100644 scripts/jaylydb/tests/exists.js create mode 100644 scripts/jaylydb/tests/lz-string.d.ts create mode 100644 scripts/jaylydb/tests/lz-string.js create mode 100644 scripts/jaylydb/tests/perf.js create mode 100644 scripts/jaylydb/tests/sync.js diff --git a/scripts/jaylydb/index.js b/scripts/jaylydb/index.js index 06677a23..ce29fb5a 100644 --- a/scripts/jaylydb/index.js +++ b/scripts/jaylydb/index.js @@ -24,7 +24,7 @@ var _a; * IN THE SOFTWARE. */ import { ScoreboardIdentityType, system, world } from "@minecraft/server"; -const version = "1.0.8"; +const version = "1.1.0"; const str = () => ('00000000000000000' + (Math.random() * 0xffffffffffffffff).toString(16)).slice(-16); /** * A rough mechanism for create a random uuid. Not as secure as uuid without as much of a guarantee of uniqueness, @@ -64,7 +64,7 @@ const CreateCrashReport = (action, data, error, salt) => { const DisplayName = { parse(text, salt) { try { - const a = JSON.parse(`"${salt ? decrypt(text, salt) : text}"`); + const a = salt ? decrypt(text, salt) : text; return JSON.parse(`{${a}}`); } catch (error) { @@ -73,7 +73,7 @@ const DisplayName = { }, stringify(value, salt) { try { - const a = JSON.stringify(JSON.stringify(value).slice(1, -1)).slice(1, -1); + const a = JSON.stringify(value).slice(1, -1); return salt ? encrypt(a, salt) : a; } catch (error) { @@ -81,52 +81,28 @@ const DisplayName = { } } }; -const overworld = world.getDimension("overworld"); +; /** * A simple database for storing data in a Minecraft world, using scoreboard. */ class JaylyDB { - /** @internal */ - updateParticipants(fetchCache = false) { - const id = this.objective.id.substring(this.objective.id.indexOf(":") + 1); - if (this.tempCache.size <= 0 && this.warningSent === true) { - console.warn(`[JaylyDB] Database '${id}' has written data to world. It is now safe to exit the world.`); - this.warningSent = false; - } - else if (this.tempCache.size > 0 && this.warningSent === false) { - console.warn(`[JaylyDB] Database '${id}' is writing data to world. Please wait until the process is completed before exiting the world.`); - this.warningSent = true; - } - ; - try { - for (const [key, value] of this.tempCache.entries()) { - overworld.runCommandAsync(`scoreboard players set "${value}" ${this.objective.id} 0`); - this.tempCache.delete(key); - } - ; - } - catch (error) { - if (error.message !== "Runtime failure, command queue is full.") - throw error; - } - ; - this.participants.clear(); - if (fetchCache) - this.localCache.clear(); + /** + * Sync between objective and local state + * @internal + */ + updateParticipants() { + this.localState.clear(); for (const participant of this.objective.getParticipants()) { - if (participant.type !== ScoreboardIdentityType.fakePlayer) + if (participant.type !== ScoreboardIdentityType.FakePlayer) continue; const data = DisplayName.parse(participant.displayName, this.salt); const key = Object.keys(data)[0]; const value = data[key]; - this.participants.set(key, participant); - if (fetchCache) - this.localCache.set(key, value); - } - ; - if (this.SYNC_OK === false) { - console.warn(`[JaylyDB] Database '${id}' is now sync with disk.`); - this.SYNC_OK = true; + this.localState.set(key, { + identity: participant, + encoded_value: participant.displayName, + decoded_value: value + }); } ; } @@ -136,60 +112,56 @@ class JaylyDB { */ constructor(id, encrypted = false) { /** @internal */ - this.participants = new Map(); - /** @internal */ - this.localCache = new Map(); - /** @internal */ - this.warningSent = false; + this.localState = new Map(); /** @internal */ this.SYNC_OK = true; - /** - * Internal cache object to allow data to write from memory to scoreboard every tick interval. - * This is done to prevent multiple values written to a same key to scoreboard each operation. - * @internal - */ - this.tempCache = new Map(); this[_a] = JaylyDB.name; this.objective = world.scoreboard.getObjective("jaylydb:" + id) ?? world.scoreboard.addObjective("jaylydb:" + id, uuid()); this.encrypted = encrypted; this.salt = this.encrypted ? this.objective.displayName : undefined; // Fetch all data when database initialize - this.updateParticipants(true); + this.updateParticipants(); system.runInterval(() => { - if (!!world.scoreboard.getObjective("jaylydb:" + id)) - return this.updateParticipants(); - else if (this.SYNC_OK === true) + const objective = world.scoreboard.getObjective("jaylydb:" + id); + if (objective) { + if (this.SYNC_OK === false) { + // Dump everything from local cache to objective + for (const [, value] of this.localState.entries()) + this.objective.setScore(value.encoded_value, 0); + console.log(`[JaylyDB] Database '${objective.id.slice(6)}' is now synced.`); + } + else + this.updateParticipants(); + this.SYNC_OK = true; + } + else if (this.SYNC_OK === true) { console.error(`[JaylyDB] There is a sync issue with database '${id}'.`); - this.localCache.forEach((value, key) => { - const encoded = DisplayName.stringify({ [key]: value }, this.salt); - this.tempCache.set(key, encoded); - }); - this.SYNC_OK = false; + this.SYNC_OK = false; + } }); } /** * @returns the number of elements in the database. */ get size() { - return this.participants.size; + return this.localState.size; } /** * Clears every element in the database. */ clear() { - this.participants.forEach(this.objective.removeParticipant); - this.updateParticipants(); + this.localState.forEach(participant => this.objective.removeParticipant(participant.identity)); + this.localState.clear(); } /** * @returns — true if an element in the database exists and has been removed, false otherwise. */ delete(key) { - const participant = this.participants.get(key); + const participant = this.localState.get(key); if (!participant) return false; - const success = this.objective.removeParticipant(participant); - this.participants.delete(key); - this.localCache.delete(key); + const success = this.objective.removeParticipant(participant.identity); + this.localState.delete(key); return success; } /** @@ -205,19 +177,12 @@ class JaylyDB { * @returns Returns the element associated with the specified key. If no element is associated with the specified key, undefined is returned. */ get(key) { - if (this.localCache.has(key)) - return this.localCache.get(key); - // local cache does not have element, fetch global participant - const participant = this.participants.get(key); - if (!participant) - return undefined; - const displayName = participant.displayName; - const data = DisplayName.parse(displayName, this.salt); - this.localCache.set(key, data[key]); - return data[key]; + if (!this.localState.has(key)) + this.updateParticipants(); + return this.localState.get(key)?.decoded_value; } has(key) { - return this.localCache.has(key); + return this.localState.has(key); } /** * Adds a new element with a specified key and value to the database. If an element with the same key already exists, the element will be updated. @@ -225,20 +190,24 @@ class JaylyDB { set(key, value) { if (!allowedTypes.includes(typeof value)) throw new TypeError("JaylyDB::set only accepts a value of string, number, or boolean."); + if (this.localState.get(key)?.decoded_value === value) + return this; const encoded = DisplayName.stringify({ [key]: value }, this.salt); if (encoded.length > 32767) throw new RangeError("JaylyDB::set only accepts a string value less than 32767 characters."); - if (this.localCache.get(key) === value) - return this; - // push change to temp cache - this.participants.delete(key); - this.tempCache.set(key, encoded); - this.localCache.set(key, value); + // push change to disk + this.objective.setScore(encoded, 0); + const data = { + encoded_value: encoded, + decoded_value: value, + identity: this.objective.getParticipants().find(participant => participant.displayName === encoded), + }; + this.localState.set(key, data); return this; } *entries() { - for (const iterator of this.localCache.entries()) - yield iterator; + for (const [key, data] of this.localState.entries()) + yield [key, data.decoded_value]; } /** * Returns an iterable of keys in the database diff --git a/scripts/jaylydb/index.ts b/scripts/jaylydb/index.ts index abddb62e..43ee81e3 100644 --- a/scripts/jaylydb/index.ts +++ b/scripts/jaylydb/index.ts @@ -24,9 +24,9 @@ * IN THE SOFTWARE. */ -import { ScoreboardIdentity, ScoreboardIdentityType, ScoreboardObjective, system, world } from "@minecraft/server"; +import { ScoreboardIdentity, ScoreboardIdentityType, ScoreboardObjective, TicksPerSecond, system, world } from "@minecraft/server"; -const version = "1.0.8"; +const version = "1.1.0"; const str = () => ('00000000000000000' + (Math.random() * 0xffffffffffffffff).toString(16)).slice(-16); /** * A rough mechanism for create a random uuid. Not as secure as uuid without as much of a guarantee of uniqueness, @@ -93,6 +93,12 @@ const DisplayName = { } }; +interface CacheData { + identity: ScoreboardIdentity; + encoded_value: string; + decoded_value: string | number | boolean; +}; + /** * A simple database for storing data in a Minecraft world, using scoreboard. */ @@ -102,23 +108,27 @@ class JaylyDB implements Map { /** @internal */ private readonly encrypted: boolean; /** @internal */ - private readonly participants = new Map(); - /** @internal */ - private readonly localCache = new Map(); + private readonly localState = new Map(); /** @internal */ private readonly salt: string | undefined; - /** @internal */ - private updateParticipants(fetchCache: boolean = false) { - this.participants.clear(); - if (fetchCache) this.localCache.clear(); - + /** @internal */ + private SYNC_OK: boolean = true; + /** + * Sync between objective and local state + * @internal + */ + private updateParticipants() { + this.localState.clear(); for (const participant of this.objective.getParticipants()) { if (participant.type !== ScoreboardIdentityType.FakePlayer) continue; const data = DisplayName.parse(participant.displayName, this.salt); const key = Object.keys(data)[0]; const value = data[key]; - this.participants.set(key, participant); - if (fetchCache) this.localCache.set(key, value); + this.localState.set(key, { + identity: participant, + encoded_value: participant.displayName, + decoded_value: value + }); }; } /** @@ -131,42 +141,48 @@ class JaylyDB implements Map { this.salt = this.encrypted ? this.objective.displayName : undefined; // Fetch all data when database initialize - this.updateParticipants(true); + this.updateParticipants(); system.runInterval(() => { - if (!!world.scoreboard.getObjective("jaylydb:" + id)) return this.updateParticipants(); - else if (this.SYNC_OK === true) console.error(`[JaylyDB] There is a sync issue with database '${id}'.`); - - this.localCache.forEach((value, key) => { - const encoded = DisplayName.stringify({ [key]: value }, this.salt); - this.tempCache.set(key, encoded); - }); - this.SYNC_OK = false; + const objective = world.scoreboard.getObjective("jaylydb:" + id); + + if (objective) { + if (this.SYNC_OK === false) { + // Dump everything from local cache to objective + for (const [, value] of this.localState.entries()) this.objective.setScore(value.encoded_value, 0); + console.log(`[JaylyDB] Database '${objective.id.slice(6)}' is now synced.`); + } + else this.updateParticipants(); + this.SYNC_OK = true; + } + else if (this.SYNC_OK === true) { + console.error(`[JaylyDB] There is a sync issue with database '${id}'.`); + this.SYNC_OK = false; + } }); } /** * @returns the number of elements in the database. */ get size(): number { - return this.participants.size; + return this.localState.size; } /** * Clears every element in the database. */ clear(): void { - this.participants.forEach(participant => this.objective.removeParticipant(participant)); - this.updateParticipants(); + this.localState.forEach(participant => this.objective.removeParticipant(participant.identity)); + this.localState.clear(); } /** * @returns — true if an element in the database exists and has been removed, false otherwise. */ delete(key: string): boolean { - const participant = this.participants.get(key); + const participant = this.localState.get(key); if (!participant) return false; - const success = this.objective.removeParticipant(participant); - this.participants.delete(key); - this.localCache.delete(key); + const success = this.objective.removeParticipant(participant.identity); + this.localState.delete(key); return success; } @@ -182,40 +198,35 @@ class JaylyDB implements Map { * @returns Returns the element associated with the specified key. If no element is associated with the specified key, undefined is returned. */ get(key: string): string | number | boolean | undefined { - if (this.localCache.has(key)) return this.localCache.get(key)!; - - // local cache does not have element, fetch global participant - const participant = this.participants.get(key); - if (!participant) return undefined; - - const displayName = participant.displayName; - const data = DisplayName.parse(displayName, this.salt); - this.localCache.set(key, data[key]); - - return data[key]; + if (!this.localState.has(key)) this.updateParticipants(); + return this.localState.get(key)?.decoded_value } has(key: string): boolean { - return this.localCache.has(key); + return this.localState.has(key); } /** * Adds a new element with a specified key and value to the database. If an element with the same key already exists, the element will be updated. */ set(key: string, value: string | number | boolean): this { if (!allowedTypes.includes(typeof value)) throw new TypeError("JaylyDB::set only accepts a value of string, number, or boolean."); + if (this.localState.get(key)?.decoded_value === value) return this; const encoded = DisplayName.stringify({ [key]: value }, this.salt); if (encoded.length > 32767) throw new RangeError("JaylyDB::set only accepts a string value less than 32767 characters."); - if (this.localCache.get(key)! === value) return this; - // push change to temp cache - this.participants.delete(key); - this.tempCache.set(key, encoded); - this.localCache.set(key, value); + // push change to disk + this.objective.setScore(encoded, 0); + const data = { + encoded_value: encoded, + decoded_value: value, + identity: this.objective.getParticipants().find(participant => participant.displayName === encoded), + }; + this.localState.set(key, data); return this; } *entries(): IterableIterator<[string, string | number | boolean]> { - for (const iterator of this.localCache.entries()) yield iterator; + for (const [key, data] of this.localState.entries()) yield [key, data.decoded_value]; } /** * Returns an iterable of keys in the database @@ -235,4 +246,4 @@ class JaylyDB implements Map { [Symbol.toStringTag]: string = JaylyDB.name; }; -export { JaylyDB }; \ No newline at end of file +export { JaylyDB }; diff --git a/scripts/jaylydb/readme.md b/scripts/jaylydb/readme.md index b29f7ec1..edf2b952 100644 --- a/scripts/jaylydb/readme.md +++ b/scripts/jaylydb/readme.md @@ -80,10 +80,10 @@ This database is benchmarked using [`tests.js`](./tests.js). The test file recor | Content Length | `set` time | `set` time (encrypted) | `get` time | `has` time | `delete` time | | -------------- | ---------- | ---------------------- | ---------- | ---------- | ------------- | -| 0 bytes | 1 ms | 2 ms | 0 ms | 0 ms | 0 ms | -| 10,000 bytes | 616 ms | 914 ms | 0 ms | 0 ms | 0 ms | -| 20,000 bytes | 1502 ms | 2144 ms | 1 ms | 0 ms | 0 ms | -| 30,000 bytes | 2645 ms | 3750 ms | 0 ms | 0 ms | 0 ms | +| 0 bytes | 19 ms | 20 ms | 1 ms | 0 ms | 1 ms | +| 10,000 bytes | 48 ms | 776 ms | 0 ms | 0 ms | 2 ms | +| 20,000 bytes | 83 ms | 1517 ms | 1 ms | 0 ms | 4 ms | +| 30,000 bytes | 139 ms | 2325 ms | 0 ms | 0 ms | 5 ms | > Note: **100 elements** with different data length are inserted into individual database, and it doesn't record time taken to write data to world. diff --git a/scripts/jaylydb/tests.js b/scripts/jaylydb/tests.js index 53faafe3..080c9275 100644 --- a/scripts/jaylydb/tests.js +++ b/scripts/jaylydb/tests.js @@ -1,95 +1,14 @@ import { world } from "@minecraft/server"; -import { JaylyDB } from "./index.js"; -import { AssertionError, assert } from "assert/index"; -/** - * @param {number} length - */ -function generateDummyString(length) { - let dummyString = ''; - for (let i = 0; i < length; i++) { - dummyString += String.fromCharCode(Math.floor(Math.random() * 94) + 32); - } - return dummyString; -} -; -/** - * @param {JaylyDB} db - * @param {number} NUM_ITERATIONS - * @param {number} valueLength - */ -function benchmark(db, NUM_ITERATIONS, valueLength) { - let startTime, endTime; - // Test .set method - startTime = Date.now(); - for (let i = 0; i < NUM_ITERATIONS; i++) { - db.set(i.toString(), generateDummyString(valueLength)); - } - endTime = Date.now(); - console.log(`Time taken to execute ${NUM_ITERATIONS} .set operations: ${endTime - startTime} ms`); - // Test .get method - startTime = Date.now(); - for (let i = 0; i < NUM_ITERATIONS; i++) { - db.get(i.toString()); - } - endTime = Date.now(); - console.log(`Time taken to execute ${NUM_ITERATIONS} .get operations: ${endTime - startTime} ms`); - // Test .has method - startTime = Date.now(); - for (let i = 0; i < NUM_ITERATIONS; i++) { - db.has(i.toString()); - } - endTime = Date.now(); - console.log(`Time taken to execute ${NUM_ITERATIONS} .has operations: ${endTime - startTime} ms`); - // Test .delete method - startTime = Date.now(); - for (let i = 0; i < NUM_ITERATIONS; i++) { - db.delete(i.toString()); - } - endTime = Date.now(); - console.log(`Time taken to execute ${NUM_ITERATIONS} .delete operations: ${endTime - startTime} ms`); -} -/** - * @param {number} length - */ -function makeid(length) { - let result = ''; - const characters = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789'; - const charactersLength = characters.length; - let counter = 0; - while (counter < length) { - result += characters.charAt(Math.floor(Math.random() * charactersLength)); - counter += 1; - } - return result; -} -; +import * as perf from "./tests/perf"; +import * as exists from "./tests/exists"; +import * as sync from "./tests/sync"; +import * as corruptFix from "./tests/corruptFix"; + world.afterEvents.worldInitialize.subscribe(() => { console.log("Starting benchmark"); - const db = new JaylyDB(makeid(5), false); - const db_encrypted = new JaylyDB(makeid(5), true); - for (let i = 0; i <= 3; i++) { - const bytes = 10000 * i; - console.log("Benchmarking unencrypted database...", bytes); - benchmark(db, 100, bytes); - } - for (let i = 0; i <= 3; i++) { - const bytes = 10000 * i; - console.log("Benchmarking encrypted database...", bytes); - benchmark(db_encrypted, 100, bytes); - } + exists.Main(); + perf.Main(); + sync.Main(); + corruptFix.Main(); + console.log("Benchmark complete"); }); -function generateRandomString(length) { -const characters = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789'; -let result = ''; - -for (let i = 0; i < length; i++) { - const randomIndex = Math.floor(Math.random() * characters.length); - result += characters.charAt(randomIndex); -} - -return result; -} -const datab = new JaylyDB(generateRandomString(10)); -const expected = "test41"; -datab.set("test1", expected); -assert(datab.get("test1") === expected, new AssertionError({ actual: datab.get("test1"), operator: "!=", expected })); diff --git a/scripts/jaylydb/tests/binary.js b/scripts/jaylydb/tests/binary.js new file mode 100644 index 00000000..f066b0af --- /dev/null +++ b/scripts/jaylydb/tests/binary.js @@ -0,0 +1,10 @@ +// @ts-check +import { world } from "@minecraft/server"; +import { JaylyDB } from "../index"; +import LZString from "./lz-string"; + +const db = new JaylyDB("test"); + +world.afterEvents.chatSend.subscribe(event => { + db.set(Date.now().toString(), LZString.compress(event.message)); +}); \ No newline at end of file diff --git a/scripts/jaylydb/tests/corruptFix.js b/scripts/jaylydb/tests/corruptFix.js new file mode 100644 index 00000000..44e05353 --- /dev/null +++ b/scripts/jaylydb/tests/corruptFix.js @@ -0,0 +1,14 @@ +// @ts-check +import { JaylyDB } from "../index"; +import { assert } from "../assert/index"; +import { world } from "@minecraft/server"; + +export function Main () { + const db = new JaylyDB("yes"); + db.set("hello", "world"); + + world.scoreboard.removeObjective("jaylydb:yes"); + world.scoreboard.addObjective("jaylydb:yes", "yes"); + + assert(db.get("hello") === "world"); +}; \ No newline at end of file diff --git a/scripts/jaylydb/tests/exists.js b/scripts/jaylydb/tests/exists.js new file mode 100644 index 00000000..3a1d12bb --- /dev/null +++ b/scripts/jaylydb/tests/exists.js @@ -0,0 +1,11 @@ +// @ts-check +import { JaylyDB } from "../index"; +import { AssertionError, assert } from "../assert/index"; + +export function Main () { + const datab = new JaylyDB("hello world"); + const expected = "test41"; + datab.set("test1", expected); + assert(datab.get("test1") === expected, new AssertionError({ actual: datab.get("test1"), operator: "!=", expected })); + datab.clear(); +} \ No newline at end of file diff --git a/scripts/jaylydb/tests/lz-string.d.ts b/scripts/jaylydb/tests/lz-string.d.ts new file mode 100644 index 00000000..735c3be9 --- /dev/null +++ b/scripts/jaylydb/tests/lz-string.d.ts @@ -0,0 +1,18 @@ +declare namespace LZString { + export function compressToBase64(input: string): string; + export function decompressFromBase64(input: string): string; + + export function compressToUTF16(input: string): string; + export function decompressFromUTF16(compressed: string): string; + + export function compressToUint8Array(uncompressed: string): Uint8Array; + export function decompressFromUint8Array(compressed: Uint8Array): string; + + export function compressToEncodedURIComponent(input: string): string; + export function decompressFromEncodedURIComponent(compressed: string): string; + + export function compress(input: string): string; + export function decompress(compressed: string): string; +} + +export default LZString; \ No newline at end of file diff --git a/scripts/jaylydb/tests/lz-string.js b/scripts/jaylydb/tests/lz-string.js new file mode 100644 index 00000000..780916c8 --- /dev/null +++ b/scripts/jaylydb/tests/lz-string.js @@ -0,0 +1,497 @@ +// Copyright (c) 2013 Pieroxy +// This work is free. You can redistribute it and/or modify it +// under the terms of the WTFPL, Version 2 +// For more information see LICENSE.txt or http://www.wtfpl.net/ +// +// For more information, the home page: +// http://pieroxy.net/blog/pages/lz-string/testing.html +// +// LZ-based compression algorithm, version 1.4.5 +var LZString = (function() { + + // private property + var f = String.fromCharCode; + var keyStrBase64 = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/="; + var keyStrUriSafe = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+-$"; + var baseReverseDic = {}; + + function getBaseValue(alphabet, character) { + if (!baseReverseDic[alphabet]) { + baseReverseDic[alphabet] = {}; + for (var i=0 ; i>> 8; + buf[i*2+1] = current_value % 256; + } + return buf; + }, + + //decompress from uint8array (UCS-2 big endian format) + decompressFromUint8Array:function (compressed) { + if (compressed===null || compressed===undefined){ + return LZString.decompress(compressed); + } else { + var buf=new Array(compressed.length/2); // 2 bytes per character + for (var i=0, TotalLen=buf.length; i> 1; + } + } else { + value = 1; + for (i=0 ; i> 1; + } + } + context_enlargeIn--; + if (context_enlargeIn == 0) { + context_enlargeIn = Math.pow(2, context_numBits); + context_numBits++; + } + delete context_dictionaryToCreate[context_w]; + } else { + value = context_dictionary[context_w]; + for (i=0 ; i> 1; + } + + + } + context_enlargeIn--; + if (context_enlargeIn == 0) { + context_enlargeIn = Math.pow(2, context_numBits); + context_numBits++; + } + // Add wc to the dictionary. + context_dictionary[context_wc] = context_dictSize++; + context_w = String(context_c); + } + } + + // Output the code for w. + if (context_w !== "") { + if (Object.prototype.hasOwnProperty.call(context_dictionaryToCreate,context_w)) { + if (context_w.charCodeAt(0)<256) { + for (i=0 ; i> 1; + } + } else { + value = 1; + for (i=0 ; i> 1; + } + } + context_enlargeIn--; + if (context_enlargeIn == 0) { + context_enlargeIn = Math.pow(2, context_numBits); + context_numBits++; + } + delete context_dictionaryToCreate[context_w]; + } else { + value = context_dictionary[context_w]; + for (i=0 ; i> 1; + } + + + } + context_enlargeIn--; + if (context_enlargeIn == 0) { + context_enlargeIn = Math.pow(2, context_numBits); + context_numBits++; + } + } + + // Mark the end of the stream + value = 2; + for (i=0 ; i> 1; + } + + // Flush the last char + while (true) { + context_data_val = (context_data_val << 1); + if (context_data_position == bitsPerChar-1) { + context_data.push(getCharFromInt(context_data_val)); + break; + } + else context_data_position++; + } + return context_data.join(''); + }, + + decompress: function (compressed) { + if (compressed == null) return ""; + if (compressed == "") return null; + return LZString._decompress(compressed.length, 32768, function(index) { return compressed.charCodeAt(index); }); + }, + + _decompress: function (length, resetValue, getNextValue) { + var dictionary = [], + next, + enlargeIn = 4, + dictSize = 4, + numBits = 3, + entry = "", + result = [], + i, + w, + bits, resb, maxpower, power, + c, + data = {val:getNextValue(0), position:resetValue, index:1}; + + for (i = 0; i < 3; i += 1) { + dictionary[i] = i; + } + + bits = 0; + maxpower = Math.pow(2,2); + power=1; + while (power!=maxpower) { + resb = data.val & data.position; + data.position >>= 1; + if (data.position == 0) { + data.position = resetValue; + data.val = getNextValue(data.index++); + } + bits |= (resb>0 ? 1 : 0) * power; + power <<= 1; + } + + switch (next = bits) { + case 0: + bits = 0; + maxpower = Math.pow(2,8); + power=1; + while (power!=maxpower) { + resb = data.val & data.position; + data.position >>= 1; + if (data.position == 0) { + data.position = resetValue; + data.val = getNextValue(data.index++); + } + bits |= (resb>0 ? 1 : 0) * power; + power <<= 1; + } + c = f(bits); + break; + case 1: + bits = 0; + maxpower = Math.pow(2,16); + power=1; + while (power!=maxpower) { + resb = data.val & data.position; + data.position >>= 1; + if (data.position == 0) { + data.position = resetValue; + data.val = getNextValue(data.index++); + } + bits |= (resb>0 ? 1 : 0) * power; + power <<= 1; + } + c = f(bits); + break; + case 2: + return ""; + } + dictionary[3] = c; + w = c; + result.push(c); + while (true) { + if (data.index > length) { + return ""; + } + + bits = 0; + maxpower = Math.pow(2,numBits); + power=1; + while (power!=maxpower) { + resb = data.val & data.position; + data.position >>= 1; + if (data.position == 0) { + data.position = resetValue; + data.val = getNextValue(data.index++); + } + bits |= (resb>0 ? 1 : 0) * power; + power <<= 1; + } + + switch (c = bits) { + case 0: + bits = 0; + maxpower = Math.pow(2,8); + power=1; + while (power!=maxpower) { + resb = data.val & data.position; + data.position >>= 1; + if (data.position == 0) { + data.position = resetValue; + data.val = getNextValue(data.index++); + } + bits |= (resb>0 ? 1 : 0) * power; + power <<= 1; + } + + dictionary[dictSize++] = f(bits); + c = dictSize-1; + enlargeIn--; + break; + case 1: + bits = 0; + maxpower = Math.pow(2,16); + power=1; + while (power!=maxpower) { + resb = data.val & data.position; + data.position >>= 1; + if (data.position == 0) { + data.position = resetValue; + data.val = getNextValue(data.index++); + } + bits |= (resb>0 ? 1 : 0) * power; + power <<= 1; + } + dictionary[dictSize++] = f(bits); + c = dictSize-1; + enlargeIn--; + break; + case 2: + return result.join(''); + } + + if (enlargeIn == 0) { + enlargeIn = Math.pow(2, numBits); + numBits++; + } + + if (dictionary[c]) { + entry = dictionary[c]; + } else { + if (c === dictSize) { + entry = w + w.charAt(0); + } else { + return null; + } + } + result.push(entry); + + // Add w+entry[0] to the dictionary. + dictionary[dictSize++] = w + entry.charAt(0); + enlargeIn--; + + w = entry; + + if (enlargeIn == 0) { + enlargeIn = Math.pow(2, numBits); + numBits++; + } + + } + } + }; + return LZString; + })(); + +export default LZString; \ No newline at end of file diff --git a/scripts/jaylydb/tests/perf.js b/scripts/jaylydb/tests/perf.js new file mode 100644 index 00000000..2f3eea3d --- /dev/null +++ b/scripts/jaylydb/tests/perf.js @@ -0,0 +1,57 @@ +// @ts-check +import { JaylyDB } from "../index.js"; + + +/** +* @param {JaylyDB} db +* @param {number} NUM_ITERATIONS +* @param {number} valueLength +*/ +function benchmark(db, NUM_ITERATIONS, valueLength) { + let startTime, endTime; + // Test .set method + startTime = Date.now(); + for (let i = 0; i < NUM_ITERATIONS; i++) { + db.set(i.toString(), 'x'.repeat(valueLength)); + } + endTime = Date.now(); + console.log(`Time taken to execute ${NUM_ITERATIONS} .set operations: ${endTime - startTime} ms`); + // Test .get method + startTime = Date.now(); + for (let i = 0; i < NUM_ITERATIONS; i++) { + db.get(i.toString()); + } + endTime = Date.now(); + console.log(`Time taken to execute ${NUM_ITERATIONS} .get operations: ${endTime - startTime} ms`); + // Test .has method + startTime = Date.now(); + for (let i = 0; i < NUM_ITERATIONS; i++) { + db.has(i.toString()); + } + endTime = Date.now(); + console.log(`Time taken to execute ${NUM_ITERATIONS} .has operations: ${endTime - startTime} ms`); + // Test .delete method + startTime = Date.now(); + for (let i = 0; i < NUM_ITERATIONS; i++) { + db.delete(i.toString()); + } + endTime = Date.now(); + console.log(`Time taken to execute ${NUM_ITERATIONS} .delete operations: ${endTime - startTime} ms`); +} + +export function Main () { + const db = new JaylyDB("perf", false); + const db_encrypted = new JaylyDB("perf2", true); + for (let i = 0; i <= 3; i++) { + const bytes = 10000 * i; + console.log("Benchmarking unencrypted database...", bytes); + benchmark(db, 100, bytes); + } + for (let i = 0; i <= 3; i++) { + const bytes = 10000 * i; + console.log("Benchmarking encrypted database...", bytes); + benchmark(db_encrypted, 100, bytes); + } + db.clear(); + db_encrypted.clear(); +} \ No newline at end of file diff --git a/scripts/jaylydb/tests/sync.js b/scripts/jaylydb/tests/sync.js new file mode 100644 index 00000000..2882a3d9 --- /dev/null +++ b/scripts/jaylydb/tests/sync.js @@ -0,0 +1,12 @@ +// @ts-check +import { assert } from "../assert/index.js"; +import { JaylyDB } from "../index.js"; + +export function Main () { + const db = new JaylyDB("hello"); + const db2 = new JaylyDB("hello"); + db.set("hello", "world"); + db2.set("hello2", "world2"); + + assert(db.get("hello2") === "world2"); +}; \ No newline at end of file diff --git a/scripts/jaylydb/tsconfig.json b/scripts/jaylydb/tsconfig.json index 7eca2d97..3a92774d 100644 --- a/scripts/jaylydb/tsconfig.json +++ b/scripts/jaylydb/tsconfig.json @@ -3,5 +3,6 @@ "compilerOptions": { "declaration": true, "stripInternal": true - } + }, + "files": ["index.ts"] } From 43bf61056cfe176fb3420bfbbb322968d7d14931 Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" <65847850+JaylyDev@users.noreply.github.com> Date: Sat, 17 Jun 2023 13:59:59 +0100 Subject: [PATCH 03/20] fix --- scripts/full-moon/index.js | 4 ++-- scripts/jaylydb/tests/binary.js | 1 - scripts/jaylydb/tests/corruptFix.js | 3 +-- scripts/jaylydb/tests/exists.js | 3 +-- scripts/jaylydb/tests/perf.js | 1 - scripts/jaylydb/tests/sync.js | 3 +-- scripts/player-leave-event/index.ts | 10 +++++----- scripts/scoreboard-identity/tests.js | 2 +- scripts/scoreboard-identity/tests.ts | 2 +- scripts/scoreboard-m/index.js | 24 ++++++++++++------------ scripts/scoreboard/index.js | 4 ++-- scripts/test-score/index.js | 2 +- scripts/world-time/index.js | 4 ++-- 13 files changed, 29 insertions(+), 34 deletions(-) diff --git a/scripts/full-moon/index.js b/scripts/full-moon/index.js index c792cd96..1e8df471 100644 --- a/scripts/full-moon/index.js +++ b/scripts/full-moon/index.js @@ -3,8 +3,8 @@ // Project: https://github.com/JaylyDev/ScriptAPI import { world } from "@minecraft/server"; -const FULL_MOON = ((world.getAbsoluteTime() - world.getTime()) / 24000) % 8 == 0; -const NIGHT_TIME = world.getTime() > 12000; +const FULL_MOON = ((world.getAbsoluteTime() - world.getTimeOfDay()) / 24000) % 8 == 0; +const NIGHT_TIME = world.getTimeOfDay() > 12000; if (FULL_MOON && NIGHT_TIME) { // Code goes here! diff --git a/scripts/jaylydb/tests/binary.js b/scripts/jaylydb/tests/binary.js index f066b0af..e4491796 100644 --- a/scripts/jaylydb/tests/binary.js +++ b/scripts/jaylydb/tests/binary.js @@ -1,4 +1,3 @@ -// @ts-check import { world } from "@minecraft/server"; import { JaylyDB } from "../index"; import LZString from "./lz-string"; diff --git a/scripts/jaylydb/tests/corruptFix.js b/scripts/jaylydb/tests/corruptFix.js index 44e05353..823c356e 100644 --- a/scripts/jaylydb/tests/corruptFix.js +++ b/scripts/jaylydb/tests/corruptFix.js @@ -1,6 +1,5 @@ -// @ts-check import { JaylyDB } from "../index"; -import { assert } from "../assert/index"; +import { assert } from "assert/index"; import { world } from "@minecraft/server"; export function Main () { diff --git a/scripts/jaylydb/tests/exists.js b/scripts/jaylydb/tests/exists.js index 3a1d12bb..687207a1 100644 --- a/scripts/jaylydb/tests/exists.js +++ b/scripts/jaylydb/tests/exists.js @@ -1,6 +1,5 @@ -// @ts-check import { JaylyDB } from "../index"; -import { AssertionError, assert } from "../assert/index"; +import { AssertionError, assert } from "assert/index"; export function Main () { const datab = new JaylyDB("hello world"); diff --git a/scripts/jaylydb/tests/perf.js b/scripts/jaylydb/tests/perf.js index 2f3eea3d..9a1d0585 100644 --- a/scripts/jaylydb/tests/perf.js +++ b/scripts/jaylydb/tests/perf.js @@ -1,4 +1,3 @@ -// @ts-check import { JaylyDB } from "../index.js"; diff --git a/scripts/jaylydb/tests/sync.js b/scripts/jaylydb/tests/sync.js index 2882a3d9..93ab3049 100644 --- a/scripts/jaylydb/tests/sync.js +++ b/scripts/jaylydb/tests/sync.js @@ -1,5 +1,4 @@ -// @ts-check -import { assert } from "../assert/index.js"; +import { assert } from "assert/index.js"; import { JaylyDB } from "../index.js"; export function Main () { diff --git a/scripts/player-leave-event/index.ts b/scripts/player-leave-event/index.ts index d8a0cb6d..5338b807 100644 --- a/scripts/player-leave-event/index.ts +++ b/scripts/player-leave-event/index.ts @@ -1,7 +1,7 @@ // Script example for ScriptAPI // Author: Jayly // Project: https://github.com/JaylyDev/ScriptAPI -import { world, Player as MinecraftPlayer, Dimension, Block, Entity, EntityComponent, ScoreboardIdentity, Vector, Vector2, Vector3, PlayerSpawnAfterEvent, system } from "@minecraft/server"; +import { world, Player as MinecraftPlayer, Dimension, Entity, EntityComponent, ScoreboardIdentity, Vector, Vector2, Vector3, PlayerSpawnAfterEvent, system, BlockRaycastHit, EntityRaycastHit } from "@minecraft/server"; import "@minecraft/server-gametest"; // import "@minecraft/server-gametest" native module to support Simulated Players /** @@ -46,9 +46,9 @@ function comparePlayer (playerA: Player | MinecraftPlayer, playerB: Player | Min * Player class from "@minecraft/server" module. */ class Player { - private '__PlayerBlockFromViewDirection': Block; + private '__PlayerBlockFromViewDirection': BlockRaycastHit; private '__PlayerComponents': EntityComponent[]; - private '__PlayerEntitiesFromViewDirection': Entity[]; + private '__PlayerEntitiesFromViewDirection': EntityRaycastHit[]; private '__PlayerTags': string[]; /** * Dimension that the entity is currently within. @@ -121,7 +121,7 @@ class Player { * view of this entity. * @throws This function can throw errors. */ - public getBlockFromViewDirection(): Block { + public getBlockFromViewDirection(): BlockRaycastHit { return this.__PlayerBlockFromViewDirection; }; /** @@ -155,7 +155,7 @@ class Player { * Additional options for processing this raycast query. * @throws This function can throw errors. */ - public getEntitiesFromViewDirection(): Entity[] { + public getEntitiesFromViewDirection(): EntityRaycastHit[] { return this.__PlayerEntitiesFromViewDirection; }; /** diff --git a/scripts/scoreboard-identity/tests.js b/scripts/scoreboard-identity/tests.js index de36bced..afe6e68b 100644 --- a/scripts/scoreboard-identity/tests.js +++ b/scripts/scoreboard-identity/tests.js @@ -3,4 +3,4 @@ import createScoreboardIdentity from "./index"; const objective = world.scoreboard.addObjective("HelloWorld", "HelloWorld"); const participant = createScoreboardIdentity(objective, "My Helo"); console.warn(participant.displayName); -participant.removeFromObjective(objective); +objective.removeParticipant(participant); diff --git a/scripts/scoreboard-identity/tests.ts b/scripts/scoreboard-identity/tests.ts index 9c6fa728..5272bef1 100644 --- a/scripts/scoreboard-identity/tests.ts +++ b/scripts/scoreboard-identity/tests.ts @@ -4,4 +4,4 @@ import createScoreboardIdentity from "./index"; const objective = world.scoreboard.addObjective("HelloWorld", "HelloWorld"); const participant = createScoreboardIdentity(objective, "My Helo"); console.warn(participant.displayName); -participant.removeFromObjective(objective); +objective.removeParticipant(participant); diff --git a/scripts/scoreboard-m/index.js b/scripts/scoreboard-m/index.js index 3675a593..da906026 100644 --- a/scripts/scoreboard-m/index.js +++ b/scripts/scoreboard-m/index.js @@ -15,11 +15,11 @@ export const ScoreboardM = { */ setObj: function(id, v) { if (this.getObj(id)) { - objOptions[0] = this.getDisplaySlot("sidebar") ? this.getDisplaySlot("sidebar") : undefined; + objOptions[0] = this.getDisplaySlot(mc.DisplaySlotId.Sidebar) ? this.getDisplaySlot(mc.DisplaySlotId.Sidebar) : undefined; - objOptions[1] = this.getDisplaySlot("list") ? this.getDisplaySlot("list") : undefined; + objOptions[1] = this.getDisplaySlot(mc.DisplaySlotId.List) ? this.getDisplaySlot(mc.DisplaySlotId.List) : undefined; - objOptions[2] = this.getDisplaySlot("belowName") ? this.getDisplaySlot("belowName") : undefined; + objOptions[2] = this.getDisplaySlot(mc.DisplaySlotId.BelowName) ? this.getDisplaySlot(mc.DisplaySlotId.BelowName) : undefined; list = this.getList(id) this.delObj(id); @@ -35,13 +35,13 @@ export const ScoreboardM = { }) switch (ind) { case "0": - this.setDisplaySlot("sidebar", opts); + this.setDisplaySlot(mc.DisplaySlotId.Sidebar, opts); break; case "1": - this.setDisplaySlot("list", opts); + this.setDisplaySlot(mc.DisplaySlotId.List, opts); break; case "2": - this.setDisplaySlot("belowName", opts); + this.setDisplaySlot(mc.DisplaySlotId.BelowName, opts); break; } } else { @@ -234,10 +234,10 @@ export const ScoreboardM = { }, /** * This Method Is To Getting Display Slot Options That Is Currently Displaying - * @param {'sidebar' | 'list' | 'belowName'} id - Id Of Slot To Get Options + * @param {mc.DisplaySlotId} id - Id Of Slot To Get Options * @returns {mc.ScoreboardObjectiveDisplayOptions} - This Returns Display Options * @example - * ScoreboardM.getDisplaySlot("sidebar") + * ScoreboardM.getDisplaySlot(DisplaySlotId.Sidebar) */ getDisplaySlot: function(id) { @@ -245,10 +245,10 @@ export const ScoreboardM = { }, /** * This Clears The Displaying Objective At Given Slot - * @param {'sidebar'| 'list' | 'belowName'} id - The Display Slot Id To Clear + * @param {mc.DisplaySlotId} id - The Display Slot Id To Clear * @returns {ScoreboardM} - The Main ScoreboardM Object * @example - * ScoreboardM.clearDisplaySlot("sidebar") + * ScoreboardM.clearDisplaySlot(DisplaySlotId.Sidebar) */ clearDisplaySlot: function(id) { @@ -257,11 +257,11 @@ export const ScoreboardM = { }, /** * This Sets/Displays Objective At Given Slots - * @param {'sidebar'|'list'| 'belowName'} id - The Slot Id To Display Objective + * @param {mc.DisplaySlotId} id - The Slot Id To Display Objective * @param {mc.ScoreboardObjectiveDisplayOptions} opt - The scoreboard Options to display the Objective * @returns {ScoreboardM} - The Main ScoreboardM Object * @example - * ScoreboardM.setDisplaySlot("sidebar",{objective: ScoreboardM.getObj("money"),sortOrder: 0}) + * ScoreboardM.setDisplaySlot(DisplaySlotId.Sidebar,{objective: ScoreboardM.getObj("money"),sortOrder: 0}) */ setDisplaySlot: function(id, opt) { mc.world.scoreboard.setObjectiveAtDisplaySlot(id, opt); diff --git a/scripts/scoreboard/index.js b/scripts/scoreboard/index.js index 7ece1092..36b7150b 100644 --- a/scripts/scoreboard/index.js +++ b/scripts/scoreboard/index.js @@ -10,7 +10,7 @@ import { world, Entity } from "@minecraft/server"; */ export function getScore(entity, objectiveId) { const objective = world.scoreboard.getObjective(objectiveId); - return entity.scoreboardIdentity.getScore(objective); + return objective.getScore(entity.scoreboardIdentity); } /** * Sets the score recorded for entity on objective @@ -20,7 +20,7 @@ export function getScore(entity, objectiveId) { */ export function setScore(entity, objectiveId, score) { const objective = world.scoreboard.getObjective(objectiveId); - return entity.scoreboardIdentity.setScore(objective, score); + return objective.setScore(entity.scoreboardIdentity, score); } /** * Add the score recorded for entity on objective diff --git a/scripts/test-score/index.js b/scripts/test-score/index.js index 2ed1c687..9efc6c9d 100644 --- a/scripts/test-score/index.js +++ b/scripts/test-score/index.js @@ -66,7 +66,7 @@ export default function testScore( this.plr = player; } - this.scr = this.plr.getScore(this.obj); + this.scr = this.obj.getScore(this.plr); if (min < this.scr && this.scr > max) return true; else return false; diff --git a/scripts/world-time/index.js b/scripts/world-time/index.js index a9ea0ae6..57beb993 100644 --- a/scripts/world-time/index.js +++ b/scripts/world-time/index.js @@ -13,7 +13,7 @@ import { world, TimeOfDay } from '@minecraft/server'; * world.sendMessage(`The time is ${hours}:${minutes}`); */ function GetWorldTime () { - const daytime = world.getTime() + 6000; + const daytime = world.getTimeOfDay() + 6000; const datetime = new Date(daytime * 3.6 * 1000); const hours = datetime.getHours() < 10 ? "0" + datetime.getHours() : datetime.getHours(); const minutes = datetime.getMinutes() < 10 ? "0" + datetime.getMinutes() : datetime.getMinutes(); @@ -26,7 +26,7 @@ function GetWorldTime () { * @returns {keyof typeof TimeOfDay} 'Sunrise', 'Day', 'Noon', 'Sunset', 'Night', or 'Midnight' */ function getTimeOfDay () { - const time = world.getTime(); + const time = world.getTimeOfDay(); if (time >= TimeOfDay.Sunrise || time < TimeOfDay.Day) return 'Sunrise'; else if (time >= TimeOfDay.Day && time < TimeOfDay.Noon) return 'Day'; else if (time >= TimeOfDay.Noon && time < TimeOfDay.Sunset) return 'Noon'; From e49738bb3f0a29ab1031434bee71f46fcb0e77bf Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" <65847850+JaylyDev@users.noreply.github.com> Date: Sun, 18 Jun 2023 14:49:53 +0100 Subject: [PATCH 04/20] f --- scripts/cps-counter/index.ts | 28 +++++++++++-------- .../Extensions/Actions/NightVision/Start.js | 5 ++-- scripts/editor-fullbright/index.ts | 6 ++-- scripts/get-effects/index.js | 7 ++--- scripts/get-scores/index.js | 2 +- 5 files changed, 26 insertions(+), 22 deletions(-) diff --git a/scripts/cps-counter/index.ts b/scripts/cps-counter/index.ts index 06617f5a..59a30bed 100644 --- a/scripts/cps-counter/index.ts +++ b/scripts/cps-counter/index.ts @@ -3,24 +3,28 @@ // Project: https://github.com/JaylyDev/ScriptAPI import { Player, world } from "@minecraft/server"; -declare module "@minecraft/server" { - interface ClickInfo { timestamp: number } - interface Player { - clicks?: ClickInfo[]; - } +interface ClickInfo { + readonly timestamp: number }; +// Using map because typescript doesn't support prototype property declaration properly +const clicks = new Map(); + world.afterEvents.entityHitBlock.subscribe(function ({ damagingEntity }) { if (damagingEntity instanceof Player) { - damagingEntity.clicks ||= []; - damagingEntity.clicks.push({ timestamp: Date.now() }); + const clickInfo = { timestamp: Date.now() }; + const playerClicks = clicks.get(damagingEntity) || []; + playerClicks.push(clickInfo); + clicks.set(damagingEntity, playerClicks); } }); world.afterEvents.entityHitEntity.subscribe(function ({ damagingEntity }) { if (damagingEntity instanceof Player) { - damagingEntity.clicks ||= []; - damagingEntity.clicks.push({ timestamp: Date.now() }); + const clickInfo = { timestamp: Date.now() }; + const playerClicks = clicks.get(damagingEntity) || []; + playerClicks.push(clickInfo); + clicks.set(damagingEntity, playerClicks); } }); @@ -31,9 +35,9 @@ world.afterEvents.entityHitEntity.subscribe(function ({ damagingEntity }) { */ export function getPlayerCPS(player: Player) { const currentTime = Date.now(); - player.clicks ||= []; - const recentClicks = player.clicks.filter(({ timestamp }) => currentTime - 1000 < timestamp); - player.clicks = recentClicks; + const playerClicks = clicks.get(player) || []; + const recentClicks = playerClicks.filter(({ timestamp }) => currentTime - 1000 < timestamp); + clicks.set(player, recentClicks); return recentClicks.length; } diff --git a/scripts/editor-extensions/Extensions/Actions/NightVision/Start.js b/scripts/editor-extensions/Extensions/Actions/NightVision/Start.js index b3d103a2..09c34a90 100644 --- a/scripts/editor-extensions/Extensions/Actions/NightVision/Start.js +++ b/scripts/editor-extensions/Extensions/Actions/NightVision/Start.js @@ -1,5 +1,6 @@ import * as Server from "@minecraft/server"; import * as Editor from "@minecraft/server-editor"; +import { MinecraftEffectTypes } from "@minecraft/vanilla-data"; /** * @param {import("@minecraft/server-editor").IPlayerUISession} uiSession */ @@ -13,7 +14,7 @@ export const Start = (uiSession) => { uiSession.actionManager.createAction( { actionType: Editor.ActionTypes.NoArgsAction, - onExecute: () => uiSession.extensionContext.player.addEffect( Server.MinecraftEffectTypes.nightVision, 20000000, { amplifier: 1, showParticles: false } ), + onExecute: () => uiSession.extensionContext.player.addEffect( MinecraftEffectTypes.NightVision, 20000000, { amplifier: 1, showParticles: false } ), }, ), ); @@ -23,7 +24,7 @@ export const Start = (uiSession) => { uiSession.actionManager.createAction( { actionType: Editor.ActionTypes.NoArgsAction, - onExecute: () => uiSession.extensionContext.player.removeEffect( Server.MinecraftEffectTypes.nightVision ), + onExecute: () => uiSession.extensionContext.player.removeEffect( MinecraftEffectTypes.NightVision ), }, ), ); diff --git a/scripts/editor-fullbright/index.ts b/scripts/editor-fullbright/index.ts index fe408986..4644c861 100644 --- a/scripts/editor-fullbright/index.ts +++ b/scripts/editor-fullbright/index.ts @@ -2,7 +2,7 @@ // Author: Jayly // Project: https://github.com/JaylyDev/ScriptAPI import { ActionTypes, EditorInputContext, IMenu, InputModifier, IPlayerUISession, KeyboardKey } from "@minecraft/server-editor"; -import { MinecraftEffectTypes } from "@minecraft/server"; +import { MinecraftEffectTypes } from "@minecraft/vanilla-data"; /** * Class to enable toggles for full bright in menu in editor mode @@ -14,13 +14,13 @@ export class FullbrightToggle { const enableAction = uiSession.actionManager.createAction({ actionType: ActionTypes.NoArgsAction, onExecute: () => { - player.addEffect(MinecraftEffectTypes.nightVision, 20000000, { amplifier: 1, showParticles: false }); + player.addEffect(MinecraftEffectTypes.NightVision, 20000000, { amplifier: 1, showParticles: false }); }, }); const disableAction = uiSession.actionManager.createAction({ actionType: ActionTypes.NoArgsAction, onExecute: () => { - player.runCommand("effect @s " + MinecraftEffectTypes.nightVision.getName() + " 0"); + player.removeEffect(MinecraftEffectTypes.NightVision); }, }); // Add actions to menu diff --git a/scripts/get-effects/index.js b/scripts/get-effects/index.js index b480d509..7d54b65a 100644 --- a/scripts/get-effects/index.js +++ b/scripts/get-effects/index.js @@ -3,13 +3,12 @@ // Project: https://github.com/JaylyDev/ScriptAPI import { - world, - MinecraftEffectTypes, /* Typings only */ Entity, Player, Effect, - EffectType + EffectType, + EffectTypes } from "@minecraft/server"; /** @@ -22,7 +21,7 @@ import { */ export function getEffects(entity) { const effectList = []; - for (const eff of Object.values(MinecraftEffectTypes)) { + for (const eff of EffectTypes.getAll()) { const effect = entity.getEffect(eff); if (!effect) continue; effectList.push({ diff --git a/scripts/get-scores/index.js b/scripts/get-scores/index.js index be1f296f..b5a0dbd6 100644 --- a/scripts/get-scores/index.js +++ b/scripts/get-scores/index.js @@ -11,7 +11,7 @@ export function getScores (target) { let targetScoreboard = {}; if (!(target.scoreboardIdentity instanceof ScoreboardIdentity)) return targetScoreboard; - for (const objective of objectives) targetScoreboard[objective.id] = objective.getScores().find((score) => score.participant.type !== ScoreboardIdentityType.fakePlayer ? score.participant.getEntity() === target : false)?.score; + for (const objective of objectives) targetScoreboard[objective.id] = objective.getScores().find((score) => score.participant.type !== ScoreboardIdentityType.FakePlayer ? score.participant.getEntity() === target : false)?.score; return targetScoreboard; }; From 790063c222614633b562f8074301efd692032e56 Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" <65847850+JaylyDev@users.noreply.github.com> Date: Sun, 18 Jun 2023 14:55:36 +0100 Subject: [PATCH 05/20] Update testScriptChecks.ts --- tools/testScriptChecks.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tools/testScriptChecks.ts b/tools/testScriptChecks.ts index 132d8425..7a90644d 100644 --- a/tools/testScriptChecks.ts +++ b/tools/testScriptChecks.ts @@ -10,7 +10,7 @@ export function execute (): 0 { for (const scriptName of scripts) { const scriptPath = path.resolve(scriptsPath, scriptName); const files = readdirSync(scriptPath); - const testFiles = files.filter(x => testFilenames.includes(x)); + const testFiles = files.filter(x => testFilenames.includes(x) && !statSync(path.resolve(scriptPath, x)).isDirectory()); if (testFiles.length <= 0) noTestScripts.push(scriptPath); else { From 251d5c3dcb460ede0be52b4ccf52a9f5500856e9 Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" <65847850+JaylyDev@users.noreply.github.com> Date: Sun, 18 Jun 2023 18:32:19 +0100 Subject: [PATCH 06/20] tes --- scripts/cps-counter/index.ts | 24 +++++++++++------------- scripts/dimension-entities/index.js | 19 +++++++++++++++---- 2 files changed, 26 insertions(+), 17 deletions(-) diff --git a/scripts/cps-counter/index.ts b/scripts/cps-counter/index.ts index 59a30bed..f41c05ba 100644 --- a/scripts/cps-counter/index.ts +++ b/scripts/cps-counter/index.ts @@ -11,21 +11,19 @@ interface ClickInfo { const clicks = new Map(); world.afterEvents.entityHitBlock.subscribe(function ({ damagingEntity }) { - if (damagingEntity instanceof Player) { - const clickInfo = { timestamp: Date.now() }; - const playerClicks = clicks.get(damagingEntity) || []; - playerClicks.push(clickInfo); - clicks.set(damagingEntity, playerClicks); - } + if (!(damagingEntity instanceof Player)) return; + const clickInfo = { timestamp: Date.now() }; + const playerClicks = clicks.get(damagingEntity) || []; + playerClicks.push(clickInfo); + clicks.set(damagingEntity, playerClicks); }); world.afterEvents.entityHitEntity.subscribe(function ({ damagingEntity }) { - if (damagingEntity instanceof Player) { - const clickInfo = { timestamp: Date.now() }; - const playerClicks = clicks.get(damagingEntity) || []; - playerClicks.push(clickInfo); - clicks.set(damagingEntity, playerClicks); - } + if (!(damagingEntity instanceof Player)) return; + const clickInfo = { timestamp: Date.now() }; + const playerClicks = clicks.get(damagingEntity) || []; + playerClicks.push(clickInfo); + clicks.set(damagingEntity, playerClicks); }); /** @@ -40,4 +38,4 @@ export function getPlayerCPS(player: Player) { clicks.set(player, recentClicks); return recentClicks.length; -} +}; diff --git a/scripts/dimension-entities/index.js b/scripts/dimension-entities/index.js index 7b6c666a..eb694ecb 100644 --- a/scripts/dimension-entities/index.js +++ b/scripts/dimension-entities/index.js @@ -1,12 +1,19 @@ +// Script example for ScriptAPI +// Author: Jayly#1397 +// Project: https://github.com/JaylyDev/ScriptAPI import { Dimension, world } from "@minecraft/server"; /** * Get entities that are in specific dimension * @param {Dimension} dimension - * @param {import("@minecraft/server").EntityQueryOptions} [getEntities] + * @param {import("@minecraft/server").EntityQueryOptions} [options] */ -export function getEntities(dimension, getEntities) { - return [...dimension.getEntities(getEntities)].filter((entity) => entity.dimension === dimension); +export function getEntities(dimension, options) { + const mergedOptions = { + minDistance: 0, + ...(typeof options.minDistance !== 'undefined' ? { minDistance: options.minDistance } : {}) + }; + return dimension.getEntities(mergedOptions); }; /** @@ -15,5 +22,9 @@ export function getEntities(dimension, getEntities) { * @param {import("@minecraft/server").EntityQueryOptions} [options] */ export function getPlayers(dimension, options) { - return [...world.getPlayers(options)].filter((player) => player.dimension === dimension); + const mergedOptions = { + minDistance: 0, + ...(typeof options.minDistance !== 'undefined' ? { minDistance: options.minDistance } : {}) + }; + return dimension.getPlayers(mergedOptions); }; \ No newline at end of file From e43ee843a5da8bac28e1890729dbd6c702507602 Mon Sep 17 00:00:00 2001 From: Jayly <65847850+JaylyDev@users.noreply.github.com> Date: Sat, 22 Jul 2023 20:10:54 +0800 Subject: [PATCH 07/20] using stable apis --- package-lock.json | 108 ++++++++++----------------------------------- package.json | 10 ++--- tsconfig-base.json | 4 -- 3 files changed, 26 insertions(+), 96 deletions(-) diff --git a/package-lock.json b/package-lock.json index 10bcb2a1..737a8acf 100644 --- a/package-lock.json +++ b/package-lock.json @@ -9,13 +9,9 @@ "version": "1.0.0", "license": "MIT", "dependencies": { - "@minecraft/server": "1.5.0-beta.1.20.20-preview.21", - "@minecraft/server-admin": "1.0.0-beta.1.20.20-preview.21", - "@minecraft/server-editor": "0.1.0-beta.1.20.20-preview.21", - "@minecraft/server-gametest": "1.0.0-beta.1.20.20-preview.21", - "@minecraft/server-net": "1.0.0-beta.1.20.20-preview.21", - "@minecraft/server-ui": "1.2.0-beta.1.20.20-preview.21", - "@minecraft/vanilla-data": "1.20.20-preview.21" + "@minecraft/server": "^1.3.0", + "@minecraft/server-ui": "^1.1.0", + "@minecraft/vanilla-data": "^1.20.10" }, "devDependencies": { "@npm/types": "^1.0.2", @@ -33,51 +29,22 @@ "license": "MIT" }, "node_modules/@minecraft/server": { - "version": "1.5.0-beta.1.20.20-preview.21", - "resolved": "https://registry.npmjs.org/@minecraft/server/-/server-1.5.0-beta.1.20.20-preview.21.tgz", - "integrity": "sha512-ZOA7XgJu9/fOd22vtdoymhKlWTu9HuNBYM9wBa7GWlzABV9are7sKWvtIxg1P0d4ESMki1yJSAz7rUKuf0zVDw==" - }, - "node_modules/@minecraft/server-admin": { - "version": "1.0.0-beta.1.20.20-preview.21", - "resolved": "https://registry.npmjs.org/@minecraft/server-admin/-/server-admin-1.0.0-beta.1.20.20-preview.21.tgz", - "integrity": "sha512-aQR1NdyjGendFJzolwHW1Ok+fZMVqKvQlBel339c0epZdc8cgtqn1YNTNCkEFphHT+twJ5CBdu8RqffyrppxQw==" - }, - "node_modules/@minecraft/server-editor": { - "version": "0.1.0-beta.1.20.20-preview.21", - "resolved": "https://registry.npmjs.org/@minecraft/server-editor/-/server-editor-0.1.0-beta.1.20.20-preview.21.tgz", - "integrity": "sha512-dm97kEvw+QloBadfZoMXEAK600lxqYGjak+HsfumSkLb0Zasb6qx9WJo31vp4GpFXj2ZXJOrD2b8kTONis6Xug==", - "dependencies": { - "@minecraft/server": "^1.5.0-beta.1.20.20-preview.21" - } - }, - "node_modules/@minecraft/server-gametest": { - "version": "1.0.0-beta.1.20.20-preview.21", - "resolved": "https://registry.npmjs.org/@minecraft/server-gametest/-/server-gametest-1.0.0-beta.1.20.20-preview.21.tgz", - "integrity": "sha512-iWPSbHrz21dnLo40LStY/9e+LbMSRVCzBb13SXHZOOQESCCubdmuH0MZM/uHKYXx/UwYaDEVSuxoOxqz5/+MXA==", - "dependencies": { - "@minecraft/server": "^1.5.0-beta.1.20.20-preview.21" - } - }, - "node_modules/@minecraft/server-net": { - "version": "1.0.0-beta.1.20.20-preview.21", - "resolved": "https://registry.npmjs.org/@minecraft/server-net/-/server-net-1.0.0-beta.1.20.20-preview.21.tgz", - "integrity": "sha512-IV6tW9nyNur4JEkaFYqDuhYhcrZ5W1Dz1Ckh9aZFwUDG/43c2nqkLIZRBGiyxnHDkva8RSTd5Zl5rnS4Luv+/Q==", - "dependencies": { - "@minecraft/server-admin": "^1.0.0-beta.1.20.20-preview.21" - } + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/@minecraft/server/-/server-1.3.0.tgz", + "integrity": "sha512-FlR3ZpUi+KelJjf3EsYE50ymPfnWt61YZH3lwgvCdgjAJ2JeLz1zYupHkvoIvkqNhx7mkhe4kMnNXvh2OS5y2g==" }, "node_modules/@minecraft/server-ui": { - "version": "1.2.0-beta.1.20.20-preview.21", - "resolved": "https://registry.npmjs.org/@minecraft/server-ui/-/server-ui-1.2.0-beta.1.20.20-preview.21.tgz", - "integrity": "sha512-xY4KTM8AE39o3diIog8fdksS3ApDuS8T67kmNsCcJv+JvMx37cchV9ULBbU4yBOg5097aMwHK48bz6IG3RrHGQ==", + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/@minecraft/server-ui/-/server-ui-1.1.0.tgz", + "integrity": "sha512-Gnf+GHjjT4VFoXEt7qjrfDRipDgc93YcXbgTmdPTQ5Og3DIRD003ahH97tGMZmeNdsB+ymvAquf+o2o9W2pDjw==", "dependencies": { - "@minecraft/server": "^1.5.0-beta.1.20.20-preview.21" + "@minecraft/server": "^1.2.0" } }, "node_modules/@minecraft/vanilla-data": { - "version": "1.20.20-preview.21", - "resolved": "https://registry.npmjs.org/@minecraft/vanilla-data/-/vanilla-data-1.20.20-preview.21.tgz", - "integrity": "sha512-PzNaexRIZhF6KvJuWCzwYlCK67ylhi6/BD1Hm+yqda1qrXQrFLqO1DGJhlsrCwxKP2s2VxsmWGmZLp/VSQsfsw==" + "version": "1.20.10", + "resolved": "https://registry.npmjs.org/@minecraft/vanilla-data/-/vanilla-data-1.20.10.tgz", + "integrity": "sha512-3FbbRSJspjJyk5eFPSj70wp776tIaqP3Apo2q2yCMkzBhH0iwPizl5aDer6ZwWBPiipGev9039Or2R9wyAplbg==" }, "node_modules/@npm/types": { "version": "1.0.2", @@ -218,51 +185,22 @@ }, "dependencies": { "@minecraft/server": { - "version": "1.5.0-beta.1.20.20-preview.21", - "resolved": "https://registry.npmjs.org/@minecraft/server/-/server-1.5.0-beta.1.20.20-preview.21.tgz", - "integrity": "sha512-ZOA7XgJu9/fOd22vtdoymhKlWTu9HuNBYM9wBa7GWlzABV9are7sKWvtIxg1P0d4ESMki1yJSAz7rUKuf0zVDw==" - }, - "@minecraft/server-admin": { - "version": "1.0.0-beta.1.20.20-preview.21", - "resolved": "https://registry.npmjs.org/@minecraft/server-admin/-/server-admin-1.0.0-beta.1.20.20-preview.21.tgz", - "integrity": "sha512-aQR1NdyjGendFJzolwHW1Ok+fZMVqKvQlBel339c0epZdc8cgtqn1YNTNCkEFphHT+twJ5CBdu8RqffyrppxQw==" - }, - "@minecraft/server-editor": { - "version": "0.1.0-beta.1.20.20-preview.21", - "resolved": "https://registry.npmjs.org/@minecraft/server-editor/-/server-editor-0.1.0-beta.1.20.20-preview.21.tgz", - "integrity": "sha512-dm97kEvw+QloBadfZoMXEAK600lxqYGjak+HsfumSkLb0Zasb6qx9WJo31vp4GpFXj2ZXJOrD2b8kTONis6Xug==", - "requires": { - "@minecraft/server": "^1.5.0-beta.1.20.20-preview.21" - } - }, - "@minecraft/server-gametest": { - "version": "1.0.0-beta.1.20.20-preview.21", - "resolved": "https://registry.npmjs.org/@minecraft/server-gametest/-/server-gametest-1.0.0-beta.1.20.20-preview.21.tgz", - "integrity": "sha512-iWPSbHrz21dnLo40LStY/9e+LbMSRVCzBb13SXHZOOQESCCubdmuH0MZM/uHKYXx/UwYaDEVSuxoOxqz5/+MXA==", - "requires": { - "@minecraft/server": "^1.5.0-beta.1.20.20-preview.21" - } - }, - "@minecraft/server-net": { - "version": "1.0.0-beta.1.20.20-preview.21", - "resolved": "https://registry.npmjs.org/@minecraft/server-net/-/server-net-1.0.0-beta.1.20.20-preview.21.tgz", - "integrity": "sha512-IV6tW9nyNur4JEkaFYqDuhYhcrZ5W1Dz1Ckh9aZFwUDG/43c2nqkLIZRBGiyxnHDkva8RSTd5Zl5rnS4Luv+/Q==", - "requires": { - "@minecraft/server-admin": "^1.0.0-beta.1.20.20-preview.21" - } + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/@minecraft/server/-/server-1.3.0.tgz", + "integrity": "sha512-FlR3ZpUi+KelJjf3EsYE50ymPfnWt61YZH3lwgvCdgjAJ2JeLz1zYupHkvoIvkqNhx7mkhe4kMnNXvh2OS5y2g==" }, "@minecraft/server-ui": { - "version": "1.2.0-beta.1.20.20-preview.21", - "resolved": "https://registry.npmjs.org/@minecraft/server-ui/-/server-ui-1.2.0-beta.1.20.20-preview.21.tgz", - "integrity": "sha512-xY4KTM8AE39o3diIog8fdksS3ApDuS8T67kmNsCcJv+JvMx37cchV9ULBbU4yBOg5097aMwHK48bz6IG3RrHGQ==", + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/@minecraft/server-ui/-/server-ui-1.1.0.tgz", + "integrity": "sha512-Gnf+GHjjT4VFoXEt7qjrfDRipDgc93YcXbgTmdPTQ5Og3DIRD003ahH97tGMZmeNdsB+ymvAquf+o2o9W2pDjw==", "requires": { - "@minecraft/server": "^1.5.0-beta.1.20.20-preview.21" + "@minecraft/server": "^1.2.0" } }, "@minecraft/vanilla-data": { - "version": "1.20.20-preview.21", - "resolved": "https://registry.npmjs.org/@minecraft/vanilla-data/-/vanilla-data-1.20.20-preview.21.tgz", - "integrity": "sha512-PzNaexRIZhF6KvJuWCzwYlCK67ylhi6/BD1Hm+yqda1qrXQrFLqO1DGJhlsrCwxKP2s2VxsmWGmZLp/VSQsfsw==" + "version": "1.20.10", + "resolved": "https://registry.npmjs.org/@minecraft/vanilla-data/-/vanilla-data-1.20.10.tgz", + "integrity": "sha512-3FbbRSJspjJyk5eFPSj70wp776tIaqP3Apo2q2yCMkzBhH0iwPizl5aDer6ZwWBPiipGev9039Or2R9wyAplbg==" }, "@npm/types": { "version": "1.0.2", diff --git a/package.json b/package.json index 74af8179..885493c2 100644 --- a/package.json +++ b/package.json @@ -19,13 +19,9 @@ }, "homepage": "https://github.com/JaylyDev/ScriptAPI#readme", "dependencies": { - "@minecraft/server": "1.5.0-beta.1.20.20-preview.21", - "@minecraft/server-admin": "1.0.0-beta.1.20.20-preview.21", - "@minecraft/server-editor": "0.1.0-beta.1.20.20-preview.21", - "@minecraft/server-gametest": "1.0.0-beta.1.20.20-preview.21", - "@minecraft/server-net": "1.0.0-beta.1.20.20-preview.21", - "@minecraft/server-ui": "1.2.0-beta.1.20.20-preview.21", - "@minecraft/vanilla-data": "1.20.20-preview.21" + "@minecraft/server": "^1.3.0", + "@minecraft/server-ui": "^1.1.0", + "@minecraft/vanilla-data": "^1.20.10" }, "devDependencies": { "@npm/types": "^1.0.2", diff --git a/tsconfig-base.json b/tsconfig-base.json index c4428f8d..3a6a4c18 100644 --- a/tsconfig-base.json +++ b/tsconfig-base.json @@ -5,12 +5,8 @@ "moduleResolution": "classic", "allowSyntheticDefaultImports": true, "types": [ - "@minecraft/server-gametest", "@minecraft/server", "@minecraft/server-ui", - "@minecraft/server-admin", - "@minecraft/server-editor", - "@minecraft/server-net", "@minecraft/vanilla-data" ], "typeRoots": ["./node_modules/"], From 0ab67eea509dd91aae744d5caf360a4987ac4d16 Mon Sep 17 00:00:00 2001 From: Jayly <65847850+JaylyDev@users.noreply.github.com> Date: Wed, 2 Aug 2023 10:58:35 +0800 Subject: [PATCH 08/20] Using RC versions --- package.json | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/package.json b/package.json index 885493c2..5c4b57f0 100644 --- a/package.json +++ b/package.json @@ -19,9 +19,9 @@ }, "homepage": "https://github.com/JaylyDev/ScriptAPI#readme", "dependencies": { - "@minecraft/server": "^1.3.0", + "@minecraft/server": "^1.4.0-rc.1.20.20-preview.23", "@minecraft/server-ui": "^1.1.0", - "@minecraft/vanilla-data": "^1.20.10" + "@minecraft/vanilla-data": "^1.20.20-preview.22" }, "devDependencies": { "@npm/types": "^1.0.2", From ce23d69e55e40434cbfed8a1b9395633f6b86c2d Mon Sep 17 00:00:00 2001 From: Jayly <65847850+JaylyDev@users.noreply.github.com> Date: Mon, 25 Sep 2023 09:43:51 +0100 Subject: [PATCH 09/20] Update package.json --- package.json | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/package.json b/package.json index bbe9c53e..c487cb79 100644 --- a/package.json +++ b/package.json @@ -19,9 +19,9 @@ }, "homepage": "https://github.com/JaylyDev/ScriptAPI#readme", "dependencies": { - "@minecraft/server": "^1.4.0-rc.1.20.20-preview.23", + "@minecraft/server": "^1.5.0", "@minecraft/server-ui": "^1.1.0", - "@minecraft/vanilla-data": "^1.20.20-preview.22" + "@minecraft/vanilla-data": "^1.20.30" }, "devDependencies": { "@npm/types": "^1.0.2", From 09938265d996290594340b51dc1e0c5403b534f6 Mon Sep 17 00:00:00 2001 From: Jayly <65847850+JaylyDev@users.noreply.github.com> Date: Mon, 25 Sep 2023 09:53:31 +0100 Subject: [PATCH 10/20] Update package-lock.json --- package-lock.json | 28 ++++++++++++++-------------- 1 file changed, 14 insertions(+), 14 deletions(-) diff --git a/package-lock.json b/package-lock.json index 0a137382..28a78a8a 100644 --- a/package-lock.json +++ b/package-lock.json @@ -9,9 +9,9 @@ "version": "1.0.0", "license": "MIT", "dependencies": { - "@minecraft/server": "^1.3.0", + "@minecraft/server": "^1.4.0-rc.1.20.20-preview.23", "@minecraft/server-ui": "^1.1.0", - "@minecraft/vanilla-data": "^1.20.10" + "@minecraft/vanilla-data": "^1.20.20-preview.22" }, "devDependencies": { "@npm/types": "^1.0.2", @@ -29,9 +29,9 @@ "license": "MIT" }, "node_modules/@minecraft/server": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/@minecraft/server/-/server-1.3.0.tgz", - "integrity": "sha512-FlR3ZpUi+KelJjf3EsYE50ymPfnWt61YZH3lwgvCdgjAJ2JeLz1zYupHkvoIvkqNhx7mkhe4kMnNXvh2OS5y2g==" + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/@minecraft/server/-/server-1.5.0.tgz", + "integrity": "sha512-4R50srYzksXaOXZp1M4RkQ9KMw26F3Y3YC+YEInFpIjVmQr9OEitAgjUm4+mmIRwxuh7JsuBcE5yinDpYx59/g==" }, "node_modules/@minecraft/server-ui": { "version": "1.1.0", @@ -42,9 +42,9 @@ } }, "node_modules/@minecraft/vanilla-data": { - "version": "1.20.10", - "resolved": "https://registry.npmjs.org/@minecraft/vanilla-data/-/vanilla-data-1.20.10.tgz", - "integrity": "sha512-3FbbRSJspjJyk5eFPSj70wp776tIaqP3Apo2q2yCMkzBhH0iwPizl5aDer6ZwWBPiipGev9039Or2R9wyAplbg==" + "version": "1.20.30", + "resolved": "https://registry.npmjs.org/@minecraft/vanilla-data/-/vanilla-data-1.20.30.tgz", + "integrity": "sha512-ADFHOm5BPmeNCN3P2seCVtMFaCDeUD6in/SgtAsYQrWS2lcrdmQjYqMAKVYwDlsUejoLzcmObFbTZI1/L21fww==" }, "node_modules/@npm/types": { "version": "1.0.2", @@ -185,9 +185,9 @@ }, "dependencies": { "@minecraft/server": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/@minecraft/server/-/server-1.3.0.tgz", - "integrity": "sha512-FlR3ZpUi+KelJjf3EsYE50ymPfnWt61YZH3lwgvCdgjAJ2JeLz1zYupHkvoIvkqNhx7mkhe4kMnNXvh2OS5y2g==" + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/@minecraft/server/-/server-1.5.0.tgz", + "integrity": "sha512-4R50srYzksXaOXZp1M4RkQ9KMw26F3Y3YC+YEInFpIjVmQr9OEitAgjUm4+mmIRwxuh7JsuBcE5yinDpYx59/g==" }, "@minecraft/server-ui": { "version": "1.1.0", @@ -198,9 +198,9 @@ } }, "@minecraft/vanilla-data": { - "version": "1.20.10", - "resolved": "https://registry.npmjs.org/@minecraft/vanilla-data/-/vanilla-data-1.20.10.tgz", - "integrity": "sha512-3FbbRSJspjJyk5eFPSj70wp776tIaqP3Apo2q2yCMkzBhH0iwPizl5aDer6ZwWBPiipGev9039Or2R9wyAplbg==" + "version": "1.20.30", + "resolved": "https://registry.npmjs.org/@minecraft/vanilla-data/-/vanilla-data-1.20.30.tgz", + "integrity": "sha512-ADFHOm5BPmeNCN3P2seCVtMFaCDeUD6in/SgtAsYQrWS2lcrdmQjYqMAKVYwDlsUejoLzcmObFbTZI1/L21fww==" }, "@npm/types": { "version": "1.0.2", From 6b539b053d1362a5df79ec91ffc29357c1687201 Mon Sep 17 00:00:00 2001 From: Jayly <65847850+JaylyDev@users.noreply.github.com> Date: Fri, 6 Oct 2023 08:07:43 +0100 Subject: [PATCH 11/20] test preview --- package-lock.json | 88 ++++++++++++++++++++++++++++------------------- package.json | 15 +++++--- 2 files changed, 62 insertions(+), 41 deletions(-) diff --git a/package-lock.json b/package-lock.json index 28a78a8a..211f510f 100644 --- a/package-lock.json +++ b/package-lock.json @@ -9,15 +9,15 @@ "version": "1.0.0", "license": "MIT", "dependencies": { - "@minecraft/server": "^1.4.0-rc.1.20.20-preview.23", + "@minecraft/server": "^1.6.0-rc.1.20.40-preview.24", "@minecraft/server-ui": "^1.1.0", - "@minecraft/vanilla-data": "^1.20.20-preview.22" + "@minecraft/vanilla-data": "^1.20.40-preview.24" }, "devDependencies": { "@npm/types": "^1.0.2", - "@types/node": "^20.5.9", - "@types/parsimmon": "^1.10.6", - "axios": "^1.5.0", + "@types/node": "^20.8.2", + "@types/parsimmon": "^1.10.7", + "axios": "^1.5.1", "parsimmon": "^1.18.1", "typescript": "^5.2.2" } @@ -28,10 +28,18 @@ "extraneous": true, "license": "MIT" }, + "node_modules/@minecraft/common": { + "version": "1.0.0-rc.1.20.40-preview.24", + "resolved": "https://registry.npmjs.org/@minecraft/common/-/common-1.0.0-rc.1.20.40-preview.24.tgz", + "integrity": "sha512-ihE6KxIX3Q34wuJtoMFIy9lRHnp+IZOQHuUQsanLMPR8C80nDSmewD8lM2bK7PSZQkMOBE1aLLLyHYq3xV+ydg==" + }, "node_modules/@minecraft/server": { - "version": "1.5.0", - "resolved": "https://registry.npmjs.org/@minecraft/server/-/server-1.5.0.tgz", - "integrity": "sha512-4R50srYzksXaOXZp1M4RkQ9KMw26F3Y3YC+YEInFpIjVmQr9OEitAgjUm4+mmIRwxuh7JsuBcE5yinDpYx59/g==" + "version": "1.6.0-rc.1.20.40-preview.24", + "resolved": "https://registry.npmjs.org/@minecraft/server/-/server-1.6.0-rc.1.20.40-preview.24.tgz", + "integrity": "sha512-nqfKye0jilDMBhVRGv/YG7h+UMaA1sOjDOuJIG7vX7sQx8eurj3fJFpJfZT9cwArSxbAEXKfddDvaSSHbbKJnw==", + "dependencies": { + "@minecraft/common": "^1.0.0-rc.1.20.40-preview.24" + } }, "node_modules/@minecraft/server-ui": { "version": "1.1.0", @@ -42,9 +50,9 @@ } }, "node_modules/@minecraft/vanilla-data": { - "version": "1.20.30", - "resolved": "https://registry.npmjs.org/@minecraft/vanilla-data/-/vanilla-data-1.20.30.tgz", - "integrity": "sha512-ADFHOm5BPmeNCN3P2seCVtMFaCDeUD6in/SgtAsYQrWS2lcrdmQjYqMAKVYwDlsUejoLzcmObFbTZI1/L21fww==" + "version": "1.20.40-preview.24", + "resolved": "https://registry.npmjs.org/@minecraft/vanilla-data/-/vanilla-data-1.20.40-preview.24.tgz", + "integrity": "sha512-Q7dc6MQPRWNBMVemc7L7yh2p+/UM2o01egjN29pLhJt9yh1RKIe13JMQf92STGX0SnizZV4u0Fm3iIthEuJOrA==" }, "node_modules/@npm/types": { "version": "1.0.2", @@ -53,15 +61,15 @@ "dev": true }, "node_modules/@types/node": { - "version": "20.5.9", - "resolved": "https://registry.npmjs.org/@types/node/-/node-20.5.9.tgz", - "integrity": "sha512-PcGNd//40kHAS3sTlzKB9C9XL4K0sTup8nbG5lC14kzEteTNuAFh9u5nA0o5TWnSG2r/JNPRXFVcHJIIeRlmqQ==", + "version": "20.8.2", + "resolved": "https://registry.npmjs.org/@types/node/-/node-20.8.2.tgz", + "integrity": "sha512-Vvycsc9FQdwhxE3y3DzeIxuEJbWGDsnrxvMADzTDF/lcdR9/K+AQIeAghTQsHtotg/q0j3WEOYS/jQgSdWue3w==", "dev": true }, "node_modules/@types/parsimmon": { - "version": "1.10.6", - "resolved": "https://registry.npmjs.org/@types/parsimmon/-/parsimmon-1.10.6.tgz", - "integrity": "sha512-FwAQwMRbkhx0J6YELkwIpciVzCcgEqXEbIrIn3a2P5d3kGEHQ3wVhlN3YdVepYP+bZzCYO6OjmD4o9TGOZ40rA==", + "version": "1.10.7", + "resolved": "https://registry.npmjs.org/@types/parsimmon/-/parsimmon-1.10.7.tgz", + "integrity": "sha512-QnO7brOMB4XCVJzU0GZAYhpay7CZLiXowKBOyAmiRcJ4SIGlrh6/cfWdTod+yfSsyli9tx7aunwQij50yHX9Fg==", "dev": true }, "node_modules/asynckit": { @@ -71,9 +79,9 @@ "dev": true }, "node_modules/axios": { - "version": "1.5.0", - "resolved": "https://registry.npmjs.org/axios/-/axios-1.5.0.tgz", - "integrity": "sha512-D4DdjDo5CY50Qms0qGQTTw6Q44jl7zRwY7bthds06pUGfChBCTcQs+N743eFWGEd6pRTMd6A+I87aWyFV5wiZQ==", + "version": "1.5.1", + "resolved": "https://registry.npmjs.org/axios/-/axios-1.5.1.tgz", + "integrity": "sha512-Q28iYCWzNHjAm+yEAot5QaAMxhMghWLFVf7rRdwhUI+c2jix2DUXjAHXVi+s1ibs3mjPO/cCgbA++3BjD0vP/A==", "dev": true, "dependencies": { "follow-redirects": "^1.15.0", @@ -184,23 +192,31 @@ } }, "dependencies": { + "@minecraft/common": { + "version": "1.0.0-rc.1.20.40-preview.24", + "resolved": "https://registry.npmjs.org/@minecraft/common/-/common-1.0.0-rc.1.20.40-preview.24.tgz", + "integrity": "sha512-ihE6KxIX3Q34wuJtoMFIy9lRHnp+IZOQHuUQsanLMPR8C80nDSmewD8lM2bK7PSZQkMOBE1aLLLyHYq3xV+ydg==" + }, "@minecraft/server": { - "version": "1.5.0", - "resolved": "https://registry.npmjs.org/@minecraft/server/-/server-1.5.0.tgz", - "integrity": "sha512-4R50srYzksXaOXZp1M4RkQ9KMw26F3Y3YC+YEInFpIjVmQr9OEitAgjUm4+mmIRwxuh7JsuBcE5yinDpYx59/g==" + "version": "1.6.0-rc.1.20.40-preview.24", + "resolved": "https://registry.npmjs.org/@minecraft/server/-/server-1.6.0-rc.1.20.40-preview.24.tgz", + "integrity": "sha512-nqfKye0jilDMBhVRGv/YG7h+UMaA1sOjDOuJIG7vX7sQx8eurj3fJFpJfZT9cwArSxbAEXKfddDvaSSHbbKJnw==", + "requires": { + "@minecraft/common": "^1.0.0-rc.1.20.40-preview.24" + } }, "@minecraft/server-ui": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/@minecraft/server-ui/-/server-ui-1.1.0.tgz", "integrity": "sha512-Gnf+GHjjT4VFoXEt7qjrfDRipDgc93YcXbgTmdPTQ5Og3DIRD003ahH97tGMZmeNdsB+ymvAquf+o2o9W2pDjw==", "requires": { - "@minecraft/server": "^1.2.0" + "@minecraft/server": "^1.6.0-rc.1.20.40-preview.24" } }, "@minecraft/vanilla-data": { - "version": "1.20.30", - "resolved": "https://registry.npmjs.org/@minecraft/vanilla-data/-/vanilla-data-1.20.30.tgz", - "integrity": "sha512-ADFHOm5BPmeNCN3P2seCVtMFaCDeUD6in/SgtAsYQrWS2lcrdmQjYqMAKVYwDlsUejoLzcmObFbTZI1/L21fww==" + "version": "1.20.40-preview.24", + "resolved": "https://registry.npmjs.org/@minecraft/vanilla-data/-/vanilla-data-1.20.40-preview.24.tgz", + "integrity": "sha512-Q7dc6MQPRWNBMVemc7L7yh2p+/UM2o01egjN29pLhJt9yh1RKIe13JMQf92STGX0SnizZV4u0Fm3iIthEuJOrA==" }, "@npm/types": { "version": "1.0.2", @@ -209,15 +225,15 @@ "dev": true }, "@types/node": { - "version": "20.5.9", - "resolved": "https://registry.npmjs.org/@types/node/-/node-20.5.9.tgz", - "integrity": "sha512-PcGNd//40kHAS3sTlzKB9C9XL4K0sTup8nbG5lC14kzEteTNuAFh9u5nA0o5TWnSG2r/JNPRXFVcHJIIeRlmqQ==", + "version": "20.8.2", + "resolved": "https://registry.npmjs.org/@types/node/-/node-20.8.2.tgz", + "integrity": "sha512-Vvycsc9FQdwhxE3y3DzeIxuEJbWGDsnrxvMADzTDF/lcdR9/K+AQIeAghTQsHtotg/q0j3WEOYS/jQgSdWue3w==", "dev": true }, "@types/parsimmon": { - "version": "1.10.6", - "resolved": "https://registry.npmjs.org/@types/parsimmon/-/parsimmon-1.10.6.tgz", - "integrity": "sha512-FwAQwMRbkhx0J6YELkwIpciVzCcgEqXEbIrIn3a2P5d3kGEHQ3wVhlN3YdVepYP+bZzCYO6OjmD4o9TGOZ40rA==", + "version": "1.10.7", + "resolved": "https://registry.npmjs.org/@types/parsimmon/-/parsimmon-1.10.7.tgz", + "integrity": "sha512-QnO7brOMB4XCVJzU0GZAYhpay7CZLiXowKBOyAmiRcJ4SIGlrh6/cfWdTod+yfSsyli9tx7aunwQij50yHX9Fg==", "dev": true }, "asynckit": { @@ -227,9 +243,9 @@ "dev": true }, "axios": { - "version": "1.5.0", - "resolved": "https://registry.npmjs.org/axios/-/axios-1.5.0.tgz", - "integrity": "sha512-D4DdjDo5CY50Qms0qGQTTw6Q44jl7zRwY7bthds06pUGfChBCTcQs+N743eFWGEd6pRTMd6A+I87aWyFV5wiZQ==", + "version": "1.5.1", + "resolved": "https://registry.npmjs.org/axios/-/axios-1.5.1.tgz", + "integrity": "sha512-Q28iYCWzNHjAm+yEAot5QaAMxhMghWLFVf7rRdwhUI+c2jix2DUXjAHXVi+s1ibs3mjPO/cCgbA++3BjD0vP/A==", "dev": true, "requires": { "follow-redirects": "^1.15.0", diff --git a/package.json b/package.json index c487cb79..2b539823 100644 --- a/package.json +++ b/package.json @@ -19,15 +19,20 @@ }, "homepage": "https://github.com/JaylyDev/ScriptAPI#readme", "dependencies": { - "@minecraft/server": "^1.5.0", + "@minecraft/server": "^1.6.0-rc.1.20.40-preview.24", "@minecraft/server-ui": "^1.1.0", - "@minecraft/vanilla-data": "^1.20.30" + "@minecraft/vanilla-data": "^1.20.40-preview.24" + }, + "overrides": { + "@minecraft/server": "^1.6.0-rc.1.20.40-preview.24", + "@minecraft/server-ui": "^1.1.0", + "@minecraft/vanilla-data": "^1.20.40-preview.24" }, "devDependencies": { "@npm/types": "^1.0.2", - "@types/node": "^20.5.9", - "@types/parsimmon": "^1.10.6", - "axios": "^1.5.0", + "@types/node": "^20.8.2", + "@types/parsimmon": "^1.10.7", + "axios": "^1.5.1", "parsimmon": "^1.18.1", "typescript": "^5.2.2" } From 6788624a6e24306da6c84cab5f056e4e833fd62b Mon Sep 17 00:00:00 2001 From: Jayly <65847850+JaylyDev@users.noreply.github.com> Date: Thu, 19 Oct 2023 19:06:26 +0100 Subject: [PATCH 12/20] Update package.json --- package.json | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/package.json b/package.json index 2b539823..ab0c13a4 100644 --- a/package.json +++ b/package.json @@ -19,14 +19,14 @@ }, "homepage": "https://github.com/JaylyDev/ScriptAPI#readme", "dependencies": { - "@minecraft/server": "^1.6.0-rc.1.20.40-preview.24", + "@minecraft/server": "^1.7.0-rc.1.20.50-preview.21", "@minecraft/server-ui": "^1.1.0", - "@minecraft/vanilla-data": "^1.20.40-preview.24" + "@minecraft/vanilla-data": "^1.20.50-preview.21" }, "overrides": { - "@minecraft/server": "^1.6.0-rc.1.20.40-preview.24", + "@minecraft/server": "^1.7.0-rc.1.20.50-preview.21", "@minecraft/server-ui": "^1.1.0", - "@minecraft/vanilla-data": "^1.20.40-preview.24" + "@minecraft/vanilla-data": "^1.20.50-preview.21" }, "devDependencies": { "@npm/types": "^1.0.2", From 289f0850b0b0e7ddfe64adb72635c21fcb8ffff6 Mon Sep 17 00:00:00 2001 From: Jayly <65847850+JaylyDev@users.noreply.github.com> Date: Thu, 19 Oct 2023 19:32:55 +0100 Subject: [PATCH 13/20] remove useless code from the repository for stable APIS --- editorExtensions/editor-fullbright/README.md | 7 - editorExtensions/editor-fullbright/index.js | 33 - editorExtensions/editor-fullbright/index.ts | 33 - editorExtensions/editor-fullbright/tests.js | 28 - editorExtensions/editor-fullbright/tests.ts | 29 - editorExtensions/editor-random-fill/README.md | 14 - .../editor-random-fill/functions.js | 182 - .../editor-random-fill/functions.ts | 196 -- editorExtensions/editor-random-fill/index.js | 888 ----- editorExtensions/editor-random-fill/index.ts | 962 ------ editorExtensions/editor-utilities/README.md | 9 - editorExtensions/editor-utilities/index.d.ts | 54 - editorExtensions/editor-utilities/index.js | 95 - editorExtensions/editor-utilities/tests.js | 16 - editorExtensions/entity-spawner/README.md | 11 - editorExtensions/entity-spawner/index.js | 71 - editorExtensions/entity-spawner/index.ts | 122 - editorExtensions/jsconfig.json | 11 - editorExtensions/tsconfig.json | 8 - package-lock.json | 46 +- scripts/commands/index.ts | 36 - scripts/commands/readme.md | 16 +- scripts/commands/tests.ts | 4 - scripts/custom-enchantments/README.md | 9 - scripts/custom-enchantments/index.d.ts | 55 - scripts/custom-enchantments/index.js | 246 -- scripts/custom-enchantments/test2.js | 28 - scripts/custom-enchantments/tests.js | 22 - scripts/delete-command-blocks/LICENSE | 21 - scripts/delete-command-blocks/README.md | 9 - scripts/delete-command-blocks/index.js | 34 - scripts/fill-blocks/README.md | 34 - scripts/fill-blocks/index.js | 65 - scripts/fill-blocks/index.ts | 66 - scripts/force-show/tests.js | 12 +- scripts/get-effects/README.md | 31 - scripts/get-effects/index.js | 34 - scripts/has-permission/README.md | 9 - scripts/has-permission/index.js | 14 - scripts/has-permission/tests.js | 4 - scripts/is-operator/index.js | 9 - scripts/is-operator/tests.js | 4 - scripts/jaylydb/tests.js | 14 +- scripts/lz-string/lz-string-tests.js | 27 - scripts/net-auth/LICENSE | 21 - scripts/net-auth/index.js | 63 - scripts/net-auth/index.ts | 61 - scripts/net-auth/package-lock.json | 13 - scripts/net-auth/package.json | 14 - scripts/net-auth/readme.md | 68 - scripts/net-auth/tests.js | 7 - scripts/player-leave-event/LICENSE | 21 - scripts/player-leave-event/index.d.ts | 173 - scripts/player-leave-event/index.js | 246 -- scripts/player-leave-event/index.ts | 300 -- scripts/player-leave-event/readme.txt | 3 - scripts/player-leave-event/tests.js | 19 - scripts/player-velocity-fix/LICENSE | 21 - scripts/player-velocity-fix/README.md | 12 - scripts/player-velocity-fix/index.d.ts | 15 - scripts/player-velocity-fix/index.js | 57 - scripts/player-velocity-fix/index.ts | 63 - scripts/player-velocity-fix/tests.js | 6 - scripts/remove-permission/index.js | 9 - scripts/remove-permission/tests.js | 4 - scripts/restful/tests.ts | 18 +- scripts/set-permission/index.js | 9 - scripts/set-permission/tests.js | 4 - scripts/set-score/tests.js | 10 +- scripts/ui-wrapper/tests.ts | 8 +- scripts/vanilla-types/README.md | 1 - scripts/vanilla-types/index.js | 10 - scripts/vanilla-types/index.min.js | 1 - scripts/vanilla-types/index.ts | 10 - scripts/vanilla-types/mojang-block.js | 1876 ----------- scripts/vanilla-types/mojang-block.ts | 3000 ----------------- scripts/vanilla-types/mojang-cameraPresets.js | 10 - scripts/vanilla-types/mojang-cameraPresets.ts | 13 - scripts/vanilla-types/mojang-dimension.js | 24 - scripts/vanilla-types/mojang-dimension.ts | 23 - scripts/vanilla-types/mojang-effect.js | 80 - scripts/vanilla-types/mojang-effect.ts | 51 - scripts/vanilla-types/mojang-enchantment.js | 102 - scripts/vanilla-types/mojang-enchantment.ts | 63 - scripts/vanilla-types/mojang-entity.js | 132 - scripts/vanilla-types/mojang-entity.ts | 134 - scripts/vanilla-types/mojang-item.js | 2210 ------------ scripts/vanilla-types/mojang-item.ts | 1113 ------ scripts/vanilla-types/webpack.config.js | 26 - scripts/vector-polyfill/tests.js | 59 +- tsconfig.json | 4 +- 91 files changed, 59 insertions(+), 13746 deletions(-) delete mode 100644 editorExtensions/editor-fullbright/README.md delete mode 100644 editorExtensions/editor-fullbright/index.js delete mode 100644 editorExtensions/editor-fullbright/index.ts delete mode 100644 editorExtensions/editor-fullbright/tests.js delete mode 100644 editorExtensions/editor-fullbright/tests.ts delete mode 100644 editorExtensions/editor-random-fill/README.md delete mode 100644 editorExtensions/editor-random-fill/functions.js delete mode 100644 editorExtensions/editor-random-fill/functions.ts delete mode 100644 editorExtensions/editor-random-fill/index.js delete mode 100644 editorExtensions/editor-random-fill/index.ts delete mode 100644 editorExtensions/editor-utilities/README.md delete mode 100644 editorExtensions/editor-utilities/index.d.ts delete mode 100644 editorExtensions/editor-utilities/index.js delete mode 100644 editorExtensions/editor-utilities/tests.js delete mode 100644 editorExtensions/entity-spawner/README.md delete mode 100644 editorExtensions/entity-spawner/index.js delete mode 100644 editorExtensions/entity-spawner/index.ts delete mode 100644 editorExtensions/jsconfig.json delete mode 100644 editorExtensions/tsconfig.json delete mode 100644 scripts/custom-enchantments/README.md delete mode 100644 scripts/custom-enchantments/index.d.ts delete mode 100644 scripts/custom-enchantments/index.js delete mode 100644 scripts/custom-enchantments/test2.js delete mode 100644 scripts/custom-enchantments/tests.js delete mode 100644 scripts/delete-command-blocks/LICENSE delete mode 100644 scripts/delete-command-blocks/README.md delete mode 100644 scripts/delete-command-blocks/index.js delete mode 100644 scripts/fill-blocks/README.md delete mode 100644 scripts/fill-blocks/index.js delete mode 100644 scripts/fill-blocks/index.ts delete mode 100644 scripts/get-effects/README.md delete mode 100644 scripts/get-effects/index.js delete mode 100644 scripts/has-permission/README.md delete mode 100644 scripts/has-permission/index.js delete mode 100644 scripts/has-permission/tests.js delete mode 100644 scripts/is-operator/index.js delete mode 100644 scripts/is-operator/tests.js delete mode 100644 scripts/lz-string/lz-string-tests.js delete mode 100644 scripts/net-auth/LICENSE delete mode 100644 scripts/net-auth/index.js delete mode 100644 scripts/net-auth/index.ts delete mode 100644 scripts/net-auth/package-lock.json delete mode 100644 scripts/net-auth/package.json delete mode 100644 scripts/net-auth/readme.md delete mode 100644 scripts/net-auth/tests.js delete mode 100644 scripts/player-leave-event/LICENSE delete mode 100644 scripts/player-leave-event/index.d.ts delete mode 100644 scripts/player-leave-event/index.js delete mode 100644 scripts/player-leave-event/index.ts delete mode 100644 scripts/player-leave-event/readme.txt delete mode 100644 scripts/player-leave-event/tests.js delete mode 100644 scripts/player-velocity-fix/LICENSE delete mode 100644 scripts/player-velocity-fix/README.md delete mode 100644 scripts/player-velocity-fix/index.d.ts delete mode 100644 scripts/player-velocity-fix/index.js delete mode 100644 scripts/player-velocity-fix/index.ts delete mode 100644 scripts/player-velocity-fix/tests.js delete mode 100644 scripts/remove-permission/index.js delete mode 100644 scripts/remove-permission/tests.js delete mode 100644 scripts/set-permission/index.js delete mode 100644 scripts/set-permission/tests.js delete mode 100644 scripts/vanilla-types/README.md delete mode 100644 scripts/vanilla-types/index.js delete mode 100644 scripts/vanilla-types/index.min.js delete mode 100644 scripts/vanilla-types/index.ts delete mode 100644 scripts/vanilla-types/mojang-block.js delete mode 100644 scripts/vanilla-types/mojang-block.ts delete mode 100644 scripts/vanilla-types/mojang-cameraPresets.js delete mode 100644 scripts/vanilla-types/mojang-cameraPresets.ts delete mode 100644 scripts/vanilla-types/mojang-dimension.js delete mode 100644 scripts/vanilla-types/mojang-dimension.ts delete mode 100644 scripts/vanilla-types/mojang-effect.js delete mode 100644 scripts/vanilla-types/mojang-effect.ts delete mode 100644 scripts/vanilla-types/mojang-enchantment.js delete mode 100644 scripts/vanilla-types/mojang-enchantment.ts delete mode 100644 scripts/vanilla-types/mojang-entity.js delete mode 100644 scripts/vanilla-types/mojang-entity.ts delete mode 100644 scripts/vanilla-types/mojang-item.js delete mode 100644 scripts/vanilla-types/mojang-item.ts delete mode 100644 scripts/vanilla-types/webpack.config.js diff --git a/editorExtensions/editor-fullbright/README.md b/editorExtensions/editor-fullbright/README.md deleted file mode 100644 index 833bb11e..00000000 --- a/editorExtensions/editor-fullbright/README.md +++ /dev/null @@ -1,7 +0,0 @@ -# editor-fullbright - -## Description -> This README is auto generated, Edit the README so that users know what this package does. - -## Credits -These scripts were written by [Jayly](https://github.com/JaylyDev) diff --git a/editorExtensions/editor-fullbright/index.js b/editorExtensions/editor-fullbright/index.js deleted file mode 100644 index e37c05dc..00000000 --- a/editorExtensions/editor-fullbright/index.js +++ /dev/null @@ -1,33 +0,0 @@ -// Script example for ScriptAPI -// Author: Jayly -// Project: https://github.com/JaylyDev/ScriptAPI -import { ActionTypes, EditorInputContext, InputModifier, KeyboardKey } from "@minecraft/server-editor"; -import { MinecraftEffectTypes } from "@minecraft/vanilla-data"; -/** - * Class to enable toggles for full bright in menu in editor mode - */ -export class FullbrightToggle { - constructor(uiSession, menu) { - const player = uiSession.extensionContext.player; - // Set actions - const enableAction = uiSession.actionManager.createAction({ - actionType: ActionTypes.NoArgsAction, - onExecute: () => { - player.addEffect(MinecraftEffectTypes.NightVision, 20000000, { amplifier: 1, showParticles: false }); - }, - }); - const disableAction = uiSession.actionManager.createAction({ - actionType: ActionTypes.NoArgsAction, - onExecute: () => { - player.removeEffect(MinecraftEffectTypes.NightVision); - }, - }); - // Add actions to menu - menu.addItem({ name: 'Enable', displayStringId: "Enable" }, enableAction); - menu.addItem({ name: 'Disable', displayStringId: "Disable" }, disableAction); - // Create key bindings - uiSession.inputManager.registerKeyBinding(EditorInputContext.GlobalEditor, enableAction, KeyboardKey.KEY_Z, InputModifier.Control); - uiSession.inputManager.registerKeyBinding(EditorInputContext.GlobalEditor, disableAction, KeyboardKey.KEY_Y, InputModifier.Control); - } - ; -} diff --git a/editorExtensions/editor-fullbright/index.ts b/editorExtensions/editor-fullbright/index.ts deleted file mode 100644 index 4644c861..00000000 --- a/editorExtensions/editor-fullbright/index.ts +++ /dev/null @@ -1,33 +0,0 @@ -// Script example for ScriptAPI -// Author: Jayly -// Project: https://github.com/JaylyDev/ScriptAPI -import { ActionTypes, EditorInputContext, IMenu, InputModifier, IPlayerUISession, KeyboardKey } from "@minecraft/server-editor"; -import { MinecraftEffectTypes } from "@minecraft/vanilla-data"; - -/** - * Class to enable toggles for full bright in menu in editor mode - */ -export class FullbrightToggle { - constructor (uiSession: IPlayerUISession, menu: IMenu) { - const player = uiSession.extensionContext.player; - // Set actions - const enableAction = uiSession.actionManager.createAction({ - actionType: ActionTypes.NoArgsAction, - onExecute: () => { - player.addEffect(MinecraftEffectTypes.NightVision, 20000000, { amplifier: 1, showParticles: false }); - }, - }); - const disableAction = uiSession.actionManager.createAction({ - actionType: ActionTypes.NoArgsAction, - onExecute: () => { - player.removeEffect(MinecraftEffectTypes.NightVision); - }, - }); - // Add actions to menu - menu.addItem({ name: 'Enable', displayStringId: "Enable" }, enableAction); - menu.addItem({ name: 'Disable', displayStringId: "Disable" }, disableAction); - // Create key bindings - uiSession.inputManager.registerKeyBinding(EditorInputContext.GlobalEditor, enableAction, KeyboardKey.KEY_Z, InputModifier.Control); - uiSession.inputManager.registerKeyBinding(EditorInputContext.GlobalEditor, disableAction, KeyboardKey.KEY_Y, InputModifier.Control); - }; -} \ No newline at end of file diff --git a/editorExtensions/editor-fullbright/tests.js b/editorExtensions/editor-fullbright/tests.js deleted file mode 100644 index ad0e0e56..00000000 --- a/editorExtensions/editor-fullbright/tests.js +++ /dev/null @@ -1,28 +0,0 @@ -import { FullbrightToggle } from "./index"; -import { registerEditorExtension } from "@minecraft/server-editor"; -export function createMenu(uiSession) { - if (!uiSession.scratchStorage) { - throw new Error('Core UI initialization order incorrect'); - } - const edit = uiSession.createMenu({ - name: 'FullBright', - displayStringId: 'FullBright', - }); - edit.show(); - return edit; -} -; -registerEditorExtension('nightVision', (uiSession) => { - uiSession.scratchStorage = {}; - // Initialize tool rail. - uiSession.toolRail.show(); - // Add selection functionality - new FullbrightToggle(uiSession, createMenu(uiSession)); - return [ - { - teardown() { - this.uiSession.log.debug("Shutting down FullbrightToggle behavior\n"); - } - } - ]; -}, () => { }); diff --git a/editorExtensions/editor-fullbright/tests.ts b/editorExtensions/editor-fullbright/tests.ts deleted file mode 100644 index 3534119e..00000000 --- a/editorExtensions/editor-fullbright/tests.ts +++ /dev/null @@ -1,29 +0,0 @@ -import { FullbrightToggle } from "./index"; -import { IPlayerUISession, registerEditorExtension } from "@minecraft/server-editor"; - -export function createMenu(uiSession: IPlayerUISession) { - if (!uiSession.scratchStorage) { - throw new Error('Core UI initialization order incorrect'); - } - const edit = uiSession.createMenu({ - name: 'FullBright', - displayStringId: 'FullBright', - }); - edit.show(); - return edit; -}; - -registerEditorExtension('nightVision', (uiSession) => { - uiSession.scratchStorage = {}; - // Initialize tool rail. - uiSession.toolRail.show(); - // Add selection functionality - new FullbrightToggle(uiSession, createMenu(uiSession)); - return [ - { - teardown() { - this.uiSession.log.debug("Shutting down FullbrightToggle behavior\n"); - } - } - ]; -}, () => {}); \ No newline at end of file diff --git a/editorExtensions/editor-random-fill/README.md b/editorExtensions/editor-random-fill/README.md deleted file mode 100644 index c3884653..00000000 --- a/editorExtensions/editor-random-fill/README.md +++ /dev/null @@ -1,14 +0,0 @@ -# Editor Random Fill Tool - -## Description - -Fill random blocks in a selection via Minecraft Editor. - -This script contains partial source code for editor's selection extension. - -This is proof of concept, where you can use a slider to choose how many block types you want the editor to fill randomly with a click of a button. - -Obviously this is still a WIP. - -## Credits -These scripts were written by [Jayly](https://github.com/JaylyDev) diff --git a/editorExtensions/editor-random-fill/functions.js b/editorExtensions/editor-random-fill/functions.js deleted file mode 100644 index 21267d04..00000000 --- a/editorExtensions/editor-random-fill/functions.js +++ /dev/null @@ -1,182 +0,0 @@ -import { BlockVolumeUtils, BoundingBoxUtils, Vector } from "@minecraft/server"; -import { Direction, getRotationCorrectedDirection } from "editor-utilities/index"; -/** - * @beta - */ -var AxisPlanes; -(function (AxisPlanes) { - AxisPlanes[AxisPlanes["XZ"] = 0] = "XZ"; - AxisPlanes[AxisPlanes["XY"] = 1] = "XY"; - AxisPlanes[AxisPlanes["YZ"] = 2] = "YZ"; -})(AxisPlanes || (AxisPlanes = {})); -; -/** - * @beta - */ -const axisNormalLookup = { - [AxisPlanes.XZ]: Vector.up, - [AxisPlanes.XY]: Vector.forward, - [AxisPlanes.YZ]: Vector.left, -}; -/** - * @beta - */ -export function getRelativeXYAxisAsNormal(rotation) { - const direction = getRotationCorrectedDirection(rotation, Direction.Forward); - switch (direction) { - case Direction.Forward: - case Direction.Back: - return axisNormalLookup[AxisPlanes.XY]; - case Direction.Right: - case Direction.Left: - return axisNormalLookup[AxisPlanes.YZ]; - default: - throw 'Invalid quadrant'; - } -} -/** - * @beta - */ -function VectorDot(a, b) { - return a.x * b.x + a.y * b.y + a.z * b.z; -} -/** - * @beta - */ -function VectorScale(a, s) { - const v = new Vector(a.x, a.y, a.z); - v.x *= s; - v.y *= s; - v.z *= s; - return v; -} -/** - * @beta - */ -export function intersectRayPlane(rayLocation, rayDirection, planeNormal, planeDistance) { - const denominator = VectorDot(rayDirection, planeNormal); - if (denominator !== 0) { - const t = -(VectorDot(rayLocation, planeNormal) + planeDistance) / denominator; - if (t < 0) { - return undefined; - } - const scaledDirection = VectorScale(rayDirection, t); - const result = Vector.add(rayLocation, scaledDirection); - return result; - } - else if (VectorDot(planeNormal, rayLocation) + planeDistance === 0) { - return rayLocation; - } - return undefined; -} -/** - * @beta - */ -export function shrinkVolumeAlongViewAxis(volume, rotationY, direction, amount) { - const relativeDirection = getRotationCorrectedDirection(rotationY, direction); - return shrinkVolumeAlongAbsoluteAxis(volume, relativeDirection, amount); -} -export function growVolumeAlongViewAxis(volume, rotationY, direction, amount) { - const relativeDirection = getRotationCorrectedDirection(rotationY, direction); - return growVolumeAlongAbsoluteAxis(volume, relativeDirection, amount); -} -function growVolumeAlongAbsoluteAxis(volume, direction, amount) { - const maxAxialLength = 32; - if (amount > maxAxialLength) { - amount = maxAxialLength; - } - const bounds = BlockVolumeUtils.getBoundingBox(volume); - const boundSize = BoundingBoxUtils.getSpan(bounds); - const min = bounds.min; - const max = bounds.max; - const spanX = boundSize.x; - const spanY = boundSize.y; - const spanZ = boundSize.z; - switch (direction) { - case Direction.Up: - if (spanY + amount > maxAxialLength) { - amount = maxAxialLength - spanY; - } - max.y += amount; - break; - case Direction.Down: - if (spanY + amount > maxAxialLength) { - amount = maxAxialLength - spanY; - } - min.y -= amount; - break; - case Direction.Forward: - if (spanZ + amount > maxAxialLength) { - amount = maxAxialLength - spanZ; - } - max.z += amount; - break; - case Direction.Back: - if (spanZ + amount > maxAxialLength) { - amount = maxAxialLength - spanZ; - } - min.z -= amount; - break; - case Direction.Left: - if (spanX + amount > maxAxialLength) { - amount = maxAxialLength - spanX; - } - max.x += amount; - break; - case Direction.Right: - if (spanX + amount > maxAxialLength) { - amount = maxAxialLength - spanX; - } - min.x -= amount; - break; - } - return { - from: min, - to: max - }; -} -function shrinkVolumeAlongAbsoluteAxis(volume, direction, amount) { - const bounds = BlockVolumeUtils.getBoundingBox(volume); - const boundSize = BoundingBoxUtils.getSpan(bounds); - const min = bounds.min; - const max = bounds.max; - const spanX = boundSize.x; - const spanY = boundSize.y; - const spanZ = boundSize.z; - switch (direction) { - case Direction.Up: - if (spanY > amount) { - max.y -= amount; - } - break; - case Direction.Down: - if (spanY > amount) { - min.y += amount; - } - break; - case Direction.Forward: - if (spanZ > amount) { - max.z -= amount; - } - break; - case Direction.Back: - if (spanZ > amount) { - min.z += amount; - } - break; - case Direction.Left: - if (spanX > amount) { - max.x -= amount; - } - break; - case Direction.Right: - if (spanX > amount) { - min.x += amount; - } - break; - } - return { - from: min, - to: max - }; -} diff --git a/editorExtensions/editor-random-fill/functions.ts b/editorExtensions/editor-random-fill/functions.ts deleted file mode 100644 index 63d030cb..00000000 --- a/editorExtensions/editor-random-fill/functions.ts +++ /dev/null @@ -1,196 +0,0 @@ -import { BlockVolume, BlockVolumeUtils, BoundingBoxUtils, Vector, Vector3 } from "@minecraft/server"; -import { Direction, getRotationCorrectedDirection } from "editor-utilities/index"; - -/** - * @beta - */ -enum AxisPlanes { - XZ = 0, - XY = 1, - YZ = 2 -}; - -/** - * @beta - */ -const axisNormalLookup = { - [AxisPlanes.XZ]: Vector.up, - [AxisPlanes.XY]: Vector.forward, - [AxisPlanes.YZ]: Vector.left, -}; -/** - * @beta - */ -export function getRelativeXYAxisAsNormal(rotation: number) { - const direction = getRotationCorrectedDirection(rotation, Direction.Forward); - switch (direction) { - case Direction.Forward: - case Direction.Back: - return axisNormalLookup[AxisPlanes.XY]; - case Direction.Right: - case Direction.Left: - return axisNormalLookup[AxisPlanes.YZ]; - default: - throw 'Invalid quadrant'; - } -} -/** - * @beta - */ -function VectorDot(a: Vector3, b: Vector3) { - return a.x * b.x + a.y * b.y + a.z * b.z; -} -/** - * @beta - */ -function VectorScale(a: Vector3, s: number) { - const v = new Vector(a.x, a.y, a.z); - v.x *= s; - v.y *= s; - v.z *= s; - return v; -} -/** - * @beta - */ -export function intersectRayPlane(rayLocation: Vector3, rayDirection: Vector3, planeNormal: Vector3, planeDistance: number) { - const denominator = VectorDot(rayDirection, planeNormal); - if (denominator !== 0) { - const t = -(VectorDot(rayLocation, planeNormal) + planeDistance) / denominator; - if (t < 0) { - return undefined; - } - const scaledDirection = VectorScale(rayDirection, t); - const result = Vector.add(rayLocation, scaledDirection); - return result; - } - else if (VectorDot(planeNormal, rayLocation) + planeDistance === 0) { - return rayLocation; - } - return undefined; -} -/** - * @beta - */ -export function shrinkVolumeAlongViewAxis(volume: any, rotationY: number, direction: Direction, amount: any) { - const relativeDirection = getRotationCorrectedDirection(rotationY, direction); - return shrinkVolumeAlongAbsoluteAxis(volume, relativeDirection, amount); -} - - -export function growVolumeAlongViewAxis(volume: BlockVolume, rotationY: number, direction: Direction, amount: number) { - const relativeDirection = getRotationCorrectedDirection(rotationY, direction); - return growVolumeAlongAbsoluteAxis(volume, relativeDirection, amount); -} - -function growVolumeAlongAbsoluteAxis(volume: BlockVolume, direction: number | Direction, amount: number): BlockVolume { - const maxAxialLength = 32; - if (amount > maxAxialLength) { - amount = maxAxialLength; - } - const bounds = BlockVolumeUtils.getBoundingBox(volume); - const boundSize = BoundingBoxUtils.getSpan(bounds); - const min = bounds.min; - const max = bounds.max; - const spanX = boundSize.x; - const spanY = boundSize.y; - const spanZ = boundSize.z; - switch (direction) { - case Direction.Up: - if (spanY + amount > maxAxialLength) { - amount = maxAxialLength - spanY; - } - max.y += amount; - break; - - case Direction.Down: - if (spanY + amount > maxAxialLength) { - amount = maxAxialLength - spanY; - } - min.y -= amount; - break; - - case Direction.Forward: - if (spanZ + amount > maxAxialLength) { - amount = maxAxialLength - spanZ; - } - max.z += amount; - break; - - case Direction.Back: - if (spanZ + amount > maxAxialLength) { - amount = maxAxialLength - spanZ; - } - min.z -= amount; - break; - - case Direction.Left: - if (spanX + amount > maxAxialLength) { - amount = maxAxialLength - spanX; - } - max.x += amount; - break; - - case Direction.Right: - if (spanX + amount > maxAxialLength) { - amount = maxAxialLength - spanX; - } - min.x -= amount; - break; - } - return { - from: min, - to: max - }; -} - -function shrinkVolumeAlongAbsoluteAxis(volume: BlockVolume, direction: Direction | number, amount: number): BlockVolume { - const bounds = BlockVolumeUtils.getBoundingBox(volume); - const boundSize = BoundingBoxUtils.getSpan(bounds); - const min = bounds.min; - const max = bounds.max; - const spanX = boundSize.x; - const spanY = boundSize.y; - const spanZ = boundSize.z; - switch (direction) { - case Direction.Up: - if (spanY > amount) { - max.y -= amount; - } - break; - - case Direction.Down: - if (spanY > amount) { - min.y += amount; - } - break; - - case Direction.Forward: - if (spanZ > amount) { - max.z -= amount; - } - break; - - case Direction.Back: - if (spanZ > amount) { - min.z += amount; - } - break; - - case Direction.Left: - if (spanX > amount) { - max.x -= amount; - } - break; - - case Direction.Right: - if (spanX > amount) { - min.x += amount; - } - break; - } - return { - from: min, - to: max - }; -} \ No newline at end of file diff --git a/editorExtensions/editor-random-fill/index.js b/editorExtensions/editor-random-fill/index.js deleted file mode 100644 index 31abdb26..00000000 --- a/editorExtensions/editor-random-fill/index.js +++ /dev/null @@ -1,888 +0,0 @@ -// Script example for ScriptAPI -// Author: Jayly -// Project: https://github.com/JaylyDev/ScriptAPI -import { system, Vector, CompoundBlockVolumeAction, BlockVolumeUtils, BoundingBoxUtils, BlockTypes } from "@minecraft/server"; -import { KeyboardKey, ActionTypes, MouseActionType, MouseInputType, CursorControlMode, InputModifier, getLocalizationId, CursorTargetMode, EditorInputContext, executeLargeOperation, bindDataSource, registerEditorExtension } from "@minecraft/server-editor"; -import { getRotationCorrectedDirectionVector, Direction, } from "editor-utilities/index"; -import { getRelativeXYAxisAsNormal, growVolumeAlongViewAxis, intersectRayPlane, shrinkVolumeAlongViewAxis, } from "./functions"; -// ------------------------------------------------------------------------------------------------ -// General collection of selection related variables for this instance -// ------------------------------------------------------------------------------------------------ -var SelectionCursorMode; -(function (SelectionCursorMode) { - SelectionCursorMode[SelectionCursorMode["Freeform"] = 0] = "Freeform"; - SelectionCursorMode[SelectionCursorMode["FixedDistance"] = 1] = "FixedDistance"; - SelectionCursorMode[SelectionCursorMode["AdjacentFace"] = 2] = "AdjacentFace"; -})(SelectionCursorMode || (SelectionCursorMode = {})); -; -const Controls = { - Up: KeyboardKey.PAGE_UP, - Down: KeyboardKey.PAGE_DOWN, - Forward: KeyboardKey.UP, - Back: KeyboardKey.DOWN, - Left: KeyboardKey.LEFT, - Right: KeyboardKey.RIGHT, - Select: KeyboardKey.ENTER, - Clear: KeyboardKey.KEY_D, -}; -const TicksRefreshRate = 5; -// ------------------------------------------------------------------------------------------------ -export class SelectionBehavior { - get toolId() { - return this.tool.id; - } - constructor(uiSession) { - this.uiSession = uiSession; - this.fnUnregisterToolBindings = () => { - this.tool.unregisterInputBindings(); - }; - this.singleClick = (uiSession, mouseRay, shiftPressed, ctrlPressed, altPressed) => { - const clickLoc = mouseRay.cursorBlockLocation; - // Nothing pressed, then clear the stack and create a single 1x1x1 - if (!shiftPressed && !ctrlPressed && !altPressed) { - uiSession.extensionContext.selectionManager.selection.clear(); - uiSession.extensionContext.selectionManager.selection.pushVolume({ - action: CompoundBlockVolumeAction.Add, - volume: { - from: clickLoc, - to: clickLoc - } - }); - // Store this as the anchor point - this.lastAnchorPosition = clickLoc; - } - // Shift pressed, an no volume exists - create a single 1x1x1 - // if a volume does exist - use it to anchor the min corner and make a volume - // from anchor to new click - else if (shiftPressed && !ctrlPressed && !altPressed) { - if (uiSession.extensionContext.selectionManager.selection.isEmpty) { - // Create a new 1x1x1 selection volume at the click position - uiSession.extensionContext.selectionManager.selection.pushVolume({ - action: CompoundBlockVolumeAction.Add, - volume: { - from: clickLoc, - to: clickLoc - } - }); - // Store this as the anchor point - this.lastAnchorPosition = clickLoc; - } - else { - // Use the last anchor point (i.e. the first click selection) as the - // corner for the new click, and defining a new volume area - const lastAnchorPosition = this.lastAnchorPosition; - uiSession.extensionContext.selectionManager.selection.popVolume(); - const newVolume = { - from: lastAnchorPosition, - to: clickLoc - }; - uiSession.extensionContext.selectionManager.selection.pushVolume({ - action: CompoundBlockVolumeAction.Add, - volume: newVolume - }); - } - } - // Control pressed and no volume exists - create a single 1x1x1 - // If a volume exists, just push a new 1x1x1 to the stack - else if (ctrlPressed && !shiftPressed && !altPressed) { - uiSession.extensionContext.selectionManager.selection.pushVolume({ - action: CompoundBlockVolumeAction.Add, - volume: { - from: clickLoc, - to: clickLoc - } - }); - // Store this as the anchor point - this.lastAnchorPosition = clickLoc; - } - // If ALT is pressed, and there IS already a full volume, then we're going into 3-click volume - // mode and we need to do some intersection calculations - else if (altPressed && !shiftPressed && !ctrlPressed) { - const currentItem = uiSession.extensionContext.selectionManager.selection.peekLastVolume(); - if (!currentItem) { - uiSession.extensionContext.selectionManager.selection.pushVolume({ - action: CompoundBlockVolumeAction.Add, - volume: { - from: clickLoc, - to: clickLoc - } - }); - this.lastAnchorPosition = clickLoc; - } - else { - const currentVolume = currentItem.volume; - const currentBounds = BlockVolumeUtils.getBoundingBox(currentVolume); - const translatedRayLocation = Vector.subtract(new Vector(mouseRay.location.x, mouseRay.location.y, mouseRay.location.z), new Vector(currentBounds.min.x, currentBounds.min.y, currentBounds.min.z)); - const XYPlaneNormal = getRelativeXYAxisAsNormal(uiSession.extensionContext.player.getRotation().y); - const intersection = intersectRayPlane(translatedRayLocation, mouseRay.direction, XYPlaneNormal, 0); - if (intersection) { - const translatedIntersection = Vector.add(intersection, new Vector(currentBounds.min.x, currentBounds.min.y, currentBounds.min.z)); - const newY = Math.ceil(translatedIntersection.y) - 1; - uiSession.extensionContext.selectionManager.selection.popVolume(); - uiSession.extensionContext.selectionManager.selection.pushVolume({ - action: currentItem.action, - volume: { - from: { - x: currentBounds.min.x, - y: currentBounds.min.y, - z: currentBounds.min.z - }, - to: { - x: currentBounds.max.x, - y: newY, - z: currentBounds.max.z - } - } - }); - } - } - } - }; - this.moveTopSelection = (uiSession, lastAnchor, direction) => { - const lastVolumeItem = uiSession.extensionContext.selectionManager.selection.peekLastVolume(); - if (!lastVolumeItem) { - return undefined; - } - const lastVolume = lastVolumeItem.volume; - uiSession.extensionContext.selectionManager.selection.popVolume(); - const rotationY = uiSession.extensionContext.player.getRotation().y; - const correctedVector = getRotationCorrectedDirectionVector(rotationY, direction); - const newVolume = BlockVolumeUtils.translate(lastVolume, { - x: correctedVector.x, - y: correctedVector.y, - z: correctedVector.z - }); - uiSession.extensionContext.selectionManager.selection.pushVolume({ - action: CompoundBlockVolumeAction.Add, - volume: newVolume - }); - // Update the last cursor click position with the move vector - // so that extend-click operations work correctly with the new corner position - const updatedClick = { - x: lastAnchor.x + correctedVector.x, - y: lastAnchor.y + correctedVector.y, - z: lastAnchor.z + correctedVector.z, - }; - return updatedClick; - }; - this.moveBlockCursorManually = (uiSession, direction) => { - const rotationY = uiSession.extensionContext.player.getRotation().y; - const rotationCorrectedVector = getRotationCorrectedDirectionVector(rotationY, direction); - uiSession.extensionContext.cursor.moveBy(rotationCorrectedVector); - }; - this.moveAllSelections = (uiSession, anchorPosition, direction) => { - if (uiSession.extensionContext.selectionManager.selection.isEmpty) { - return undefined; - } - const rotationY = uiSession.extensionContext.player.getRotation().y; - const correctedVector = getRotationCorrectedDirectionVector(rotationY, direction); - uiSession.extensionContext.selectionManager.selection.moveBy({ - x: correctedVector.x, - y: correctedVector.y, - z: correctedVector.z, - }); - const updatedClick = { - x: anchorPosition.x + correctedVector.x, - y: anchorPosition.y + correctedVector.y, - z: anchorPosition.z + correctedVector.z, - }; - return updatedClick; - }; - this.shrinkVolume = (uiSession, direction) => { - if (uiSession.extensionContext.selectionManager.selection.isEmpty) { - return; - } - const lastVolume = uiSession.extensionContext.selectionManager.selection.peekLastVolume; - uiSession.extensionContext.selectionManager.selection.popVolume(); - const rotationY = uiSession.extensionContext.player.getRotation().y; - const newVolume = shrinkVolumeAlongViewAxis(lastVolume, rotationY, direction, 1); - uiSession.extensionContext.selectionManager.selection.pushVolume({ - action: CompoundBlockVolumeAction.Add, - volume: newVolume - }); - }; - this.growVolume = (uiSession, direction) => { - const lastVolumeItem = uiSession.extensionContext.selectionManager.selection.peekLastVolume(); - if (!lastVolumeItem) { - return; - } - const lastVolume = lastVolumeItem.volume; - uiSession.extensionContext.selectionManager.selection.popVolume(); - const rotationY = uiSession.extensionContext.player.getRotation().y; - const newVolume = growVolumeAlongViewAxis(lastVolume, rotationY, direction, 1); - uiSession.extensionContext.selectionManager.selection.pushVolume({ - action: lastVolumeItem.action, - volume: newVolume - }); - }; - // Input and tool binding functions - // ------------------------------------------------------------------------------------------------ - this.bindToolInput = (uiSession) => { - // Bind Single Mouse Click - const singleClickAction = uiSession.actionManager.createAction({ - actionType: ActionTypes.MouseRayCastAction, - onExecute: (mouseRay, mouseProps) => { - if (mouseProps.mouseAction === MouseActionType.LeftButton) { - if (mouseProps.inputType === MouseInputType.ButtonDown) { - if (mouseRay.rayHit || this.toolCursorProperties.controlMode === CursorControlMode.Fixed) { - this.singleClick(uiSession, mouseRay, mouseProps.modifiers.shift, mouseProps.modifiers.ctrl, mouseProps.modifiers.alt); - } - else { - // If we're clicking on nothing or something too far away - clear the selection stack - uiSession.extensionContext.selectionManager.selection.clear(); - } - } - } - }, - }); - this.tool.registerMouseButtonBinding(singleClickAction); - // Bind Keyboard MOVE functions - const keyUpAction = uiSession.actionManager.createAction({ - actionType: ActionTypes.NoArgsAction, - onExecute: () => { - uiSession.extensionContext.cursor.moveBy(Vector.up); - }, - }); - const keyDownAction = uiSession.actionManager.createAction({ - actionType: ActionTypes.NoArgsAction, - onExecute: () => { - uiSession.extensionContext.cursor.moveBy(Vector.down); - }, - }); - const keyLeftAction = uiSession.actionManager.createAction({ - actionType: ActionTypes.NoArgsAction, - onExecute: () => { - this.moveBlockCursorManually(uiSession, Direction.Left); - }, - }); - const keyRightAction = uiSession.actionManager.createAction({ - actionType: ActionTypes.NoArgsAction, - onExecute: () => { - this.moveBlockCursorManually(uiSession, Direction.Right); - }, - }); - const keyForwardAction = uiSession.actionManager.createAction({ - actionType: ActionTypes.NoArgsAction, - onExecute: () => { - this.moveBlockCursorManually(uiSession, Direction.Forward); - }, - }); - const keyBackAction = uiSession.actionManager.createAction({ - actionType: ActionTypes.NoArgsAction, - onExecute: () => { - this.moveBlockCursorManually(uiSession, Direction.Back); - }, - }); - // Bind arrow keys to manual cursor control - this.tool.registerKeyBinding(keyForwardAction, Controls.Forward, InputModifier.None); - this.tool.registerKeyBinding(keyBackAction, Controls.Back, InputModifier.None); - this.tool.registerKeyBinding(keyLeftAction, Controls.Left, InputModifier.None); - this.tool.registerKeyBinding(keyRightAction, Controls.Right, InputModifier.None); - this.tool.registerKeyBinding(keyUpAction, Controls.Up, InputModifier.None); - this.tool.registerKeyBinding(keyDownAction, Controls.Down, InputModifier.None); - const mouseWheelAction = uiSession.actionManager.createAction({ - actionType: ActionTypes.MouseRayCastAction, - onExecute: (mouseRay, mouseProps) => { - if (mouseProps.inputType === MouseInputType.WheelOut) { - if (mouseProps.modifiers.shift) { - this.growVolume(uiSession, Direction.Left); - this.growVolume(uiSession, Direction.Right); - } - else if (mouseProps.modifiers.ctrl) { - this.growVolume(uiSession, Direction.Forward); - this.growVolume(uiSession, Direction.Back); - } - else if (mouseProps.modifiers.alt) { - this.growVolume(uiSession, Direction.Up); - this.growVolume(uiSession, Direction.Down); - } - else if (this.toolCursorProperties.controlMode === CursorControlMode.Fixed) { - uiSession.extensionContext.cursor.moveBy(Vector.forward); - } - } - else if (mouseProps.inputType === MouseInputType.WheelIn) { - if (mouseProps.modifiers.shift) { - this.shrinkVolume(uiSession, Direction.Left); - this.shrinkVolume(uiSession, Direction.Right); - } - else if (mouseProps.modifiers.ctrl) { - this.shrinkVolume(uiSession, Direction.Forward); - this.shrinkVolume(uiSession, Direction.Back); - } - else if (mouseProps.modifiers.alt) { - this.shrinkVolume(uiSession, Direction.Up); - this.shrinkVolume(uiSession, Direction.Down); - } - else if (this.toolCursorProperties.controlMode === CursorControlMode.Fixed) { - uiSession.extensionContext.cursor.moveBy(Vector.back); - } - } - }, - }); - this.tool.registerMouseWheelBinding(mouseWheelAction); - // Bind ARROWS+ALT for MOVE selection volume (single) - // ----------------------------------------- - const moveSelectionUpAction = uiSession.actionManager.createAction({ - actionType: ActionTypes.NoArgsAction, - onExecute: () => { - const updatedAnchor = this.moveTopSelection(uiSession, this.lastAnchorPosition, Direction.Up); - if (updatedAnchor) { - this.lastAnchorPosition = updatedAnchor; - } - }, - }); - const moveSelectionDownAction = uiSession.actionManager.createAction({ - actionType: ActionTypes.NoArgsAction, - onExecute: () => { - const updatedAnchor = this.moveTopSelection(uiSession, this.lastAnchorPosition, Direction.Down); - if (updatedAnchor) { - this.lastAnchorPosition = updatedAnchor; - } - }, - }); - const moveSelectionLeftAction = uiSession.actionManager.createAction({ - actionType: ActionTypes.NoArgsAction, - onExecute: () => { - const updatedAnchor = this.moveTopSelection(uiSession, this.lastAnchorPosition, Direction.Left); - if (updatedAnchor) { - this.lastAnchorPosition = updatedAnchor; - } - }, - }); - const moveSelectionRightAction = uiSession.actionManager.createAction({ - actionType: ActionTypes.NoArgsAction, - onExecute: () => { - const updatedAnchor = this.moveTopSelection(uiSession, this.lastAnchorPosition, Direction.Right); - if (updatedAnchor) { - this.lastAnchorPosition = updatedAnchor; - } - }, - }); - const moveSelectionForwardAction = uiSession.actionManager.createAction({ - actionType: ActionTypes.NoArgsAction, - onExecute: () => { - const updatedAnchor = this.moveTopSelection(uiSession, this.lastAnchorPosition, Direction.Forward); - if (updatedAnchor) { - this.lastAnchorPosition = updatedAnchor; - } - }, - }); - const moveSelectionBackAction = uiSession.actionManager.createAction({ - actionType: ActionTypes.NoArgsAction, - onExecute: () => { - const updatedAnchor = this.moveTopSelection(uiSession, this.lastAnchorPosition, Direction.Back); - if (updatedAnchor) { - this.lastAnchorPosition = updatedAnchor; - } - }, - }); - // Bind arrow keys to manual cursor control - this.tool.registerKeyBinding(moveSelectionForwardAction, Controls.Forward, InputModifier.Alt); - this.tool.registerKeyBinding(moveSelectionBackAction, Controls.Back, InputModifier.Alt); - this.tool.registerKeyBinding(moveSelectionLeftAction, Controls.Left, InputModifier.Alt); - this.tool.registerKeyBinding(moveSelectionRightAction, Controls.Right, InputModifier.Alt); - this.tool.registerKeyBinding(moveSelectionUpAction, Controls.Up, InputModifier.Alt); - this.tool.registerKeyBinding(moveSelectionDownAction, Controls.Down, InputModifier.Alt); - // Bind ARROWS+ALT+CTRL to move ALL selections - const moveAllSelectionUpAction = uiSession.actionManager.createAction({ - actionType: ActionTypes.NoArgsAction, - onExecute: () => { - const updatedAnchor = this.moveAllSelections(uiSession, this.lastAnchorPosition, Direction.Up); - if (updatedAnchor) { - this.lastAnchorPosition = updatedAnchor; - } - }, - }); - const moveAllSelectionDownAction = uiSession.actionManager.createAction({ - actionType: ActionTypes.NoArgsAction, - onExecute: () => { - const updatedAnchor = this.moveAllSelections(uiSession, this.lastAnchorPosition, Direction.Down); - if (updatedAnchor) { - this.lastAnchorPosition = updatedAnchor; - } - }, - }); - const moveAllSelectionLeftAction = uiSession.actionManager.createAction({ - actionType: ActionTypes.NoArgsAction, - onExecute: () => { - const updatedAnchor = this.moveAllSelections(uiSession, this.lastAnchorPosition, Direction.Left); - if (updatedAnchor) { - this.lastAnchorPosition = updatedAnchor; - } - }, - }); - const moveAllSelectionRightAction = uiSession.actionManager.createAction({ - actionType: ActionTypes.NoArgsAction, - onExecute: () => { - const updatedAnchor = this.moveAllSelections(uiSession, this.lastAnchorPosition, Direction.Right); - if (updatedAnchor) { - this.lastAnchorPosition = updatedAnchor; - } - }, - }); - const moveAllSelectionForwardAction = uiSession.actionManager.createAction({ - actionType: ActionTypes.NoArgsAction, - onExecute: () => { - const updatedAnchor = this.moveAllSelections(uiSession, this.lastAnchorPosition, Direction.Forward); - if (updatedAnchor) { - this.lastAnchorPosition = updatedAnchor; - } - }, - }); - const moveAllSelectionBackAction = uiSession.actionManager.createAction({ - actionType: ActionTypes.NoArgsAction, - onExecute: () => { - const updatedAnchor = this.moveAllSelections(uiSession, this.lastAnchorPosition, Direction.Back); - if (updatedAnchor) { - this.lastAnchorPosition = updatedAnchor; - } - }, - }); - this.tool.registerKeyBinding(moveAllSelectionForwardAction, Controls.Forward, InputModifier.Alt | InputModifier.Control); - this.tool.registerKeyBinding(moveAllSelectionBackAction, Controls.Back, InputModifier.Alt | InputModifier.Control); - this.tool.registerKeyBinding(moveAllSelectionLeftAction, Controls.Left, InputModifier.Alt | InputModifier.Control); - this.tool.registerKeyBinding(moveAllSelectionRightAction, Controls.Right, InputModifier.Alt | InputModifier.Control); - this.tool.registerKeyBinding(moveAllSelectionUpAction, Controls.Up, InputModifier.Alt | InputModifier.Control); - this.tool.registerKeyBinding(moveAllSelectionDownAction, Controls.Down, InputModifier.Alt | InputModifier.Control); - // Bind ARROW+SHIFT - const keyGrowUpAction = uiSession.actionManager.createAction({ - actionType: ActionTypes.NoArgsAction, - onExecute: () => { - this.growVolume(uiSession, Direction.Up); - }, - }); - this.tool.registerKeyBinding(keyGrowUpAction, Controls.Up, InputModifier.Shift); - const keyGrowDownAction = uiSession.actionManager.createAction({ - actionType: ActionTypes.NoArgsAction, - onExecute: () => { - this.growVolume(uiSession, Direction.Down); - }, - }); - this.tool.registerKeyBinding(keyGrowDownAction, Controls.Down, InputModifier.Shift); - const keyGrowForwardAction = uiSession.actionManager.createAction({ - actionType: ActionTypes.NoArgsAction, - onExecute: () => { - this.growVolume(uiSession, Direction.Forward); - }, - }); - this.tool.registerKeyBinding(keyGrowForwardAction, Controls.Forward, InputModifier.Shift); - const keyGrowBackAction = uiSession.actionManager.createAction({ - actionType: ActionTypes.NoArgsAction, - onExecute: () => { - this.growVolume(uiSession, Direction.Back); - }, - }); - this.tool.registerKeyBinding(keyGrowBackAction, Controls.Back, InputModifier.Shift); - const keyGrowLeftAction = uiSession.actionManager.createAction({ - actionType: ActionTypes.NoArgsAction, - onExecute: () => { - this.growVolume(uiSession, Direction.Left); - }, - }); - this.tool.registerKeyBinding(keyGrowLeftAction, Controls.Left, InputModifier.Shift); - const keyGrowRightAction = uiSession.actionManager.createAction({ - actionType: ActionTypes.NoArgsAction, - onExecute: () => { - this.growVolume(uiSession, Direction.Right); - }, - }); - this.tool.registerKeyBinding(keyGrowRightAction, Controls.Right, InputModifier.Shift); - // Bind ARROW+CTRL - const keyShrinkUpAction = uiSession.actionManager.createAction({ - actionType: ActionTypes.NoArgsAction, - onExecute: () => { - this.shrinkVolume(uiSession, Direction.Up); - }, - }); - this.tool.registerKeyBinding(keyShrinkUpAction, Controls.Up, InputModifier.Control); - const keyShrinkDownAction = uiSession.actionManager.createAction({ - actionType: ActionTypes.NoArgsAction, - onExecute: () => { - this.shrinkVolume(uiSession, Direction.Down); - }, - }); - this.tool.registerKeyBinding(keyShrinkDownAction, Controls.Down, InputModifier.Control); - const keyShrinkForwardAction = uiSession.actionManager.createAction({ - actionType: ActionTypes.NoArgsAction, - onExecute: () => { - this.shrinkVolume(uiSession, Direction.Forward); - }, - }); - this.tool.registerKeyBinding(keyShrinkForwardAction, Controls.Forward, InputModifier.Control); - const keyShrinkBackAction = uiSession.actionManager.createAction({ - actionType: ActionTypes.NoArgsAction, - onExecute: () => { - this.shrinkVolume(uiSession, Direction.Back); - }, - }); - this.tool.registerKeyBinding(keyShrinkBackAction, Controls.Back, InputModifier.Control); - const keyShrinkLeftAction = uiSession.actionManager.createAction({ - actionType: ActionTypes.NoArgsAction, - onExecute: () => { - this.shrinkVolume(uiSession, Direction.Left); - }, - }); - this.tool.registerKeyBinding(keyShrinkLeftAction, Controls.Left, InputModifier.Control); - const keyShrinkRightAction = uiSession.actionManager.createAction({ - actionType: ActionTypes.NoArgsAction, - onExecute: () => { - this.shrinkVolume(uiSession, Direction.Right); - }, - }); - this.tool.registerKeyBinding(keyShrinkRightAction, Controls.Right, InputModifier.Control); - }; - this.onTickRefresh = (uiSession, tool) => { - let ticks = 0; - this.tickRefreshHandle = system.run(() => { - if (uiSession.extensionContext.selectionManager === undefined) { - return; - } - if (!this.settingsObject) { - console.error('Pane settings object not defined, unable to refresh values for selection.'); - return; - } - if (ticks++ % TicksRefreshRate === 0) { - ticks = 0; - let x = 0, y = 0, z = 0; - let sx = 0, sy = 0, sz = 0; - const selection = uiSession.extensionContext.selectionManager.selection; - const lastVolumeItem = selection.peekLastVolume(); - if (lastVolumeItem) { - const lastVolume = lastVolumeItem.volume; - const bounds = BlockVolumeUtils.getBoundingBox(lastVolume); - const boundSize = BoundingBoxUtils.getSpan(bounds); - x = bounds.min.x; - y = bounds.min.y; - z = bounds.min.z; - sx = boundSize.x; - sy = boundSize.y; - sz = boundSize.z; - if (!this.originPropertyItem?.enable) { - if (this.originPropertyItem) { - this.originPropertyItem.enable = true; - } - } - if (!this.sizePropertyItem?.enable) { - if (this.sizePropertyItem) { - this.sizePropertyItem.enable = true; - } - } - } - else { - if (this.originPropertyItem?.enable) { - if (this.originPropertyItem) { - this.originPropertyItem.enable = false; - } - } - if (this.sizePropertyItem?.enable) { - if (this.sizePropertyItem) { - this.sizePropertyItem.enable = false; - } - } - } - if (this.settingsObject.origin.x !== x || this.settingsObject.origin.y !== y || this.settingsObject.origin.z !== z || this.settingsObject.size.x !== sx || this.settingsObject.size.y !== sy || this.settingsObject.size.z !== sz) { - this.settingsObject.origin.x = Math.trunc(x); - this.settingsObject.origin.y = Math.trunc(y); - this.settingsObject.origin.z = Math.trunc(z); - this.settingsObject.size.x = Math.trunc(sx); - this.settingsObject.size.y = Math.trunc(sy); - this.settingsObject.size.z = Math.trunc(sz); - } - } - if (uiSession.toolRail.selectedOptionId === tool.id) { - this.tickRefreshHandle = system.run(() => this.onTickRefresh(uiSession, tool)); - } - }); - }; - // Add a settings pane for the modal Tool - this.addSettingsPane = (uiSession) => { - this.pane.addDropdown(this.settingsObject, 'selectionMode', { - titleStringId: getLocalizationId('selectionTool.selectionMode'), - titleAltText: 'Mode', - enable: true, - dropdownItems: [ - { - displayAltText: 'Freeform', - displayStringId: getLocalizationId('selectionTool.selectionMode.mouseAndKeyboard'), - value: SelectionCursorMode.Freeform, - }, - { - displayAltText: 'Fixed Distance', - displayStringId: getLocalizationId('selectionTool.selectionMode.fixedDistance'), - value: SelectionCursorMode.FixedDistance, - }, - { - displayAltText: 'Adjacent Face', - displayStringId: getLocalizationId('selectionTool.selectionMode.adjacent'), - value: SelectionCursorMode.AdjacentFace, - }, - ], - onChange: (_obj, _property, _oldValue, _newValue) => { - let cursorControlMode = CursorControlMode.KeyboardAndMouse; - let cursorTargetMode = CursorTargetMode.Block; - if (_oldValue !== _newValue) { - switch (_newValue) { - case SelectionCursorMode.Freeform: - cursorControlMode = CursorControlMode.KeyboardAndMouse; - cursorTargetMode = CursorTargetMode.Block; - break; - case SelectionCursorMode.FixedDistance: - cursorControlMode = CursorControlMode.Fixed; - cursorTargetMode = CursorTargetMode.Block; - break; - case SelectionCursorMode.AdjacentFace: - cursorControlMode = CursorControlMode.KeyboardAndMouse; - cursorTargetMode = CursorTargetMode.Face; - break; - default: - console.error(`Unknown value from selection mode drop-down`); - return; - } - this.toolCursorProperties = uiSession.extensionContext.cursor.getProperties(); - this.toolCursorProperties.controlMode = cursorControlMode; - this.toolCursorProperties.targetMode = cursorTargetMode; - uiSession.extensionContext.cursor.setProperties(this.toolCursorProperties); - } - }, - }); - const onOriginOrSizeChange = (_obj, _property, _oldValue, _newValue) => { - if (_oldValue === _newValue) { - return; - } - const selection = uiSession.extensionContext.selectionManager.selection; - if (!selection.isEmpty) { - const lastVolume = selection.peekLastVolume; - if (lastVolume) { - const min = { - x: this.settingsObject.origin.x, - y: this.settingsObject.origin.y, - z: this.settingsObject.origin.z, - }; - const max = { - x: this.settingsObject.origin.x + this.settingsObject.size.x - 1, - y: this.settingsObject.origin.y + this.settingsObject.size.y - 1, - z: this.settingsObject.origin.z + this.settingsObject.size.z - 1, - }; - const newVolume = { - from: min, - to: max - }; - selection.popVolume(); - selection.pushVolume({ - action: CompoundBlockVolumeAction.Add, - volume: newVolume - }); - } - } - }; - const subPaneTransform = this.pane.createPropertyPane({ - titleStringId: getLocalizationId('selectionTool.transformPane.title'), - titleAltText: 'Transform', - }); - this.originPropertyItem = subPaneTransform.addVector3(this.settingsObject, 'origin', { - titleStringId: getLocalizationId('selectionTool.transformPane.origin'), - titleAltText: 'Origin', - enable: true, - minX: -0x80000000, - minY: -0x80000000, - minZ: -0x80000000, - onChange: onOriginOrSizeChange, - }); - this.sizePropertyItem = subPaneTransform.addVector3(this.settingsObject, 'size', { - titleStringId: getLocalizationId('selectionTool.transformPane.size'), - titleAltText: 'Size', - enable: true, - minX: 1, - minY: 1, - minZ: 1, - maxX: 100, - maxY: 100, - maxZ: 100, - onChange: onOriginOrSizeChange, - }); - // Fill - const subPaneFill = this.pane.createPropertyPane({ - titleStringId: getLocalizationId('selectionTool.fillPane.title'), - titleAltText: 'Fill Selection', - }); - const blockPickers = []; - subPaneFill.addNumber(bindDataSource(subPaneFill, { - size: 1, - }), 'size', { - titleStringId: getLocalizationId('toolRail.cubeBrushSettings.size'), - titleAltText: 'Brush Size', - min: 1, - max: 16, - showSlider: true, - onChange: (_obj, _property, _oldValue, _newValue) => { - function adjustBlockPickers() { - if (blockPickers.length < _newValue) { - blockPickers.push(subPaneFill.addBlockPicker(this.settingsObject, 'block', { - titleAltText: 'Block Type', - allowedBlocks - })); - } - else if (blockPickers.length > _newValue) { - const lastBlockPicker = blockPickers[blockPickers.length - 1]; - lastBlockPicker.visible = false; - lastBlockPicker.enable = false; - lastBlockPicker.dispose(); - blockPickers.pop(); - } - if (blockPickers.length === _newValue) { - system.clearRun(id); - } - } - const id = system.runInterval(adjustBlockPickers); - }, - }); - subPaneFill.addButton(this.executeFillAction, { - titleStringId: getLocalizationId('selectionTool.fillPane.fillAction'), - titleAltText: 'Fill Selection', - }); - this.pane.addDivider(); - // CTRL+D - const actionClearSelection = uiSession.actionManager.createAction({ - actionType: ActionTypes.NoArgsAction, - onExecute: () => { - uiSession.extensionContext.selectionManager.selection.clear(); - }, - }); - this.pane.addButton(actionClearSelection, { - titleStringId: getLocalizationId('selectionTool.deselect'), - titleAltText: 'Deselect', - variant: 'secondary', - }); - this.tool.bindPropertyPane(this.pane); - }; - // Add a modal tool to the tool rail and set up an activation subscription to set/unset the cursor states - this.addTool = (uiSession) => { - const tool = uiSession.toolRail.addTool({ - displayAltText: 'Random Fill (CTRL + S)', - icon: 'pack://textures/editor/Select-Fill.png?filtering=point', - tooltipStringId: 'Random Fill Tool', - }); - tool.onModalToolActivation.subscribe((eventData) => { - if (eventData.isActiveTool) { - uiSession.extensionContext.cursor.setProperties(this.toolCursorProperties); - // Start refreshing the position - this.onTickRefresh(uiSession, tool); - } - }); - return tool; - }; - // Bind the tool activation to a keypress on a global level - this.bindGlobalActivationShortcut = (uiSession, storage) => { - const toggleAction = uiSession.actionManager.createAction({ - actionType: ActionTypes.NoArgsAction, - onExecute: () => { - uiSession.toolRail.setSelectedOptionId(this.tool.id, true); - }, - }); - const deselectAction = uiSession.actionManager.createAction({ - actionType: ActionTypes.NoArgsAction, - onExecute: () => { - uiSession.extensionContext.selectionManager.selection.clear(); - }, - }); - uiSession.inputManager.registerKeyBinding(EditorInputContext.GlobalEditor, toggleAction, KeyboardKey.KEY_S, InputModifier.Control); - uiSession.inputManager.registerKeyBinding(EditorInputContext.GlobalToolMode, this.executeFillAction, KeyboardKey.KEY_F, InputModifier.Control); - uiSession.inputManager.registerKeyBinding(EditorInputContext.GlobalEditor, deselectAction, KeyboardKey.KEY_D, InputModifier.Control); - storage.coreMenuItems?.edit.addItem({ name: 'menuBar.edit.quickFill', displayStringId: getLocalizationId('menuBar.edit.quickFill') }, this.executeFillAction); - storage.coreMenuItems?.edit.addItem({ name: 'menuBar.edit.deselect', displayStringId: getLocalizationId('menuBar.edit.deselect') }, deselectAction); - }; - this.performFillOperation = async (context, fillType) => { - const player = context.player; - const dimension = player.dimension; - if (context.selectionManager.selection.isEmpty) { - // Need a better way to surface errors and warnings to the user - this only prints to the - // chat window, so if it's not open - you don't see it - player.sendMessage('No selection available to fill'); - return; - } - context.transactionManager.openTransaction("Select-Fill"); - const bounds = context.selectionManager.selection.getBoundingBox(); - context.transactionManager.trackBlockChangeArea(bounds.min, bounds.max); - await executeLargeOperation(context.selectionManager.selection, (blockLocation => { - const block = dimension.getBlock(blockLocation); - if (block) { - block.isWaterlogged = false; - block.setType(fillType); - } - })).catch((e => { - console.error(e); - context.transactionManager.discardOpenTransaction(); - })).then((() => { - context.transactionManager.commitOpenTransaction(); - })); - }; - const storage = uiSession.scratchStorage; - if (!storage) { - throw new Error('Can not instantiate Selection functionality without valid CoreEditor storage.'); - } - // Add the tool to the tool rail - this.tool = this.addTool(uiSession); - // Create pane. - this.pane = uiSession.createPropertyPane({ - titleAltText: 'Random Fill', - titleStringId: getLocalizationId('selectionTool.title'), - }); - /** - * Allowed blocks for the block picker - */ - const allowedBlocks = BlockTypes.getAll().map(blockType => blockType.id.replace('minecraft:', '')); - // Here is the binding created. - this.settingsObject = bindDataSource(this.pane, { - selectionMode: SelectionCursorMode.Freeform, - origin: { x: 0, y: 0, z: 0 }, - size: { x: 0, y: 0, z: 0 }, - block: "minecraft:bedrock", - }); - // This is the initial cursor state for Selection - this.toolCursorProperties = uiSession.extensionContext.cursor.getProperties(); - this.toolCursorProperties.outlineColor = { red: 1, green: 1, blue: 0, alpha: 1 }; // Yellow - this.toolCursorProperties.controlMode = CursorControlMode.KeyboardAndMouse; - this.toolCursorProperties.targetMode = CursorTargetMode.Block; - this.toolCursorProperties.visible = true; - this.lastAnchorPosition = { x: 0, y: 0, z: 0 }; - this.executeFillAction = uiSession.actionManager.createAction({ - actionType: ActionTypes.NoArgsAction, - onExecute: () => { - this.performFillOperation(uiSession.extensionContext, this.settingsObject.block).catch(e => console.error(e)); - }, - }); - // Add a settings pane for options - this.addSettingsPane(uiSession); - // bind mouse actions - this.bindToolInput(uiSession); - // We want global activation, so bind it into a keypress - this.bindGlobalActivationShortcut(uiSession, storage); - uiSession.toolRail.setSelectedOptionId(this.tool.id, true); - } - teardown() { - // Shutdown - console.log('Shutting down minecraft::selection behavior\n'); - if (this.tickRefreshHandle !== undefined) { - system.clearRun(this.tickRefreshHandle); - this.tickRefreshHandle = undefined; - } - this.fnUnregisterToolBindings(); - // If we're doing a /reload - clear the selection - this.uiSession.extensionContext.selectionManager.selection.clear(); - } -} -registerEditorExtension('randomFill', (uiSession) => { - uiSession.scratchStorage = {}; - // Initialize tool rail. - uiSession.toolRail.show(); - // Add selection functionality - return [ - new SelectionBehavior(uiSession) - ]; -}, (uiSession) => { - uiSession.log.info('Shutting down minecraft::selection behavior'); - // Shutdown - uiSession.scratchStorage = undefined; -}, { - description: 'Randomly fills blocks in the selection', -}); diff --git a/editorExtensions/editor-random-fill/index.ts b/editorExtensions/editor-random-fill/index.ts deleted file mode 100644 index dcb81037..00000000 --- a/editorExtensions/editor-random-fill/index.ts +++ /dev/null @@ -1,962 +0,0 @@ -// Script example for ScriptAPI -// Author: Jayly -// Project: https://github.com/JaylyDev/ScriptAPI -import { - system, - BlockType, - Vector, - Vector3, - CompoundBlockVolumeAction, - BlockVolume, - BlockVolumeUtils, - BoundingBoxUtils, - BlockTypes -} from "@minecraft/server"; -import { - KeyboardKey, - IPlayerUISession, - Ray, - IModalTool, - Action, - ActionTypes, - MouseActionType, - MouseInputType, - CursorControlMode, - InputModifier, - getLocalizationId, - CursorTargetMode, - EditorInputContext, - executeLargeOperation, - bindDataSource, - registerEditorExtension, - IPropertyPane, - IPropertyItem, - ExtensionContext, - CursorProperties, - PropertyBag, - RegisteredAction, - NoArgsAction -} from "@minecraft/server-editor"; -import { - getRotationCorrectedDirectionVector, - Direction, -} from "editor-utilities/index"; -import { - getRelativeXYAxisAsNormal, - growVolumeAlongViewAxis, - intersectRayPlane, - shrinkVolumeAlongViewAxis, -} from "./functions"; - -// ------------------------------------------------------------------------------------------------ -// General collection of selection related variables for this instance -// ------------------------------------------------------------------------------------------------ -enum SelectionCursorMode { - Freeform = 0, - FixedDistance = 1, - AdjacentFace = 2 -}; - -const Controls = { - Up: KeyboardKey.PAGE_UP, - Down: KeyboardKey.PAGE_DOWN, - Forward: KeyboardKey.UP, - Back: KeyboardKey.DOWN, - Left: KeyboardKey.LEFT, - Right: KeyboardKey.RIGHT, - Select: KeyboardKey.ENTER, - Clear: KeyboardKey.KEY_D, -}; - -interface SettingsObject extends PropertyBag { - origin: Vector3; - size: Vector3; - block: BlockType | string; - selectionMode: SelectionCursorMode; -} - -const TicksRefreshRate = 5; -// ------------------------------------------------------------------------------------------------ -export class SelectionBehavior { - tool: IModalTool; - uiSession: IPlayerUISession; - fnUnregisterToolBindings: () => void; - singleClick: (uiSession: IPlayerUISession, mouseRay: Ray, shiftPressed: boolean, ctrlPressed: boolean, altPressed: boolean) => void; - lastAnchorPosition: Vector3; - moveTopSelection: (uiSession: IPlayerUISession, lastAnchor: Vector3, direction: Direction) => Vector3; - moveBlockCursorManually: (uiSession: IPlayerUISession, direction: Direction) => void; - moveAllSelections: (uiSession: IPlayerUISession, anchorPosition: Vector3, direction: Direction) => Vector3; - shrinkVolume: (uiSession: IPlayerUISession, direction: Direction) => void; - growVolume: (uiSession: IPlayerUISession, direction: Direction) => void; - bindToolInput: (uiSession: IPlayerUISession) => void; - toolCursorProperties: CursorProperties; - onTickRefresh: (uiSession: IPlayerUISession, tool: IModalTool) => void; - tickRefreshHandle: number; - settingsObject: SettingsObject; - originPropertyItem: IPropertyItem; - sizePropertyItem: IPropertyItem; - addSettingsPane: (uiSession: IPlayerUISession) => void; - pane: IPropertyPane; - addTool: (uiSession: IPlayerUISession) => IModalTool; - bindGlobalActivationShortcut: (uiSession: IPlayerUISession, storage: Record) => void; - performFillOperation: (context: ExtensionContext, fillType: BlockType | string) => Promise; - executeFillAction: RegisteredAction; - get toolId() { - return this.tool.id; - } - constructor(uiSession: IPlayerUISession) { - this.uiSession = uiSession; - this.fnUnregisterToolBindings = () => { - this.tool.unregisterInputBindings(); - }; - this.singleClick = (uiSession: IPlayerUISession, mouseRay: Ray, shiftPressed: boolean, ctrlPressed: boolean, altPressed: boolean) => { - const clickLoc = mouseRay.cursorBlockLocation; - // Nothing pressed, then clear the stack and create a single 1x1x1 - if (!shiftPressed && !ctrlPressed && !altPressed) { - uiSession.extensionContext.selectionManager.selection.clear(); - uiSession.extensionContext.selectionManager.selection.pushVolume({ - action: CompoundBlockVolumeAction.Add, - volume: { - from: clickLoc, - to: clickLoc - } - }); - // Store this as the anchor point - this.lastAnchorPosition = clickLoc; - } - // Shift pressed, an no volume exists - create a single 1x1x1 - // if a volume does exist - use it to anchor the min corner and make a volume - // from anchor to new click - else if (shiftPressed && !ctrlPressed && !altPressed) { - if (uiSession.extensionContext.selectionManager.selection.isEmpty) { - // Create a new 1x1x1 selection volume at the click position - uiSession.extensionContext.selectionManager.selection.pushVolume({ - action: CompoundBlockVolumeAction.Add, - volume: { - from: clickLoc, - to: clickLoc - } - }); - // Store this as the anchor point - this.lastAnchorPosition = clickLoc; - } - else { - // Use the last anchor point (i.e. the first click selection) as the - // corner for the new click, and defining a new volume area - const lastAnchorPosition = this.lastAnchorPosition; - uiSession.extensionContext.selectionManager.selection.popVolume(); - const newVolume: BlockVolume = { - from: lastAnchorPosition, - to: clickLoc - }; - uiSession.extensionContext.selectionManager.selection.pushVolume({ - action: CompoundBlockVolumeAction.Add, - volume: newVolume - }); - } - } - // Control pressed and no volume exists - create a single 1x1x1 - // If a volume exists, just push a new 1x1x1 to the stack - else if (ctrlPressed && !shiftPressed && !altPressed) { - uiSession.extensionContext.selectionManager.selection.pushVolume({ - action: CompoundBlockVolumeAction.Add, - volume: { - from: clickLoc, - to: clickLoc - } - }); - // Store this as the anchor point - this.lastAnchorPosition = clickLoc; - } - // If ALT is pressed, and there IS already a full volume, then we're going into 3-click volume - // mode and we need to do some intersection calculations - else if (altPressed && !shiftPressed && !ctrlPressed) { - const currentItem = uiSession.extensionContext.selectionManager.selection.peekLastVolume(); - if (!currentItem) { - uiSession.extensionContext.selectionManager.selection.pushVolume({ - action: CompoundBlockVolumeAction.Add, - volume: { - from: clickLoc, - to: clickLoc - } - }); - this.lastAnchorPosition = clickLoc; - } else { - const currentVolume = currentItem.volume; - const currentBounds = BlockVolumeUtils.getBoundingBox(currentVolume); - const translatedRayLocation = Vector.subtract(new Vector(mouseRay.location.x, mouseRay.location.y, mouseRay.location.z), new Vector(currentBounds.min.x, currentBounds.min.y, currentBounds.min.z)); - const XYPlaneNormal = getRelativeXYAxisAsNormal(uiSession.extensionContext.player.getRotation().y); - const intersection = intersectRayPlane(translatedRayLocation, mouseRay.direction, XYPlaneNormal, 0); - if (intersection) { - const translatedIntersection = Vector.add(intersection, new Vector(currentBounds.min.x, currentBounds.min.y, currentBounds.min.z)); - const newY = Math.ceil(translatedIntersection.y) - 1; - uiSession.extensionContext.selectionManager.selection.popVolume(); - uiSession.extensionContext.selectionManager.selection.pushVolume({ - action: currentItem.action, - volume: { - from: { - x: currentBounds.min.x, - y: currentBounds.min.y, - z: currentBounds.min.z - }, - to: { - x: currentBounds.max.x, - y: newY, - z: currentBounds.max.z - } - } - }); - } - } - } - }; - this.moveTopSelection = (uiSession: IPlayerUISession, lastAnchor: Vector3, direction: Direction): Vector3 => { - const lastVolumeItem = uiSession.extensionContext.selectionManager.selection.peekLastVolume(); - if (!lastVolumeItem) { - return undefined; - } - const lastVolume = lastVolumeItem.volume; - uiSession.extensionContext.selectionManager.selection.popVolume(); - const rotationY = uiSession.extensionContext.player.getRotation().y; - const correctedVector = getRotationCorrectedDirectionVector(rotationY, direction); - const newVolume = BlockVolumeUtils.translate(lastVolume, { - x: correctedVector.x, - y: correctedVector.y, - z: correctedVector.z - }); - uiSession.extensionContext.selectionManager.selection.pushVolume({ - action: CompoundBlockVolumeAction.Add, - volume: newVolume - }); - // Update the last cursor click position with the move vector - // so that extend-click operations work correctly with the new corner position - const updatedClick = { - x: lastAnchor.x + correctedVector.x, - y: lastAnchor.y + correctedVector.y, - z: lastAnchor.z + correctedVector.z, - }; - return updatedClick; - }; - this.moveBlockCursorManually = (uiSession: IPlayerUISession, direction: Direction) => { - const rotationY = uiSession.extensionContext.player.getRotation().y; - const rotationCorrectedVector = getRotationCorrectedDirectionVector(rotationY, direction); - uiSession.extensionContext.cursor.moveBy(rotationCorrectedVector); - }; - this.moveAllSelections = (uiSession: IPlayerUISession, anchorPosition: Vector3, direction: Direction): Vector3 => { - if (uiSession.extensionContext.selectionManager.selection.isEmpty) { - return undefined; - } - const rotationY = uiSession.extensionContext.player.getRotation().y; - const correctedVector = getRotationCorrectedDirectionVector(rotationY, direction); - uiSession.extensionContext.selectionManager.selection.moveBy({ - x: correctedVector.x, - y: correctedVector.y, - z: correctedVector.z, - }); - const updatedClick = { - x: anchorPosition.x + correctedVector.x, - y: anchorPosition.y + correctedVector.y, - z: anchorPosition.z + correctedVector.z, - }; - return updatedClick; - }; - this.shrinkVolume = (uiSession: IPlayerUISession, direction: Direction) => { - if (uiSession.extensionContext.selectionManager.selection.isEmpty) { - return; - } - const lastVolume = uiSession.extensionContext.selectionManager.selection.peekLastVolume; - uiSession.extensionContext.selectionManager.selection.popVolume(); - const rotationY = uiSession.extensionContext.player.getRotation().y; - const newVolume = shrinkVolumeAlongViewAxis(lastVolume, rotationY, direction, 1); - uiSession.extensionContext.selectionManager.selection.pushVolume({ - action: CompoundBlockVolumeAction.Add, - volume: newVolume - }); - }; - this.growVolume = (uiSession: IPlayerUISession, direction: Direction) => { - const lastVolumeItem = uiSession.extensionContext.selectionManager.selection.peekLastVolume(); - if (!lastVolumeItem) { - return; - } - const lastVolume = lastVolumeItem.volume; - uiSession.extensionContext.selectionManager.selection.popVolume(); - const rotationY = uiSession.extensionContext.player.getRotation().y; - const newVolume = growVolumeAlongViewAxis(lastVolume, rotationY, direction, 1); - uiSession.extensionContext.selectionManager.selection.pushVolume({ - action: lastVolumeItem.action, - volume: newVolume - }); - }; - // Input and tool binding functions - // ------------------------------------------------------------------------------------------------ - this.bindToolInput = (uiSession: IPlayerUISession) => { - // Bind Single Mouse Click - const singleClickAction = uiSession.actionManager.createAction({ - actionType: ActionTypes.MouseRayCastAction, - onExecute: (mouseRay, mouseProps) => { - if (mouseProps.mouseAction === MouseActionType.LeftButton) { - if (mouseProps.inputType === MouseInputType.ButtonDown) { - if (mouseRay.rayHit || this.toolCursorProperties.controlMode === CursorControlMode.Fixed) { - this.singleClick(uiSession, mouseRay, mouseProps.modifiers.shift, mouseProps.modifiers.ctrl, mouseProps.modifiers.alt); - } - else { - // If we're clicking on nothing or something too far away - clear the selection stack - uiSession.extensionContext.selectionManager.selection.clear(); - } - } - } - }, - }); - this.tool.registerMouseButtonBinding(singleClickAction); - // Bind Keyboard MOVE functions - const keyUpAction = uiSession.actionManager.createAction({ - actionType: ActionTypes.NoArgsAction, - onExecute: () => { - uiSession.extensionContext.cursor.moveBy(Vector.up); - }, - }); - const keyDownAction = uiSession.actionManager.createAction({ - actionType: ActionTypes.NoArgsAction, - onExecute: () => { - uiSession.extensionContext.cursor.moveBy(Vector.down); - }, - }); - const keyLeftAction = uiSession.actionManager.createAction({ - actionType: ActionTypes.NoArgsAction, - onExecute: () => { - this.moveBlockCursorManually(uiSession, Direction.Left); - }, - }); - const keyRightAction = uiSession.actionManager.createAction({ - actionType: ActionTypes.NoArgsAction, - onExecute: () => { - this.moveBlockCursorManually(uiSession, Direction.Right); - }, - }); - const keyForwardAction = uiSession.actionManager.createAction({ - actionType: ActionTypes.NoArgsAction, - onExecute: () => { - this.moveBlockCursorManually(uiSession, Direction.Forward); - }, - }); - const keyBackAction = uiSession.actionManager.createAction({ - actionType: ActionTypes.NoArgsAction, - onExecute: () => { - this.moveBlockCursorManually(uiSession, Direction.Back); - }, - }); - // Bind arrow keys to manual cursor control - this.tool.registerKeyBinding(keyForwardAction, Controls.Forward, InputModifier.None); - this.tool.registerKeyBinding(keyBackAction, Controls.Back, InputModifier.None); - this.tool.registerKeyBinding(keyLeftAction, Controls.Left, InputModifier.None); - this.tool.registerKeyBinding(keyRightAction, Controls.Right, InputModifier.None); - this.tool.registerKeyBinding(keyUpAction, Controls.Up, InputModifier.None); - this.tool.registerKeyBinding(keyDownAction, Controls.Down, InputModifier.None); - const mouseWheelAction = uiSession.actionManager.createAction({ - actionType: ActionTypes.MouseRayCastAction, - onExecute: (mouseRay, mouseProps) => { - if (mouseProps.inputType === MouseInputType.WheelOut) { - if (mouseProps.modifiers.shift) { - this.growVolume(uiSession, Direction.Left); - this.growVolume(uiSession, Direction.Right); - } - else if (mouseProps.modifiers.ctrl) { - this.growVolume(uiSession, Direction.Forward); - this.growVolume(uiSession, Direction.Back); - } - else if (mouseProps.modifiers.alt) { - this.growVolume(uiSession, Direction.Up); - this.growVolume(uiSession, Direction.Down); - } - else if (this.toolCursorProperties.controlMode === CursorControlMode.Fixed) { - uiSession.extensionContext.cursor.moveBy(Vector.forward); - } - } - else if (mouseProps.inputType === MouseInputType.WheelIn) { - if (mouseProps.modifiers.shift) { - this.shrinkVolume(uiSession, Direction.Left); - this.shrinkVolume(uiSession, Direction.Right); - } - else if (mouseProps.modifiers.ctrl) { - this.shrinkVolume(uiSession, Direction.Forward); - this.shrinkVolume(uiSession, Direction.Back); - } - else if (mouseProps.modifiers.alt) { - this.shrinkVolume(uiSession, Direction.Up); - this.shrinkVolume(uiSession, Direction.Down); - } - else if (this.toolCursorProperties.controlMode === CursorControlMode.Fixed) { - uiSession.extensionContext.cursor.moveBy(Vector.back); - } - } - }, - }); - this.tool.registerMouseWheelBinding(mouseWheelAction); - // Bind ARROWS+ALT for MOVE selection volume (single) - // ----------------------------------------- - const moveSelectionUpAction = uiSession.actionManager.createAction({ - actionType: ActionTypes.NoArgsAction, - onExecute: () => { - const updatedAnchor = this.moveTopSelection(uiSession, this.lastAnchorPosition, Direction.Up); - if (updatedAnchor) { - this.lastAnchorPosition = updatedAnchor; - } - }, - }); - const moveSelectionDownAction = uiSession.actionManager.createAction({ - actionType: ActionTypes.NoArgsAction, - onExecute: () => { - const updatedAnchor = this.moveTopSelection(uiSession, this.lastAnchorPosition, Direction.Down); - if (updatedAnchor) { - this.lastAnchorPosition = updatedAnchor; - } - }, - }); - const moveSelectionLeftAction = uiSession.actionManager.createAction({ - actionType: ActionTypes.NoArgsAction, - onExecute: () => { - const updatedAnchor = this.moveTopSelection(uiSession, this.lastAnchorPosition, Direction.Left); - if (updatedAnchor) { - this.lastAnchorPosition = updatedAnchor; - } - }, - }); - const moveSelectionRightAction = uiSession.actionManager.createAction({ - actionType: ActionTypes.NoArgsAction, - onExecute: () => { - const updatedAnchor = this.moveTopSelection(uiSession, this.lastAnchorPosition, Direction.Right); - if (updatedAnchor) { - this.lastAnchorPosition = updatedAnchor; - } - }, - }); - const moveSelectionForwardAction = uiSession.actionManager.createAction({ - actionType: ActionTypes.NoArgsAction, - onExecute: () => { - const updatedAnchor = this.moveTopSelection(uiSession, this.lastAnchorPosition, Direction.Forward); - if (updatedAnchor) { - this.lastAnchorPosition = updatedAnchor; - } - }, - }); - const moveSelectionBackAction = uiSession.actionManager.createAction({ - actionType: ActionTypes.NoArgsAction, - onExecute: () => { - const updatedAnchor = this.moveTopSelection(uiSession, this.lastAnchorPosition, Direction.Back); - if (updatedAnchor) { - this.lastAnchorPosition = updatedAnchor; - } - }, - }); - // Bind arrow keys to manual cursor control - this.tool.registerKeyBinding(moveSelectionForwardAction, Controls.Forward, InputModifier.Alt); - this.tool.registerKeyBinding(moveSelectionBackAction, Controls.Back, InputModifier.Alt); - this.tool.registerKeyBinding(moveSelectionLeftAction, Controls.Left, InputModifier.Alt); - this.tool.registerKeyBinding(moveSelectionRightAction, Controls.Right, InputModifier.Alt); - this.tool.registerKeyBinding(moveSelectionUpAction, Controls.Up, InputModifier.Alt); - this.tool.registerKeyBinding(moveSelectionDownAction, Controls.Down, InputModifier.Alt); - // Bind ARROWS+ALT+CTRL to move ALL selections - const moveAllSelectionUpAction = uiSession.actionManager.createAction({ - actionType: ActionTypes.NoArgsAction, - onExecute: () => { - const updatedAnchor = this.moveAllSelections(uiSession, this.lastAnchorPosition, Direction.Up); - if (updatedAnchor) { - this.lastAnchorPosition = updatedAnchor; - } - }, - }); - const moveAllSelectionDownAction = uiSession.actionManager.createAction({ - actionType: ActionTypes.NoArgsAction, - onExecute: () => { - const updatedAnchor = this.moveAllSelections(uiSession, this.lastAnchorPosition, Direction.Down); - if (updatedAnchor) { - this.lastAnchorPosition = updatedAnchor; - } - }, - }); - const moveAllSelectionLeftAction = uiSession.actionManager.createAction({ - actionType: ActionTypes.NoArgsAction, - onExecute: () => { - const updatedAnchor = this.moveAllSelections(uiSession, this.lastAnchorPosition, Direction.Left); - if (updatedAnchor) { - this.lastAnchorPosition = updatedAnchor; - } - }, - }); - const moveAllSelectionRightAction = uiSession.actionManager.createAction({ - actionType: ActionTypes.NoArgsAction, - onExecute: () => { - const updatedAnchor = this.moveAllSelections(uiSession, this.lastAnchorPosition, Direction.Right); - if (updatedAnchor) { - this.lastAnchorPosition = updatedAnchor; - } - }, - }); - const moveAllSelectionForwardAction = uiSession.actionManager.createAction({ - actionType: ActionTypes.NoArgsAction, - onExecute: () => { - const updatedAnchor = this.moveAllSelections(uiSession, this.lastAnchorPosition, Direction.Forward); - if (updatedAnchor) { - this.lastAnchorPosition = updatedAnchor; - } - }, - }); - const moveAllSelectionBackAction = uiSession.actionManager.createAction({ - actionType: ActionTypes.NoArgsAction, - onExecute: () => { - const updatedAnchor = this.moveAllSelections(uiSession, this.lastAnchorPosition, Direction.Back); - if (updatedAnchor) { - this.lastAnchorPosition = updatedAnchor; - } - }, - }); - this.tool.registerKeyBinding(moveAllSelectionForwardAction, Controls.Forward, InputModifier.Alt | InputModifier.Control); - this.tool.registerKeyBinding(moveAllSelectionBackAction, Controls.Back, InputModifier.Alt | InputModifier.Control); - this.tool.registerKeyBinding(moveAllSelectionLeftAction, Controls.Left, InputModifier.Alt | InputModifier.Control); - this.tool.registerKeyBinding(moveAllSelectionRightAction, Controls.Right, InputModifier.Alt | InputModifier.Control); - this.tool.registerKeyBinding(moveAllSelectionUpAction, Controls.Up, InputModifier.Alt | InputModifier.Control); - this.tool.registerKeyBinding(moveAllSelectionDownAction, Controls.Down, InputModifier.Alt | InputModifier.Control); - // Bind ARROW+SHIFT - const keyGrowUpAction = uiSession.actionManager.createAction({ - actionType: ActionTypes.NoArgsAction, - onExecute: () => { - this.growVolume(uiSession, Direction.Up); - }, - }); - this.tool.registerKeyBinding(keyGrowUpAction, Controls.Up, InputModifier.Shift); - const keyGrowDownAction = uiSession.actionManager.createAction({ - actionType: ActionTypes.NoArgsAction, - onExecute: () => { - this.growVolume(uiSession, Direction.Down); - }, - }); - this.tool.registerKeyBinding(keyGrowDownAction, Controls.Down, InputModifier.Shift); - const keyGrowForwardAction = uiSession.actionManager.createAction({ - actionType: ActionTypes.NoArgsAction, - onExecute: () => { - this.growVolume(uiSession, Direction.Forward); - }, - }); - this.tool.registerKeyBinding(keyGrowForwardAction, Controls.Forward, InputModifier.Shift); - const keyGrowBackAction = uiSession.actionManager.createAction({ - actionType: ActionTypes.NoArgsAction, - onExecute: () => { - this.growVolume(uiSession, Direction.Back); - }, - }); - this.tool.registerKeyBinding(keyGrowBackAction, Controls.Back, InputModifier.Shift); - const keyGrowLeftAction = uiSession.actionManager.createAction({ - actionType: ActionTypes.NoArgsAction, - onExecute: () => { - this.growVolume(uiSession, Direction.Left); - }, - }); - this.tool.registerKeyBinding(keyGrowLeftAction, Controls.Left, InputModifier.Shift); - const keyGrowRightAction = uiSession.actionManager.createAction({ - actionType: ActionTypes.NoArgsAction, - onExecute: () => { - this.growVolume(uiSession, Direction.Right); - }, - }); - this.tool.registerKeyBinding(keyGrowRightAction, Controls.Right, InputModifier.Shift); - // Bind ARROW+CTRL - const keyShrinkUpAction = uiSession.actionManager.createAction({ - actionType: ActionTypes.NoArgsAction, - onExecute: () => { - this.shrinkVolume(uiSession, Direction.Up); - }, - }); - this.tool.registerKeyBinding(keyShrinkUpAction, Controls.Up, InputModifier.Control); - const keyShrinkDownAction = uiSession.actionManager.createAction({ - actionType: ActionTypes.NoArgsAction, - onExecute: () => { - this.shrinkVolume(uiSession, Direction.Down); - }, - }); - this.tool.registerKeyBinding(keyShrinkDownAction, Controls.Down, InputModifier.Control); - const keyShrinkForwardAction = uiSession.actionManager.createAction({ - actionType: ActionTypes.NoArgsAction, - onExecute: () => { - this.shrinkVolume(uiSession, Direction.Forward); - }, - }); - this.tool.registerKeyBinding(keyShrinkForwardAction, Controls.Forward, InputModifier.Control); - const keyShrinkBackAction = uiSession.actionManager.createAction({ - actionType: ActionTypes.NoArgsAction, - onExecute: () => { - this.shrinkVolume(uiSession, Direction.Back); - }, - }); - this.tool.registerKeyBinding(keyShrinkBackAction, Controls.Back, InputModifier.Control); - const keyShrinkLeftAction = uiSession.actionManager.createAction({ - actionType: ActionTypes.NoArgsAction, - onExecute: () => { - this.shrinkVolume(uiSession, Direction.Left); - }, - }); - this.tool.registerKeyBinding(keyShrinkLeftAction, Controls.Left, InputModifier.Control); - const keyShrinkRightAction = uiSession.actionManager.createAction({ - actionType: ActionTypes.NoArgsAction, - onExecute: () => { - this.shrinkVolume(uiSession, Direction.Right); - }, - }); - this.tool.registerKeyBinding(keyShrinkRightAction, Controls.Right, InputModifier.Control); - }; - this.onTickRefresh = (uiSession: IPlayerUISession, tool) => { - let ticks = 0; - this.tickRefreshHandle = system.run(() => { - if (uiSession.extensionContext.selectionManager === undefined) { - return; - } - if (!this.settingsObject) { - console.error('Pane settings object not defined, unable to refresh values for selection.'); - return; - } - if (ticks++ % TicksRefreshRate === 0) { - ticks = 0; - let x = 0, y = 0, z = 0; - let sx = 0, sy = 0, sz = 0; - const selection = uiSession.extensionContext.selectionManager.selection; - const lastVolumeItem = selection.peekLastVolume(); - if (lastVolumeItem) { - const lastVolume = lastVolumeItem.volume; - const bounds = BlockVolumeUtils.getBoundingBox(lastVolume); - const boundSize = BoundingBoxUtils.getSpan(bounds); - x = bounds.min.x; - y = bounds.min.y; - z = bounds.min.z; - sx = boundSize.x; - sy = boundSize.y; - sz = boundSize.z; - if (!this.originPropertyItem?.enable) { - if (this.originPropertyItem) { - this.originPropertyItem.enable = true; - } - } - if (!this.sizePropertyItem?.enable) { - if (this.sizePropertyItem) { - this.sizePropertyItem.enable = true; - } - } - } else { - if (this.originPropertyItem?.enable) { - if (this.originPropertyItem) { - this.originPropertyItem.enable = false; - } - } - if (this.sizePropertyItem?.enable) { - if (this.sizePropertyItem) { - this.sizePropertyItem.enable = false; - } - } - } - if (this.settingsObject.origin.x !== x || this.settingsObject.origin.y !== y || this.settingsObject.origin.z !== z || this.settingsObject.size.x !== sx || this.settingsObject.size.y !== sy || this.settingsObject.size.z !== sz) { - this.settingsObject.origin.x = Math.trunc(x); - this.settingsObject.origin.y = Math.trunc(y); - this.settingsObject.origin.z = Math.trunc(z); - this.settingsObject.size.x = Math.trunc(sx); - this.settingsObject.size.y = Math.trunc(sy); - this.settingsObject.size.z = Math.trunc(sz); - } - } - if (uiSession.toolRail.selectedOptionId === tool.id) { - this.tickRefreshHandle = system.run(() => this.onTickRefresh(uiSession, tool)); - } - }); - }; - // Add a settings pane for the modal Tool - this.addSettingsPane = (uiSession: IPlayerUISession) => { - this.pane.addDropdown(this.settingsObject, 'selectionMode', { - titleStringId: getLocalizationId('selectionTool.selectionMode'), - titleAltText: 'Mode', - enable: true, - dropdownItems: [ - { - displayAltText: 'Freeform', - displayStringId: getLocalizationId('selectionTool.selectionMode.mouseAndKeyboard'), - value: SelectionCursorMode.Freeform, - }, - { - displayAltText: 'Fixed Distance', - displayStringId: getLocalizationId('selectionTool.selectionMode.fixedDistance'), - value: SelectionCursorMode.FixedDistance, - }, - { - displayAltText: 'Adjacent Face', - displayStringId: getLocalizationId('selectionTool.selectionMode.adjacent'), - value: SelectionCursorMode.AdjacentFace, - }, - ], - onChange: (_obj, _property, _oldValue: any, _newValue: any) => { - let cursorControlMode = CursorControlMode.KeyboardAndMouse; - let cursorTargetMode = CursorTargetMode.Block; - if (_oldValue !== _newValue) { - switch (_newValue) { - case SelectionCursorMode.Freeform: - cursorControlMode = CursorControlMode.KeyboardAndMouse; - cursorTargetMode = CursorTargetMode.Block; - break; - case SelectionCursorMode.FixedDistance: - cursorControlMode = CursorControlMode.Fixed; - cursorTargetMode = CursorTargetMode.Block; - break; - case SelectionCursorMode.AdjacentFace: - cursorControlMode = CursorControlMode.KeyboardAndMouse; - cursorTargetMode = CursorTargetMode.Face; - break; - default: - console.error(`Unknown value from selection mode drop-down`); - return; - } - this.toolCursorProperties = uiSession.extensionContext.cursor.getProperties(); - this.toolCursorProperties.controlMode = cursorControlMode; - this.toolCursorProperties.targetMode = cursorTargetMode; - uiSession.extensionContext.cursor.setProperties(this.toolCursorProperties); - } - }, - }); - const onOriginOrSizeChange = (_obj: any, _property: string, _oldValue: Vector3, _newValue: Vector3) => { - if (_oldValue === _newValue) { - return; - } - const selection = uiSession.extensionContext.selectionManager.selection; - if (!selection.isEmpty) { - const lastVolume = selection.peekLastVolume; - if (lastVolume) { - const min = { - x: this.settingsObject.origin.x, - y: this.settingsObject.origin.y, - z: this.settingsObject.origin.z, - }; - const max = { - x: this.settingsObject.origin.x + this.settingsObject.size.x - 1, - y: this.settingsObject.origin.y + this.settingsObject.size.y - 1, - z: this.settingsObject.origin.z + this.settingsObject.size.z - 1, - }; - const newVolume = { - from: min, - to: max - }; - selection.popVolume(); - selection.pushVolume({ - action: CompoundBlockVolumeAction.Add, - volume: newVolume - }); - } - } - }; - const subPaneTransform = this.pane.createPropertyPane({ - titleStringId: getLocalizationId('selectionTool.transformPane.title'), - titleAltText: 'Transform', - }); - this.originPropertyItem = subPaneTransform.addVector3(this.settingsObject, 'origin', { - titleStringId: getLocalizationId('selectionTool.transformPane.origin'), - titleAltText: 'Origin', - enable: true, - minX: -0x80000000, - minY: -0x80000000, - minZ: -0x80000000, - onChange: onOriginOrSizeChange, - }); - this.sizePropertyItem = subPaneTransform.addVector3(this.settingsObject, 'size', { - titleStringId: getLocalizationId('selectionTool.transformPane.size'), - titleAltText: 'Size', - enable: true, - minX: 1, - minY: 1, - minZ: 1, - maxX: 100, - maxY: 100, - maxZ: 100, - onChange: onOriginOrSizeChange, - }); - // Fill - const subPaneFill = this.pane.createPropertyPane({ - titleStringId: getLocalizationId('selectionTool.fillPane.title'), - titleAltText: 'Fill Selection', - }); - const blockPickers: IPropertyItem[] = []; - subPaneFill.addNumber(bindDataSource(subPaneFill, { - size: 1, - }), 'size', { - titleStringId: getLocalizationId('toolRail.cubeBrushSettings.size'), - titleAltText: 'Brush Size', - min: 1, - max: 16, - showSlider: true, - onChange: (_obj, _property, _oldValue: any, _newValue: any) => { - function adjustBlockPickers() { - if (blockPickers.length < _newValue) { - blockPickers.push(subPaneFill.addBlockPicker(this.settingsObject, 'block', { - titleAltText: 'Block Type', - allowedBlocks - })); - } else if (blockPickers.length > _newValue) { - const lastBlockPicker = blockPickers[blockPickers.length - 1]; - lastBlockPicker.visible = false; - lastBlockPicker.enable = false; - lastBlockPicker.dispose(); - blockPickers.pop(); - } - - if (blockPickers.length === _newValue) { - system.clearRun(id); - } - } - const id = system.runInterval(adjustBlockPickers); - }, - }); - subPaneFill.addButton(this.executeFillAction, { - titleStringId: getLocalizationId('selectionTool.fillPane.fillAction'), - titleAltText: 'Fill Selection', - }); - this.pane.addDivider(); - // CTRL+D - const actionClearSelection = uiSession.actionManager.createAction({ - actionType: ActionTypes.NoArgsAction, - onExecute: () => { - uiSession.extensionContext.selectionManager.selection.clear(); - }, - }); - this.pane.addButton(actionClearSelection, { - titleStringId: getLocalizationId('selectionTool.deselect'), - titleAltText: 'Deselect', - variant: 'secondary', - }); - this.tool.bindPropertyPane(this.pane); - }; - // Add a modal tool to the tool rail and set up an activation subscription to set/unset the cursor states - this.addTool = (uiSession: IPlayerUISession) => { - const tool = uiSession.toolRail.addTool({ - displayAltText: 'Random Fill (CTRL + S)', - icon: 'pack://textures/editor/Select-Fill.png?filtering=point', - tooltipStringId: 'Random Fill Tool', - }); - tool.onModalToolActivation.subscribe((eventData) => { - if (eventData.isActiveTool) { - uiSession.extensionContext.cursor.setProperties(this.toolCursorProperties); - // Start refreshing the position - this.onTickRefresh(uiSession, tool); - } - }); - return tool; - }; - // Bind the tool activation to a keypress on a global level - this.bindGlobalActivationShortcut = (uiSession: IPlayerUISession, storage: Record) => { - const toggleAction = uiSession.actionManager.createAction({ - actionType: ActionTypes.NoArgsAction, - onExecute: () => { - uiSession.toolRail.setSelectedOptionId(this.tool.id, true); - }, - }); - const deselectAction = uiSession.actionManager.createAction({ - actionType: ActionTypes.NoArgsAction, - onExecute: () => { - uiSession.extensionContext.selectionManager.selection.clear(); - }, - }); - uiSession.inputManager.registerKeyBinding(EditorInputContext.GlobalEditor, toggleAction, KeyboardKey.KEY_S, InputModifier.Control); - uiSession.inputManager.registerKeyBinding(EditorInputContext.GlobalToolMode, this.executeFillAction, KeyboardKey.KEY_F, InputModifier.Control); - uiSession.inputManager.registerKeyBinding(EditorInputContext.GlobalEditor, deselectAction, KeyboardKey.KEY_D, InputModifier.Control); - storage.coreMenuItems?.edit.addItem({ name: 'menuBar.edit.quickFill', displayStringId: getLocalizationId('menuBar.edit.quickFill') }, this.executeFillAction); - storage.coreMenuItems?.edit.addItem({ name: 'menuBar.edit.deselect', displayStringId: getLocalizationId('menuBar.edit.deselect') }, deselectAction); - }; - this.performFillOperation = async (context, fillType) => { - const player = context.player; - const dimension = player.dimension; - if (context.selectionManager.selection.isEmpty) { - // Need a better way to surface errors and warnings to the user - this only prints to the - // chat window, so if it's not open - you don't see it - player.sendMessage('No selection available to fill'); - return; - } - context.transactionManager.openTransaction("Select-Fill"); - const bounds = context.selectionManager.selection.getBoundingBox(); - context.transactionManager.trackBlockChangeArea(bounds.min, bounds.max); - await executeLargeOperation(context.selectionManager.selection, (blockLocation => { - const block = dimension.getBlock(blockLocation); - if (block) { - block.isWaterlogged = false; - block.setType(fillType); - } - })).catch((e => { - console.error(e); - context.transactionManager.discardOpenTransaction(); - })).then((() => { - context.transactionManager.commitOpenTransaction(); - })); - - }; - const storage = uiSession.scratchStorage; - if (!storage) { - throw new Error('Can not instantiate Selection functionality without valid CoreEditor storage.'); - } - // Add the tool to the tool rail - this.tool = this.addTool(uiSession); - // Create pane. - this.pane = uiSession.createPropertyPane({ - titleAltText: 'Random Fill', - titleStringId: getLocalizationId('selectionTool.title'), - }); - /** - * Allowed blocks for the block picker - */ - const allowedBlocks = BlockTypes.getAll().map(blockType => blockType.id.replace('minecraft:', '')); - - // Here is the binding created. - this.settingsObject = bindDataSource(this.pane, { - selectionMode: SelectionCursorMode.Freeform, - origin: { x: 0, y: 0, z: 0 }, - size: { x: 0, y: 0, z: 0 }, - block: "minecraft:bedrock", - }); - // This is the initial cursor state for Selection - this.toolCursorProperties = uiSession.extensionContext.cursor.getProperties(); - this.toolCursorProperties.outlineColor = { red: 1, green: 1, blue: 0, alpha: 1 }; // Yellow - this.toolCursorProperties.controlMode = CursorControlMode.KeyboardAndMouse; - this.toolCursorProperties.targetMode = CursorTargetMode.Block; - this.toolCursorProperties.visible = true; - this.lastAnchorPosition = { x: 0, y: 0, z: 0 }; - this.executeFillAction = uiSession.actionManager.createAction({ - actionType: ActionTypes.NoArgsAction, - onExecute: () => { - this.performFillOperation(uiSession.extensionContext, this.settingsObject.block).catch(e => console.error(e)); - }, - }); - // Add a settings pane for options - this.addSettingsPane(uiSession); - // bind mouse actions - this.bindToolInput(uiSession); - // We want global activation, so bind it into a keypress - this.bindGlobalActivationShortcut(uiSession, storage); - uiSession.toolRail.setSelectedOptionId(this.tool.id, true); - } - teardown() { - // Shutdown - console.log('Shutting down minecraft::selection behavior\n'); - if (this.tickRefreshHandle !== undefined) { - system.clearRun(this.tickRefreshHandle); - this.tickRefreshHandle = undefined; - } - this.fnUnregisterToolBindings(); - // If we're doing a /reload - clear the selection - this.uiSession.extensionContext.selectionManager.selection.clear(); - } -} - -registerEditorExtension('randomFill', (uiSession) => { - uiSession.scratchStorage = {}; - // Initialize tool rail. - uiSession.toolRail.show(); - // Add selection functionality - return [ - new SelectionBehavior(uiSession) - ] -}, (uiSession) => { - uiSession.log.info('Shutting down minecraft::selection behavior'); - // Shutdown - uiSession.scratchStorage = undefined; -}, { - description: 'Randomly fills blocks in the selection', -}); diff --git a/editorExtensions/editor-utilities/README.md b/editorExtensions/editor-utilities/README.md deleted file mode 100644 index 7f0d0f34..00000000 --- a/editorExtensions/editor-utilities/README.md +++ /dev/null @@ -1,9 +0,0 @@ -# editor-utilities - -## Description - -Utilities for editor API. - -## Credits - -These scripts were written by [Mojang](https://github.com/Mojang) diff --git a/editorExtensions/editor-utilities/index.d.ts b/editorExtensions/editor-utilities/index.d.ts deleted file mode 100644 index 6cff7ea2..00000000 --- a/editorExtensions/editor-utilities/index.d.ts +++ /dev/null @@ -1,54 +0,0 @@ -import { Vector } from "@minecraft/server"; - -/** - * Direction - * @beta - * @remarks - * Direction maps to C++ Direction::FacingID - */ -declare enum Direction { - Forward = 'Forward', - Right = 'Right', - Back = 'Back', - Left = 'Left', - Up = 'Up', - Down = 'Down', -} -/** - * getDirectionVector - * @beta - * @remarks - * Return a unit vector for a given Direction - */ -declare function getDirectionVector(direction: Direction): Vector -/** - * getScaledDirectionVector - * @beta - * @remarks - * Return a scaled vector for a given Direction - */ -declare function getScaledDirectionVector(direction: Direction, scale: number): Vector -/** - * getRotationCorrectedDirection - * @beta - * @remarks - * Convert a given absolute Direction enum to one which is relative to the specified Y rotation - * (Generally Player view vector Y component) - */ -declare function getRotationCorrectedDirection(rotationY: number, realDirection: Direction): Direction | number -/** - * getRotationCorrectedDirectionVector - * @beta - * @remarks - * Convert a given absolute Direction enum to a direction vector which is relative to the Y rotation - * (Generally Player view vector Y component) - */ -declare function getRotationCorrectedDirectionVector(rotationY: number, realDirection: Direction): Vector - -export { - Direction, - getDirectionVector, - getRotationCorrectedDirection, - getRotationCorrectedDirectionVector, - getScaledDirectionVector, -} \ No newline at end of file diff --git a/editorExtensions/editor-utilities/index.js b/editorExtensions/editor-utilities/index.js deleted file mode 100644 index d102bbb5..00000000 --- a/editorExtensions/editor-utilities/index.js +++ /dev/null @@ -1,95 +0,0 @@ -// Script example for ScriptAPI -// Author: Mojang's Editor Team -// Project: https://github.com/DarkGamerYT/Bedrock-Editor-Extension -import { Vector } from '@minecraft/server'; - - -/** - * Direction - * @beta - * @remarks - * Direction maps to C++ Direction::FacingID - */ -var Direction = { - Forward: "Forward", - Right: "Right", - Back: "Back", - Left: "Left", - Up: "Up", - Down: "Down", -}; -/** - * directionLookup - * @private - * @remarks - * Unit direction vectors representing enum Direction - * Yes, I know Left/Right are reversed here -- that's because something is wrong, and I haven't been able to track - * it down. I blame Tom's dodgy code, tbh. - */ -const directionLookup = { - [Direction.Forward]: Vector.forward, - [Direction.Right]: Vector.left, - [Direction.Back]: Vector.back, - [Direction.Left]: Vector.right, - [Direction.Up]: Vector.up, - [Direction.Down]: Vector.down, -}; -/** - * getRotationCorrectedDirection - * @beta - * @remarks - * Convert a given absolute Direction enum to one which is relative to the specified Y rotation - * (Generally Player view vector Y component) - */ -function getRotationCorrectedDirection(rotationY, realDirection) { - if (realDirection === Direction.Up || realDirection === Direction.Down) { - // Up and Down are ALWAY up and down - return realDirection; - } - // 405 is the amount to do a full circle to remove negative rotations - // Plus 45° to put the end of the first quadrant at 45 degrees. - // Modulo to lock to [0, 360], then divide to convert to [0, 1, 2, 3] indices - const directionQuadrant = Math.floor(((rotationY + 405 + realDirection * 90) % 360) / 90); - return directionQuadrant; -} -/** - * getRotationCorrectedDirectionVector - * @beta - * @remarks - * Convert a given absolute Direction enum to a direction vector which is relative to the Y rotation - * (Generally Player view vector Y component) - */ -function getRotationCorrectedDirectionVector(rotationY, realDirection) { - const relativeDirection = getRotationCorrectedDirection(rotationY, realDirection); - return directionLookup[relativeDirection]; -} -/** - * getDirectionVector - * @beta - * @remarks - * Return a unit vector for a given Direction - */ -function getDirectionVector(direction) { - return directionLookup[direction]; -} -/** - * getScaledDirectionVector - * @beta - * @remarks - * Return a scaled vector for a given Direction - */ -function getScaledDirectionVector(direction, scale) { - const vec = getDirectionVector(direction); - vec.x = vec.x * scale; - vec.y = vec.y * scale; - vec.z = vec.z * scale; - return vec; -} - -export { - Direction, - getDirectionVector, - getRotationCorrectedDirection, - getRotationCorrectedDirectionVector, - getScaledDirectionVector -} \ No newline at end of file diff --git a/editorExtensions/editor-utilities/tests.js b/editorExtensions/editor-utilities/tests.js deleted file mode 100644 index 2a89b069..00000000 --- a/editorExtensions/editor-utilities/tests.js +++ /dev/null @@ -1,16 +0,0 @@ -import * as EditorUtilities from "./index"; - -EditorUtilities.Direction.Forward -EditorUtilities.Direction.Right -EditorUtilities.Direction.Back -EditorUtilities.Direction.Left -EditorUtilities.Direction.Up -EditorUtilities.Direction.Down - -EditorUtilities.getDirectionVector(EditorUtilities.Direction.Down) - -EditorUtilities.getRotationCorrectedDirection(0, EditorUtilities.Direction.Down) - -EditorUtilities.getRotationCorrectedDirectionVector(0, EditorUtilities.Direction.Down) - -EditorUtilities.getScaledDirectionVector(EditorUtilities.Direction.Up, 15) \ No newline at end of file diff --git a/editorExtensions/entity-spawner/README.md b/editorExtensions/entity-spawner/README.md deleted file mode 100644 index ee53897f..00000000 --- a/editorExtensions/entity-spawner/README.md +++ /dev/null @@ -1,11 +0,0 @@ -# entity-spawner - -## Description - -Editor extension that spawns an entity at the selected position. - -Spawn Entity using Ctrl + E - -## Credits - -These scripts were written by [Ciosciaa](https://github.com/Ciosciaa) diff --git a/editorExtensions/entity-spawner/index.js b/editorExtensions/entity-spawner/index.js deleted file mode 100644 index dd919101..00000000 --- a/editorExtensions/entity-spawner/index.js +++ /dev/null @@ -1,71 +0,0 @@ -// Script example for ScriptAPI -// Author: Ciosciaa -// Project: https://github.com/JaylyDev/ScriptAPI -import * as server from "@minecraft/server"; -import * as editor from "@minecraft/server-editor"; -const entityTypes = [...server.EntityTypes.getAll()].map(({ id }) => id); -editor.registerEditorExtension("entitySpawner", uiSession => { - const tool = uiSession.toolRail.addTool({ - displayAltText: "Spawn Entity (Ctrl + E)", - displayStringId: "editor.toolRail.entitySpawnerTool.title", - tooltipAltText: "Spawns an entity at the selected position", - tooltipStringId: "editor.toolRail.entitySpawnerTool.description", - icon: "pack://textures/editor/entity.png?filtering=point" - }); - const currentCursorState = uiSession.extensionContext.cursor.getProperties(); - currentCursorState.outlineColor = { red: 1, green: 0, blue: 1, alpha: 1 }; - currentCursorState.controlMode = editor.CursorControlMode.KeyboardAndMouse; - currentCursorState.targetMode = editor.CursorTargetMode.Face; - currentCursorState.visible = true; - uiSession.scratchStorage = { spawnerCursorState: currentCursorState }; - tool.onModalToolActivation.subscribe(eventData => { - if (eventData.isActiveTool) - uiSession.extensionContext.cursor.setProperties(uiSession.scratchStorage.spawnerCursorState); - }); - uiSession.inputManager.registerKeyBinding(editor.EditorInputContext.GlobalToolMode, uiSession.actionManager.createAction({ - actionType: editor.ActionTypes.NoArgsAction, - onExecute: () => { - uiSession.toolRail.setSelectedOptionId(tool.id, true); - }, - }), editor.KeyboardKey.KEY_E, editor.InputModifier.Control); - const settings = { - entityType: "minecraft:creeper" - }; - const pane = uiSession.createPropertyPane({ - titleStringId: "editor.toolRail.entitySpawnerTool.pane.title", - titleAltText: "Entity Spawner Settings", - }); - const binding = editor.bindDataSource(pane, settings); - pane.addDropdown(binding, "entityType", { - titleStringId: "editor.toolRail.entitySpawnerTool.pane.controls.entityType", - titleAltText: "Entity Type", - dropdownItems: entityTypes.map((entityType, index) => ({ - value: index, - displayAltText: entityType, - displayStringId: `entity.${entityType.replace("minecraft:", "")}.name` - })) - }); - tool.bindPropertyPane(pane); - tool.registerMouseButtonBinding(uiSession.actionManager.createAction({ - actionType: editor.ActionTypes.MouseRayCastAction, - onExecute: async (mouseRay, mouseProps) => { - if (mouseProps.mouseAction === editor.MouseActionType.LeftButton) { - if (mouseProps.inputType === editor.MouseInputType.ButtonDown) { - uiSession.extensionContext.transactionManager.openTransaction("tool.spawnEntity"); - uiSession.extensionContext.selectionManager.selection.clear(); - const cursorPosition = mouseRay.cursorBlockLocation; - server.world.getDimension("minecraft:overworld").spawnEntity(settings.entityType, { - x: cursorPosition.x + 0.5, - y: cursorPosition.y, - z: cursorPosition.z + 0.5 - }); - } - else if (mouseProps.inputType === editor.MouseInputType.ButtonUp) { - uiSession.extensionContext.transactionManager.commitOpenTransaction(); - uiSession.extensionContext.selectionManager.selection.clear(); - } - } - } - })); - return []; // Likely unneeded, but untested -}, () => { }); diff --git a/editorExtensions/entity-spawner/index.ts b/editorExtensions/entity-spawner/index.ts deleted file mode 100644 index 594b855f..00000000 --- a/editorExtensions/entity-spawner/index.ts +++ /dev/null @@ -1,122 +0,0 @@ -// Script example for ScriptAPI -// Author: Ciosciaa -// Project: https://github.com/JaylyDev/ScriptAPI -import * as server from "@minecraft/server" -import * as editor from "@minecraft/server-editor" - -const entityTypes = [...server.EntityTypes.getAll()].map(({ id }) => id) - -interface ScratchStorage { - spawnerCursorState: editor.CursorProperties -} - -editor.registerEditorExtension( - "entitySpawner", - uiSession => { - const tool = uiSession.toolRail.addTool( - { - displayAltText: "Spawn Entity (Ctrl + E)", - displayStringId: "editor.toolRail.entitySpawnerTool.title", - tooltipAltText: "Spawns an entity at the selected position", - tooltipStringId: "editor.toolRail.entitySpawnerTool.description", - icon: "pack://textures/editor/entity.png?filtering=point" - } - ) - - const currentCursorState = uiSession.extensionContext.cursor.getProperties() - currentCursorState.outlineColor = { red: 1, green: 0, blue: 1, alpha: 1 } - currentCursorState.controlMode = editor.CursorControlMode.KeyboardAndMouse - currentCursorState.targetMode = editor.CursorTargetMode.Face - currentCursorState.visible = true - uiSession.scratchStorage = { spawnerCursorState: currentCursorState } - - tool.onModalToolActivation.subscribe( - eventData => { - if (eventData.isActiveTool) uiSession.extensionContext.cursor.setProperties(uiSession.scratchStorage.spawnerCursorState) - } - ) - - uiSession.inputManager.registerKeyBinding( - editor.EditorInputContext.GlobalToolMode, - uiSession.actionManager.createAction( - { - actionType: editor.ActionTypes.NoArgsAction, - onExecute: () => { - uiSession.toolRail.setSelectedOptionId(tool.id, true) - }, - } - ), - editor.KeyboardKey.KEY_E, - editor.InputModifier.Control - ) - - const settings = { - entityType: "minecraft:creeper" - } - - const pane = uiSession.createPropertyPane( - { - titleStringId: "editor.toolRail.entitySpawnerTool.pane.title", - titleAltText: "Entity Spawner Settings", - } - ) - - const binding = editor.bindDataSource( - pane, - settings - ) - - pane.addDropdown( - binding, - "entityType", - { - titleStringId: "editor.toolRail.entitySpawnerTool.pane.controls.entityType", - titleAltText: "Entity Type", - dropdownItems: entityTypes.map( - (entityType, index) => ( - { - value: index, - displayAltText: entityType, - displayStringId: `entity.${entityType.replace("minecraft:", "")}.name` - } - ) - ) - } - ) - tool.bindPropertyPane(pane) - - tool.registerMouseButtonBinding( - uiSession.actionManager.createAction( - { - actionType: editor.ActionTypes.MouseRayCastAction, - onExecute: - async (mouseRay, mouseProps) => { - if (mouseProps.mouseAction === editor.MouseActionType.LeftButton) { - if (mouseProps.inputType === editor.MouseInputType.ButtonDown) { - uiSession.extensionContext.transactionManager.openTransaction("tool.spawnEntity") - uiSession.extensionContext.selectionManager.selection.clear() - - const cursorPosition = mouseRay.cursorBlockLocation - server.world.getDimension("minecraft:overworld").spawnEntity( - settings.entityType, - { - x: cursorPosition.x + 0.5, - y: cursorPosition.y, - z: cursorPosition.z + 0.5 - } - ) - } - else if (mouseProps.inputType === editor.MouseInputType.ButtonUp) { - uiSession.extensionContext.transactionManager.commitOpenTransaction() - uiSession.extensionContext.selectionManager.selection.clear() - } - } - } - } - ) - ) - - return [] // Likely unneeded, but untested - }, - () => { } -) \ No newline at end of file diff --git a/editorExtensions/jsconfig.json b/editorExtensions/jsconfig.json deleted file mode 100644 index 48758431..00000000 --- a/editorExtensions/jsconfig.json +++ /dev/null @@ -1,11 +0,0 @@ -{ - "extends": "../tsconfig-base.json", - "compilerOptions": { - "baseUrl": "./", - "allowJs": true, - "checkJs": true, - "noEmit": true - }, - "include": ["**/*.ts", "**/*.js"], - "exclude": [] -} \ No newline at end of file diff --git a/editorExtensions/tsconfig.json b/editorExtensions/tsconfig.json deleted file mode 100644 index 724f512c..00000000 --- a/editorExtensions/tsconfig.json +++ /dev/null @@ -1,8 +0,0 @@ -{ - "extends": "../tsconfig-base.json", - "compilerOptions": { - "baseUrl": "./", - }, - "include": ["**/*.ts", "**/*.js"], - "exclude": [] -} \ No newline at end of file diff --git a/package-lock.json b/package-lock.json index 211f510f..2f0d1950 100644 --- a/package-lock.json +++ b/package-lock.json @@ -9,9 +9,9 @@ "version": "1.0.0", "license": "MIT", "dependencies": { - "@minecraft/server": "^1.6.0-rc.1.20.40-preview.24", + "@minecraft/server": "^1.7.0-rc.1.20.50-preview.21", "@minecraft/server-ui": "^1.1.0", - "@minecraft/vanilla-data": "^1.20.40-preview.24" + "@minecraft/vanilla-data": "^1.20.50-preview.21" }, "devDependencies": { "@npm/types": "^1.0.2", @@ -29,16 +29,16 @@ "license": "MIT" }, "node_modules/@minecraft/common": { - "version": "1.0.0-rc.1.20.40-preview.24", - "resolved": "https://registry.npmjs.org/@minecraft/common/-/common-1.0.0-rc.1.20.40-preview.24.tgz", - "integrity": "sha512-ihE6KxIX3Q34wuJtoMFIy9lRHnp+IZOQHuUQsanLMPR8C80nDSmewD8lM2bK7PSZQkMOBE1aLLLyHYq3xV+ydg==" + "version": "1.1.0-rc.1.20.50-preview.21", + "resolved": "https://registry.npmjs.org/@minecraft/common/-/common-1.1.0-rc.1.20.50-preview.21.tgz", + "integrity": "sha512-iz6/bw2e4i51YyvyV2NN+Sn9FTNJNbGMNJI9IZ/565zv8IYNpjgJBMAZ5JQZT9LP3Zex8XfBhVU8NkocHetN9w==" }, "node_modules/@minecraft/server": { - "version": "1.6.0-rc.1.20.40-preview.24", - "resolved": "https://registry.npmjs.org/@minecraft/server/-/server-1.6.0-rc.1.20.40-preview.24.tgz", - "integrity": "sha512-nqfKye0jilDMBhVRGv/YG7h+UMaA1sOjDOuJIG7vX7sQx8eurj3fJFpJfZT9cwArSxbAEXKfddDvaSSHbbKJnw==", + "version": "1.7.0-rc.1.20.50-preview.21", + "resolved": "https://registry.npmjs.org/@minecraft/server/-/server-1.7.0-rc.1.20.50-preview.21.tgz", + "integrity": "sha512-Oubddz8HgMYcqbMRjgG1O8FawdncgbhJA4VoOUbaORgI+GlN1RkH+JLgzk5k+2p+ZsKJLQbG+A4eOZIY2FK3ZA==", "dependencies": { - "@minecraft/common": "^1.0.0-rc.1.20.40-preview.24" + "@minecraft/common": "^1.1.0-rc.1.20.50-preview.21" } }, "node_modules/@minecraft/server-ui": { @@ -50,9 +50,9 @@ } }, "node_modules/@minecraft/vanilla-data": { - "version": "1.20.40-preview.24", - "resolved": "https://registry.npmjs.org/@minecraft/vanilla-data/-/vanilla-data-1.20.40-preview.24.tgz", - "integrity": "sha512-Q7dc6MQPRWNBMVemc7L7yh2p+/UM2o01egjN29pLhJt9yh1RKIe13JMQf92STGX0SnizZV4u0Fm3iIthEuJOrA==" + "version": "1.20.50-preview.21", + "resolved": "https://registry.npmjs.org/@minecraft/vanilla-data/-/vanilla-data-1.20.50-preview.21.tgz", + "integrity": "sha512-2tAwlJ1zKJronmI2ecXymg76pflDADv2xyVRe/IYslhqWlS/UH7RDArphix7jHWhsfyrRllDUHWygCkCApBibw==" }, "node_modules/@npm/types": { "version": "1.0.2", @@ -193,16 +193,16 @@ }, "dependencies": { "@minecraft/common": { - "version": "1.0.0-rc.1.20.40-preview.24", - "resolved": "https://registry.npmjs.org/@minecraft/common/-/common-1.0.0-rc.1.20.40-preview.24.tgz", - "integrity": "sha512-ihE6KxIX3Q34wuJtoMFIy9lRHnp+IZOQHuUQsanLMPR8C80nDSmewD8lM2bK7PSZQkMOBE1aLLLyHYq3xV+ydg==" + "version": "1.1.0-rc.1.20.50-preview.21", + "resolved": "https://registry.npmjs.org/@minecraft/common/-/common-1.1.0-rc.1.20.50-preview.21.tgz", + "integrity": "sha512-iz6/bw2e4i51YyvyV2NN+Sn9FTNJNbGMNJI9IZ/565zv8IYNpjgJBMAZ5JQZT9LP3Zex8XfBhVU8NkocHetN9w==" }, "@minecraft/server": { - "version": "1.6.0-rc.1.20.40-preview.24", - "resolved": "https://registry.npmjs.org/@minecraft/server/-/server-1.6.0-rc.1.20.40-preview.24.tgz", - "integrity": "sha512-nqfKye0jilDMBhVRGv/YG7h+UMaA1sOjDOuJIG7vX7sQx8eurj3fJFpJfZT9cwArSxbAEXKfddDvaSSHbbKJnw==", + "version": "1.7.0-rc.1.20.50-preview.21", + "resolved": "https://registry.npmjs.org/@minecraft/server/-/server-1.7.0-rc.1.20.50-preview.21.tgz", + "integrity": "sha512-Oubddz8HgMYcqbMRjgG1O8FawdncgbhJA4VoOUbaORgI+GlN1RkH+JLgzk5k+2p+ZsKJLQbG+A4eOZIY2FK3ZA==", "requires": { - "@minecraft/common": "^1.0.0-rc.1.20.40-preview.24" + "@minecraft/common": "^1.1.0-rc.1.20.50-preview.21" } }, "@minecraft/server-ui": { @@ -210,13 +210,13 @@ "resolved": "https://registry.npmjs.org/@minecraft/server-ui/-/server-ui-1.1.0.tgz", "integrity": "sha512-Gnf+GHjjT4VFoXEt7qjrfDRipDgc93YcXbgTmdPTQ5Og3DIRD003ahH97tGMZmeNdsB+ymvAquf+o2o9W2pDjw==", "requires": { - "@minecraft/server": "^1.6.0-rc.1.20.40-preview.24" + "@minecraft/server": "^1.7.0-rc.1.20.50-preview.21" } }, "@minecraft/vanilla-data": { - "version": "1.20.40-preview.24", - "resolved": "https://registry.npmjs.org/@minecraft/vanilla-data/-/vanilla-data-1.20.40-preview.24.tgz", - "integrity": "sha512-Q7dc6MQPRWNBMVemc7L7yh2p+/UM2o01egjN29pLhJt9yh1RKIe13JMQf92STGX0SnizZV4u0Fm3iIthEuJOrA==" + "version": "1.20.50-preview.21", + "resolved": "https://registry.npmjs.org/@minecraft/vanilla-data/-/vanilla-data-1.20.50-preview.21.tgz", + "integrity": "sha512-2tAwlJ1zKJronmI2ecXymg76pflDADv2xyVRe/IYslhqWlS/UH7RDArphix7jHWhsfyrRllDUHWygCkCApBibw==" }, "@npm/types": { "version": "1.0.2", diff --git a/scripts/commands/index.ts b/scripts/commands/index.ts index 4a58c81c..0745dd57 100644 --- a/scripts/commands/index.ts +++ b/scripts/commands/index.ts @@ -65,40 +65,4 @@ export class Commands { if (target instanceof Dimension || Entity) return await target.runCommandAsync(commandString); else throw TypeError("Native type conversion failed"); }; - - /** - * @remarks - * Registers a new custom command. This command will become - * available in Minecraft via [prefix][command]. - * @param prefix - * The prefix of this specific command. (Case sensitive) - * @param command - * Name of this specific command. (Case sensitive) - * @param commandFunction - * Implementation of the command function. - * @throws - * This function can throw error: You are not allow to register a new slash command. - * @example example1.js - * ```typescript - * Commands.register("!", "test", function (arg) { - * arg.player.runCommandAsync(`say ${arg.argv0} ${JSON.stringify([...arg.argv])}`); - * }); - * ``` - */ - public static register (prefix: string, command: string, commandFunction: (arg: Command) => void): void { - if (prefix.startsWith("/")) throw Error ("Unable to register slash commands."); - world.beforeEvents.chatSend.subscribe((arg) => { - var argv = arg.message.split(/(".*?"|[^"\s]+)+(?=\s*|\s*$)/g).filter( e => e.trim().length > 0); - if (argv[0] === `${prefix}${command}`) { - arg.cancel = true; - try { - commandFunction(new Command(argv, arg.sender)); - } catch (err) { - let { statusMessage } = JSON.parse(err); - console.error(err); - arg.sender.sendMessage(`§c${statusMessage}`); - }; - }; - }); - }; }; diff --git a/scripts/commands/readme.md b/scripts/commands/readme.md index 49e5e8da..91fe6455 100644 --- a/scripts/commands/readme.md +++ b/scripts/commands/readme.md @@ -39,18 +39,4 @@ Commands.runAsync("scoreboard players add @a score 1"); ### Commands.register -Registers a new custom command. This command will become available in Minecraft via [prefix][command]. - -```ts -Commands.register(prefix: string, command: string, commandFunction: (arg: Command) => void): void -``` - -```js -import { Commands } from "./index.js"; - -// original Commands.run command -Commands.register("!", "testCommand", (data) => { - data.player.addTag('hello'); - Commands.run(`say ${[...data.argv]}`, world.getDimension("overworld"); -}); -``` +> :warning: Deprecated. Use https://www.npmjs.com/package/chatsend instead. diff --git a/scripts/commands/tests.ts b/scripts/commands/tests.ts index ee269f7a..199cb7e3 100644 --- a/scripts/commands/tests.ts +++ b/scripts/commands/tests.ts @@ -4,8 +4,4 @@ let timerB = Date.now(); Commands.runAsync("say Hello World in async"); console.warn(`Commands.runAsync time: ${Date.now() - timerB} ms`); -Commands.register("#", "sayhi", function (res) { - res.player.runCommandAsync(`say hi ${[...res.argv].join(", ")}`); -}); - console.log("End of test"); \ No newline at end of file diff --git a/scripts/custom-enchantments/README.md b/scripts/custom-enchantments/README.md deleted file mode 100644 index 821814d8..00000000 --- a/scripts/custom-enchantments/README.md +++ /dev/null @@ -1,9 +0,0 @@ -# custom-enchantments - -## Description - -Custom enchantments - -## Credits - -These scripts were written by [iBlqzed](https://github.com/iBlqzed) diff --git a/scripts/custom-enchantments/index.d.ts b/scripts/custom-enchantments/index.d.ts deleted file mode 100644 index c1d17d42..00000000 --- a/scripts/custom-enchantments/index.d.ts +++ /dev/null @@ -1,55 +0,0 @@ -// Script example for ScriptAPI -// Author: iBlqzed -// Project: https://github.com/JaylyDev/ScriptAPI -import { Player, ItemStack, Entity, Block, BlockPermutation } from "@minecraft/server"; -export declare class Enchant { - protected id: string; - constructor(info: EnchantInfo); - onHit(callback: (data: { - player: Player; - level: number; - hitEntity?: Entity; - hitBlock?: Block; - item: ItemStack; - }) => void): void; - onHurt(callback: (data: { - player: Player; - level: number; - hurtEntity: Entity; - damage: number; - item: ItemStack; - }) => void): void; - onRightClick(callback: (data: { - player: Player; - level: number; - item: ItemStack; - }) => void): void; - onRightClickOn(callback: (data: { - player: Player; - level: number; - block: Block; - item: ItemStack; - }) => void): void; - onBlockBreak(callback: (data: { - player: Player; - level: number; - block: Block; - brokenBlockPermutation: BlockPermutation; - item: ItemStack; - }) => void): void; -} -export declare function addEnchant(item: ItemStack, ench: string, level?: number): void; -export declare function removeEnchant(item: ItemStack, ench: string): void; -export declare function getEnchants(item: ItemStack): ItemEnchant[]; -interface EnchantInfo { - name: string; - display?: string; - maxLevel?: number; - itemCatagory?: ItemCatagory; -} -declare type ItemEnchant = { - name: string; - level: number; -}; -declare type ItemCatagory = "sword" | "bow" | "pickaxe" | "axe" | "shovel" | "hoe" | "any"; -export {}; \ No newline at end of file diff --git a/scripts/custom-enchantments/index.js b/scripts/custom-enchantments/index.js deleted file mode 100644 index 964eb3f7..00000000 --- a/scripts/custom-enchantments/index.js +++ /dev/null @@ -1,246 +0,0 @@ -// Script example for ScriptAPI -// Author: iBlqzed -// Project: https://github.com/JaylyDev/ScriptAPI -const itemTypes = { - sword: [ - "minecraft:wooden_sword", - "minecraft:stone_sword", - "minecraft:iron_sword", - "minecraft:gold_sword", - "minecraft:diamond_sword", - "minecraft:netherrite_sword" - ], - bow: [ - "minecraft:bow" - ], - pickaxe: [ - "minecraft:wooden_pickaxe", - "minecraft:stone_pickaxe", - "minecraft:iron_pickaxe", - "minecraft:gold_pickaxe", - "minecraft:diamond_pickaxe", - "minecraft:netherrite_pickaxe" - ], - axe: [ - "minecraft:wooden_axe", - "minecraft:stone_axe", - "minecraft:iron_axe", - "minecraft:gold_axe", - "minecraft:diamond_axe", - "minecraft:netherrite_axe" - ], - shovel: [ - "minecraft:wooden_shovel", - "minecraft:stone_shovel", - "minecraft:iron_shovel", - "minecraft:gold_shovel", - "minecraft:diamond_shovel", - "minecraft:netherrite_shovel" - ], - hoe: [ - "minecraft:wooden_hoe", - "minecraft:stone_hoe", - "minecraft:iron_hoe", - "minecraft:gold_hoe", - "minecraft:diamond_hoe", - "minecraft:netherrite_hoe" - ] -}; -import { Container } from "@minecraft/server"; -import { world, Player } from "@minecraft/server"; -const enchants = {}; -const names = {}; -export class Enchant { - constructor(info) { - enchants[info.name] = { - name: info.name, - display: "§r§7" + (info.display ?? info.name), - maxLevel: info.maxLevel ?? 32767, - itemCatagory: info.itemCatagory ?? "any" - }; - names["§r§7" + (info.display ?? info.name)] = info.name; - this.id = info.name; - } - onHit(callback) { - enchants[this.id].hit = callback; - } - onHurt(callback) { - enchants[this.id].hurt = callback; - } - onRightClick(callback) { - enchants[this.id].rightClick = callback; - } - onRightClickOn(callback) { - enchants[this.id].rightClickBlock = callback; - } - onBlockBreak(callback) { - enchants[this.id].blockBreak = callback; - } -} -export function addEnchant(item, ench, level = 1) { - if (!(ench in enchants)) - return; - //@ts-ignore - if (enchants[ench].itemCatagory !== "any" && (!itemTypes[enchants[ench].itemCatagory].includes(item.typeId))) - throw new Error(`The enchant ${enchants[ench].name} isn't allowed on item ${item.typeId}!`); - //@ts-ignore - const lore = item.getLore(); - const index = lore.findIndex(e => names[e.split(" ")[0]] === ench); - if (index === -1) - lore.push(`${enchants[ench].display} ${toRomanNumeral(level)}`); - else - lore[index] = `${enchants[ench].display} ${toRomanNumeral(level)}`; - item.setLore(lore); -} -export function removeEnchant(item, ench) { - if (!(ench in enchants)) - return; - const lore = item.getLore(); - item.setLore(lore.filter(e => !e.startsWith(enchants[ench].display))); -} -export function getEnchants(item) { - return item.getLore().filter(lore => names[lore.split(" ")[0]]).map(lore => { return { name: names[lore.split(" ")[0]], level: romanToInt(lore.split(" ")[1]) }; }); -} -world.afterEvents.entityHitBlock.subscribe(({ damagingEntity, hitBlock }) => { - if (damagingEntity instanceof Player) { - /** - * @type {Container} - */ - //@ts-ignore - const inv = entity.getComponent("inventory").container; - const item = inv.getItem(damagingEntity.selectedSlot); - if (!item) - return; - const itemEnchants = item.getLore().map(lore => { return { data: enchants[names[lore.split(" ")[0]]], lore }; }); - itemEnchants.forEach((e) => { - if (e.data?.hit) { - e.data.hit({ player: damagingEntity, level: romanToInt(e.lore.slice(e.data.display.length + 1)), hitBlock, item }); - } - }); - } -}); -world.afterEvents.entityHitEntity.subscribe(({ damagingEntity, hitEntity }) => { - if (damagingEntity instanceof Player) { - /** - * @type {Container} - */ - //@ts-ignore - const inv = entity.getComponent("inventory").container; - const item = inv.getItem(damagingEntity.selectedSlot); - if (!item) - return; - const itemEnchants = item.getLore().map(lore => { return { data: enchants[names[lore.split(" ")[0]]], lore }; }); - itemEnchants.forEach((e) => { - if (e.data?.hit) { - e.data.hit({ player: damagingEntity, level: romanToInt(e.lore.slice(e.data.display.length + 1)), hitEntity, item }); - } - }); - } -}); -world.afterEvents.entityHurt.subscribe(({ hurtEntity, damageSource, damage }) => { - if (!damageSource) return; - if (damageSource.damagingEntity instanceof Player) { - /** - * @type {Container} - */ - //@ts-ignore - const inv = damagingEntity.getComponent("inventory").container; - const item = inv.getItem(damageSource.damagingEntity.selectedSlot); - if (!item) - return; - const itemEnchants = item.getLore().map(lore => { return { data: enchants[names[lore.split(" ")[0]]], lore }; }); - itemEnchants.forEach((e) => { - if (e.data?.hurt) { - e.data.hurt({ player: damageSource.damagingEntity, level: romanToInt(e.lore.slice(e.data.display.length + 1)), hurtEntity, damage, item }); - } - }); - } -}); -world.beforeEvents.itemUse.subscribe(({ source, itemStack }) => { - if (source instanceof Player) { - const itemEnchants = itemStack.getLore().map(lore => { return { data: enchants[names[lore.split(" ")[0]]], lore }; }); - itemEnchants.forEach((e) => { - if (e.data?.rightClick) { - e.data.rightClick({ player: source, level: romanToInt(e.lore.slice(e.data.display.length + 1)), itemStack }); - } - }); - } -}); -world.beforeEvents.itemUseOn.subscribe((event) => { - if (event.source instanceof Player) { - const itemEnchants = event.itemStack.getLore().map(lore => { return { data: enchants[names[lore.split(" ")[0]]], lore }; }); - itemEnchants.forEach((e) => { - if (e.data?.rightClickBlock) - e.data.rightClickBlock({ player: event.source, level: romanToInt(e.lore.slice(e.data.display.length + 1)), item: event.itemStack, block: event.source.dimension.getBlock(event.faceLocation) }); - }); - } -}); -world.afterEvents.playerBreakBlock.subscribe(({ player, block, brokenBlockPermutation }) => { - - /** - * @type {Container} - */ - //@ts-ignore - const inv = player.getComponent("inventory").container; - const item = inv.getItem(player.selectedSlot); - if (!item) - return; - const itemEnchants = item.getLore().map(lore => { return { data: enchants[names[lore.split(" ")[0]]], lore }; }); - itemEnchants.forEach((e) => { - if (e.data?.blockBreak) - e.data.blockBreak({ player, level: romanToInt(e.lore.slice(e.data.display.length + 1)), item, block, brokenBlockPermutation }); - }); -}); -function toRomanNumeral(num) { - if (isNaN(num)) - return NaN; - var digits = String(+num).split(""), key = ["", "C", "CC", "CCC", "CD", "D", "DC", "DCC", "DCCC", "CM", - "", "X", "XX", "XXX", "XL", "L", "LX", "LXX", "LXXX", "XC", - "", "I", "II", "III", "IV", "V", "VI", "VII", "VIII", "IX"], roman = "", i = 3; - while (i--) - roman = (key[+digits.pop() + (i * 10)] || "") + roman; - return Array(+digits.join("") + 1).join("M") + roman; -} -const romanHash = { - I: 1, - V: 5, - X: 10, - L: 50, - C: 100, - D: 500, - M: 1000 -}; -function romanToInt(s) { - let accumulator = 0; - for (let i = 0; i < s.length; i++) { - if (s[i] === "I" && s[i + 1] === "V") { - accumulator += 4; - i++; - } - else if (s[i] === "I" && s[i + 1] === "X") { - accumulator += 9; - i++; - } - else if (s[i] === "X" && s[i + 1] === "L") { - accumulator += 40; - i++; - } - else if (s[i] === "X" && s[i + 1] === "C") { - accumulator += 90; - i++; - } - else if (s[i] === "C" && s[i + 1] === "D") { - accumulator += 400; - i++; - } - else if (s[i] === "C" && s[i + 1] === "M") { - accumulator += 900; - i++; - } - else { - //@ts-ignore - accumulator += romanHash[s[i]]; - } - } - return accumulator; -} diff --git a/scripts/custom-enchantments/test2.js b/scripts/custom-enchantments/test2.js deleted file mode 100644 index 21697ece..00000000 --- a/scripts/custom-enchantments/test2.js +++ /dev/null @@ -1,28 +0,0 @@ -// Script examples for ScriptAPI -// Author: Jayly#1397 -// Project: https://github.com/JaylyDev/ScriptAPI -// https://github.com/JaylyDev/ScriptAPI/issues/112 - -import { Container, world } from "@minecraft/server" -import { addEnchant, Enchant } from "./index" - -const bleedEnchant = new Enchant({ - name: "bleed", - display: "§cBleed" -}) - -bleedEnchant.onHurt(data => { - data.hurtEntity.runCommandAsync(`say testeo`) - world.sendMessage("hello world") -}) - -world.beforeEvents.chatSend.subscribe(data => { - /** - * @type {Container} - */ - //@ts-ignore - const inv = data.sender.getComponent("inventory").container - const item = inv.getItem(data.sender.selectedSlot) - addEnchant(item, 'bleed', 5) - inv.setItem(data.sender.selectedSlot, item) -}) diff --git a/scripts/custom-enchantments/tests.js b/scripts/custom-enchantments/tests.js deleted file mode 100644 index c527373e..00000000 --- a/scripts/custom-enchantments/tests.js +++ /dev/null @@ -1,22 +0,0 @@ -import { Container, world } from "@minecraft/server" -import { addEnchant, Enchant } from "./index" - -const bleedEnchant = new Enchant({ - name: "bleed", - display: "§cBleed" -}) - -bleedEnchant.onHurt(data => { - data.hurtEntity.runCommandAsync(`damage @s 2`) -}) - -world.beforeEvents.chatSend.subscribe(data => { - /** - * @type {Container} - */ - //@ts-ignore - const inv = data.sender.getComponent("inventory").container - const item = inv.getItem(data.sender.selectedSlot) - addEnchant(item, 'bleed', 5) - inv.setItem(data.sender.selectedSlot, item) -}) diff --git a/scripts/delete-command-blocks/LICENSE b/scripts/delete-command-blocks/LICENSE deleted file mode 100644 index 14747b4d..00000000 --- a/scripts/delete-command-blocks/LICENSE +++ /dev/null @@ -1,21 +0,0 @@ -MIT License - -Copyright (c) 2022 JaylyDev - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. diff --git a/scripts/delete-command-blocks/README.md b/scripts/delete-command-blocks/README.md deleted file mode 100644 index c3dd9a69..00000000 --- a/scripts/delete-command-blocks/README.md +++ /dev/null @@ -1,9 +0,0 @@ -# delete-command-blocks - -## Description - -Delete command blocks all around the world. - -## Credits - -These scripts were written by [JaylyDev](https://github.com/JaylyDev) diff --git a/scripts/delete-command-blocks/index.js b/scripts/delete-command-blocks/index.js deleted file mode 100644 index f55e18b8..00000000 --- a/scripts/delete-command-blocks/index.js +++ /dev/null @@ -1,34 +0,0 @@ -// Script example for ScriptAPI -// Author: JaylyDev -// Project: https://github.com/JaylyDev/ScriptAPI -import { world, system, BlockPermutation } from "@minecraft/server"; -import { MinecraftBlockTypes } from "@minecraft/vanilla-data"; - -const commandBlocks = [ - MinecraftBlockTypes.CommandBlock, - MinecraftBlockTypes.ChainCommandBlock, - MinecraftBlockTypes.RepeatingCommandBlock -]; - -function DeleteCommandBlocks () { - for (const player of world.getPlayers()) { - for (let commandBlock of commandBlocks) { - for (let index = 0; index < (384 / 32); index++) { - const { x, z } = player.location; - const y = index * 32 - 64; - - player.dimension.fillBlocks({ - x: x - 15, - y: y, - z: z - 15, - }, { - x: x + 16, - y: y + 31, - z: z + 16, - }, MinecraftBlockTypes.Air, { matchingBlock: BlockPermutation.resolve(commandBlock) }); - } - }; - }; -}; - -system.runInterval(DeleteCommandBlocks); \ No newline at end of file diff --git a/scripts/fill-blocks/README.md b/scripts/fill-blocks/README.md deleted file mode 100644 index 3ec9c10b..00000000 --- a/scripts/fill-blocks/README.md +++ /dev/null @@ -1,34 +0,0 @@ -# fill-blocks - -## Description - -Fills an area between begin and end with block of type block, with no fill limit of 32768. - -### Parameters - -- `dimension` Dimension to fill blocks in. -- `begin` The lower northwest starting corner of the area. -- `end` The upper southeast ending corner of the area. -- `block` Type of block to fill the volume with. -- `options` A set of additional options, such as a matching block to potentially replace this fill block with. - -### returns - -Number of blocks filled - -### example - -`fillBlocks.js` - -```js -fillBlocks( - world.getDimension("overworld"), - { x, y, z }, - { x: x + 10000, y: y + 10, z: z + 100 }, - MinecraftBlockTypes.stone -); -``` - -## Credits - -These scripts were written by Jayly#1397 on Jayly Discord diff --git a/scripts/fill-blocks/index.js b/scripts/fill-blocks/index.js deleted file mode 100644 index cb1ba323..00000000 --- a/scripts/fill-blocks/index.js +++ /dev/null @@ -1,65 +0,0 @@ -// Script example for ScriptAPI -// Author: Jayly#1397 -// Project: https://github.com/JaylyDev/ScriptAPI -import { BlockVolumeUtils } from "@minecraft/server"; -const MAX_BLOCKS_SINGLE_FILL = 32768; -/** - * Fetch a `Iterable` that represents all of - * 3D rectangle of a given size (in blocks) at a - * world block location within the specified volume - * @private - */ -function* getBlockVolumeIterator(volume, delta) { - const box = BlockVolumeUtils.getBoundingBox(volume); - const blockVolume = { from: box.min, to: box.max }; - const span = BlockVolumeUtils.getSpan(blockVolume); - for (let x = 0; x < span.x; x += delta) { - for (let y = 0; y < span.y; y += delta) { - for (let z = 0; z < span.z; z += delta) { - const part = BlockVolumeUtils.translate({ - from: { x, y, z }, - to: { x: x + delta - 1, y: y + delta - 1, z: z + delta - 1 } - }, blockVolume.from); - part.to = BlockVolumeUtils.getMin({ from: part.to, to: blockVolume.to }); - yield part; - } - } - } - ; -} -; -/** - * Fills an area between begin and end with block of type block, with no fill limit of 32768. - * @param dimension Dimension to fill blocks in. - * @param begin The lower northwest starting corner of the area. - * @param end The upper southeast ending corner of the area. - * @param block Type of block to fill the volume with. - * @param options A set of additional options, such as a matching block to potentially replace this fill block with. - * @returns Number of blocks filled - * @example fillBlocks.js - * ```js - * fillBlocks(world.getDimension("overworld"), { x, y, z }, { x: x + 10000, y: y + 10, z: z + 100 }, MinecraftBlockTypes.stone); - * ``` - */ -export function fillBlocks(dimension, begin, end, block, options) { - // Check if block volume is greater than 32768, if not return native fillblocks - const volume = { from: begin, to: end }; - if (BlockVolumeUtils.getCapacity(volume) <= MAX_BLOCKS_SINGLE_FILL) { - return dimension.fillBlocks(begin, end, block, options); - } - ; - let blocksFilled = 0; - for (const { from, to } of getBlockVolumeIterator(volume, 32)) { - try { - blocksFilled += dimension.fillBlocks(from, to, block, options); - } - catch (error) { - // custom error message - if (!(error instanceof Error)) - throw error; - console.error(`${error.message} between ${Object.values(from).join(', ')} and ${Object.values(to).join(', ')}`); - } - } - return blocksFilled; -} -; diff --git a/scripts/fill-blocks/index.ts b/scripts/fill-blocks/index.ts deleted file mode 100644 index eb8d00a8..00000000 --- a/scripts/fill-blocks/index.ts +++ /dev/null @@ -1,66 +0,0 @@ -// Script example for ScriptAPI -// Author: Jayly#1397 -// Project: https://github.com/JaylyDev/ScriptAPI -import { BlockFillOptions, BlockPermutation, BlockType, Dimension, Vector3, BlockVolumeUtils, BlockVolume } from "@minecraft/server"; - -const MAX_BLOCKS_SINGLE_FILL = 32768; - -/** - * Fetch a `Iterable` that represents all of - * 3D rectangle of a given size (in blocks) at a - * world block location within the specified volume - * @private - */ -function* getBlockVolumeIterator (volume: BlockVolume, delta: number): Iterable { - const box = BlockVolumeUtils.getBoundingBox(volume); - const blockVolume: BlockVolume = { from: box.min, to: box.max }; - const span = BlockVolumeUtils.getSpan(blockVolume); - - for (let x = 0; x < span.x; x += delta) { - for (let y = 0; y < span.y; y += delta) { - for (let z = 0; z < span.z; z += delta) { - const part = BlockVolumeUtils.translate({ - from: { x, y, z }, - to: { x: x + delta - 1, y: y + delta - 1, z: z + delta - 1 } - }, blockVolume.from); - part.to = BlockVolumeUtils.getMin({ from: part.to, to: blockVolume.to }); - - yield part; - } - } - }; -}; -/** - * Fills an area between begin and end with block of type block, with no fill limit of 32768. - * @param dimension Dimension to fill blocks in. - * @param begin The lower northwest starting corner of the area. - * @param end The upper southeast ending corner of the area. - * @param block Type of block to fill the volume with. - * @param options A set of additional options, such as a matching block to potentially replace this fill block with. - * @returns Number of blocks filled - * @example fillBlocks.js - * ```js - * fillBlocks(world.getDimension("overworld"), { x, y, z }, { x: x + 10000, y: y + 10, z: z + 100 }, MinecraftBlockTypes.stone); - * ``` - */ -export function fillBlocks(dimension: Dimension, begin: Vector3, end: Vector3, block: BlockPermutation | BlockType, options?: BlockFillOptions): number { - // Check if block volume is greater than 32768, if not return native fillblocks - const volume: BlockVolume = { from: begin, to: end }; - if (BlockVolumeUtils.getCapacity(volume) <= MAX_BLOCKS_SINGLE_FILL) { - return dimension.fillBlocks(begin, end, block, options); - }; - - let blocksFilled = 0; - for (const { from, to } of getBlockVolumeIterator(volume, 32)) { - try { - blocksFilled += dimension.fillBlocks(from, to, block, options); - } - catch (error) { - // custom error message - if (!(error instanceof Error)) throw error; - console.error(`${error.message} between ${Object.values(from).join(', ')} and ${Object.values(to).join(', ')}`); - } - } - - return blocksFilled; -}; diff --git a/scripts/force-show/tests.js b/scripts/force-show/tests.js index 366a2bed..c0f0ff10 100644 --- a/scripts/force-show/tests.js +++ b/scripts/force-show/tests.js @@ -12,7 +12,7 @@ world.beforeEvents.chatSend.subscribe(async (event) => { modalForm.title('Title'); modalForm.dropdown('Dropdown', ['0','1']); - const response = await forceShow(event.sender, modalForm); + const response = await forceShow(event.initiator, modalForm); // response should be ModalFormResponse for (const value of response.formValues) { @@ -53,10 +53,12 @@ system.run(async function () { }); // test timeout feature -world.afterEvents.chatSend.subscribe((event) => { - const { sender, message } = event; +system.afterEvents.scriptEventReceive.subscribe((event) => { + const { initiator, message } = event; - forceShow(sender, new MessageFormData().title('Title').body(message), 10).then((res) => { + if (!(initiator instanceof Player)) return; + + forceShow(initiator, new MessageFormData().title('Title').body(message), 10).then((res) => { console.log('Success'); - }).catch(console.error); + }); }); \ No newline at end of file diff --git a/scripts/get-effects/README.md b/scripts/get-effects/README.md deleted file mode 100644 index 8f50a451..00000000 --- a/scripts/get-effects/README.md +++ /dev/null @@ -1,31 +0,0 @@ -# GetEffects - -Return list of object contain `EffectType` class and `Effecf` class. This will allow us to get the effect identifier when `Effect` class doesn't have `typeId` property. - -## How to use? - -```js -import { system } from "@minecraft/server"; -import getEffects from "./getEffects"; - -// Check if player has absorbtion effect -system.runInterval(() => { - for (const player of world.getPlayers()) { - const absorbtion = getEffects(player) - .find((eff) => eff.effectType.getName() === "minecraft:absorbtion"); - if (!absorbtion) continue; - - console.warn(`${player.name} has absorbtion`) - } -}, 20) -``` - -## Properties - -- `effectType: EffectType` - Get effect identifier - `return`: [EffectType](https://learn.microsoft.com/en-us/minecraft/creator/scriptapi/minecraft/server/effecttype) - -- `effect: Effect` - Get effect amplifier and duration - `return`: [Effect](https://learn.microsoft.com/en-us/minecraft/creator/scriptapi/minecraft/server/effect) diff --git a/scripts/get-effects/index.js b/scripts/get-effects/index.js deleted file mode 100644 index 7d54b65a..00000000 --- a/scripts/get-effects/index.js +++ /dev/null @@ -1,34 +0,0 @@ -// Script example for ScriptAPI -// Author: FrankyRayMS -// Project: https://github.com/JaylyDev/ScriptAPI - -import { - /* Typings only */ - Entity, - Player, - Effect, - EffectType, - EffectTypes -} from "@minecraft/server"; - -/** - * Get every effect from the entity - * - * @param {Entity|Player} entity - * Entity or Player class - * - * @return {{ effectType: EffectType, effect: Effect }[]} - */ -export function getEffects(entity) { - const effectList = []; - for (const eff of EffectTypes.getAll()) { - const effect = entity.getEffect(eff); - if (!effect) continue; - effectList.push({ - effectType: eff, - effect: effect - }); - }; - - return effectList; -}; diff --git a/scripts/has-permission/README.md b/scripts/has-permission/README.md deleted file mode 100644 index ea5e5bd3..00000000 --- a/scripts/has-permission/README.md +++ /dev/null @@ -1,9 +0,0 @@ -# has-permission - -## Description - -Returns true if player is operator - -## Credits - -These scripts were written by [Jayly](https://github.com/JaylyDev) diff --git a/scripts/has-permission/index.js b/scripts/has-permission/index.js deleted file mode 100644 index c268cbb8..00000000 --- a/scripts/has-permission/index.js +++ /dev/null @@ -1,14 +0,0 @@ -// Script example for ScriptAPI -// Author: Jayly -// Project: https://github.com/JaylyDev/ScriptAPI -import { Player } from "@minecraft/server"; -import { isOperator } from "is-operator/index"; - -/** - * - * @param {Player} player - * @returns - */ -export function hasPermission (player) { - return isOperator(player); -}; \ No newline at end of file diff --git a/scripts/has-permission/tests.js b/scripts/has-permission/tests.js deleted file mode 100644 index 60b5542f..00000000 --- a/scripts/has-permission/tests.js +++ /dev/null @@ -1,4 +0,0 @@ -import { world } from "@minecraft/server"; -import { hasPermission } from "./index"; - -hasPermission([...world.getPlayers()][0]); \ No newline at end of file diff --git a/scripts/is-operator/index.js b/scripts/is-operator/index.js deleted file mode 100644 index bad9c62b..00000000 --- a/scripts/is-operator/index.js +++ /dev/null @@ -1,9 +0,0 @@ -import { Player } from "@minecraft/server"; - -/** - * returns if player is operator - * @param {Player} player - */ -export function isOperator (player) { - return player.isOp(); -}; \ No newline at end of file diff --git a/scripts/is-operator/tests.js b/scripts/is-operator/tests.js deleted file mode 100644 index 55d2c923..00000000 --- a/scripts/is-operator/tests.js +++ /dev/null @@ -1,4 +0,0 @@ -import { world } from "@minecraft/server"; -import { isOperator } from "./index"; - -isOperator([...world.getPlayers()][0]); \ No newline at end of file diff --git a/scripts/jaylydb/tests.js b/scripts/jaylydb/tests.js index 080c9275..d68600e5 100644 --- a/scripts/jaylydb/tests.js +++ b/scripts/jaylydb/tests.js @@ -4,11 +4,9 @@ import * as exists from "./tests/exists"; import * as sync from "./tests/sync"; import * as corruptFix from "./tests/corruptFix"; -world.afterEvents.worldInitialize.subscribe(() => { - console.log("Starting benchmark"); - exists.Main(); - perf.Main(); - sync.Main(); - corruptFix.Main(); - console.log("Benchmark complete"); -}); +console.log("Starting benchmark"); +exists.Main(); +perf.Main(); +sync.Main(); +corruptFix.Main(); +console.log("Benchmark complete"); diff --git a/scripts/lz-string/lz-string-tests.js b/scripts/lz-string/lz-string-tests.js deleted file mode 100644 index c1df2067..00000000 --- a/scripts/lz-string/lz-string-tests.js +++ /dev/null @@ -1,27 +0,0 @@ -import LZString from "./index.js"; -import { http, HttpRequest } from "@minecraft/server-net"; -import { world } from "@minecraft/server"; - -async function Main () { - const response = await http.request(new HttpRequest('https://docs.microsoft.com/en-us/minecraft/creator/opbuildpdf/toc.pdf')); - console.log("Response size:", response.body.length); - - let times = 3; - while ((10 ** times) < response.body.length) { - let time = Date.now(); - let compressed = LZString.compress(response.body.substring(0, 10 ** times)); - console.log(`Uncompressed size: ${10 ** times} | Compressed size: ${compressed.length} | Time: ${Date.now() - time}ms`); - times++; - }; -}; - -let started = false; -world.beforeEvents.chatSend.subscribe(() => { - if (started) return; - - world.sendMessage("Unit test starts"); - started = true; - Main().catch((err) => { - console.error(err); - }); -}); \ No newline at end of file diff --git a/scripts/net-auth/LICENSE b/scripts/net-auth/LICENSE deleted file mode 100644 index 14747b4d..00000000 --- a/scripts/net-auth/LICENSE +++ /dev/null @@ -1,21 +0,0 @@ -MIT License - -Copyright (c) 2022 JaylyDev - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. diff --git a/scripts/net-auth/index.js b/scripts/net-auth/index.js deleted file mode 100644 index be78c55e..00000000 --- a/scripts/net-auth/index.js +++ /dev/null @@ -1,63 +0,0 @@ -// Script example for ScriptAPI -// Author: JaylyMC -// Project: https://github.com/JaylyDev/ScriptAPI -import { http as __http, HttpHeader, HttpRequest, HttpRequestMethod } from "@minecraft/server-net"; -class authoration { -} -authoration.authorized = false; -authoration.url = "http://localhost:14589"; -authoration.PERMISSION_DENIED = "Permission Denied: This request is not authorized."; -; -export class HttpClient { - /** - * @remarks - * Performs a simple HTTP get request. - * @param uri - * URL to make an HTTP Request to. - * @returns - * An awaitable promise that contains the HTTP response. - */ - async get(uri) { - if (authoration.authorized !== true) - throw Error(authoration.PERMISSION_DENIED); - return await __http.get(uri); - } - ; - /** - * @remarks - * Performs an HTTP request. - * @param config - * Contains an HTTP Request object with configuration data on - * the HTTP request. - * @returns - * An awaitable promise that contains the HTTP response. - */ - async request(config) { - if (authoration.authorized !== true) - throw Error(authoration.PERMISSION_DENIED); - return await __http.request(config); - } - ; - cancelAll(reason) { - http.cancelAll(reason); - } - ; -} -; -export async function auth(token) { - const localAuthRequest = new HttpRequest(authoration.url); - localAuthRequest.setMethod(HttpRequestMethod.Post); - localAuthRequest.setHeaders([new HttpHeader("token", token)]); - const response = await __http.request(localAuthRequest); - if (response.status === 200) { - authoration.authorized = true; - return true; - } - else { - authoration.authorized = false; - return false; - } - ; -} -; -export const http = new HttpClient(); diff --git a/scripts/net-auth/index.ts b/scripts/net-auth/index.ts deleted file mode 100644 index 0713426c..00000000 --- a/scripts/net-auth/index.ts +++ /dev/null @@ -1,61 +0,0 @@ -// Script example for ScriptAPI -// Author: JaylyMC -// Project: https://github.com/JaylyDev/ScriptAPI -import { http as __http, HttpHeader, HttpRequest, HttpRequestMethod, HttpResponse, HttpClient as __HttpClient } from "@minecraft/server-net"; - -class authoration { - static authorized: boolean = false; - static url: string = "http://localhost:14589"; - static readonly PERMISSION_DENIED = "Permission Denied: This request is not authorized."; -}; - -export class HttpClient implements __HttpClient { - /** - * @remarks - * Performs a simple HTTP get request. - * @param uri - * URL to make an HTTP Request to. - * @returns - * An awaitable promise that contains the HTTP response. - */ - async get(uri: string): Promise { - if (authoration.authorized !== true) throw Error(authoration.PERMISSION_DENIED); - return await __http.get(uri); - }; - /** - * @remarks - * Performs an HTTP request. - * @param config - * Contains an HTTP Request object with configuration data on - * the HTTP request. - * @returns - * An awaitable promise that contains the HTTP response. - */ - async request(config: HttpRequest): Promise { - if (authoration.authorized !== true) throw Error(authoration.PERMISSION_DENIED); - return await __http.request(config); - }; - cancelAll(reason: string): void { - http.cancelAll(reason); - } -; -}; - -export async function auth (token: string): Promise { - const localAuthRequest = new HttpRequest(authoration.url); - localAuthRequest.setMethod(HttpRequestMethod.Post); - localAuthRequest.setHeaders([new HttpHeader("token", token)]); - - const response = await __http.request(localAuthRequest); - - if (response.status === 200) { - authoration.authorized = true; - return true; - } - else { - authoration.authorized = false; - return false; - }; -}; - -export const http = new HttpClient(); \ No newline at end of file diff --git a/scripts/net-auth/package-lock.json b/scripts/net-auth/package-lock.json deleted file mode 100644 index 3a2aa883..00000000 --- a/scripts/net-auth/package-lock.json +++ /dev/null @@ -1,13 +0,0 @@ -{ - "name": "mojang-net-auth", - "version": "1.0.0", - "lockfileVersion": 3, - "requires": true, - "packages": { - "": { - "name": "mojang-net-auth", - "version": "1.0.0", - "license": "ISC" - } - } -} diff --git a/scripts/net-auth/package.json b/scripts/net-auth/package.json deleted file mode 100644 index 832db572..00000000 --- a/scripts/net-auth/package.json +++ /dev/null @@ -1,14 +0,0 @@ -{ - "name": "mojang-net-auth", - "version": "1.0.0", - "description": "", - "main": "node.js", - "scripts": { - "build": "npm run build_node && npm run build_gametest", - "build_node": "tsc node.ts", - "build_gametest": "tsc gametest.ts --module es2020" - }, - "keywords": [], - "author": "", - "license": "ISC" -} diff --git a/scripts/net-auth/readme.md b/scripts/net-auth/readme.md deleted file mode 100644 index f8b2c992..00000000 --- a/scripts/net-auth/readme.md +++ /dev/null @@ -1,68 +0,0 @@ -# mojang-net-auth - -Package to make `mojang-net` HttpClient class requires authentication in order to use the module, specifically `HttpClient` class. - -## Build - -On the current directory run the following command: - -`npm run build` - -## Usage - -- Node.js setup: Used by Node.js to accept or deny request made by GameTest. This file is not required if authentication takes place on the web. - - The script uses `http://localhost/14589` (you can change the port) and fetch valid tokens from `tokens.json`. - - node.js script (not allow to put it as a file due to repository policy) - - ```javascript - // This script is not intended to be used in Minecraft - // It's intended to be used in node.js - import * as http from "node:http"; - - const tokens = ["jayly"]; - const port = 14589; - const host = "localhost"; - - function listener(request, response): void { - const requestToken = request.headers?.token; - - if (typeof requestToken !== "string") { - respond_deny(response); - } else if (tokens.includes(requestToken)) { - console.log("request status", 200); - response.writeHead(200, { "Content-Type": "text/plain" }); - response.end("post received"); - } else respond_deny(response); - } - - function respond_deny(response): void { - console.log("request status", 403); - response.writeHead(403, { "Content-Type": "text/plain" }); - response.end("invalid token"); - } - - const server = http.createServer(listener); - - server.listen(port, host); - console.log( - `Connecting @minecraft/server-net to host [${host}] on port [${port}].` - ); - ``` - -- `gametest.ts`: Used by GameTest (in Bedrock Dedicated Server) to fetch authorization request to `node.ts` (`http://localhost/14589` by default). - - ```js - import { http, auth } from "./mojang-net-auth/gametest.js"; - - auth("jayly"); // Authorization, must place above all http request for http to fetch request. - - // Normal usage like what you do in "mojang-net" - http.get("https://example.com").then((res) => { - console.log(res.body); - }); - ``` - - If request is not authorized, following error appears: - `[Scripting][Error]-Permission Denied: This request is not authorized.` diff --git a/scripts/net-auth/tests.js b/scripts/net-auth/tests.js deleted file mode 100644 index 67e903a3..00000000 --- a/scripts/net-auth/tests.js +++ /dev/null @@ -1,7 +0,0 @@ -import * as netauth from "net-auth/index"; - -netauth.auth("jayly"); - -netauth.http.get("https://example.com").then(res => { - console.log(res.body); -}); \ No newline at end of file diff --git a/scripts/player-leave-event/LICENSE b/scripts/player-leave-event/LICENSE deleted file mode 100644 index 14747b4d..00000000 --- a/scripts/player-leave-event/LICENSE +++ /dev/null @@ -1,21 +0,0 @@ -MIT License - -Copyright (c) 2022 JaylyDev - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. diff --git a/scripts/player-leave-event/index.d.ts b/scripts/player-leave-event/index.d.ts deleted file mode 100644 index 3c599ff4..00000000 --- a/scripts/player-leave-event/index.d.ts +++ /dev/null @@ -1,173 +0,0 @@ -import { Player as MinecraftPlayer, Dimension, Block, Entity, EntityComponent, ScoreboardIdentity, Vector, Vector2, Vector3 } from "@minecraft/server"; -import "@minecraft/server-gametest"; -/** - * Player wrapper to save as much data into a new object. - * - * Keeping this class private to avoid confusion between - * Player class from "@minecraft/server" module. - */ -declare class Player { - private '__PlayerBlockFromViewDirection'; - private '__PlayerComponents'; - private '__PlayerEntitiesFromViewDirection'; - private '__PlayerTags'; - /** - * Dimension that the entity is currently within. - * @throws This property can throw when used. - */ - readonly 'dimension': Dimension; - /** - * Location of the center of the head component of the player. - * @throws This property can throw when used. - */ - readonly 'headLocation': Vector3; - /** - * Identifier for the player. - * @throws This property can throw when used. - */ - readonly 'id': string; - /** - * True if the player is currently using a sneaking movement. - */ - readonly 'isSneaking': boolean; - /** - * Current location of the player. - * @throws This property can throw when used. - */ - readonly 'location': Vector3; - /** - * Name of the player. - * @throws This property can throw when used. - */ - readonly 'name': string; - /** - * Optional name tag of the player. - */ - readonly 'nameTag': string; - /** - * Main rotation of the entity. - * @throws This property can throw when used. - */ - readonly 'rotation': Vector2; - /** - * Returns a scoreboard identity that represents this entity. - * @throws This property can throw when used. - */ - readonly 'scoreboard': ScoreboardIdentity; - /** - * Manages the selected slot in the player's hotbar. - */ - readonly 'selectedSlot': number; - /** - * Retrieves or sets an entity that is used as the target of - * AI-related behaviors, like attacking. For players, which - * don't use any AI semantics, this property does not do - * anything. - */ - readonly 'target': Entity; - /** - * Current speed of the player across X, Y, and Z dimensions. - * @throws This property can throw when used. - */ - readonly 'velocity': Vector; - /** - * Vector of the current view of the player. - * @throws This property can throw when used. - */ - readonly 'viewDirection': Vector; - readonly typeId: string; - /** - * @remarks - * Gets the first block that intersects with the vector of the - * view of this entity. - * @throws This function can throw errors. - */ - getBlockFromViewDirection(): Block; - /** - * @remarks - * Gets a component (that represents additional capabilities) - * for an entity. - * @param componentId - * The identifier of the component (e.g., 'minecraft:rideable') - * to retrieve. If no namespace prefix is specified, - * 'minecraft:' is assumed. If the component is not present on - * the entity, undefined is returned. - */ - getComponent(componentId: string): EntityComponent; - /** - * @remarks - * Returns all components that are both present on this entity - * and supported by the API. - */ - getComponents(): EntityComponent[]; - /** - * @remarks - * Gets the first entity that intersects with the vector of the - * view of this entity. - * Additional options for processing this raycast query. - * @throws This function can throw errors. - */ - getEntitiesFromViewDirection(): Entity[]; - /** - * @remarks - * Returns all tags associated with an entity. - * @throws This function can throw errors. - */ - getTags(): string[]; - /** - * @remarks - * Returns true if the specified component is present on this - * entity. - * @param componentId - * The identifier of the component (e.g., 'minecraft:rideable') - * to retrieve. If no namespace prefix is specified, - * 'minecraft:' is assumed. - */ - hasComponent(componentId: string): boolean; - /** - * @remarks - * Tests whether an entity has a particular tag. - * @param tag - * Identifier of the tag to test for. - * @throws This function can throw errors. - */ - hasTag(tag: string): boolean; - /** - * @remarks - * Manually assign some player property to the new player class - * before failed to get property due to GameTest can't fetch - * despawned entities. - * @param {MinecraftPlayer} player - */ - constructor(player: MinecraftPlayer); -} -/** - * Contains information regarding a player that has left the - * world. - */ -export declare class PlayerLeaveEvent { - player: Player; - constructor(player: Player); -} -/** - * Manages callbacks that are connected to a player leaving the - * world. - */ -export declare class PlayerLeaveEventSignal { - /** - * @remarks - * Adds a callback that will be called when a player leaves the - * world. - * @param {(arg: PlayerLeaveEvent) => void} callback - * @return {(arg: PlayerLeaveEvent) => void} - */ - subscribe(callback: (arg: PlayerLeaveEvent) => void): (arg: PlayerLeaveEvent) => void; - /** - * @remarks - * Removes a callback from being called when a player leaves - * the world. - * @param {(arg: PlayerLeaveEvent) => void} callback - */ - unsubscribe(callback: (arg: PlayerLeaveEvent) => void): void; -} -export {}; diff --git a/scripts/player-leave-event/index.js b/scripts/player-leave-event/index.js deleted file mode 100644 index 99773add..00000000 --- a/scripts/player-leave-event/index.js +++ /dev/null @@ -1,246 +0,0 @@ -// Script example for ScriptAPI -// Author: Jayly -// Project: https://github.com/JaylyDev/ScriptAPI -import { world, Vector, system } from "@minecraft/server"; -import "@minecraft/server-gametest"; // import "@minecraft/server-gametest" native module to support Simulated Players -/** - * @license MIT - * @author JaylyMC - * @link https://github.com/JaylyDev/GametestDB/tree/main/scripts/json-stringify - */ -function cloneJSON(obj) { - if (obj === null || obj === undefined || typeof obj !== "object") { - return obj; - } - if (obj instanceof Array) { - var cloneA = []; - for (var i = 0; i < obj.length; ++i) { - cloneA[i] = cloneJSON(obj[i]); - } - return cloneA; - } - var cloneO = {}; - for (var e in obj) { - cloneO[e] = cloneJSON(obj[e]); - } - return cloneO; -} -; -/** - * Compare 2 player object to detect if they're the same player - * @param playerA - * @param playerB - * @returns {boolean} - */ -function comparePlayer(playerA, playerB) { - return playerA.id === playerB.id && - playerA.name === playerB.name && - playerA.dimension === playerB.dimension; -} -; -/** - * Player wrapper to save as much data into a new object. - * - * Keeping this class private to avoid confusion between - * Player class from "@minecraft/server" module. - */ -class Player { - /** - * @remarks - * Gets the first block that intersects with the vector of the - * view of this entity. - * @throws This function can throw errors. - */ - getBlockFromViewDirection() { - return this.__PlayerBlockFromViewDirection; - } - ; - /** - * @remarks - * Gets a component (that represents additional capabilities) - * for an entity. - * @param componentId - * The identifier of the component (e.g., 'minecraft:rideable') - * to retrieve. If no namespace prefix is specified, - * 'minecraft:' is assumed. If the component is not present on - * the entity, undefined is returned. - */ - getComponent(componentId) { - return this.__PlayerComponents.find(function (component) { - if (!componentId.startsWith("minecraft:")) - componentId = "minecraft:" + componentId; - if (component.typeId === componentId) - return true; - }); - } - ; - /** - * @remarks - * Returns all components that are both present on this entity - * and supported by the API. - */ - getComponents() { - return this.__PlayerComponents; - } - ; - /** - * @remarks - * Gets the first entity that intersects with the vector of the - * view of this entity. - * Additional options for processing this raycast query. - * @throws This function can throw errors. - */ - getEntitiesFromViewDirection() { - return this.__PlayerEntitiesFromViewDirection; - } - ; - /** - * @remarks - * Returns all tags associated with an entity. - * @throws This function can throw errors. - */ - getTags() { - return this.__PlayerTags; - } - ; - /** - * @remarks - * Returns true if the specified component is present on this - * entity. - * @param componentId - * The identifier of the component (e.g., 'minecraft:rideable') - * to retrieve. If no namespace prefix is specified, - * 'minecraft:' is assumed. - */ - hasComponent(componentId) { - let componentIndex = this.__PlayerComponents.findIndex((entityComponent) => entityComponent.id === componentId); - if (componentIndex < 0) - return false; - else - return true; - } - ; - /** - * @remarks - * Tests whether an entity has a particular tag. - * @param tag - * Identifier of the tag to test for. - * @throws This function can throw errors. - */ - hasTag(tag) { - let tagIndex = this.__PlayerTags.findIndex(playerTag => playerTag === tag); - if (tagIndex < 0) - return false; - else - return true; - } - ; - /** - * @remarks - * Manually assign some player property to the new player class - * before failed to get property due to GameTest can't fetch - * despawned entities. - * @param {MinecraftPlayer} player - */ - constructor(player) { - // PRIVATE PROPERTIES - // This properties should not be used by public - try { - this.__PlayerBlockFromViewDirection = player.getBlockFromViewDirection(); - } - catch { } - ; - try { - this.__PlayerEntitiesFromViewDirection = player.getEntitiesFromViewDirection(); - } - catch { } - ; - this.__PlayerComponents = cloneJSON(player.getComponents()); - this.__PlayerTags = player.getTags(); - // PUBLIC PROPERTIES - const velocity = player.getVelocity(); - this.dimension = player.dimension; - this.headLocation = player.getHeadLocation(); - this.id = player.id; - this.typeId = player.typeId; - this.isSneaking = player.isSneaking; - this.location = player.location; - this.name = player.name; - this.nameTag = player.nameTag; - this.rotation = player.getRotation(); - this.scoreboard = player.scoreboardIdentity; - this.selectedSlot = player.selectedSlot; - this.target = player.target; - this.velocity = new Vector(velocity.x, velocity.y, velocity.z); - this.viewDirection = new Vector(player.getViewDirection().x, player.getViewDirection().y, player.getViewDirection().z); - } - ; -} -; -/** - * Contains information regarding a player that has left the - * world. - */ -export class PlayerLeaveEvent { - constructor(player) { - this.player = player; - } - ; -} -; -/** - * Manages callbacks that are connected to a player leaving the - * world. - */ -export class PlayerLeaveEventSignal { - /** - * @remarks - * Adds a callback that will be called when a player leaves the - * world. - * @param {(arg: PlayerLeaveEvent) => void} callback - * @return {(arg: PlayerLeaveEvent) => void} - */ - subscribe(callback) { - callback["playerLeave"] = true; - let players = [...world.getPlayers()].map(pl => new Player(pl)); - let executedPlayers = []; - let TickEventCallback = system.runInterval(() => { - if (callback["playerLeave"] !== true) - system.clearRun(TickEventCallback); - // Change from player class to custom player class - let currentPlayers = [...world.getPlayers()]; - for (let player of players) { - let executedPlayerIndex = executedPlayers.findIndex(executedPlayer => comparePlayer(executedPlayer, player)); - if (!currentPlayers.find(pl => comparePlayer(pl, player)) && executedPlayerIndex < 0) { - executedPlayers.push(player); - let onPlayerSpawn = world.afterEvents.playerSpawn.subscribe((playerJoinEvent) => { - let playerIndex = executedPlayers.findIndex(pl => comparePlayer(pl, playerJoinEvent.player)); - if (playerIndex >= 0) { - executedPlayers.splice(playerIndex); - world.afterEvents.playerSpawn.unsubscribe(onPlayerSpawn); - } - ; - }); - callback(new PlayerLeaveEvent(player)); - } - ; - } - ; - players = []; - players = [...world.getPlayers()].map(pl => new Player(pl)); - }); - return callback; - } - ; - /** - * @remarks - * Removes a callback from being called when a player leaves - * the world. - * @param {(arg: PlayerLeaveEvent) => void} callback - */ - unsubscribe(callback) { - callback["playerLeave"] = false; - } - ; -} -; diff --git a/scripts/player-leave-event/index.ts b/scripts/player-leave-event/index.ts deleted file mode 100644 index 5338b807..00000000 --- a/scripts/player-leave-event/index.ts +++ /dev/null @@ -1,300 +0,0 @@ -// Script example for ScriptAPI -// Author: Jayly -// Project: https://github.com/JaylyDev/ScriptAPI -import { world, Player as MinecraftPlayer, Dimension, Entity, EntityComponent, ScoreboardIdentity, Vector, Vector2, Vector3, PlayerSpawnAfterEvent, system, BlockRaycastHit, EntityRaycastHit } from "@minecraft/server"; -import "@minecraft/server-gametest"; // import "@minecraft/server-gametest" native module to support Simulated Players - -/** - * @license MIT - * @author JaylyMC - * @link https://github.com/JaylyDev/GametestDB/tree/main/scripts/json-stringify - */ -function cloneJSON (obj: object): any { - if (obj === null || obj === undefined || typeof obj !== "object") { - return obj; - } - if (obj instanceof Array) { - var cloneA = []; - for (var i = 0; i < obj.length; ++i) { - cloneA[i] = cloneJSON(obj[i]); - } - return cloneA; - } - var cloneO = {}; - for (var e in obj) { - cloneO[e] = cloneJSON(obj[e]); - } - return cloneO; -}; - -/** - * Compare 2 player object to detect if they're the same player - * @param playerA - * @param playerB - * @returns {boolean} - */ -function comparePlayer (playerA: Player | MinecraftPlayer, playerB: Player | MinecraftPlayer): boolean { - return playerA.id === playerB.id && - playerA.name === playerB.name && - playerA.dimension === playerB.dimension; -}; - -/** - * Player wrapper to save as much data into a new object. - * - * Keeping this class private to avoid confusion between - * Player class from "@minecraft/server" module. - */ -class Player { - private '__PlayerBlockFromViewDirection': BlockRaycastHit; - private '__PlayerComponents': EntityComponent[]; - private '__PlayerEntitiesFromViewDirection': EntityRaycastHit[]; - private '__PlayerTags': string[]; - /** - * Dimension that the entity is currently within. - * @throws This property can throw when used. - */ - public readonly 'dimension': Dimension; - /** - * Location of the center of the head component of the player. - * @throws This property can throw when used. - */ - public readonly 'headLocation': Vector3; - /** - * Identifier for the player. - * @throws This property can throw when used. - */ - public readonly 'id': string; - /** - * True if the player is currently using a sneaking movement. - */ - public readonly 'isSneaking': boolean; - /** - * Current location of the player. - * @throws This property can throw when used. - */ - public readonly 'location': Vector3; - /** - * Name of the player. - * @throws This property can throw when used. - */ - public readonly 'name': string; - /** - * Optional name tag of the player. - */ - public readonly 'nameTag': string; - /** - * Main rotation of the entity. - * @throws This property can throw when used. - */ - public readonly 'rotation': Vector2; - /** - * Returns a scoreboard identity that represents this entity. - * @throws This property can throw when used. - */ - public readonly 'scoreboard': ScoreboardIdentity; - /** - * Manages the selected slot in the player's hotbar. - */ - public readonly 'selectedSlot': number; - /** - * Retrieves or sets an entity that is used as the target of - * AI-related behaviors, like attacking. For players, which - * don't use any AI semantics, this property does not do - * anything. - */ - public readonly 'target': Entity; - /** - * Current speed of the player across X, Y, and Z dimensions. - * @throws This property can throw when used. - */ - public readonly 'velocity': Vector; - /** - * Vector of the current view of the player. - * @throws This property can throw when used. - */ - public readonly 'viewDirection': Vector; - readonly typeId: string; - /** - * @remarks - * Gets the first block that intersects with the vector of the - * view of this entity. - * @throws This function can throw errors. - */ - public getBlockFromViewDirection(): BlockRaycastHit { - return this.__PlayerBlockFromViewDirection; - }; - /** - * @remarks - * Gets a component (that represents additional capabilities) - * for an entity. - * @param componentId - * The identifier of the component (e.g., 'minecraft:rideable') - * to retrieve. If no namespace prefix is specified, - * 'minecraft:' is assumed. If the component is not present on - * the entity, undefined is returned. - */ - getComponent(componentId: string): EntityComponent { - return this.__PlayerComponents.find(function (component: EntityComponent) { - if (!componentId.startsWith("minecraft:")) componentId = "minecraft:" + componentId; - if (component.typeId === componentId) return true; - }); - }; - /** - * @remarks - * Returns all components that are both present on this entity - * and supported by the API. - */ - public getComponents(): EntityComponent[] { - return this.__PlayerComponents; - }; - /** - * @remarks - * Gets the first entity that intersects with the vector of the - * view of this entity. - * Additional options for processing this raycast query. - * @throws This function can throw errors. - */ - public getEntitiesFromViewDirection(): EntityRaycastHit[] { - return this.__PlayerEntitiesFromViewDirection; - }; - /** - * @remarks - * Returns all tags associated with an entity. - * @throws This function can throw errors. - */ - public getTags(): string[] { - return this.__PlayerTags; - }; - /** - * @remarks - * Returns true if the specified component is present on this - * entity. - * @param componentId - * The identifier of the component (e.g., 'minecraft:rideable') - * to retrieve. If no namespace prefix is specified, - * 'minecraft:' is assumed. - */ - public hasComponent(componentId: string): boolean { - let componentIndex = this.__PlayerComponents.findIndex((entityComponent: any) => entityComponent.id === componentId); - - if (componentIndex < 0) return false; - else return true; - }; - /** - * @remarks - * Tests whether an entity has a particular tag. - * @param tag - * Identifier of the tag to test for. - * @throws This function can throw errors. - */ - public hasTag(tag: string): boolean { - let tagIndex = this.__PlayerTags.findIndex(playerTag => playerTag === tag); - - if (tagIndex < 0) return false; - else return true; - }; - /** - * @remarks - * Manually assign some player property to the new player class - * before failed to get property due to GameTest can't fetch - * despawned entities. - * @param {MinecraftPlayer} player - */ - public constructor (player: MinecraftPlayer) { - // PRIVATE PROPERTIES - // This properties should not be used by public - try { this.__PlayerBlockFromViewDirection = player.getBlockFromViewDirection(); } catch {}; - try { this.__PlayerEntitiesFromViewDirection = player.getEntitiesFromViewDirection(); } catch {}; - this.__PlayerComponents = cloneJSON(player.getComponents()); - this.__PlayerTags = player.getTags(); - - // PUBLIC PROPERTIES - const velocity = player.getVelocity(); - this.dimension = player.dimension; - this.headLocation = player.getHeadLocation(); - this.id = player.id; - this.typeId = player.typeId; - this.isSneaking = player.isSneaking; - this.location = player.location; - this.name = player.name; - this.nameTag = player.nameTag; - this.rotation = player.getRotation(); - this.scoreboard = player.scoreboardIdentity; - this.selectedSlot = player.selectedSlot; - this.target = player.target; - this.velocity = new Vector(velocity.x, velocity.y, velocity.z); - this.viewDirection = new Vector(player.getViewDirection().x, player.getViewDirection().y, player.getViewDirection().z); - }; -}; - -/** - * Contains information regarding a player that has left the - * world. - */ -export class PlayerLeaveEvent { - player: Player; - - constructor (player: Player) { - this.player = player; - }; -}; - -/** - * Manages callbacks that are connected to a player leaving the - * world. - */ -export class PlayerLeaveEventSignal { - /** - * @remarks - * Adds a callback that will be called when a player leaves the - * world. - * @param {(arg: PlayerLeaveEvent) => void} callback - * @return {(arg: PlayerLeaveEvent) => void} - */ - subscribe (callback: (arg: PlayerLeaveEvent) => void): (arg: PlayerLeaveEvent) => void { - callback["playerLeave"] = true; - - let players: Player[] = [...world.getPlayers()].map(pl => new Player(pl)); - let executedPlayers: Player[] = []; - - let TickEventCallback = system.runInterval(() => { - if (callback["playerLeave"] !== true) system.clearRun(TickEventCallback); - - // Change from player class to custom player class - let currentPlayers: MinecraftPlayer[] = [...world.getPlayers()]; - - for (let player of players) { - let executedPlayerIndex = executedPlayers.findIndex(executedPlayer => comparePlayer(executedPlayer, player)); - if (!currentPlayers.find(pl => comparePlayer(pl, player)) && executedPlayerIndex < 0) { - executedPlayers.push(player); - - let onPlayerSpawn: (arg: PlayerSpawnAfterEvent) => void = world.afterEvents.playerSpawn.subscribe((playerJoinEvent) => { - let playerIndex = executedPlayers.findIndex(pl => comparePlayer(pl, playerJoinEvent.player)); - if (playerIndex >= 0) { - executedPlayers.splice(playerIndex); - world.afterEvents.playerSpawn.unsubscribe(onPlayerSpawn); - }; - }); - - callback(new PlayerLeaveEvent(player)); - }; - }; - - players = []; - players = [...world.getPlayers()].map(pl => new Player(pl)); - }); - - return callback; - }; - - /** - * @remarks - * Removes a callback from being called when a player leaves - * the world. - * @param {(arg: PlayerLeaveEvent) => void} callback - */ - unsubscribe (callback: (arg: PlayerLeaveEvent) => void): void { - callback["playerLeave"] = false; - }; -}; \ No newline at end of file diff --git a/scripts/player-leave-event/readme.txt b/scripts/player-leave-event/readme.txt deleted file mode 100644 index 141325ff..00000000 --- a/scripts/player-leave-event/readme.txt +++ /dev/null @@ -1,3 +0,0 @@ -`PlayerLeaveEvent` - -The goal of this PlayerLeaveEvent is to return the player object instead of player name like GameTest native. \ No newline at end of file diff --git a/scripts/player-leave-event/tests.js b/scripts/player-leave-event/tests.js deleted file mode 100644 index f59b51d7..00000000 --- a/scripts/player-leave-event/tests.js +++ /dev/null @@ -1,19 +0,0 @@ -import { EntityHealthComponent } from "@minecraft/server"; -import { PlayerLeaveEventSignal } from "./index"; - -let playerLeave = new PlayerLeaveEventSignal(); - -let callback = playerLeave.subscribe(({player}) => { - console.warn(`[${new Date().toISOString()}]`, player.name, "left the server"); - - /** - * @type {EntityHealthComponent} - */ - // @ts-ignore - let health = player.getComponent("health"); - player.dimension.runCommandAsync(`say ${player.name} left the server with ${health.currentValue} HP`); - player.dimension.runCommandAsync(`say ${player.name} Location: ${player.location.x} ${player.location.y} ${player.location.z}`); - - // unsubscribe - playerLeave.unsubscribe(callback); -}); diff --git a/scripts/player-velocity-fix/LICENSE b/scripts/player-velocity-fix/LICENSE deleted file mode 100644 index 14747b4d..00000000 --- a/scripts/player-velocity-fix/LICENSE +++ /dev/null @@ -1,21 +0,0 @@ -MIT License - -Copyright (c) 2022 JaylyDev - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. diff --git a/scripts/player-velocity-fix/README.md b/scripts/player-velocity-fix/README.md deleted file mode 100644 index 57926c0b..00000000 --- a/scripts/player-velocity-fix/README.md +++ /dev/null @@ -1,12 +0,0 @@ -# Player.setVelocity - -This package aims to create a velocity on players without the use of `Player.setVelocity` method for @minecraft/server module version '1.0.0-beta'. - -This is one of the methods to get around the `Player.setVelocity` that it will now throw an exception when called on player types in module version '1.0.0-beta' of '@minecraft/server' module. - -This function is experimental, please improve the script by submit a pull request. - -## Files - -- `index.js` / `index.ts` - Original source file -- `player-velocity-fix.js` - All in one JavaScript file, no need to import external modules from this repository. However external modules may be out of date. diff --git a/scripts/player-velocity-fix/index.d.ts b/scripts/player-velocity-fix/index.d.ts deleted file mode 100644 index 2e85b9df..00000000 --- a/scripts/player-velocity-fix/index.d.ts +++ /dev/null @@ -1,15 +0,0 @@ -/** - * @license MIT - * @author JaylyMC - * @project https://github.com/JaylyDev/GametestDB/ - */ -import { Vector3, Player } from "@minecraft/server"; -/** - * @remarks - * Sets a velocity for the entity to move with. - * Fixes GameTest native player.setVelocity - * @param {Vector3} velocity - * @param {Player} player - * @throws This function can throw errors. -*/ -export declare function setVelocity(velocity: Vector3, player: Player): void; diff --git a/scripts/player-velocity-fix/index.js b/scripts/player-velocity-fix/index.js deleted file mode 100644 index 05fefbff..00000000 --- a/scripts/player-velocity-fix/index.js +++ /dev/null @@ -1,57 +0,0 @@ -// Script example for ScriptAPI -// Author: Jayly -// Project: https://github.com/JaylyDev/GametestDB/ -import { Player } from "@minecraft/server"; -import { MinecraftEffectTypes, MinecraftEntityTypes } from "@minecraft/vanilla-data"; -import { Commands } from "commands/index.js"; -import { clearInterval, setInterval } from "../timers/index.js"; -function trunc(x, decimal) { - let y = 10 ** decimal; - return Math.trunc(x * y) / y; -} -; -/** - * @remarks - * Sets a velocity for the entity to move with. - * Fixes GameTest native player.setVelocity - * @param {Vector3} velocity - * @param {Player} player - * @throws This function can throw errors. -*/ -export function setVelocity(velocity, player) { - if (!(player instanceof Player)) - throw TypeError("Native type conversion failed."); - const entity = player.dimension.spawnEntity(MinecraftEntityTypes.Minecart, player.location); - entity.triggerEvent('minecraft:ageable_grow_up'); // Make them adult - entity.triggerEvent('minecraft:on_saddled'); // Add saddle to pig - let health = entity.getComponent('health'); - let movement = entity.getComponent('movement'); - let rideable = entity.getComponent('rideable'); - entity.addEffect(MinecraftEffectTypes.Invisibility, 0x7fff, { amplifier: 255, showParticles: false }); // makes the entity invisible - entity.addEffect(MinecraftEffectTypes.Resistance, 0x7fff, { amplifier: 255, showParticles: false }); // makes the entity invisible - entity.applyImpulse(velocity); - let onInterval = setInterval((isEntityMoving) => { - try { - const { x, y, z } = isEntityMoving.getVelocity(); - if (trunc(x, 2) === 0 && trunc(y, 1) === 0 && trunc(z, 2) === 0) { - clearInterval(onInterval); // clear timer - rideable?.ejectRider(player); // eject rider - // teleport entity to void to avoid mob loot drops - let { location } = entity; - entity.teleport({ x: location.x, y: -100, z: location.z }); - entity.kill(); - } - else { - // Force the player to ride the entity until the entity lands - Commands.runAsync(`ride "${player.name}" start_riding @s teleport_rider`, entity); - movement?.setCurrentValue(0); - health?.resetToMaxValue(); - } - ; - } - catch (error) { - console.error(error); - } - }, 10, entity); -} -; diff --git a/scripts/player-velocity-fix/index.ts b/scripts/player-velocity-fix/index.ts deleted file mode 100644 index c0b9ce64..00000000 --- a/scripts/player-velocity-fix/index.ts +++ /dev/null @@ -1,63 +0,0 @@ -// Script example for ScriptAPI -// Author: Jayly -// Project: https://github.com/JaylyDev/GametestDB/ -import { Vector3, Player, Entity, EntityRideableComponent, EntityMovementComponent, EntityHealthComponent } from "@minecraft/server"; -import { MinecraftEffectTypes, MinecraftEntityTypes } from "@minecraft/vanilla-data"; -import { Commands } from "commands/index.js"; -import { clearInterval, setInterval } from "../timers/index.js"; - -function trunc (x: number, decimal: number): number { - let y = 10 ** decimal; - return Math.trunc (x * y) / y; -}; - -/** - * @remarks - * Sets a velocity for the entity to move with. - * Fixes GameTest native player.setVelocity - * @param {Vector3} velocity - * @param {Player} player - * @throws This function can throw errors. -*/ -export function setVelocity (velocity: Vector3, player: Player) { - if (!(player instanceof Player)) throw TypeError("Native type conversion failed."); - - const entity = player.dimension.spawnEntity( - MinecraftEntityTypes.Minecart, - player.location - ); - entity.triggerEvent('minecraft:ageable_grow_up'); // Make them adult - entity.triggerEvent('minecraft:on_saddled'); // Add saddle to pig - - let health = entity.getComponent('health') as EntityHealthComponent; - let movement = entity.getComponent('movement') as EntityMovementComponent; - let rideable = entity.getComponent('rideable') as EntityRideableComponent; - - entity.addEffect(MinecraftEffectTypes.Invisibility, 0x7fff, { amplifier: 255, showParticles: false }); // makes the entity invisible - entity.addEffect(MinecraftEffectTypes.Resistance, 0x7fff, { amplifier: 255, showParticles: false }); // makes the entity invisible - entity.applyImpulse(velocity); - - let onInterval = setInterval((isEntityMoving: Entity) => { - try { - const { x, y, z } = isEntityMoving.getVelocity(); - - if (trunc(x, 2) === 0 && trunc(y, 1) === 0 && trunc(z, 2) === 0) { - clearInterval(onInterval); // clear timer - rideable?.ejectRider(player); // eject rider - - // teleport entity to void to avoid mob loot drops - let { location } = entity; - entity.teleport({ x: location.x, y: -100, z: location.z}); - entity.kill(); - } else { - // Force the player to ride the entity until the entity lands - Commands.runAsync(`ride "${player.name}" start_riding @s teleport_rider`, entity); - movement?.setCurrentValue(0); - health?.resetToMaxValue(); - }; - } catch (error) { - console.error(error); - } - - }, 10, entity); -}; diff --git a/scripts/player-velocity-fix/tests.js b/scripts/player-velocity-fix/tests.js deleted file mode 100644 index e89f0a50..00000000 --- a/scripts/player-velocity-fix/tests.js +++ /dev/null @@ -1,6 +0,0 @@ -import { world } from "@minecraft/server"; -import { setVelocity } from "./index.js"; - -world.afterEvents.chatSend.subscribe(({sender}) => { - setVelocity(sender.getViewDirection(), sender); -}); \ No newline at end of file diff --git a/scripts/remove-permission/index.js b/scripts/remove-permission/index.js deleted file mode 100644 index 93b8550c..00000000 --- a/scripts/remove-permission/index.js +++ /dev/null @@ -1,9 +0,0 @@ -import { Player } from "@minecraft/server"; - -/** - * Remove player permission - * @param {Player} player - */ -export function removePermission (player) { - player.setOp(false); -}; \ No newline at end of file diff --git a/scripts/remove-permission/tests.js b/scripts/remove-permission/tests.js deleted file mode 100644 index 4554e160..00000000 --- a/scripts/remove-permission/tests.js +++ /dev/null @@ -1,4 +0,0 @@ -import { world } from "@minecraft/server"; -import { removePermission } from "./index"; - -removePermission([...world.getPlayers()][0]); \ No newline at end of file diff --git a/scripts/restful/tests.ts b/scripts/restful/tests.ts index 924efa97..806850f6 100644 --- a/scripts/restful/tests.ts +++ b/scripts/restful/tests.ts @@ -1,4 +1,4 @@ -import { world } from "@minecraft/server"; +import { Player, system, world } from "@minecraft/server"; import { RequestMethod, REST } from "./index"; const rest = new REST('demo'); // id is demo, lower case @@ -16,28 +16,30 @@ const rest = new REST('demo'); // id is demo, lower case }; })().catch(console.error); -world.afterEvents.chatSend.subscribe((event) => { +system.afterEvents.scriptEventReceive.subscribe((event) => { + const { initiator } = event; + if (!(initiator instanceof Player)) return; /** * Get player id from REST */ const playerId = rest.request('/players', { method: RequestMethod.GET, - key: event.sender.name + key: initiator.name }); - if (playerId !== event.sender.id) event.sender.kill(); + if (playerId !== initiator.id) initiator.kill(); rest.request('/players', { method: RequestMethod.PATCH, - key: event.sender.name, - value: event.sender.id + key: initiator.name, + value: initiator.id }); - event.sender.sendMessage('Player ID: ' + playerId); + initiator.sendMessage('Player ID: ' + playerId); // remove property rest.request('/players', { method: RequestMethod.DELETE, - key: event.sender.name + key: initiator.name }); }); \ No newline at end of file diff --git a/scripts/set-permission/index.js b/scripts/set-permission/index.js deleted file mode 100644 index 64c830d9..00000000 --- a/scripts/set-permission/index.js +++ /dev/null @@ -1,9 +0,0 @@ -import { Player } from "@minecraft/server"; - -/** - * player becomes op - * @param {Player} player - */ -export function setPermission (player) { - player.setOp(true); -}; \ No newline at end of file diff --git a/scripts/set-permission/tests.js b/scripts/set-permission/tests.js deleted file mode 100644 index 30cd6076..00000000 --- a/scripts/set-permission/tests.js +++ /dev/null @@ -1,4 +0,0 @@ -import { world } from "@minecraft/server"; -import { setPermission } from "./index"; - -setPermission([...world.getPlayers()][0]); \ No newline at end of file diff --git a/scripts/set-score/tests.js b/scripts/set-score/tests.js index dc6b3ff8..75be99a6 100644 --- a/scripts/set-score/tests.js +++ b/scripts/set-score/tests.js @@ -1,13 +1,13 @@ // Script example for ScriptAPI // Author: Jayly#1397 // Project: https://github.com/JaylyDev/ScriptAPI -import { world } from "@minecraft/server"; +import { Player, system } from "@minecraft/server"; import { setScore } from "./index"; import { getScore } from "./getScore"; -world.afterEvents.chatSend.subscribe((event) => { - if (!event.sender.scoreboardIdentity) return; +system.afterEvents.scriptEventReceive.subscribe((event) => { + if (!(event.initiator instanceof Player) || !event.initiator.scoreboardIdentity) return; - const score = getScore(event.sender, 'messages'); - setScore(event.sender, 'messages', score + 1); + const score = getScore(event.initiator, 'messages'); + setScore(event.initiator, 'messages', score + 1); }) \ No newline at end of file diff --git a/scripts/ui-wrapper/tests.ts b/scripts/ui-wrapper/tests.ts index 7f45b8c9..b3586980 100644 --- a/scripts/ui-wrapper/tests.ts +++ b/scripts/ui-wrapper/tests.ts @@ -1,4 +1,4 @@ -import { world, Player } from "@minecraft/server"; +import { world, Player, system } from "@minecraft/server"; import { ModalFormBuilder } from "./index"; // Create a new instance of ModalFormBuilder @@ -47,8 +47,10 @@ async function showModalForm(player: Player) { } // Listen for chat messages and show the form to the player who sent a specific message -world.beforeEvents.chatSend.subscribe(async (event) => { - const player = event.sender; +system.afterEvents.scriptEventReceive.subscribe(async (event) => { + const player = event.initiator; + + if (!(player instanceof Player)) return; if (event.message === "show form") { await showModalForm(player); diff --git a/scripts/vanilla-types/README.md b/scripts/vanilla-types/README.md deleted file mode 100644 index 23ce355e..00000000 --- a/scripts/vanilla-types/README.md +++ /dev/null @@ -1 +0,0 @@ -Basically @minecraft/vanilla-data, unlike enums the static properties returns corresponding type classes \ No newline at end of file diff --git a/scripts/vanilla-types/index.js b/scripts/vanilla-types/index.js deleted file mode 100644 index 9c2de4d2..00000000 --- a/scripts/vanilla-types/index.js +++ /dev/null @@ -1,10 +0,0 @@ -// Script example for ScriptAPI -// Author: Jayly -// Project: https://github.com/JaylyDev/ScriptAPI -export * from './mojang-block'; -export * from './mojang-cameraPresets'; -export * from './mojang-dimension'; -export * from './mojang-effect'; -export * from './mojang-enchantment'; -export * from './mojang-entity'; -export * from './mojang-item'; diff --git a/scripts/vanilla-types/index.min.js b/scripts/vanilla-types/index.min.js deleted file mode 100644 index 21e55d60..00000000 --- a/scripts/vanilla-types/index.min.js +++ /dev/null @@ -1 +0,0 @@ -import*as e from"@minecraft/server";var t={d:(e,r)=>{for(var a in r)t.o(r,a)&&!t.o(e,a)&&Object.defineProperty(e,a,{enumerable:!0,get:r[a]})},o:(e,t)=>Object.prototype.hasOwnProperty.call(e,t)},r={};t.d(r,{pB:()=>i,nW:()=>s,g$:()=>g,Th:()=>o,xL:()=>m,PO:()=>l,c:()=>p});const a=(n={BlockTypes:()=>e.BlockTypes,DimensionTypes:()=>e.DimensionTypes,EffectTypes:()=>e.EffectTypes,EnchantmentType:()=>e.EnchantmentType,EnchantmentTypes:()=>e.EnchantmentTypes,EntityTypes:()=>e.EntityTypes,ItemTypes:()=>e.ItemTypes,world:()=>e.world},c={},t.d(c,n),c);var n,c,s;class i{constructor(){throw new TypeError("Illegal constructor")}static get(e){return a.BlockTypes.get(e)}static getAll(){return a.BlockTypes.getAll()}static get AcaciaButton(){return a.BlockTypes.get("minecraft:acacia_button")}static get AcaciaDoor(){return a.BlockTypes.get("minecraft:acacia_door")}static get AcaciaFence(){return a.BlockTypes.get("minecraft:acacia_fence")}static get AcaciaFenceGate(){return a.BlockTypes.get("minecraft:acacia_fence_gate")}static get AcaciaHangingSign(){return a.BlockTypes.get("minecraft:acacia_hanging_sign")}static get AcaciaLog(){return a.BlockTypes.get("minecraft:acacia_log")}static get AcaciaPressurePlate(){return a.BlockTypes.get("minecraft:acacia_pressure_plate")}static get AcaciaStairs(){return a.BlockTypes.get("minecraft:acacia_stairs")}static get AcaciaStandingSign(){return a.BlockTypes.get("minecraft:acacia_standing_sign")}static get AcaciaTrapdoor(){return a.BlockTypes.get("minecraft:acacia_trapdoor")}static get AcaciaWallSign(){return a.BlockTypes.get("minecraft:acacia_wall_sign")}static get ActivatorRail(){return a.BlockTypes.get("minecraft:activator_rail")}static get Air(){return a.BlockTypes.get("minecraft:air")}static get Allow(){return a.BlockTypes.get("minecraft:allow")}static get AmethystBlock(){return a.BlockTypes.get("minecraft:amethyst_block")}static get AmethystCluster(){return a.BlockTypes.get("minecraft:amethyst_cluster")}static get AncientDebris(){return a.BlockTypes.get("minecraft:ancient_debris")}static get AndesiteStairs(){return a.BlockTypes.get("minecraft:andesite_stairs")}static get Anvil(){return a.BlockTypes.get("minecraft:anvil")}static get Azalea(){return a.BlockTypes.get("minecraft:azalea")}static get AzaleaLeaves(){return a.BlockTypes.get("minecraft:azalea_leaves")}static get AzaleaLeavesFlowered(){return a.BlockTypes.get("minecraft:azalea_leaves_flowered")}static get Bamboo(){return a.BlockTypes.get("minecraft:bamboo")}static get BambooBlock(){return a.BlockTypes.get("minecraft:bamboo_block")}static get BambooButton(){return a.BlockTypes.get("minecraft:bamboo_button")}static get BambooDoor(){return a.BlockTypes.get("minecraft:bamboo_door")}static get BambooDoubleSlab(){return a.BlockTypes.get("minecraft:bamboo_double_slab")}static get BambooFence(){return a.BlockTypes.get("minecraft:bamboo_fence")}static get BambooFenceGate(){return a.BlockTypes.get("minecraft:bamboo_fence_gate")}static get BambooHangingSign(){return a.BlockTypes.get("minecraft:bamboo_hanging_sign")}static get BambooMosaic(){return a.BlockTypes.get("minecraft:bamboo_mosaic")}static get BambooMosaicDoubleSlab(){return a.BlockTypes.get("minecraft:bamboo_mosaic_double_slab")}static get BambooMosaicSlab(){return a.BlockTypes.get("minecraft:bamboo_mosaic_slab")}static get BambooMosaicStairs(){return a.BlockTypes.get("minecraft:bamboo_mosaic_stairs")}static get BambooPlanks(){return a.BlockTypes.get("minecraft:bamboo_planks")}static get BambooPressurePlate(){return a.BlockTypes.get("minecraft:bamboo_pressure_plate")}static get BambooSapling(){return a.BlockTypes.get("minecraft:bamboo_sapling")}static get BambooSlab(){return a.BlockTypes.get("minecraft:bamboo_slab")}static get BambooStairs(){return a.BlockTypes.get("minecraft:bamboo_stairs")}static get BambooStandingSign(){return a.BlockTypes.get("minecraft:bamboo_standing_sign")}static get BambooTrapdoor(){return a.BlockTypes.get("minecraft:bamboo_trapdoor")}static get BambooWallSign(){return a.BlockTypes.get("minecraft:bamboo_wall_sign")}static get Barrel(){return a.BlockTypes.get("minecraft:barrel")}static get Barrier(){return a.BlockTypes.get("minecraft:barrier")}static get Basalt(){return a.BlockTypes.get("minecraft:basalt")}static get Beacon(){return a.BlockTypes.get("minecraft:beacon")}static get Bed(){return a.BlockTypes.get("minecraft:bed")}static get Bedrock(){return a.BlockTypes.get("minecraft:bedrock")}static get BeeNest(){return a.BlockTypes.get("minecraft:bee_nest")}static get Beehive(){return a.BlockTypes.get("minecraft:beehive")}static get Beetroot(){return a.BlockTypes.get("minecraft:beetroot")}static get Bell(){return a.BlockTypes.get("minecraft:bell")}static get BigDripleaf(){return a.BlockTypes.get("minecraft:big_dripleaf")}static get BirchButton(){return a.BlockTypes.get("minecraft:birch_button")}static get BirchDoor(){return a.BlockTypes.get("minecraft:birch_door")}static get BirchFence(){return a.BlockTypes.get("minecraft:birch_fence")}static get BirchFenceGate(){return a.BlockTypes.get("minecraft:birch_fence_gate")}static get BirchHangingSign(){return a.BlockTypes.get("minecraft:birch_hanging_sign")}static get BirchLog(){return a.BlockTypes.get("minecraft:birch_log")}static get BirchPressurePlate(){return a.BlockTypes.get("minecraft:birch_pressure_plate")}static get BirchStairs(){return a.BlockTypes.get("minecraft:birch_stairs")}static get BirchStandingSign(){return a.BlockTypes.get("minecraft:birch_standing_sign")}static get BirchTrapdoor(){return a.BlockTypes.get("minecraft:birch_trapdoor")}static get BirchWallSign(){return a.BlockTypes.get("minecraft:birch_wall_sign")}static get BlackCandle(){return a.BlockTypes.get("minecraft:black_candle")}static get BlackCandleCake(){return a.BlockTypes.get("minecraft:black_candle_cake")}static get BlackCarpet(){return a.BlockTypes.get("minecraft:black_carpet")}static get BlackConcrete(){return a.BlockTypes.get("minecraft:black_concrete")}static get BlackConcretePowder(){return a.BlockTypes.get("minecraft:black_concrete_powder")}static get BlackGlazedTerracotta(){return a.BlockTypes.get("minecraft:black_glazed_terracotta")}static get BlackShulkerBox(){return a.BlockTypes.get("minecraft:black_shulker_box")}static get BlackStainedGlass(){return a.BlockTypes.get("minecraft:black_stained_glass")}static get BlackStainedGlassPane(){return a.BlockTypes.get("minecraft:black_stained_glass_pane")}static get BlackTerracotta(){return a.BlockTypes.get("minecraft:black_terracotta")}static get BlackWool(){return a.BlockTypes.get("minecraft:black_wool")}static get Blackstone(){return a.BlockTypes.get("minecraft:blackstone")}static get BlackstoneDoubleSlab(){return a.BlockTypes.get("minecraft:blackstone_double_slab")}static get BlackstoneSlab(){return a.BlockTypes.get("minecraft:blackstone_slab")}static get BlackstoneStairs(){return a.BlockTypes.get("minecraft:blackstone_stairs")}static get BlackstoneWall(){return a.BlockTypes.get("minecraft:blackstone_wall")}static get BlastFurnace(){return a.BlockTypes.get("minecraft:blast_furnace")}static get BlueCandle(){return a.BlockTypes.get("minecraft:blue_candle")}static get BlueCandleCake(){return a.BlockTypes.get("minecraft:blue_candle_cake")}static get BlueCarpet(){return a.BlockTypes.get("minecraft:blue_carpet")}static get BlueConcrete(){return a.BlockTypes.get("minecraft:blue_concrete")}static get BlueConcretePowder(){return a.BlockTypes.get("minecraft:blue_concrete_powder")}static get BlueGlazedTerracotta(){return a.BlockTypes.get("minecraft:blue_glazed_terracotta")}static get BlueIce(){return a.BlockTypes.get("minecraft:blue_ice")}static get BlueShulkerBox(){return a.BlockTypes.get("minecraft:blue_shulker_box")}static get BlueStainedGlass(){return a.BlockTypes.get("minecraft:blue_stained_glass")}static get BlueStainedGlassPane(){return a.BlockTypes.get("minecraft:blue_stained_glass_pane")}static get BlueTerracotta(){return a.BlockTypes.get("minecraft:blue_terracotta")}static get BlueWool(){return a.BlockTypes.get("minecraft:blue_wool")}static get BoneBlock(){return a.BlockTypes.get("minecraft:bone_block")}static get Bookshelf(){return a.BlockTypes.get("minecraft:bookshelf")}static get BorderBlock(){return a.BlockTypes.get("minecraft:border_block")}static get BrainCoral(){return a.BlockTypes.get("minecraft:brain_coral")}static get BrewingStand(){return a.BlockTypes.get("minecraft:brewing_stand")}static get BrickBlock(){return a.BlockTypes.get("minecraft:brick_block")}static get BrickStairs(){return a.BlockTypes.get("minecraft:brick_stairs")}static get BrownCandle(){return a.BlockTypes.get("minecraft:brown_candle")}static get BrownCandleCake(){return a.BlockTypes.get("minecraft:brown_candle_cake")}static get BrownCarpet(){return a.BlockTypes.get("minecraft:brown_carpet")}static get BrownConcrete(){return a.BlockTypes.get("minecraft:brown_concrete")}static get BrownConcretePowder(){return a.BlockTypes.get("minecraft:brown_concrete_powder")}static get BrownGlazedTerracotta(){return a.BlockTypes.get("minecraft:brown_glazed_terracotta")}static get BrownMushroom(){return a.BlockTypes.get("minecraft:brown_mushroom")}static get BrownMushroomBlock(){return a.BlockTypes.get("minecraft:brown_mushroom_block")}static get BrownShulkerBox(){return a.BlockTypes.get("minecraft:brown_shulker_box")}static get BrownStainedGlass(){return a.BlockTypes.get("minecraft:brown_stained_glass")}static get BrownStainedGlassPane(){return a.BlockTypes.get("minecraft:brown_stained_glass_pane")}static get BrownTerracotta(){return a.BlockTypes.get("minecraft:brown_terracotta")}static get BrownWool(){return a.BlockTypes.get("minecraft:brown_wool")}static get BubbleColumn(){return a.BlockTypes.get("minecraft:bubble_column")}static get BubbleCoral(){return a.BlockTypes.get("minecraft:bubble_coral")}static get BuddingAmethyst(){return a.BlockTypes.get("minecraft:budding_amethyst")}static get Cactus(){return a.BlockTypes.get("minecraft:cactus")}static get Cake(){return a.BlockTypes.get("minecraft:cake")}static get Calcite(){return a.BlockTypes.get("minecraft:calcite")}static get CalibratedSculkSensor(){return a.BlockTypes.get("minecraft:calibrated_sculk_sensor")}static get Camera(){return a.BlockTypes.get("minecraft:camera")}static get Campfire(){return a.BlockTypes.get("minecraft:campfire")}static get Candle(){return a.BlockTypes.get("minecraft:candle")}static get CandleCake(){return a.BlockTypes.get("minecraft:candle_cake")}static get Carrots(){return a.BlockTypes.get("minecraft:carrots")}static get CartographyTable(){return a.BlockTypes.get("minecraft:cartography_table")}static get CarvedPumpkin(){return a.BlockTypes.get("minecraft:carved_pumpkin")}static get Cauldron(){return a.BlockTypes.get("minecraft:cauldron")}static get CaveVines(){return a.BlockTypes.get("minecraft:cave_vines")}static get CaveVinesBodyWithBerries(){return a.BlockTypes.get("minecraft:cave_vines_body_with_berries")}static get CaveVinesHeadWithBerries(){return a.BlockTypes.get("minecraft:cave_vines_head_with_berries")}static get Chain(){return a.BlockTypes.get("minecraft:chain")}static get ChainCommandBlock(){return a.BlockTypes.get("minecraft:chain_command_block")}static get ChemicalHeat(){return a.BlockTypes.get("minecraft:chemical_heat")}static get ChemistryTable(){return a.BlockTypes.get("minecraft:chemistry_table")}static get CherryButton(){return a.BlockTypes.get("minecraft:cherry_button")}static get CherryDoor(){return a.BlockTypes.get("minecraft:cherry_door")}static get CherryDoubleSlab(){return a.BlockTypes.get("minecraft:cherry_double_slab")}static get CherryFence(){return a.BlockTypes.get("minecraft:cherry_fence")}static get CherryFenceGate(){return a.BlockTypes.get("minecraft:cherry_fence_gate")}static get CherryHangingSign(){return a.BlockTypes.get("minecraft:cherry_hanging_sign")}static get CherryLeaves(){return a.BlockTypes.get("minecraft:cherry_leaves")}static get CherryLog(){return a.BlockTypes.get("minecraft:cherry_log")}static get CherryPlanks(){return a.BlockTypes.get("minecraft:cherry_planks")}static get CherryPressurePlate(){return a.BlockTypes.get("minecraft:cherry_pressure_plate")}static get CherrySapling(){return a.BlockTypes.get("minecraft:cherry_sapling")}static get CherrySlab(){return a.BlockTypes.get("minecraft:cherry_slab")}static get CherryStairs(){return a.BlockTypes.get("minecraft:cherry_stairs")}static get CherryStandingSign(){return a.BlockTypes.get("minecraft:cherry_standing_sign")}static get CherryTrapdoor(){return a.BlockTypes.get("minecraft:cherry_trapdoor")}static get CherryWallSign(){return a.BlockTypes.get("minecraft:cherry_wall_sign")}static get CherryWood(){return a.BlockTypes.get("minecraft:cherry_wood")}static get Chest(){return a.BlockTypes.get("minecraft:chest")}static get ChiseledBookshelf(){return a.BlockTypes.get("minecraft:chiseled_bookshelf")}static get ChiseledDeepslate(){return a.BlockTypes.get("minecraft:chiseled_deepslate")}static get ChiseledNetherBricks(){return a.BlockTypes.get("minecraft:chiseled_nether_bricks")}static get ChiseledPolishedBlackstone(){return a.BlockTypes.get("minecraft:chiseled_polished_blackstone")}static get ChorusFlower(){return a.BlockTypes.get("minecraft:chorus_flower")}static get ChorusPlant(){return a.BlockTypes.get("minecraft:chorus_plant")}static get Clay(){return a.BlockTypes.get("minecraft:clay")}static get ClientRequestPlaceholderBlock(){return a.BlockTypes.get("minecraft:client_request_placeholder_block")}static get CoalBlock(){return a.BlockTypes.get("minecraft:coal_block")}static get CoalOre(){return a.BlockTypes.get("minecraft:coal_ore")}static get CobbledDeepslate(){return a.BlockTypes.get("minecraft:cobbled_deepslate")}static get CobbledDeepslateDoubleSlab(){return a.BlockTypes.get("minecraft:cobbled_deepslate_double_slab")}static get CobbledDeepslateSlab(){return a.BlockTypes.get("minecraft:cobbled_deepslate_slab")}static get CobbledDeepslateStairs(){return a.BlockTypes.get("minecraft:cobbled_deepslate_stairs")}static get CobbledDeepslateWall(){return a.BlockTypes.get("minecraft:cobbled_deepslate_wall")}static get Cobblestone(){return a.BlockTypes.get("minecraft:cobblestone")}static get CobblestoneWall(){return a.BlockTypes.get("minecraft:cobblestone_wall")}static get Cocoa(){return a.BlockTypes.get("minecraft:cocoa")}static get ColoredTorchBp(){return a.BlockTypes.get("minecraft:colored_torch_bp")}static get ColoredTorchRg(){return a.BlockTypes.get("minecraft:colored_torch_rg")}static get CommandBlock(){return a.BlockTypes.get("minecraft:command_block")}static get Composter(){return a.BlockTypes.get("minecraft:composter")}static get Conduit(){return a.BlockTypes.get("minecraft:conduit")}static get CopperBlock(){return a.BlockTypes.get("minecraft:copper_block")}static get CopperOre(){return a.BlockTypes.get("minecraft:copper_ore")}static get CoralBlock(){return a.BlockTypes.get("minecraft:coral_block")}static get CoralFan(){return a.BlockTypes.get("minecraft:coral_fan")}static get CoralFanDead(){return a.BlockTypes.get("minecraft:coral_fan_dead")}static get CoralFanHang(){return a.BlockTypes.get("minecraft:coral_fan_hang")}static get CoralFanHang2(){return a.BlockTypes.get("minecraft:coral_fan_hang2")}static get CoralFanHang3(){return a.BlockTypes.get("minecraft:coral_fan_hang3")}static get CrackedDeepslateBricks(){return a.BlockTypes.get("minecraft:cracked_deepslate_bricks")}static get CrackedDeepslateTiles(){return a.BlockTypes.get("minecraft:cracked_deepslate_tiles")}static get CrackedNetherBricks(){return a.BlockTypes.get("minecraft:cracked_nether_bricks")}static get CrackedPolishedBlackstoneBricks(){return a.BlockTypes.get("minecraft:cracked_polished_blackstone_bricks")}static get CraftingTable(){return a.BlockTypes.get("minecraft:crafting_table")}static get CrimsonButton(){return a.BlockTypes.get("minecraft:crimson_button")}static get CrimsonDoor(){return a.BlockTypes.get("minecraft:crimson_door")}static get CrimsonDoubleSlab(){return a.BlockTypes.get("minecraft:crimson_double_slab")}static get CrimsonFence(){return a.BlockTypes.get("minecraft:crimson_fence")}static get CrimsonFenceGate(){return a.BlockTypes.get("minecraft:crimson_fence_gate")}static get CrimsonFungus(){return a.BlockTypes.get("minecraft:crimson_fungus")}static get CrimsonHangingSign(){return a.BlockTypes.get("minecraft:crimson_hanging_sign")}static get CrimsonHyphae(){return a.BlockTypes.get("minecraft:crimson_hyphae")}static get CrimsonNylium(){return a.BlockTypes.get("minecraft:crimson_nylium")}static get CrimsonPlanks(){return a.BlockTypes.get("minecraft:crimson_planks")}static get CrimsonPressurePlate(){return a.BlockTypes.get("minecraft:crimson_pressure_plate")}static get CrimsonRoots(){return a.BlockTypes.get("minecraft:crimson_roots")}static get CrimsonSlab(){return a.BlockTypes.get("minecraft:crimson_slab")}static get CrimsonStairs(){return a.BlockTypes.get("minecraft:crimson_stairs")}static get CrimsonStandingSign(){return a.BlockTypes.get("minecraft:crimson_standing_sign")}static get CrimsonStem(){return a.BlockTypes.get("minecraft:crimson_stem")}static get CrimsonTrapdoor(){return a.BlockTypes.get("minecraft:crimson_trapdoor")}static get CrimsonWallSign(){return a.BlockTypes.get("minecraft:crimson_wall_sign")}static get CryingObsidian(){return a.BlockTypes.get("minecraft:crying_obsidian")}static get CutCopper(){return a.BlockTypes.get("minecraft:cut_copper")}static get CutCopperSlab(){return a.BlockTypes.get("minecraft:cut_copper_slab")}static get CutCopperStairs(){return a.BlockTypes.get("minecraft:cut_copper_stairs")}static get CyanCandle(){return a.BlockTypes.get("minecraft:cyan_candle")}static get CyanCandleCake(){return a.BlockTypes.get("minecraft:cyan_candle_cake")}static get CyanCarpet(){return a.BlockTypes.get("minecraft:cyan_carpet")}static get CyanConcrete(){return a.BlockTypes.get("minecraft:cyan_concrete")}static get CyanConcretePowder(){return a.BlockTypes.get("minecraft:cyan_concrete_powder")}static get CyanGlazedTerracotta(){return a.BlockTypes.get("minecraft:cyan_glazed_terracotta")}static get CyanShulkerBox(){return a.BlockTypes.get("minecraft:cyan_shulker_box")}static get CyanStainedGlass(){return a.BlockTypes.get("minecraft:cyan_stained_glass")}static get CyanStainedGlassPane(){return a.BlockTypes.get("minecraft:cyan_stained_glass_pane")}static get CyanTerracotta(){return a.BlockTypes.get("minecraft:cyan_terracotta")}static get CyanWool(){return a.BlockTypes.get("minecraft:cyan_wool")}static get DarkOakButton(){return a.BlockTypes.get("minecraft:dark_oak_button")}static get DarkOakDoor(){return a.BlockTypes.get("minecraft:dark_oak_door")}static get DarkOakFence(){return a.BlockTypes.get("minecraft:dark_oak_fence")}static get DarkOakFenceGate(){return a.BlockTypes.get("minecraft:dark_oak_fence_gate")}static get DarkOakHangingSign(){return a.BlockTypes.get("minecraft:dark_oak_hanging_sign")}static get DarkOakLog(){return a.BlockTypes.get("minecraft:dark_oak_log")}static get DarkOakPressurePlate(){return a.BlockTypes.get("minecraft:dark_oak_pressure_plate")}static get DarkOakStairs(){return a.BlockTypes.get("minecraft:dark_oak_stairs")}static get DarkOakTrapdoor(){return a.BlockTypes.get("minecraft:dark_oak_trapdoor")}static get DarkPrismarineStairs(){return a.BlockTypes.get("minecraft:dark_prismarine_stairs")}static get DarkoakStandingSign(){return a.BlockTypes.get("minecraft:darkoak_standing_sign")}static get DarkoakWallSign(){return a.BlockTypes.get("minecraft:darkoak_wall_sign")}static get DaylightDetector(){return a.BlockTypes.get("minecraft:daylight_detector")}static get DaylightDetectorInverted(){return a.BlockTypes.get("minecraft:daylight_detector_inverted")}static get DeadBrainCoral(){return a.BlockTypes.get("minecraft:dead_brain_coral")}static get DeadBubbleCoral(){return a.BlockTypes.get("minecraft:dead_bubble_coral")}static get DeadFireCoral(){return a.BlockTypes.get("minecraft:dead_fire_coral")}static get DeadHornCoral(){return a.BlockTypes.get("minecraft:dead_horn_coral")}static get DeadTubeCoral(){return a.BlockTypes.get("minecraft:dead_tube_coral")}static get Deadbush(){return a.BlockTypes.get("minecraft:deadbush")}static get DecoratedPot(){return a.BlockTypes.get("minecraft:decorated_pot")}static get Deepslate(){return a.BlockTypes.get("minecraft:deepslate")}static get DeepslateBrickDoubleSlab(){return a.BlockTypes.get("minecraft:deepslate_brick_double_slab")}static get DeepslateBrickSlab(){return a.BlockTypes.get("minecraft:deepslate_brick_slab")}static get DeepslateBrickStairs(){return a.BlockTypes.get("minecraft:deepslate_brick_stairs")}static get DeepslateBrickWall(){return a.BlockTypes.get("minecraft:deepslate_brick_wall")}static get DeepslateBricks(){return a.BlockTypes.get("minecraft:deepslate_bricks")}static get DeepslateCoalOre(){return a.BlockTypes.get("minecraft:deepslate_coal_ore")}static get DeepslateCopperOre(){return a.BlockTypes.get("minecraft:deepslate_copper_ore")}static get DeepslateDiamondOre(){return a.BlockTypes.get("minecraft:deepslate_diamond_ore")}static get DeepslateEmeraldOre(){return a.BlockTypes.get("minecraft:deepslate_emerald_ore")}static get DeepslateGoldOre(){return a.BlockTypes.get("minecraft:deepslate_gold_ore")}static get DeepslateIronOre(){return a.BlockTypes.get("minecraft:deepslate_iron_ore")}static get DeepslateLapisOre(){return a.BlockTypes.get("minecraft:deepslate_lapis_ore")}static get DeepslateRedstoneOre(){return a.BlockTypes.get("minecraft:deepslate_redstone_ore")}static get DeepslateTileDoubleSlab(){return a.BlockTypes.get("minecraft:deepslate_tile_double_slab")}static get DeepslateTileSlab(){return a.BlockTypes.get("minecraft:deepslate_tile_slab")}static get DeepslateTileStairs(){return a.BlockTypes.get("minecraft:deepslate_tile_stairs")}static get DeepslateTileWall(){return a.BlockTypes.get("minecraft:deepslate_tile_wall")}static get DeepslateTiles(){return a.BlockTypes.get("minecraft:deepslate_tiles")}static get Deny(){return a.BlockTypes.get("minecraft:deny")}static get DetectorRail(){return a.BlockTypes.get("minecraft:detector_rail")}static get DiamondBlock(){return a.BlockTypes.get("minecraft:diamond_block")}static get DiamondOre(){return a.BlockTypes.get("minecraft:diamond_ore")}static get DioriteStairs(){return a.BlockTypes.get("minecraft:diorite_stairs")}static get Dirt(){return a.BlockTypes.get("minecraft:dirt")}static get DirtWithRoots(){return a.BlockTypes.get("minecraft:dirt_with_roots")}static get Dispenser(){return a.BlockTypes.get("minecraft:dispenser")}static get DoubleCutCopperSlab(){return a.BlockTypes.get("minecraft:double_cut_copper_slab")}static get DoublePlant(){return a.BlockTypes.get("minecraft:double_plant")}static get DoubleStoneBlockSlab(){return a.BlockTypes.get("minecraft:double_stone_block_slab")}static get DoubleStoneBlockSlab2(){return a.BlockTypes.get("minecraft:double_stone_block_slab2")}static get DoubleStoneBlockSlab3(){return a.BlockTypes.get("minecraft:double_stone_block_slab3")}static get DoubleStoneBlockSlab4(){return a.BlockTypes.get("minecraft:double_stone_block_slab4")}static get DoubleWoodenSlab(){return a.BlockTypes.get("minecraft:double_wooden_slab")}static get DragonEgg(){return a.BlockTypes.get("minecraft:dragon_egg")}static get DriedKelpBlock(){return a.BlockTypes.get("minecraft:dried_kelp_block")}static get DripstoneBlock(){return a.BlockTypes.get("minecraft:dripstone_block")}static get Dropper(){return a.BlockTypes.get("minecraft:dropper")}static get Element0(){return a.BlockTypes.get("minecraft:element_0")}static get Element1(){return a.BlockTypes.get("minecraft:element_1")}static get Element10(){return a.BlockTypes.get("minecraft:element_10")}static get Element100(){return a.BlockTypes.get("minecraft:element_100")}static get Element101(){return a.BlockTypes.get("minecraft:element_101")}static get Element102(){return a.BlockTypes.get("minecraft:element_102")}static get Element103(){return a.BlockTypes.get("minecraft:element_103")}static get Element104(){return a.BlockTypes.get("minecraft:element_104")}static get Element105(){return a.BlockTypes.get("minecraft:element_105")}static get Element106(){return a.BlockTypes.get("minecraft:element_106")}static get Element107(){return a.BlockTypes.get("minecraft:element_107")}static get Element108(){return a.BlockTypes.get("minecraft:element_108")}static get Element109(){return a.BlockTypes.get("minecraft:element_109")}static get Element11(){return a.BlockTypes.get("minecraft:element_11")}static get Element110(){return a.BlockTypes.get("minecraft:element_110")}static get Element111(){return a.BlockTypes.get("minecraft:element_111")}static get Element112(){return a.BlockTypes.get("minecraft:element_112")}static get Element113(){return a.BlockTypes.get("minecraft:element_113")}static get Element114(){return a.BlockTypes.get("minecraft:element_114")}static get Element115(){return a.BlockTypes.get("minecraft:element_115")}static get Element116(){return a.BlockTypes.get("minecraft:element_116")}static get Element117(){return a.BlockTypes.get("minecraft:element_117")}static get Element118(){return a.BlockTypes.get("minecraft:element_118")}static get Element12(){return a.BlockTypes.get("minecraft:element_12")}static get Element13(){return a.BlockTypes.get("minecraft:element_13")}static get Element14(){return a.BlockTypes.get("minecraft:element_14")}static get Element15(){return a.BlockTypes.get("minecraft:element_15")}static get Element16(){return a.BlockTypes.get("minecraft:element_16")}static get Element17(){return a.BlockTypes.get("minecraft:element_17")}static get Element18(){return a.BlockTypes.get("minecraft:element_18")}static get Element19(){return a.BlockTypes.get("minecraft:element_19")}static get Element2(){return a.BlockTypes.get("minecraft:element_2")}static get Element20(){return a.BlockTypes.get("minecraft:element_20")}static get Element21(){return a.BlockTypes.get("minecraft:element_21")}static get Element22(){return a.BlockTypes.get("minecraft:element_22")}static get Element23(){return a.BlockTypes.get("minecraft:element_23")}static get Element24(){return a.BlockTypes.get("minecraft:element_24")}static get Element25(){return a.BlockTypes.get("minecraft:element_25")}static get Element26(){return a.BlockTypes.get("minecraft:element_26")}static get Element27(){return a.BlockTypes.get("minecraft:element_27")}static get Element28(){return a.BlockTypes.get("minecraft:element_28")}static get Element29(){return a.BlockTypes.get("minecraft:element_29")}static get Element3(){return a.BlockTypes.get("minecraft:element_3")}static get Element30(){return a.BlockTypes.get("minecraft:element_30")}static get Element31(){return a.BlockTypes.get("minecraft:element_31")}static get Element32(){return a.BlockTypes.get("minecraft:element_32")}static get Element33(){return a.BlockTypes.get("minecraft:element_33")}static get Element34(){return a.BlockTypes.get("minecraft:element_34")}static get Element35(){return a.BlockTypes.get("minecraft:element_35")}static get Element36(){return a.BlockTypes.get("minecraft:element_36")}static get Element37(){return a.BlockTypes.get("minecraft:element_37")}static get Element38(){return a.BlockTypes.get("minecraft:element_38")}static get Element39(){return a.BlockTypes.get("minecraft:element_39")}static get Element4(){return a.BlockTypes.get("minecraft:element_4")}static get Element40(){return a.BlockTypes.get("minecraft:element_40")}static get Element41(){return a.BlockTypes.get("minecraft:element_41")}static get Element42(){return a.BlockTypes.get("minecraft:element_42")}static get Element43(){return a.BlockTypes.get("minecraft:element_43")}static get Element44(){return a.BlockTypes.get("minecraft:element_44")}static get Element45(){return a.BlockTypes.get("minecraft:element_45")}static get Element46(){return a.BlockTypes.get("minecraft:element_46")}static get Element47(){return a.BlockTypes.get("minecraft:element_47")}static get Element48(){return a.BlockTypes.get("minecraft:element_48")}static get Element49(){return a.BlockTypes.get("minecraft:element_49")}static get Element5(){return a.BlockTypes.get("minecraft:element_5")}static get Element50(){return a.BlockTypes.get("minecraft:element_50")}static get Element51(){return a.BlockTypes.get("minecraft:element_51")}static get Element52(){return a.BlockTypes.get("minecraft:element_52")}static get Element53(){return a.BlockTypes.get("minecraft:element_53")}static get Element54(){return a.BlockTypes.get("minecraft:element_54")}static get Element55(){return a.BlockTypes.get("minecraft:element_55")}static get Element56(){return a.BlockTypes.get("minecraft:element_56")}static get Element57(){return a.BlockTypes.get("minecraft:element_57")}static get Element58(){return a.BlockTypes.get("minecraft:element_58")}static get Element59(){return a.BlockTypes.get("minecraft:element_59")}static get Element6(){return a.BlockTypes.get("minecraft:element_6")}static get Element60(){return a.BlockTypes.get("minecraft:element_60")}static get Element61(){return a.BlockTypes.get("minecraft:element_61")}static get Element62(){return a.BlockTypes.get("minecraft:element_62")}static get Element63(){return a.BlockTypes.get("minecraft:element_63")}static get Element64(){return a.BlockTypes.get("minecraft:element_64")}static get Element65(){return a.BlockTypes.get("minecraft:element_65")}static get Element66(){return a.BlockTypes.get("minecraft:element_66")}static get Element67(){return a.BlockTypes.get("minecraft:element_67")}static get Element68(){return a.BlockTypes.get("minecraft:element_68")}static get Element69(){return a.BlockTypes.get("minecraft:element_69")}static get Element7(){return a.BlockTypes.get("minecraft:element_7")}static get Element70(){return a.BlockTypes.get("minecraft:element_70")}static get Element71(){return a.BlockTypes.get("minecraft:element_71")}static get Element72(){return a.BlockTypes.get("minecraft:element_72")}static get Element73(){return a.BlockTypes.get("minecraft:element_73")}static get Element74(){return a.BlockTypes.get("minecraft:element_74")}static get Element75(){return a.BlockTypes.get("minecraft:element_75")}static get Element76(){return a.BlockTypes.get("minecraft:element_76")}static get Element77(){return a.BlockTypes.get("minecraft:element_77")}static get Element78(){return a.BlockTypes.get("minecraft:element_78")}static get Element79(){return a.BlockTypes.get("minecraft:element_79")}static get Element8(){return a.BlockTypes.get("minecraft:element_8")}static get Element80(){return a.BlockTypes.get("minecraft:element_80")}static get Element81(){return a.BlockTypes.get("minecraft:element_81")}static get Element82(){return a.BlockTypes.get("minecraft:element_82")}static get Element83(){return a.BlockTypes.get("minecraft:element_83")}static get Element84(){return a.BlockTypes.get("minecraft:element_84")}static get Element85(){return a.BlockTypes.get("minecraft:element_85")}static get Element86(){return a.BlockTypes.get("minecraft:element_86")}static get Element87(){return a.BlockTypes.get("minecraft:element_87")}static get Element88(){return a.BlockTypes.get("minecraft:element_88")}static get Element89(){return a.BlockTypes.get("minecraft:element_89")}static get Element9(){return a.BlockTypes.get("minecraft:element_9")}static get Element90(){return a.BlockTypes.get("minecraft:element_90")}static get Element91(){return a.BlockTypes.get("minecraft:element_91")}static get Element92(){return a.BlockTypes.get("minecraft:element_92")}static get Element93(){return a.BlockTypes.get("minecraft:element_93")}static get Element94(){return a.BlockTypes.get("minecraft:element_94")}static get Element95(){return a.BlockTypes.get("minecraft:element_95")}static get Element96(){return a.BlockTypes.get("minecraft:element_96")}static get Element97(){return a.BlockTypes.get("minecraft:element_97")}static get Element98(){return a.BlockTypes.get("minecraft:element_98")}static get Element99(){return a.BlockTypes.get("minecraft:element_99")}static get EmeraldBlock(){return a.BlockTypes.get("minecraft:emerald_block")}static get EmeraldOre(){return a.BlockTypes.get("minecraft:emerald_ore")}static get EnchantingTable(){return a.BlockTypes.get("minecraft:enchanting_table")}static get EndBrickStairs(){return a.BlockTypes.get("minecraft:end_brick_stairs")}static get EndBricks(){return a.BlockTypes.get("minecraft:end_bricks")}static get EndGateway(){return a.BlockTypes.get("minecraft:end_gateway")}static get EndPortal(){return a.BlockTypes.get("minecraft:end_portal")}static get EndPortalFrame(){return a.BlockTypes.get("minecraft:end_portal_frame")}static get EndRod(){return a.BlockTypes.get("minecraft:end_rod")}static get EndStone(){return a.BlockTypes.get("minecraft:end_stone")}static get EnderChest(){return a.BlockTypes.get("minecraft:ender_chest")}static get ExposedCopper(){return a.BlockTypes.get("minecraft:exposed_copper")}static get ExposedCutCopper(){return a.BlockTypes.get("minecraft:exposed_cut_copper")}static get ExposedCutCopperSlab(){return a.BlockTypes.get("minecraft:exposed_cut_copper_slab")}static get ExposedCutCopperStairs(){return a.BlockTypes.get("minecraft:exposed_cut_copper_stairs")}static get ExposedDoubleCutCopperSlab(){return a.BlockTypes.get("minecraft:exposed_double_cut_copper_slab")}static get Farmland(){return a.BlockTypes.get("minecraft:farmland")}static get FenceGate(){return a.BlockTypes.get("minecraft:fence_gate")}static get Fire(){return a.BlockTypes.get("minecraft:fire")}static get FireCoral(){return a.BlockTypes.get("minecraft:fire_coral")}static get FletchingTable(){return a.BlockTypes.get("minecraft:fletching_table")}static get FlowerPot(){return a.BlockTypes.get("minecraft:flower_pot")}static get FloweringAzalea(){return a.BlockTypes.get("minecraft:flowering_azalea")}static get FlowingLava(){return a.BlockTypes.get("minecraft:flowing_lava")}static get FlowingWater(){return a.BlockTypes.get("minecraft:flowing_water")}static get Frame(){return a.BlockTypes.get("minecraft:frame")}static get FrogSpawn(){return a.BlockTypes.get("minecraft:frog_spawn")}static get FrostedIce(){return a.BlockTypes.get("minecraft:frosted_ice")}static get Furnace(){return a.BlockTypes.get("minecraft:furnace")}static get GildedBlackstone(){return a.BlockTypes.get("minecraft:gilded_blackstone")}static get Glass(){return a.BlockTypes.get("minecraft:glass")}static get GlassPane(){return a.BlockTypes.get("minecraft:glass_pane")}static get GlowFrame(){return a.BlockTypes.get("minecraft:glow_frame")}static get GlowLichen(){return a.BlockTypes.get("minecraft:glow_lichen")}static get Glowingobsidian(){return a.BlockTypes.get("minecraft:glowingobsidian")}static get Glowstone(){return a.BlockTypes.get("minecraft:glowstone")}static get GoldBlock(){return a.BlockTypes.get("minecraft:gold_block")}static get GoldOre(){return a.BlockTypes.get("minecraft:gold_ore")}static get GoldenRail(){return a.BlockTypes.get("minecraft:golden_rail")}static get GraniteStairs(){return a.BlockTypes.get("minecraft:granite_stairs")}static get Grass(){return a.BlockTypes.get("minecraft:grass")}static get GrassPath(){return a.BlockTypes.get("minecraft:grass_path")}static get Gravel(){return a.BlockTypes.get("minecraft:gravel")}static get GrayCandle(){return a.BlockTypes.get("minecraft:gray_candle")}static get GrayCandleCake(){return a.BlockTypes.get("minecraft:gray_candle_cake")}static get GrayCarpet(){return a.BlockTypes.get("minecraft:gray_carpet")}static get GrayConcrete(){return a.BlockTypes.get("minecraft:gray_concrete")}static get GrayConcretePowder(){return a.BlockTypes.get("minecraft:gray_concrete_powder")}static get GrayGlazedTerracotta(){return a.BlockTypes.get("minecraft:gray_glazed_terracotta")}static get GrayShulkerBox(){return a.BlockTypes.get("minecraft:gray_shulker_box")}static get GrayStainedGlass(){return a.BlockTypes.get("minecraft:gray_stained_glass")}static get GrayStainedGlassPane(){return a.BlockTypes.get("minecraft:gray_stained_glass_pane")}static get GrayTerracotta(){return a.BlockTypes.get("minecraft:gray_terracotta")}static get GrayWool(){return a.BlockTypes.get("minecraft:gray_wool")}static get GreenCandle(){return a.BlockTypes.get("minecraft:green_candle")}static get GreenCandleCake(){return a.BlockTypes.get("minecraft:green_candle_cake")}static get GreenCarpet(){return a.BlockTypes.get("minecraft:green_carpet")}static get GreenConcrete(){return a.BlockTypes.get("minecraft:green_concrete")}static get GreenConcretePowder(){return a.BlockTypes.get("minecraft:green_concrete_powder")}static get GreenGlazedTerracotta(){return a.BlockTypes.get("minecraft:green_glazed_terracotta")}static get GreenShulkerBox(){return a.BlockTypes.get("minecraft:green_shulker_box")}static get GreenStainedGlass(){return a.BlockTypes.get("minecraft:green_stained_glass")}static get GreenStainedGlassPane(){return a.BlockTypes.get("minecraft:green_stained_glass_pane")}static get GreenTerracotta(){return a.BlockTypes.get("minecraft:green_terracotta")}static get GreenWool(){return a.BlockTypes.get("minecraft:green_wool")}static get Grindstone(){return a.BlockTypes.get("minecraft:grindstone")}static get HangingRoots(){return a.BlockTypes.get("minecraft:hanging_roots")}static get HardGlass(){return a.BlockTypes.get("minecraft:hard_glass")}static get HardGlassPane(){return a.BlockTypes.get("minecraft:hard_glass_pane")}static get HardStainedGlass(){return a.BlockTypes.get("minecraft:hard_stained_glass")}static get HardStainedGlassPane(){return a.BlockTypes.get("minecraft:hard_stained_glass_pane")}static get HardenedClay(){return a.BlockTypes.get("minecraft:hardened_clay")}static get HayBlock(){return a.BlockTypes.get("minecraft:hay_block")}static get HeavyWeightedPressurePlate(){return a.BlockTypes.get("minecraft:heavy_weighted_pressure_plate")}static get HoneyBlock(){return a.BlockTypes.get("minecraft:honey_block")}static get HoneycombBlock(){return a.BlockTypes.get("minecraft:honeycomb_block")}static get Hopper(){return a.BlockTypes.get("minecraft:hopper")}static get HornCoral(){return a.BlockTypes.get("minecraft:horn_coral")}static get Ice(){return a.BlockTypes.get("minecraft:ice")}static get InfestedDeepslate(){return a.BlockTypes.get("minecraft:infested_deepslate")}static get InfoUpdate(){return a.BlockTypes.get("minecraft:info_update")}static get InfoUpdate2(){return a.BlockTypes.get("minecraft:info_update2")}static get InvisibleBedrock(){return a.BlockTypes.get("minecraft:invisible_bedrock")}static get IronBars(){return a.BlockTypes.get("minecraft:iron_bars")}static get IronBlock(){return a.BlockTypes.get("minecraft:iron_block")}static get IronDoor(){return a.BlockTypes.get("minecraft:iron_door")}static get IronOre(){return a.BlockTypes.get("minecraft:iron_ore")}static get IronTrapdoor(){return a.BlockTypes.get("minecraft:iron_trapdoor")}static get Jigsaw(){return a.BlockTypes.get("minecraft:jigsaw")}static get Jukebox(){return a.BlockTypes.get("minecraft:jukebox")}static get JungleButton(){return a.BlockTypes.get("minecraft:jungle_button")}static get JungleDoor(){return a.BlockTypes.get("minecraft:jungle_door")}static get JungleFence(){return a.BlockTypes.get("minecraft:jungle_fence")}static get JungleFenceGate(){return a.BlockTypes.get("minecraft:jungle_fence_gate")}static get JungleHangingSign(){return a.BlockTypes.get("minecraft:jungle_hanging_sign")}static get JungleLog(){return a.BlockTypes.get("minecraft:jungle_log")}static get JunglePressurePlate(){return a.BlockTypes.get("minecraft:jungle_pressure_plate")}static get JungleStairs(){return a.BlockTypes.get("minecraft:jungle_stairs")}static get JungleStandingSign(){return a.BlockTypes.get("minecraft:jungle_standing_sign")}static get JungleTrapdoor(){return a.BlockTypes.get("minecraft:jungle_trapdoor")}static get JungleWallSign(){return a.BlockTypes.get("minecraft:jungle_wall_sign")}static get Kelp(){return a.BlockTypes.get("minecraft:kelp")}static get Ladder(){return a.BlockTypes.get("minecraft:ladder")}static get Lantern(){return a.BlockTypes.get("minecraft:lantern")}static get LapisBlock(){return a.BlockTypes.get("minecraft:lapis_block")}static get LapisOre(){return a.BlockTypes.get("minecraft:lapis_ore")}static get LargeAmethystBud(){return a.BlockTypes.get("minecraft:large_amethyst_bud")}static get Lava(){return a.BlockTypes.get("minecraft:lava")}static get Leaves(){return a.BlockTypes.get("minecraft:leaves")}static get Leaves2(){return a.BlockTypes.get("minecraft:leaves2")}static get Lectern(){return a.BlockTypes.get("minecraft:lectern")}static get Lever(){return a.BlockTypes.get("minecraft:lever")}static get LightBlock(){return a.BlockTypes.get("minecraft:light_block")}static get LightBlueCandle(){return a.BlockTypes.get("minecraft:light_blue_candle")}static get LightBlueCandleCake(){return a.BlockTypes.get("minecraft:light_blue_candle_cake")}static get LightBlueCarpet(){return a.BlockTypes.get("minecraft:light_blue_carpet")}static get LightBlueConcrete(){return a.BlockTypes.get("minecraft:light_blue_concrete")}static get LightBlueConcretePowder(){return a.BlockTypes.get("minecraft:light_blue_concrete_powder")}static get LightBlueGlazedTerracotta(){return a.BlockTypes.get("minecraft:light_blue_glazed_terracotta")}static get LightBlueShulkerBox(){return a.BlockTypes.get("minecraft:light_blue_shulker_box")}static get LightBlueStainedGlass(){return a.BlockTypes.get("minecraft:light_blue_stained_glass")}static get LightBlueStainedGlassPane(){return a.BlockTypes.get("minecraft:light_blue_stained_glass_pane")}static get LightBlueTerracotta(){return a.BlockTypes.get("minecraft:light_blue_terracotta")}static get LightBlueWool(){return a.BlockTypes.get("minecraft:light_blue_wool")}static get LightGrayCandle(){return a.BlockTypes.get("minecraft:light_gray_candle")}static get LightGrayCandleCake(){return a.BlockTypes.get("minecraft:light_gray_candle_cake")}static get LightGrayCarpet(){return a.BlockTypes.get("minecraft:light_gray_carpet")}static get LightGrayConcrete(){return a.BlockTypes.get("minecraft:light_gray_concrete")}static get LightGrayConcretePowder(){return a.BlockTypes.get("minecraft:light_gray_concrete_powder")}static get LightGrayShulkerBox(){return a.BlockTypes.get("minecraft:light_gray_shulker_box")}static get LightGrayStainedGlass(){return a.BlockTypes.get("minecraft:light_gray_stained_glass")}static get LightGrayStainedGlassPane(){return a.BlockTypes.get("minecraft:light_gray_stained_glass_pane")}static get LightGrayTerracotta(){return a.BlockTypes.get("minecraft:light_gray_terracotta")}static get LightGrayWool(){return a.BlockTypes.get("minecraft:light_gray_wool")}static get LightWeightedPressurePlate(){return a.BlockTypes.get("minecraft:light_weighted_pressure_plate")}static get LightningRod(){return a.BlockTypes.get("minecraft:lightning_rod")}static get LimeCandle(){return a.BlockTypes.get("minecraft:lime_candle")}static get LimeCandleCake(){return a.BlockTypes.get("minecraft:lime_candle_cake")}static get LimeCarpet(){return a.BlockTypes.get("minecraft:lime_carpet")}static get LimeConcrete(){return a.BlockTypes.get("minecraft:lime_concrete")}static get LimeConcretePowder(){return a.BlockTypes.get("minecraft:lime_concrete_powder")}static get LimeGlazedTerracotta(){return a.BlockTypes.get("minecraft:lime_glazed_terracotta")}static get LimeShulkerBox(){return a.BlockTypes.get("minecraft:lime_shulker_box")}static get LimeStainedGlass(){return a.BlockTypes.get("minecraft:lime_stained_glass")}static get LimeStainedGlassPane(){return a.BlockTypes.get("minecraft:lime_stained_glass_pane")}static get LimeTerracotta(){return a.BlockTypes.get("minecraft:lime_terracotta")}static get LimeWool(){return a.BlockTypes.get("minecraft:lime_wool")}static get LitBlastFurnace(){return a.BlockTypes.get("minecraft:lit_blast_furnace")}static get LitDeepslateRedstoneOre(){return a.BlockTypes.get("minecraft:lit_deepslate_redstone_ore")}static get LitFurnace(){return a.BlockTypes.get("minecraft:lit_furnace")}static get LitPumpkin(){return a.BlockTypes.get("minecraft:lit_pumpkin")}static get LitRedstoneLamp(){return a.BlockTypes.get("minecraft:lit_redstone_lamp")}static get LitRedstoneOre(){return a.BlockTypes.get("minecraft:lit_redstone_ore")}static get LitSmoker(){return a.BlockTypes.get("minecraft:lit_smoker")}static get Lodestone(){return a.BlockTypes.get("minecraft:lodestone")}static get Loom(){return a.BlockTypes.get("minecraft:loom")}static get MagentaCandle(){return a.BlockTypes.get("minecraft:magenta_candle")}static get MagentaCandleCake(){return a.BlockTypes.get("minecraft:magenta_candle_cake")}static get MagentaCarpet(){return a.BlockTypes.get("minecraft:magenta_carpet")}static get MagentaConcrete(){return a.BlockTypes.get("minecraft:magenta_concrete")}static get MagentaConcretePowder(){return a.BlockTypes.get("minecraft:magenta_concrete_powder")}static get MagentaGlazedTerracotta(){return a.BlockTypes.get("minecraft:magenta_glazed_terracotta")}static get MagentaShulkerBox(){return a.BlockTypes.get("minecraft:magenta_shulker_box")}static get MagentaStainedGlass(){return a.BlockTypes.get("minecraft:magenta_stained_glass")}static get MagentaStainedGlassPane(){return a.BlockTypes.get("minecraft:magenta_stained_glass_pane")}static get MagentaTerracotta(){return a.BlockTypes.get("minecraft:magenta_terracotta")}static get MagentaWool(){return a.BlockTypes.get("minecraft:magenta_wool")}static get Magma(){return a.BlockTypes.get("minecraft:magma")}static get MangroveButton(){return a.BlockTypes.get("minecraft:mangrove_button")}static get MangroveDoor(){return a.BlockTypes.get("minecraft:mangrove_door")}static get MangroveDoubleSlab(){return a.BlockTypes.get("minecraft:mangrove_double_slab")}static get MangroveFence(){return a.BlockTypes.get("minecraft:mangrove_fence")}static get MangroveFenceGate(){return a.BlockTypes.get("minecraft:mangrove_fence_gate")}static get MangroveHangingSign(){return a.BlockTypes.get("minecraft:mangrove_hanging_sign")}static get MangroveLeaves(){return a.BlockTypes.get("minecraft:mangrove_leaves")}static get MangroveLog(){return a.BlockTypes.get("minecraft:mangrove_log")}static get MangrovePlanks(){return a.BlockTypes.get("minecraft:mangrove_planks")}static get MangrovePressurePlate(){return a.BlockTypes.get("minecraft:mangrove_pressure_plate")}static get MangrovePropagule(){return a.BlockTypes.get("minecraft:mangrove_propagule")}static get MangroveRoots(){return a.BlockTypes.get("minecraft:mangrove_roots")}static get MangroveSlab(){return a.BlockTypes.get("minecraft:mangrove_slab")}static get MangroveStairs(){return a.BlockTypes.get("minecraft:mangrove_stairs")}static get MangroveStandingSign(){return a.BlockTypes.get("minecraft:mangrove_standing_sign")}static get MangroveTrapdoor(){return a.BlockTypes.get("minecraft:mangrove_trapdoor")}static get MangroveWallSign(){return a.BlockTypes.get("minecraft:mangrove_wall_sign")}static get MangroveWood(){return a.BlockTypes.get("minecraft:mangrove_wood")}static get MediumAmethystBud(){return a.BlockTypes.get("minecraft:medium_amethyst_bud")}static get MelonBlock(){return a.BlockTypes.get("minecraft:melon_block")}static get MelonStem(){return a.BlockTypes.get("minecraft:melon_stem")}static get MobSpawner(){return a.BlockTypes.get("minecraft:mob_spawner")}static get MonsterEgg(){return a.BlockTypes.get("minecraft:monster_egg")}static get MossBlock(){return a.BlockTypes.get("minecraft:moss_block")}static get MossCarpet(){return a.BlockTypes.get("minecraft:moss_carpet")}static get MossyCobblestone(){return a.BlockTypes.get("minecraft:mossy_cobblestone")}static get MossyCobblestoneStairs(){return a.BlockTypes.get("minecraft:mossy_cobblestone_stairs")}static get MossyStoneBrickStairs(){return a.BlockTypes.get("minecraft:mossy_stone_brick_stairs")}static get MovingBlock(){return a.BlockTypes.get("minecraft:moving_block")}static get Mud(){return a.BlockTypes.get("minecraft:mud")}static get MudBrickDoubleSlab(){return a.BlockTypes.get("minecraft:mud_brick_double_slab")}static get MudBrickSlab(){return a.BlockTypes.get("minecraft:mud_brick_slab")}static get MudBrickStairs(){return a.BlockTypes.get("minecraft:mud_brick_stairs")}static get MudBrickWall(){return a.BlockTypes.get("minecraft:mud_brick_wall")}static get MudBricks(){return a.BlockTypes.get("minecraft:mud_bricks")}static get MuddyMangroveRoots(){return a.BlockTypes.get("minecraft:muddy_mangrove_roots")}static get Mycelium(){return a.BlockTypes.get("minecraft:mycelium")}static get NetherBrick(){return a.BlockTypes.get("minecraft:nether_brick")}static get NetherBrickFence(){return a.BlockTypes.get("minecraft:nether_brick_fence")}static get NetherBrickStairs(){return a.BlockTypes.get("minecraft:nether_brick_stairs")}static get NetherGoldOre(){return a.BlockTypes.get("minecraft:nether_gold_ore")}static get NetherSprouts(){return a.BlockTypes.get("minecraft:nether_sprouts")}static get NetherWart(){return a.BlockTypes.get("minecraft:nether_wart")}static get NetherWartBlock(){return a.BlockTypes.get("minecraft:nether_wart_block")}static get NetheriteBlock(){return a.BlockTypes.get("minecraft:netherite_block")}static get Netherrack(){return a.BlockTypes.get("minecraft:netherrack")}static get Netherreactor(){return a.BlockTypes.get("minecraft:netherreactor")}static get NormalStoneStairs(){return a.BlockTypes.get("minecraft:normal_stone_stairs")}static get Noteblock(){return a.BlockTypes.get("minecraft:noteblock")}static get OakFence(){return a.BlockTypes.get("minecraft:oak_fence")}static get OakHangingSign(){return a.BlockTypes.get("minecraft:oak_hanging_sign")}static get OakLog(){return a.BlockTypes.get("minecraft:oak_log")}static get OakStairs(){return a.BlockTypes.get("minecraft:oak_stairs")}static get Observer(){return a.BlockTypes.get("minecraft:observer")}static get Obsidian(){return a.BlockTypes.get("minecraft:obsidian")}static get OchreFroglight(){return a.BlockTypes.get("minecraft:ochre_froglight")}static get OrangeCandle(){return a.BlockTypes.get("minecraft:orange_candle")}static get OrangeCandleCake(){return a.BlockTypes.get("minecraft:orange_candle_cake")}static get OrangeCarpet(){return a.BlockTypes.get("minecraft:orange_carpet")}static get OrangeConcrete(){return a.BlockTypes.get("minecraft:orange_concrete")}static get OrangeConcretePowder(){return a.BlockTypes.get("minecraft:orange_concrete_powder")}static get OrangeGlazedTerracotta(){return a.BlockTypes.get("minecraft:orange_glazed_terracotta")}static get OrangeShulkerBox(){return a.BlockTypes.get("minecraft:orange_shulker_box")}static get OrangeStainedGlass(){return a.BlockTypes.get("minecraft:orange_stained_glass")}static get OrangeStainedGlassPane(){return a.BlockTypes.get("minecraft:orange_stained_glass_pane")}static get OrangeTerracotta(){return a.BlockTypes.get("minecraft:orange_terracotta")}static get OrangeWool(){return a.BlockTypes.get("minecraft:orange_wool")}static get OxidizedCopper(){return a.BlockTypes.get("minecraft:oxidized_copper")}static get OxidizedCutCopper(){return a.BlockTypes.get("minecraft:oxidized_cut_copper")}static get OxidizedCutCopperSlab(){return a.BlockTypes.get("minecraft:oxidized_cut_copper_slab")}static get OxidizedCutCopperStairs(){return a.BlockTypes.get("minecraft:oxidized_cut_copper_stairs")}static get OxidizedDoubleCutCopperSlab(){return a.BlockTypes.get("minecraft:oxidized_double_cut_copper_slab")}static get PackedIce(){return a.BlockTypes.get("minecraft:packed_ice")}static get PackedMud(){return a.BlockTypes.get("minecraft:packed_mud")}static get PearlescentFroglight(){return a.BlockTypes.get("minecraft:pearlescent_froglight")}static get PinkCandle(){return a.BlockTypes.get("minecraft:pink_candle")}static get PinkCandleCake(){return a.BlockTypes.get("minecraft:pink_candle_cake")}static get PinkCarpet(){return a.BlockTypes.get("minecraft:pink_carpet")}static get PinkConcrete(){return a.BlockTypes.get("minecraft:pink_concrete")}static get PinkConcretePowder(){return a.BlockTypes.get("minecraft:pink_concrete_powder")}static get PinkGlazedTerracotta(){return a.BlockTypes.get("minecraft:pink_glazed_terracotta")}static get PinkPetals(){return a.BlockTypes.get("minecraft:pink_petals")}static get PinkShulkerBox(){return a.BlockTypes.get("minecraft:pink_shulker_box")}static get PinkStainedGlass(){return a.BlockTypes.get("minecraft:pink_stained_glass")}static get PinkStainedGlassPane(){return a.BlockTypes.get("minecraft:pink_stained_glass_pane")}static get PinkTerracotta(){return a.BlockTypes.get("minecraft:pink_terracotta")}static get PinkWool(){return a.BlockTypes.get("minecraft:pink_wool")}static get Piston(){return a.BlockTypes.get("minecraft:piston")}static get PistonArmCollision(){return a.BlockTypes.get("minecraft:piston_arm_collision")}static get PitcherCrop(){return a.BlockTypes.get("minecraft:pitcher_crop")}static get PitcherPlant(){return a.BlockTypes.get("minecraft:pitcher_plant")}static get Planks(){return a.BlockTypes.get("minecraft:planks")}static get Podzol(){return a.BlockTypes.get("minecraft:podzol")}static get PointedDripstone(){return a.BlockTypes.get("minecraft:pointed_dripstone")}static get PolishedAndesiteStairs(){return a.BlockTypes.get("minecraft:polished_andesite_stairs")}static get PolishedBasalt(){return a.BlockTypes.get("minecraft:polished_basalt")}static get PolishedBlackstone(){return a.BlockTypes.get("minecraft:polished_blackstone")}static get PolishedBlackstoneBrickDoubleSlab(){return a.BlockTypes.get("minecraft:polished_blackstone_brick_double_slab")}static get PolishedBlackstoneBrickSlab(){return a.BlockTypes.get("minecraft:polished_blackstone_brick_slab")}static get PolishedBlackstoneBrickStairs(){return a.BlockTypes.get("minecraft:polished_blackstone_brick_stairs")}static get PolishedBlackstoneBrickWall(){return a.BlockTypes.get("minecraft:polished_blackstone_brick_wall")}static get PolishedBlackstoneBricks(){return a.BlockTypes.get("minecraft:polished_blackstone_bricks")}static get PolishedBlackstoneButton(){return a.BlockTypes.get("minecraft:polished_blackstone_button")}static get PolishedBlackstoneDoubleSlab(){return a.BlockTypes.get("minecraft:polished_blackstone_double_slab")}static get PolishedBlackstonePressurePlate(){return a.BlockTypes.get("minecraft:polished_blackstone_pressure_plate")}static get PolishedBlackstoneSlab(){return a.BlockTypes.get("minecraft:polished_blackstone_slab")}static get PolishedBlackstoneStairs(){return a.BlockTypes.get("minecraft:polished_blackstone_stairs")}static get PolishedBlackstoneWall(){return a.BlockTypes.get("minecraft:polished_blackstone_wall")}static get PolishedDeepslate(){return a.BlockTypes.get("minecraft:polished_deepslate")}static get PolishedDeepslateDoubleSlab(){return a.BlockTypes.get("minecraft:polished_deepslate_double_slab")}static get PolishedDeepslateSlab(){return a.BlockTypes.get("minecraft:polished_deepslate_slab")}static get PolishedDeepslateStairs(){return a.BlockTypes.get("minecraft:polished_deepslate_stairs")}static get PolishedDeepslateWall(){return a.BlockTypes.get("minecraft:polished_deepslate_wall")}static get PolishedDioriteStairs(){return a.BlockTypes.get("minecraft:polished_diorite_stairs")}static get PolishedGraniteStairs(){return a.BlockTypes.get("minecraft:polished_granite_stairs")}static get Portal(){return a.BlockTypes.get("minecraft:portal")}static get Potatoes(){return a.BlockTypes.get("minecraft:potatoes")}static get PowderSnow(){return a.BlockTypes.get("minecraft:powder_snow")}static get PoweredComparator(){return a.BlockTypes.get("minecraft:powered_comparator")}static get PoweredRepeater(){return a.BlockTypes.get("minecraft:powered_repeater")}static get Prismarine(){return a.BlockTypes.get("minecraft:prismarine")}static get PrismarineBricksStairs(){return a.BlockTypes.get("minecraft:prismarine_bricks_stairs")}static get PrismarineStairs(){return a.BlockTypes.get("minecraft:prismarine_stairs")}static get Pumpkin(){return a.BlockTypes.get("minecraft:pumpkin")}static get PumpkinStem(){return a.BlockTypes.get("minecraft:pumpkin_stem")}static get PurpleCandle(){return a.BlockTypes.get("minecraft:purple_candle")}static get PurpleCandleCake(){return a.BlockTypes.get("minecraft:purple_candle_cake")}static get PurpleCarpet(){return a.BlockTypes.get("minecraft:purple_carpet")}static get PurpleConcrete(){return a.BlockTypes.get("minecraft:purple_concrete")}static get PurpleConcretePowder(){return a.BlockTypes.get("minecraft:purple_concrete_powder")}static get PurpleGlazedTerracotta(){return a.BlockTypes.get("minecraft:purple_glazed_terracotta")}static get PurpleShulkerBox(){return a.BlockTypes.get("minecraft:purple_shulker_box")}static get PurpleStainedGlass(){return a.BlockTypes.get("minecraft:purple_stained_glass")}static get PurpleStainedGlassPane(){return a.BlockTypes.get("minecraft:purple_stained_glass_pane")}static get PurpleTerracotta(){return a.BlockTypes.get("minecraft:purple_terracotta")}static get PurpleWool(){return a.BlockTypes.get("minecraft:purple_wool")}static get PurpurBlock(){return a.BlockTypes.get("minecraft:purpur_block")}static get PurpurStairs(){return a.BlockTypes.get("minecraft:purpur_stairs")}static get QuartzBlock(){return a.BlockTypes.get("minecraft:quartz_block")}static get QuartzBricks(){return a.BlockTypes.get("minecraft:quartz_bricks")}static get QuartzOre(){return a.BlockTypes.get("minecraft:quartz_ore")}static get QuartzStairs(){return a.BlockTypes.get("minecraft:quartz_stairs")}static get Rail(){return a.BlockTypes.get("minecraft:rail")}static get RawCopperBlock(){return a.BlockTypes.get("minecraft:raw_copper_block")}static get RawGoldBlock(){return a.BlockTypes.get("minecraft:raw_gold_block")}static get RawIronBlock(){return a.BlockTypes.get("minecraft:raw_iron_block")}static get RedCandle(){return a.BlockTypes.get("minecraft:red_candle")}static get RedCandleCake(){return a.BlockTypes.get("minecraft:red_candle_cake")}static get RedCarpet(){return a.BlockTypes.get("minecraft:red_carpet")}static get RedConcrete(){return a.BlockTypes.get("minecraft:red_concrete")}static get RedConcretePowder(){return a.BlockTypes.get("minecraft:red_concrete_powder")}static get RedFlower(){return a.BlockTypes.get("minecraft:red_flower")}static get RedGlazedTerracotta(){return a.BlockTypes.get("minecraft:red_glazed_terracotta")}static get RedMushroom(){return a.BlockTypes.get("minecraft:red_mushroom")}static get RedMushroomBlock(){return a.BlockTypes.get("minecraft:red_mushroom_block")}static get RedNetherBrick(){return a.BlockTypes.get("minecraft:red_nether_brick")}static get RedNetherBrickStairs(){return a.BlockTypes.get("minecraft:red_nether_brick_stairs")}static get RedSandstone(){return a.BlockTypes.get("minecraft:red_sandstone")}static get RedSandstoneStairs(){return a.BlockTypes.get("minecraft:red_sandstone_stairs")}static get RedShulkerBox(){return a.BlockTypes.get("minecraft:red_shulker_box")}static get RedStainedGlass(){return a.BlockTypes.get("minecraft:red_stained_glass")}static get RedStainedGlassPane(){return a.BlockTypes.get("minecraft:red_stained_glass_pane")}static get RedTerracotta(){return a.BlockTypes.get("minecraft:red_terracotta")}static get RedWool(){return a.BlockTypes.get("minecraft:red_wool")}static get RedstoneBlock(){return a.BlockTypes.get("minecraft:redstone_block")}static get RedstoneLamp(){return a.BlockTypes.get("minecraft:redstone_lamp")}static get RedstoneOre(){return a.BlockTypes.get("minecraft:redstone_ore")}static get RedstoneTorch(){return a.BlockTypes.get("minecraft:redstone_torch")}static get RedstoneWire(){return a.BlockTypes.get("minecraft:redstone_wire")}static get Reeds(){return a.BlockTypes.get("minecraft:reeds")}static get ReinforcedDeepslate(){return a.BlockTypes.get("minecraft:reinforced_deepslate")}static get RepeatingCommandBlock(){return a.BlockTypes.get("minecraft:repeating_command_block")}static get Reserved6(){return a.BlockTypes.get("minecraft:reserved6")}static get RespawnAnchor(){return a.BlockTypes.get("minecraft:respawn_anchor")}static get Sand(){return a.BlockTypes.get("minecraft:sand")}static get Sandstone(){return a.BlockTypes.get("minecraft:sandstone")}static get SandstoneStairs(){return a.BlockTypes.get("minecraft:sandstone_stairs")}static get Sapling(){return a.BlockTypes.get("minecraft:sapling")}static get Scaffolding(){return a.BlockTypes.get("minecraft:scaffolding")}static get Sculk(){return a.BlockTypes.get("minecraft:sculk")}static get SculkCatalyst(){return a.BlockTypes.get("minecraft:sculk_catalyst")}static get SculkSensor(){return a.BlockTypes.get("minecraft:sculk_sensor")}static get SculkShrieker(){return a.BlockTypes.get("minecraft:sculk_shrieker")}static get SculkVein(){return a.BlockTypes.get("minecraft:sculk_vein")}static get SeaLantern(){return a.BlockTypes.get("minecraft:sea_lantern")}static get SeaPickle(){return a.BlockTypes.get("minecraft:sea_pickle")}static get Seagrass(){return a.BlockTypes.get("minecraft:seagrass")}static get Shroomlight(){return a.BlockTypes.get("minecraft:shroomlight")}static get SilverGlazedTerracotta(){return a.BlockTypes.get("minecraft:silver_glazed_terracotta")}static get Skull(){return a.BlockTypes.get("minecraft:skull")}static get Slime(){return a.BlockTypes.get("minecraft:slime")}static get SmallAmethystBud(){return a.BlockTypes.get("minecraft:small_amethyst_bud")}static get SmallDripleafBlock(){return a.BlockTypes.get("minecraft:small_dripleaf_block")}static get SmithingTable(){return a.BlockTypes.get("minecraft:smithing_table")}static get Smoker(){return a.BlockTypes.get("minecraft:smoker")}static get SmoothBasalt(){return a.BlockTypes.get("minecraft:smooth_basalt")}static get SmoothQuartzStairs(){return a.BlockTypes.get("minecraft:smooth_quartz_stairs")}static get SmoothRedSandstoneStairs(){return a.BlockTypes.get("minecraft:smooth_red_sandstone_stairs")}static get SmoothSandstoneStairs(){return a.BlockTypes.get("minecraft:smooth_sandstone_stairs")}static get SmoothStone(){return a.BlockTypes.get("minecraft:smooth_stone")}static get SnifferEgg(){return a.BlockTypes.get("minecraft:sniffer_egg")}static get Snow(){return a.BlockTypes.get("minecraft:snow")}static get SnowLayer(){return a.BlockTypes.get("minecraft:snow_layer")}static get SoulCampfire(){return a.BlockTypes.get("minecraft:soul_campfire")}static get SoulFire(){return a.BlockTypes.get("minecraft:soul_fire")}static get SoulLantern(){return a.BlockTypes.get("minecraft:soul_lantern")}static get SoulSand(){return a.BlockTypes.get("minecraft:soul_sand")}static get SoulSoil(){return a.BlockTypes.get("minecraft:soul_soil")}static get SoulTorch(){return a.BlockTypes.get("minecraft:soul_torch")}static get Sponge(){return a.BlockTypes.get("minecraft:sponge")}static get SporeBlossom(){return a.BlockTypes.get("minecraft:spore_blossom")}static get SpruceButton(){return a.BlockTypes.get("minecraft:spruce_button")}static get SpruceDoor(){return a.BlockTypes.get("minecraft:spruce_door")}static get SpruceFence(){return a.BlockTypes.get("minecraft:spruce_fence")}static get SpruceFenceGate(){return a.BlockTypes.get("minecraft:spruce_fence_gate")}static get SpruceHangingSign(){return a.BlockTypes.get("minecraft:spruce_hanging_sign")}static get SpruceLog(){return a.BlockTypes.get("minecraft:spruce_log")}static get SprucePressurePlate(){return a.BlockTypes.get("minecraft:spruce_pressure_plate")}static get SpruceStairs(){return a.BlockTypes.get("minecraft:spruce_stairs")}static get SpruceStandingSign(){return a.BlockTypes.get("minecraft:spruce_standing_sign")}static get SpruceTrapdoor(){return a.BlockTypes.get("minecraft:spruce_trapdoor")}static get SpruceWallSign(){return a.BlockTypes.get("minecraft:spruce_wall_sign")}static get StandingBanner(){return a.BlockTypes.get("minecraft:standing_banner")}static get StandingSign(){return a.BlockTypes.get("minecraft:standing_sign")}static get StickyPiston(){return a.BlockTypes.get("minecraft:sticky_piston")}static get StickyPistonArmCollision(){return a.BlockTypes.get("minecraft:sticky_piston_arm_collision")}static get Stone(){return a.BlockTypes.get("minecraft:stone")}static get StoneBlockSlab(){return a.BlockTypes.get("minecraft:stone_block_slab")}static get StoneBlockSlab2(){return a.BlockTypes.get("minecraft:stone_block_slab2")}static get StoneBlockSlab3(){return a.BlockTypes.get("minecraft:stone_block_slab3")}static get StoneBlockSlab4(){return a.BlockTypes.get("minecraft:stone_block_slab4")}static get StoneBrickStairs(){return a.BlockTypes.get("minecraft:stone_brick_stairs")}static get StoneButton(){return a.BlockTypes.get("minecraft:stone_button")}static get StonePressurePlate(){return a.BlockTypes.get("minecraft:stone_pressure_plate")}static get StoneStairs(){return a.BlockTypes.get("minecraft:stone_stairs")}static get Stonebrick(){return a.BlockTypes.get("minecraft:stonebrick")}static get Stonecutter(){return a.BlockTypes.get("minecraft:stonecutter")}static get StonecutterBlock(){return a.BlockTypes.get("minecraft:stonecutter_block")}static get StrippedAcaciaLog(){return a.BlockTypes.get("minecraft:stripped_acacia_log")}static get StrippedBambooBlock(){return a.BlockTypes.get("minecraft:stripped_bamboo_block")}static get StrippedBirchLog(){return a.BlockTypes.get("minecraft:stripped_birch_log")}static get StrippedCherryLog(){return a.BlockTypes.get("minecraft:stripped_cherry_log")}static get StrippedCherryWood(){return a.BlockTypes.get("minecraft:stripped_cherry_wood")}static get StrippedCrimsonHyphae(){return a.BlockTypes.get("minecraft:stripped_crimson_hyphae")}static get StrippedCrimsonStem(){return a.BlockTypes.get("minecraft:stripped_crimson_stem")}static get StrippedDarkOakLog(){return a.BlockTypes.get("minecraft:stripped_dark_oak_log")}static get StrippedJungleLog(){return a.BlockTypes.get("minecraft:stripped_jungle_log")}static get StrippedMangroveLog(){return a.BlockTypes.get("minecraft:stripped_mangrove_log")}static get StrippedMangroveWood(){return a.BlockTypes.get("minecraft:stripped_mangrove_wood")}static get StrippedOakLog(){return a.BlockTypes.get("minecraft:stripped_oak_log")}static get StrippedSpruceLog(){return a.BlockTypes.get("minecraft:stripped_spruce_log")}static get StrippedWarpedHyphae(){return a.BlockTypes.get("minecraft:stripped_warped_hyphae")}static get StrippedWarpedStem(){return a.BlockTypes.get("minecraft:stripped_warped_stem")}static get StructureBlock(){return a.BlockTypes.get("minecraft:structure_block")}static get StructureVoid(){return a.BlockTypes.get("minecraft:structure_void")}static get SuspiciousGravel(){return a.BlockTypes.get("minecraft:suspicious_gravel")}static get SuspiciousSand(){return a.BlockTypes.get("minecraft:suspicious_sand")}static get SweetBerryBush(){return a.BlockTypes.get("minecraft:sweet_berry_bush")}static get Tallgrass(){return a.BlockTypes.get("minecraft:tallgrass")}static get Target(){return a.BlockTypes.get("minecraft:target")}static get TintedGlass(){return a.BlockTypes.get("minecraft:tinted_glass")}static get Tnt(){return a.BlockTypes.get("minecraft:tnt")}static get Torch(){return a.BlockTypes.get("minecraft:torch")}static get Torchflower(){return a.BlockTypes.get("minecraft:torchflower")}static get TorchflowerCrop(){return a.BlockTypes.get("minecraft:torchflower_crop")}static get Trapdoor(){return a.BlockTypes.get("minecraft:trapdoor")}static get TrappedChest(){return a.BlockTypes.get("minecraft:trapped_chest")}static get TripWire(){return a.BlockTypes.get("minecraft:trip_wire")}static get TripwireHook(){return a.BlockTypes.get("minecraft:tripwire_hook")}static get TubeCoral(){return a.BlockTypes.get("minecraft:tube_coral")}static get Tuff(){return a.BlockTypes.get("minecraft:tuff")}static get TurtleEgg(){return a.BlockTypes.get("minecraft:turtle_egg")}static get TwistingVines(){return a.BlockTypes.get("minecraft:twisting_vines")}static get UnderwaterTorch(){return a.BlockTypes.get("minecraft:underwater_torch")}static get UndyedShulkerBox(){return a.BlockTypes.get("minecraft:undyed_shulker_box")}static get Unknown(){return a.BlockTypes.get("minecraft:unknown")}static get UnlitRedstoneTorch(){return a.BlockTypes.get("minecraft:unlit_redstone_torch")}static get UnpoweredComparator(){return a.BlockTypes.get("minecraft:unpowered_comparator")}static get UnpoweredRepeater(){return a.BlockTypes.get("minecraft:unpowered_repeater")}static get VerdantFroglight(){return a.BlockTypes.get("minecraft:verdant_froglight")}static get Vine(){return a.BlockTypes.get("minecraft:vine")}static get WallBanner(){return a.BlockTypes.get("minecraft:wall_banner")}static get WallSign(){return a.BlockTypes.get("minecraft:wall_sign")}static get WarpedButton(){return a.BlockTypes.get("minecraft:warped_button")}static get WarpedDoor(){return a.BlockTypes.get("minecraft:warped_door")}static get WarpedDoubleSlab(){return a.BlockTypes.get("minecraft:warped_double_slab")}static get WarpedFence(){return a.BlockTypes.get("minecraft:warped_fence")}static get WarpedFenceGate(){return a.BlockTypes.get("minecraft:warped_fence_gate")}static get WarpedFungus(){return a.BlockTypes.get("minecraft:warped_fungus")}static get WarpedHangingSign(){return a.BlockTypes.get("minecraft:warped_hanging_sign")}static get WarpedHyphae(){return a.BlockTypes.get("minecraft:warped_hyphae")}static get WarpedNylium(){return a.BlockTypes.get("minecraft:warped_nylium")}static get WarpedPlanks(){return a.BlockTypes.get("minecraft:warped_planks")}static get WarpedPressurePlate(){return a.BlockTypes.get("minecraft:warped_pressure_plate")}static get WarpedRoots(){return a.BlockTypes.get("minecraft:warped_roots")}static get WarpedSlab(){return a.BlockTypes.get("minecraft:warped_slab")}static get WarpedStairs(){return a.BlockTypes.get("minecraft:warped_stairs")}static get WarpedStandingSign(){return a.BlockTypes.get("minecraft:warped_standing_sign")}static get WarpedStem(){return a.BlockTypes.get("minecraft:warped_stem")}static get WarpedTrapdoor(){return a.BlockTypes.get("minecraft:warped_trapdoor")}static get WarpedWallSign(){return a.BlockTypes.get("minecraft:warped_wall_sign")}static get WarpedWartBlock(){return a.BlockTypes.get("minecraft:warped_wart_block")}static get Water(){return a.BlockTypes.get("minecraft:water")}static get Waterlily(){return a.BlockTypes.get("minecraft:waterlily")}static get WaxedCopper(){return a.BlockTypes.get("minecraft:waxed_copper")}static get WaxedCutCopper(){return a.BlockTypes.get("minecraft:waxed_cut_copper")}static get WaxedCutCopperSlab(){return a.BlockTypes.get("minecraft:waxed_cut_copper_slab")}static get WaxedCutCopperStairs(){return a.BlockTypes.get("minecraft:waxed_cut_copper_stairs")}static get WaxedDoubleCutCopperSlab(){return a.BlockTypes.get("minecraft:waxed_double_cut_copper_slab")}static get WaxedExposedCopper(){return a.BlockTypes.get("minecraft:waxed_exposed_copper")}static get WaxedExposedCutCopper(){return a.BlockTypes.get("minecraft:waxed_exposed_cut_copper")}static get WaxedExposedCutCopperSlab(){return a.BlockTypes.get("minecraft:waxed_exposed_cut_copper_slab")}static get WaxedExposedCutCopperStairs(){return a.BlockTypes.get("minecraft:waxed_exposed_cut_copper_stairs")}static get WaxedExposedDoubleCutCopperSlab(){return a.BlockTypes.get("minecraft:waxed_exposed_double_cut_copper_slab")}static get WaxedOxidizedCopper(){return a.BlockTypes.get("minecraft:waxed_oxidized_copper")}static get WaxedOxidizedCutCopper(){return a.BlockTypes.get("minecraft:waxed_oxidized_cut_copper")}static get WaxedOxidizedCutCopperSlab(){return a.BlockTypes.get("minecraft:waxed_oxidized_cut_copper_slab")}static get WaxedOxidizedCutCopperStairs(){return a.BlockTypes.get("minecraft:waxed_oxidized_cut_copper_stairs")}static get WaxedOxidizedDoubleCutCopperSlab(){return a.BlockTypes.get("minecraft:waxed_oxidized_double_cut_copper_slab")}static get WaxedWeatheredCopper(){return a.BlockTypes.get("minecraft:waxed_weathered_copper")}static get WaxedWeatheredCutCopper(){return a.BlockTypes.get("minecraft:waxed_weathered_cut_copper")}static get WaxedWeatheredCutCopperSlab(){return a.BlockTypes.get("minecraft:waxed_weathered_cut_copper_slab")}static get WaxedWeatheredCutCopperStairs(){return a.BlockTypes.get("minecraft:waxed_weathered_cut_copper_stairs")}static get WaxedWeatheredDoubleCutCopperSlab(){return a.BlockTypes.get("minecraft:waxed_weathered_double_cut_copper_slab")}static get WeatheredCopper(){return a.BlockTypes.get("minecraft:weathered_copper")}static get WeatheredCutCopper(){return a.BlockTypes.get("minecraft:weathered_cut_copper")}static get WeatheredCutCopperSlab(){return a.BlockTypes.get("minecraft:weathered_cut_copper_slab")}static get WeatheredCutCopperStairs(){return a.BlockTypes.get("minecraft:weathered_cut_copper_stairs")}static get WeatheredDoubleCutCopperSlab(){return a.BlockTypes.get("minecraft:weathered_double_cut_copper_slab")}static get Web(){return a.BlockTypes.get("minecraft:web")}static get WeepingVines(){return a.BlockTypes.get("minecraft:weeping_vines")}static get Wheat(){return a.BlockTypes.get("minecraft:wheat")}static get WhiteCandle(){return a.BlockTypes.get("minecraft:white_candle")}static get WhiteCandleCake(){return a.BlockTypes.get("minecraft:white_candle_cake")}static get WhiteCarpet(){return a.BlockTypes.get("minecraft:white_carpet")}static get WhiteConcrete(){return a.BlockTypes.get("minecraft:white_concrete")}static get WhiteConcretePowder(){return a.BlockTypes.get("minecraft:white_concrete_powder")}static get WhiteGlazedTerracotta(){return a.BlockTypes.get("minecraft:white_glazed_terracotta")}static get WhiteShulkerBox(){return a.BlockTypes.get("minecraft:white_shulker_box")}static get WhiteStainedGlass(){return a.BlockTypes.get("minecraft:white_stained_glass")}static get WhiteStainedGlassPane(){return a.BlockTypes.get("minecraft:white_stained_glass_pane")}static get WhiteTerracotta(){return a.BlockTypes.get("minecraft:white_terracotta")}static get WhiteWool(){return a.BlockTypes.get("minecraft:white_wool")}static get WitherRose(){return a.BlockTypes.get("minecraft:wither_rose")}static get Wood(){return a.BlockTypes.get("minecraft:wood")}static get WoodenButton(){return a.BlockTypes.get("minecraft:wooden_button")}static get WoodenDoor(){return a.BlockTypes.get("minecraft:wooden_door")}static get WoodenPressurePlate(){return a.BlockTypes.get("minecraft:wooden_pressure_plate")}static get WoodenSlab(){return a.BlockTypes.get("minecraft:wooden_slab")}static get YellowCandle(){return a.BlockTypes.get("minecraft:yellow_candle")}static get YellowCandleCake(){return a.BlockTypes.get("minecraft:yellow_candle_cake")}static get YellowCarpet(){return a.BlockTypes.get("minecraft:yellow_carpet")}static get YellowConcrete(){return a.BlockTypes.get("minecraft:yellow_concrete")}static get YellowConcretePowder(){return a.BlockTypes.get("minecraft:yellow_concrete_powder")}static get YellowFlower(){return a.BlockTypes.get("minecraft:yellow_flower")}static get YellowGlazedTerracotta(){return a.BlockTypes.get("minecraft:yellow_glazed_terracotta")}static get YellowShulkerBox(){return a.BlockTypes.get("minecraft:yellow_shulker_box")}static get YellowStainedGlass(){return a.BlockTypes.get("minecraft:yellow_stained_glass")}static get YellowStainedGlassPane(){return a.BlockTypes.get("minecraft:yellow_stained_glass_pane")}static get YellowTerracotta(){return a.BlockTypes.get("minecraft:yellow_terracotta")}static get YellowWool(){return a.BlockTypes.get("minecraft:yellow_wool")}}!function(e){e.FirstPerson="minecraft:first_person",e.Free="minecraft:free",e.ThirdPerson="minecraft:third_person",e.ThirdPersonFront="minecraft:third_person_front"}(s||(s={}));class g{constructor(){throw new TypeError("Illegal constructor")}static get(e){return a.world.getDimension(e)}static getAll(){return a.DimensionTypes.getAll().map((e=>a.world.getDimension(e.typeId)))}static get Nether(){return a.world.getDimension("minecraft:nether")}static get Overworld(){return a.world.getDimension("minecraft:overworld")}static get TheEnd(){return a.world.getDimension("minecraft:the_end")}}class o{constructor(){throw new TypeError("Illegal constructor")}static get(e){return a.EffectTypes.get(e)}static getAll(){return a.EffectTypes.getAll()}static get Absorption(){return a.EffectTypes.get("absorption")}static get BadOmen(){return a.EffectTypes.get("bad_omen")}static get Blindness(){return a.EffectTypes.get("blindness")}static get ConduitPower(){return a.EffectTypes.get("conduit_power")}static get Darkness(){return a.EffectTypes.get("darkness")}static get Empty(){return a.EffectTypes.get("empty")}static get FatalPoison(){return a.EffectTypes.get("fatal_poison")}static get FireResistance(){return a.EffectTypes.get("fire_resistance")}static get Haste(){return a.EffectTypes.get("haste")}static get HealthBoost(){return a.EffectTypes.get("health_boost")}static get Hunger(){return a.EffectTypes.get("hunger")}static get InstantDamage(){return a.EffectTypes.get("instant_damage")}static get InstantHealth(){return a.EffectTypes.get("instant_health")}static get Invisibility(){return a.EffectTypes.get("invisibility")}static get JumpBoost(){return a.EffectTypes.get("jump_boost")}static get Levitation(){return a.EffectTypes.get("levitation")}static get MiningFatigue(){return a.EffectTypes.get("mining_fatigue")}static get Nausea(){return a.EffectTypes.get("nausea")}static get NightVision(){return a.EffectTypes.get("night_vision")}static get Poison(){return a.EffectTypes.get("poison")}static get Regeneration(){return a.EffectTypes.get("regeneration")}static get Resistance(){return a.EffectTypes.get("resistance")}static get Saturation(){return a.EffectTypes.get("saturation")}static get SlowFalling(){return a.EffectTypes.get("slow_falling")}static get Slowness(){return a.EffectTypes.get("slowness")}static get Speed(){return a.EffectTypes.get("speed")}static get Strength(){return a.EffectTypes.get("strength")}static get VillageHero(){return a.EffectTypes.get("village_hero")}static get WaterBreathing(){return a.EffectTypes.get("water_breathing")}static get Weakness(){return a.EffectTypes.get("weakness")}static get Wither(){return a.EffectTypes.get("wither")}}class m{constructor(){throw new TypeError("Illegal constructor")}static get(e){return a.EnchantmentTypes.get(e)}static getAll(){const e=[];for(const t in this){const r=this[t];r instanceof a.EnchantmentType&&e.push(r)}return e}static get AquaAffinity(){return a.EnchantmentTypes.get("aqua_affinity")}static get BaneOfArthropods(){return a.EnchantmentTypes.get("bane_of_arthropods")}static get Binding(){return a.EnchantmentTypes.get("binding")}static get BlastProtection(){return a.EnchantmentTypes.get("blast_protection")}static get Channeling(){return a.EnchantmentTypes.get("channeling")}static get DepthStrider(){return a.EnchantmentTypes.get("depth_strider")}static get Efficiency(){return a.EnchantmentTypes.get("efficiency")}static get FeatherFalling(){return a.EnchantmentTypes.get("feather_falling")}static get FireAspect(){return a.EnchantmentTypes.get("fire_aspect")}static get FireProtection(){return a.EnchantmentTypes.get("fire_protection")}static get Flame(){return a.EnchantmentTypes.get("flame")}static get Fortune(){return a.EnchantmentTypes.get("fortune")}static get FrostWalker(){return a.EnchantmentTypes.get("frost_walker")}static get Impaling(){return a.EnchantmentTypes.get("impaling")}static get Infinity(){return a.EnchantmentTypes.get("infinity")}static get Knockback(){return a.EnchantmentTypes.get("knockback")}static get Looting(){return a.EnchantmentTypes.get("looting")}static get Loyalty(){return a.EnchantmentTypes.get("loyalty")}static get LuckOfTheSea(){return a.EnchantmentTypes.get("luck_of_the_sea")}static get Lure(){return a.EnchantmentTypes.get("lure")}static get Mending(){return a.EnchantmentTypes.get("mending")}static get Multishot(){return a.EnchantmentTypes.get("multishot")}static get Piercing(){return a.EnchantmentTypes.get("piercing")}static get Power(){return a.EnchantmentTypes.get("power")}static get ProjectileProtection(){return a.EnchantmentTypes.get("projectile_protection")}static get Protection(){return a.EnchantmentTypes.get("protection")}static get Punch(){return a.EnchantmentTypes.get("punch")}static get QuickCharge(){return a.EnchantmentTypes.get("quick_charge")}static get Respiration(){return a.EnchantmentTypes.get("respiration")}static get Riptide(){return a.EnchantmentTypes.get("riptide")}static get Sharpness(){return a.EnchantmentTypes.get("sharpness")}static get SilkTouch(){return a.EnchantmentTypes.get("silk_touch")}static get Smite(){return a.EnchantmentTypes.get("smite")}static get SoulSpeed(){return a.EnchantmentTypes.get("soul_speed")}static get SwiftSneak(){return a.EnchantmentTypes.get("swift_sneak")}static get Thorns(){return a.EnchantmentTypes.get("thorns")}static get Unbreaking(){return a.EnchantmentTypes.get("unbreaking")}static get Vanishing(){return a.EnchantmentTypes.get("vanishing")}}class l{constructor(){throw new TypeError("Illegal constructor")}static get(e){return a.EntityTypes.get(e)}static getAll(){return Array.from(a.EntityTypes.getAll())}static get Agent(){return a.EntityTypes.get("agent")}static get Allay(){return a.EntityTypes.get("allay")}static get AreaEffectCloud(){return a.EntityTypes.get("area_effect_cloud")}static get ArmorStand(){return a.EntityTypes.get("armor_stand")}static get Arrow(){return a.EntityTypes.get("arrow")}static get Axolotl(){return a.EntityTypes.get("axolotl")}static get Bat(){return a.EntityTypes.get("bat")}static get Bee(){return a.EntityTypes.get("bee")}static get Blaze(){return a.EntityTypes.get("blaze")}static get Boat(){return a.EntityTypes.get("boat")}static get Camel(){return a.EntityTypes.get("camel")}static get Cat(){return a.EntityTypes.get("cat")}static get CaveSpider(){return a.EntityTypes.get("cave_spider")}static get ChestBoat(){return a.EntityTypes.get("chest_boat")}static get ChestMinecart(){return a.EntityTypes.get("chest_minecart")}static get Chicken(){return a.EntityTypes.get("chicken")}static get Cod(){return a.EntityTypes.get("cod")}static get CommandBlockMinecart(){return a.EntityTypes.get("command_block_minecart")}static get Cow(){return a.EntityTypes.get("cow")}static get Creeper(){return a.EntityTypes.get("creeper")}static get Dolphin(){return a.EntityTypes.get("dolphin")}static get Donkey(){return a.EntityTypes.get("donkey")}static get DragonFireball(){return a.EntityTypes.get("dragon_fireball")}static get Drowned(){return a.EntityTypes.get("drowned")}static get Egg(){return a.EntityTypes.get("egg")}static get ElderGuardian(){return a.EntityTypes.get("elder_guardian")}static get EnderCrystal(){return a.EntityTypes.get("ender_crystal")}static get EnderDragon(){return a.EntityTypes.get("ender_dragon")}static get EnderPearl(){return a.EntityTypes.get("ender_pearl")}static get Enderman(){return a.EntityTypes.get("enderman")}static get Endermite(){return a.EntityTypes.get("endermite")}static get EvocationIllager(){return a.EntityTypes.get("evocation_illager")}static get EyeOfEnderSignal(){return a.EntityTypes.get("eye_of_ender_signal")}static get Fireball(){return a.EntityTypes.get("fireball")}static get FireworksRocket(){return a.EntityTypes.get("fireworks_rocket")}static get FishingHook(){return a.EntityTypes.get("fishing_hook")}static get Fox(){return a.EntityTypes.get("fox")}static get Frog(){return a.EntityTypes.get("frog")}static get Ghast(){return a.EntityTypes.get("ghast")}static get GlowSquid(){return a.EntityTypes.get("glow_squid")}static get Goat(){return a.EntityTypes.get("goat")}static get Guardian(){return a.EntityTypes.get("guardian")}static get Hoglin(){return a.EntityTypes.get("hoglin")}static get HopperMinecart(){return a.EntityTypes.get("hopper_minecart")}static get Horse(){return a.EntityTypes.get("horse")}static get Husk(){return a.EntityTypes.get("husk")}static get IronGolem(){return a.EntityTypes.get("iron_golem")}static get LightningBolt(){return a.EntityTypes.get("lightning_bolt")}static get LingeringPotion(){return a.EntityTypes.get("lingering_potion")}static get Llama(){return a.EntityTypes.get("llama")}static get LlamaSpit(){return a.EntityTypes.get("llama_spit")}static get MagmaCube(){return a.EntityTypes.get("magma_cube")}static get Minecart(){return a.EntityTypes.get("minecart")}static get Mooshroom(){return a.EntityTypes.get("mooshroom")}static get Mule(){return a.EntityTypes.get("mule")}static get Npc(){return a.EntityTypes.get("npc")}static get Ocelot(){return a.EntityTypes.get("ocelot")}static get Panda(){return a.EntityTypes.get("panda")}static get Parrot(){return a.EntityTypes.get("parrot")}static get Phantom(){return a.EntityTypes.get("phantom")}static get Pig(){return a.EntityTypes.get("pig")}static get Piglin(){return a.EntityTypes.get("piglin")}static get PiglinBrute(){return a.EntityTypes.get("piglin_brute")}static get Pillager(){return a.EntityTypes.get("pillager")}static get Player(){return a.EntityTypes.get("player")}static get PolarBear(){return a.EntityTypes.get("polar_bear")}static get Pufferfish(){return a.EntityTypes.get("pufferfish")}static get Rabbit(){return a.EntityTypes.get("rabbit")}static get Ravager(){return a.EntityTypes.get("ravager")}static get Salmon(){return a.EntityTypes.get("salmon")}static get Sheep(){return a.EntityTypes.get("sheep")}static get Shulker(){return a.EntityTypes.get("shulker")}static get ShulkerBullet(){return a.EntityTypes.get("shulker_bullet")}static get Silverfish(){return a.EntityTypes.get("silverfish")}static get Skeleton(){return a.EntityTypes.get("skeleton")}static get SkeletonHorse(){return a.EntityTypes.get("skeleton_horse")}static get Slime(){return a.EntityTypes.get("slime")}static get SmallFireball(){return a.EntityTypes.get("small_fireball")}static get Sniffer(){return a.EntityTypes.get("sniffer")}static get SnowGolem(){return a.EntityTypes.get("snow_golem")}static get Snowball(){return a.EntityTypes.get("snowball")}static get Spider(){return a.EntityTypes.get("spider")}static get SplashPotion(){return a.EntityTypes.get("splash_potion")}static get Squid(){return a.EntityTypes.get("squid")}static get Stray(){return a.EntityTypes.get("stray")}static get Strider(){return a.EntityTypes.get("strider")}static get Tadpole(){return a.EntityTypes.get("tadpole")}static get ThrownTrident(){return a.EntityTypes.get("thrown_trident")}static get Tnt(){return a.EntityTypes.get("tnt")}static get TntMinecart(){return a.EntityTypes.get("tnt_minecart")}static get TraderLlama(){return a.EntityTypes.get("trader_llama")}static get TripodCamera(){return a.EntityTypes.get("tripod_camera")}static get Tropicalfish(){return a.EntityTypes.get("tropicalfish")}static get Turtle(){return a.EntityTypes.get("turtle")}static get Vex(){return a.EntityTypes.get("vex")}static get Villager(){return a.EntityTypes.get("villager")}static get VillagerV2(){return a.EntityTypes.get("villager_v2")}static get Vindicator(){return a.EntityTypes.get("vindicator")}static get WanderingTrader(){return a.EntityTypes.get("wandering_trader")}static get Warden(){return a.EntityTypes.get("warden")}static get Witch(){return a.EntityTypes.get("witch")}static get Wither(){return a.EntityTypes.get("wither")}static get WitherSkeleton(){return a.EntityTypes.get("wither_skeleton")}static get WitherSkull(){return a.EntityTypes.get("wither_skull")}static get WitherSkullDangerous(){return a.EntityTypes.get("wither_skull_dangerous")}static get Wolf(){return a.EntityTypes.get("wolf")}static get XpBottle(){return a.EntityTypes.get("xp_bottle")}static get XpOrb(){return a.EntityTypes.get("xp_orb")}static get Zoglin(){return a.EntityTypes.get("zoglin")}static get Zombie(){return a.EntityTypes.get("zombie")}static get ZombieHorse(){return a.EntityTypes.get("zombie_horse")}static get ZombiePigman(){return a.EntityTypes.get("zombie_pigman")}static get ZombieVillager(){return a.EntityTypes.get("zombie_villager")}static get ZombieVillagerV2(){return a.EntityTypes.get("zombie_villager_v2")}}class p{static get AcaciaBoat(){return a.ItemTypes.get("minecraft:acacia_boat")}static get AcaciaButton(){return a.ItemTypes.get("minecraft:acacia_button")}static get AcaciaChestBoat(){return a.ItemTypes.get("minecraft:acacia_chest_boat")}static get AcaciaDoor(){return a.ItemTypes.get("minecraft:acacia_door")}static get AcaciaFence(){return a.ItemTypes.get("minecraft:acacia_fence")}static get AcaciaFenceGate(){return a.ItemTypes.get("minecraft:acacia_fence_gate")}static get AcaciaHangingSign(){return a.ItemTypes.get("minecraft:acacia_hanging_sign")}static get AcaciaLog(){return a.ItemTypes.get("minecraft:acacia_log")}static get AcaciaPressurePlate(){return a.ItemTypes.get("minecraft:acacia_pressure_plate")}static get AcaciaSign(){return a.ItemTypes.get("minecraft:acacia_sign")}static get AcaciaStairs(){return a.ItemTypes.get("minecraft:acacia_stairs")}static get AcaciaTrapdoor(){return a.ItemTypes.get("minecraft:acacia_trapdoor")}static get ActivatorRail(){return a.ItemTypes.get("minecraft:activator_rail")}static get AllaySpawnEgg(){return a.ItemTypes.get("minecraft:allay_spawn_egg")}static get Allow(){return a.ItemTypes.get("minecraft:allow")}static get AmethystBlock(){return a.ItemTypes.get("minecraft:amethyst_block")}static get AmethystCluster(){return a.ItemTypes.get("minecraft:amethyst_cluster")}static get AmethystShard(){return a.ItemTypes.get("minecraft:amethyst_shard")}static get AncientDebris(){return a.ItemTypes.get("minecraft:ancient_debris")}static get AndesiteStairs(){return a.ItemTypes.get("minecraft:andesite_stairs")}static get AnglerPotterySherd(){return a.ItemTypes.get("minecraft:angler_pottery_sherd")}static get Anvil(){return a.ItemTypes.get("minecraft:anvil")}static get Apple(){return a.ItemTypes.get("minecraft:apple")}static get ArcherPotterySherd(){return a.ItemTypes.get("minecraft:archer_pottery_sherd")}static get ArmorStand(){return a.ItemTypes.get("minecraft:armor_stand")}static get ArmsUpPotterySherd(){return a.ItemTypes.get("minecraft:arms_up_pottery_sherd")}static get Arrow(){return a.ItemTypes.get("minecraft:arrow")}static get AxolotlBucket(){return a.ItemTypes.get("minecraft:axolotl_bucket")}static get AxolotlSpawnEgg(){return a.ItemTypes.get("minecraft:axolotl_spawn_egg")}static get Azalea(){return a.ItemTypes.get("minecraft:azalea")}static get AzaleaLeaves(){return a.ItemTypes.get("minecraft:azalea_leaves")}static get AzaleaLeavesFlowered(){return a.ItemTypes.get("minecraft:azalea_leaves_flowered")}static get BakedPotato(){return a.ItemTypes.get("minecraft:baked_potato")}static get Bamboo(){return a.ItemTypes.get("minecraft:bamboo")}static get BambooBlock(){return a.ItemTypes.get("minecraft:bamboo_block")}static get BambooButton(){return a.ItemTypes.get("minecraft:bamboo_button")}static get BambooChestRaft(){return a.ItemTypes.get("minecraft:bamboo_chest_raft")}static get BambooDoor(){return a.ItemTypes.get("minecraft:bamboo_door")}static get BambooFence(){return a.ItemTypes.get("minecraft:bamboo_fence")}static get BambooFenceGate(){return a.ItemTypes.get("minecraft:bamboo_fence_gate")}static get BambooHangingSign(){return a.ItemTypes.get("minecraft:bamboo_hanging_sign")}static get BambooMosaic(){return a.ItemTypes.get("minecraft:bamboo_mosaic")}static get BambooMosaicSlab(){return a.ItemTypes.get("minecraft:bamboo_mosaic_slab")}static get BambooMosaicStairs(){return a.ItemTypes.get("minecraft:bamboo_mosaic_stairs")}static get BambooPlanks(){return a.ItemTypes.get("minecraft:bamboo_planks")}static get BambooPressurePlate(){return a.ItemTypes.get("minecraft:bamboo_pressure_plate")}static get BambooRaft(){return a.ItemTypes.get("minecraft:bamboo_raft")}static get BambooSign(){return a.ItemTypes.get("minecraft:bamboo_sign")}static get BambooSlab(){return a.ItemTypes.get("minecraft:bamboo_slab")}static get BambooStairs(){return a.ItemTypes.get("minecraft:bamboo_stairs")}static get BambooTrapdoor(){return a.ItemTypes.get("minecraft:bamboo_trapdoor")}static get Banner(){return a.ItemTypes.get("minecraft:banner")}static get BannerPattern(){return a.ItemTypes.get("minecraft:banner_pattern")}static get Barrel(){return a.ItemTypes.get("minecraft:barrel")}static get Barrier(){return a.ItemTypes.get("minecraft:barrier")}static get Basalt(){return a.ItemTypes.get("minecraft:basalt")}static get BatSpawnEgg(){return a.ItemTypes.get("minecraft:bat_spawn_egg")}static get Beacon(){return a.ItemTypes.get("minecraft:beacon")}static get Bed(){return a.ItemTypes.get("minecraft:bed")}static get Bedrock(){return a.ItemTypes.get("minecraft:bedrock")}static get BeeNest(){return a.ItemTypes.get("minecraft:bee_nest")}static get BeeSpawnEgg(){return a.ItemTypes.get("minecraft:bee_spawn_egg")}static get Beef(){return a.ItemTypes.get("minecraft:beef")}static get Beehive(){return a.ItemTypes.get("minecraft:beehive")}static get Beetroot(){return a.ItemTypes.get("minecraft:beetroot")}static get BeetrootSeeds(){return a.ItemTypes.get("minecraft:beetroot_seeds")}static get BeetrootSoup(){return a.ItemTypes.get("minecraft:beetroot_soup")}static get Bell(){return a.ItemTypes.get("minecraft:bell")}static get BigDripleaf(){return a.ItemTypes.get("minecraft:big_dripleaf")}static get BirchBoat(){return a.ItemTypes.get("minecraft:birch_boat")}static get BirchButton(){return a.ItemTypes.get("minecraft:birch_button")}static get BirchChestBoat(){return a.ItemTypes.get("minecraft:birch_chest_boat")}static get BirchDoor(){return a.ItemTypes.get("minecraft:birch_door")}static get BirchFence(){return a.ItemTypes.get("minecraft:birch_fence")}static get BirchFenceGate(){return a.ItemTypes.get("minecraft:birch_fence_gate")}static get BirchHangingSign(){return a.ItemTypes.get("minecraft:birch_hanging_sign")}static get BirchLog(){return a.ItemTypes.get("minecraft:birch_log")}static get BirchPressurePlate(){return a.ItemTypes.get("minecraft:birch_pressure_plate")}static get BirchSign(){return a.ItemTypes.get("minecraft:birch_sign")}static get BirchStairs(){return a.ItemTypes.get("minecraft:birch_stairs")}static get BirchTrapdoor(){return a.ItemTypes.get("minecraft:birch_trapdoor")}static get BlackCandle(){return a.ItemTypes.get("minecraft:black_candle")}static get BlackCarpet(){return a.ItemTypes.get("minecraft:black_carpet")}static get BlackConcrete(){return a.ItemTypes.get("minecraft:black_concrete")}static get BlackConcretePowder(){return a.ItemTypes.get("minecraft:black_concrete_powder")}static get BlackDye(){return a.ItemTypes.get("minecraft:black_dye")}static get BlackGlazedTerracotta(){return a.ItemTypes.get("minecraft:black_glazed_terracotta")}static get BlackShulkerBox(){return a.ItemTypes.get("minecraft:black_shulker_box")}static get BlackStainedGlass(){return a.ItemTypes.get("minecraft:black_stained_glass")}static get BlackStainedGlassPane(){return a.ItemTypes.get("minecraft:black_stained_glass_pane")}static get BlackTerracotta(){return a.ItemTypes.get("minecraft:black_terracotta")}static get BlackWool(){return a.ItemTypes.get("minecraft:black_wool")}static get Blackstone(){return a.ItemTypes.get("minecraft:blackstone")}static get BlackstoneSlab(){return a.ItemTypes.get("minecraft:blackstone_slab")}static get BlackstoneStairs(){return a.ItemTypes.get("minecraft:blackstone_stairs")}static get BlackstoneWall(){return a.ItemTypes.get("minecraft:blackstone_wall")}static get BladePotterySherd(){return a.ItemTypes.get("minecraft:blade_pottery_sherd")}static get BlastFurnace(){return a.ItemTypes.get("minecraft:blast_furnace")}static get BlazePowder(){return a.ItemTypes.get("minecraft:blaze_powder")}static get BlazeRod(){return a.ItemTypes.get("minecraft:blaze_rod")}static get BlazeSpawnEgg(){return a.ItemTypes.get("minecraft:blaze_spawn_egg")}static get BlueCandle(){return a.ItemTypes.get("minecraft:blue_candle")}static get BlueCarpet(){return a.ItemTypes.get("minecraft:blue_carpet")}static get BlueConcrete(){return a.ItemTypes.get("minecraft:blue_concrete")}static get BlueConcretePowder(){return a.ItemTypes.get("minecraft:blue_concrete_powder")}static get BlueDye(){return a.ItemTypes.get("minecraft:blue_dye")}static get BlueGlazedTerracotta(){return a.ItemTypes.get("minecraft:blue_glazed_terracotta")}static get BlueIce(){return a.ItemTypes.get("minecraft:blue_ice")}static get BlueShulkerBox(){return a.ItemTypes.get("minecraft:blue_shulker_box")}static get BlueStainedGlass(){return a.ItemTypes.get("minecraft:blue_stained_glass")}static get BlueStainedGlassPane(){return a.ItemTypes.get("minecraft:blue_stained_glass_pane")}static get BlueTerracotta(){return a.ItemTypes.get("minecraft:blue_terracotta")}static get BlueWool(){return a.ItemTypes.get("minecraft:blue_wool")}static get Boat(){return a.ItemTypes.get("minecraft:boat")}static get Bone(){return a.ItemTypes.get("minecraft:bone")}static get BoneBlock(){return a.ItemTypes.get("minecraft:bone_block")}static get BoneMeal(){return a.ItemTypes.get("minecraft:bone_meal")}static get Book(){return a.ItemTypes.get("minecraft:book")}static get Bookshelf(){return a.ItemTypes.get("minecraft:bookshelf")}static get BorderBlock(){return a.ItemTypes.get("minecraft:border_block")}static get BordureIndentedBannerPattern(){return a.ItemTypes.get("minecraft:bordure_indented_banner_pattern")}static get Bow(){return a.ItemTypes.get("minecraft:bow")}static get Bowl(){return a.ItemTypes.get("minecraft:bowl")}static get BrainCoral(){return a.ItemTypes.get("minecraft:brain_coral")}static get Bread(){return a.ItemTypes.get("minecraft:bread")}static get BrewerPotterySherd(){return a.ItemTypes.get("minecraft:brewer_pottery_sherd")}static get BrewingStand(){return a.ItemTypes.get("minecraft:brewing_stand")}static get Brick(){return a.ItemTypes.get("minecraft:brick")}static get BrickBlock(){return a.ItemTypes.get("minecraft:brick_block")}static get BrickStairs(){return a.ItemTypes.get("minecraft:brick_stairs")}static get BrownCandle(){return a.ItemTypes.get("minecraft:brown_candle")}static get BrownCarpet(){return a.ItemTypes.get("minecraft:brown_carpet")}static get BrownConcrete(){return a.ItemTypes.get("minecraft:brown_concrete")}static get BrownConcretePowder(){return a.ItemTypes.get("minecraft:brown_concrete_powder")}static get BrownDye(){return a.ItemTypes.get("minecraft:brown_dye")}static get BrownGlazedTerracotta(){return a.ItemTypes.get("minecraft:brown_glazed_terracotta")}static get BrownMushroom(){return a.ItemTypes.get("minecraft:brown_mushroom")}static get BrownMushroomBlock(){return a.ItemTypes.get("minecraft:brown_mushroom_block")}static get BrownShulkerBox(){return a.ItemTypes.get("minecraft:brown_shulker_box")}static get BrownStainedGlass(){return a.ItemTypes.get("minecraft:brown_stained_glass")}static get BrownStainedGlassPane(){return a.ItemTypes.get("minecraft:brown_stained_glass_pane")}static get BrownTerracotta(){return a.ItemTypes.get("minecraft:brown_terracotta")}static get BrownWool(){return a.ItemTypes.get("minecraft:brown_wool")}static get Brush(){return a.ItemTypes.get("minecraft:brush")}static get BubbleCoral(){return a.ItemTypes.get("minecraft:bubble_coral")}static get Bucket(){return a.ItemTypes.get("minecraft:bucket")}static get BuddingAmethyst(){return a.ItemTypes.get("minecraft:budding_amethyst")}static get BurnPotterySherd(){return a.ItemTypes.get("minecraft:burn_pottery_sherd")}static get Cactus(){return a.ItemTypes.get("minecraft:cactus")}static get Cake(){return a.ItemTypes.get("minecraft:cake")}static get Calcite(){return a.ItemTypes.get("minecraft:calcite")}static get CalibratedSculkSensor(){return a.ItemTypes.get("minecraft:calibrated_sculk_sensor")}static get CamelSpawnEgg(){return a.ItemTypes.get("minecraft:camel_spawn_egg")}static get Campfire(){return a.ItemTypes.get("minecraft:campfire")}static get Candle(){return a.ItemTypes.get("minecraft:candle")}static get Carpet(){return a.ItemTypes.get("minecraft:carpet")}static get Carrot(){return a.ItemTypes.get("minecraft:carrot")}static get CarrotOnAStick(){return a.ItemTypes.get("minecraft:carrot_on_a_stick")}static get CartographyTable(){return a.ItemTypes.get("minecraft:cartography_table")}static get CarvedPumpkin(){return a.ItemTypes.get("minecraft:carved_pumpkin")}static get CatSpawnEgg(){return a.ItemTypes.get("minecraft:cat_spawn_egg")}static get Cauldron(){return a.ItemTypes.get("minecraft:cauldron")}static get CaveSpiderSpawnEgg(){return a.ItemTypes.get("minecraft:cave_spider_spawn_egg")}static get Chain(){return a.ItemTypes.get("minecraft:chain")}static get ChainCommandBlock(){return a.ItemTypes.get("minecraft:chain_command_block")}static get ChainmailBoots(){return a.ItemTypes.get("minecraft:chainmail_boots")}static get ChainmailChestplate(){return a.ItemTypes.get("minecraft:chainmail_chestplate")}static get ChainmailHelmet(){return a.ItemTypes.get("minecraft:chainmail_helmet")}static get ChainmailLeggings(){return a.ItemTypes.get("minecraft:chainmail_leggings")}static get Charcoal(){return a.ItemTypes.get("minecraft:charcoal")}static get CherryBoat(){return a.ItemTypes.get("minecraft:cherry_boat")}static get CherryButton(){return a.ItemTypes.get("minecraft:cherry_button")}static get CherryChestBoat(){return a.ItemTypes.get("minecraft:cherry_chest_boat")}static get CherryDoor(){return a.ItemTypes.get("minecraft:cherry_door")}static get CherryFence(){return a.ItemTypes.get("minecraft:cherry_fence")}static get CherryFenceGate(){return a.ItemTypes.get("minecraft:cherry_fence_gate")}static get CherryHangingSign(){return a.ItemTypes.get("minecraft:cherry_hanging_sign")}static get CherryLeaves(){return a.ItemTypes.get("minecraft:cherry_leaves")}static get CherryLog(){return a.ItemTypes.get("minecraft:cherry_log")}static get CherryPlanks(){return a.ItemTypes.get("minecraft:cherry_planks")}static get CherryPressurePlate(){return a.ItemTypes.get("minecraft:cherry_pressure_plate")}static get CherrySapling(){return a.ItemTypes.get("minecraft:cherry_sapling")}static get CherrySign(){return a.ItemTypes.get("minecraft:cherry_sign")}static get CherrySlab(){return a.ItemTypes.get("minecraft:cherry_slab")}static get CherryStairs(){return a.ItemTypes.get("minecraft:cherry_stairs")}static get CherryTrapdoor(){return a.ItemTypes.get("minecraft:cherry_trapdoor")}static get CherryWood(){return a.ItemTypes.get("minecraft:cherry_wood")}static get Chest(){return a.ItemTypes.get("minecraft:chest")}static get ChestBoat(){return a.ItemTypes.get("minecraft:chest_boat")}static get ChestMinecart(){return a.ItemTypes.get("minecraft:chest_minecart")}static get Chicken(){return a.ItemTypes.get("minecraft:chicken")}static get ChickenSpawnEgg(){return a.ItemTypes.get("minecraft:chicken_spawn_egg")}static get ChiseledBookshelf(){return a.ItemTypes.get("minecraft:chiseled_bookshelf")}static get ChiseledDeepslate(){return a.ItemTypes.get("minecraft:chiseled_deepslate")}static get ChiseledNetherBricks(){return a.ItemTypes.get("minecraft:chiseled_nether_bricks")}static get ChiseledPolishedBlackstone(){return a.ItemTypes.get("minecraft:chiseled_polished_blackstone")}static get ChorusFlower(){return a.ItemTypes.get("minecraft:chorus_flower")}static get ChorusFruit(){return a.ItemTypes.get("minecraft:chorus_fruit")}static get ChorusPlant(){return a.ItemTypes.get("minecraft:chorus_plant")}static get Clay(){return a.ItemTypes.get("minecraft:clay")}static get ClayBall(){return a.ItemTypes.get("minecraft:clay_ball")}static get Clock(){return a.ItemTypes.get("minecraft:clock")}static get Coal(){return a.ItemTypes.get("minecraft:coal")}static get CoalBlock(){return a.ItemTypes.get("minecraft:coal_block")}static get CoalOre(){return a.ItemTypes.get("minecraft:coal_ore")}static get CoastArmorTrimSmithingTemplate(){return a.ItemTypes.get("minecraft:coast_armor_trim_smithing_template")}static get CobbledDeepslate(){return a.ItemTypes.get("minecraft:cobbled_deepslate")}static get CobbledDeepslateSlab(){return a.ItemTypes.get("minecraft:cobbled_deepslate_slab")}static get CobbledDeepslateStairs(){return a.ItemTypes.get("minecraft:cobbled_deepslate_stairs")}static get CobbledDeepslateWall(){return a.ItemTypes.get("minecraft:cobbled_deepslate_wall")}static get Cobblestone(){return a.ItemTypes.get("minecraft:cobblestone")}static get CobblestoneWall(){return a.ItemTypes.get("minecraft:cobblestone_wall")}static get CocoaBeans(){return a.ItemTypes.get("minecraft:cocoa_beans")}static get Cod(){return a.ItemTypes.get("minecraft:cod")}static get CodBucket(){return a.ItemTypes.get("minecraft:cod_bucket")}static get CodSpawnEgg(){return a.ItemTypes.get("minecraft:cod_spawn_egg")}static get CommandBlock(){return a.ItemTypes.get("minecraft:command_block")}static get CommandBlockMinecart(){return a.ItemTypes.get("minecraft:command_block_minecart")}static get Comparator(){return a.ItemTypes.get("minecraft:comparator")}static get Compass(){return a.ItemTypes.get("minecraft:compass")}static get Composter(){return a.ItemTypes.get("minecraft:composter")}static get Concrete(){return a.ItemTypes.get("minecraft:concrete")}static get ConcretePowder(){return a.ItemTypes.get("minecraft:concrete_powder")}static get Conduit(){return a.ItemTypes.get("minecraft:conduit")}static get CookedBeef(){return a.ItemTypes.get("minecraft:cooked_beef")}static get CookedChicken(){return a.ItemTypes.get("minecraft:cooked_chicken")}static get CookedCod(){return a.ItemTypes.get("minecraft:cooked_cod")}static get CookedMutton(){return a.ItemTypes.get("minecraft:cooked_mutton")}static get CookedPorkchop(){return a.ItemTypes.get("minecraft:cooked_porkchop")}static get CookedRabbit(){return a.ItemTypes.get("minecraft:cooked_rabbit")}static get CookedSalmon(){return a.ItemTypes.get("minecraft:cooked_salmon")}static get Cookie(){return a.ItemTypes.get("minecraft:cookie")}static get CopperBlock(){return a.ItemTypes.get("minecraft:copper_block")}static get CopperIngot(){return a.ItemTypes.get("minecraft:copper_ingot")}static get CopperOre(){return a.ItemTypes.get("minecraft:copper_ore")}static get Coral(){return a.ItemTypes.get("minecraft:coral")}static get CoralBlock(){return a.ItemTypes.get("minecraft:coral_block")}static get CoralFan(){return a.ItemTypes.get("minecraft:coral_fan")}static get CoralFanDead(){return a.ItemTypes.get("minecraft:coral_fan_dead")}static get CowSpawnEgg(){return a.ItemTypes.get("minecraft:cow_spawn_egg")}static get CrackedDeepslateBricks(){return a.ItemTypes.get("minecraft:cracked_deepslate_bricks")}static get CrackedDeepslateTiles(){return a.ItemTypes.get("minecraft:cracked_deepslate_tiles")}static get CrackedNetherBricks(){return a.ItemTypes.get("minecraft:cracked_nether_bricks")}static get CrackedPolishedBlackstoneBricks(){return a.ItemTypes.get("minecraft:cracked_polished_blackstone_bricks")}static get CraftingTable(){return a.ItemTypes.get("minecraft:crafting_table")}static get CreeperBannerPattern(){return a.ItemTypes.get("minecraft:creeper_banner_pattern")}static get CreeperSpawnEgg(){return a.ItemTypes.get("minecraft:creeper_spawn_egg")}static get CrimsonButton(){return a.ItemTypes.get("minecraft:crimson_button")}static get CrimsonDoor(){return a.ItemTypes.get("minecraft:crimson_door")}static get CrimsonFence(){return a.ItemTypes.get("minecraft:crimson_fence")}static get CrimsonFenceGate(){return a.ItemTypes.get("minecraft:crimson_fence_gate")}static get CrimsonFungus(){return a.ItemTypes.get("minecraft:crimson_fungus")}static get CrimsonHangingSign(){return a.ItemTypes.get("minecraft:crimson_hanging_sign")}static get CrimsonHyphae(){return a.ItemTypes.get("minecraft:crimson_hyphae")}static get CrimsonNylium(){return a.ItemTypes.get("minecraft:crimson_nylium")}static get CrimsonPlanks(){return a.ItemTypes.get("minecraft:crimson_planks")}static get CrimsonPressurePlate(){return a.ItemTypes.get("minecraft:crimson_pressure_plate")}static get CrimsonRoots(){return a.ItemTypes.get("minecraft:crimson_roots")}static get CrimsonSign(){return a.ItemTypes.get("minecraft:crimson_sign")}static get CrimsonSlab(){return a.ItemTypes.get("minecraft:crimson_slab")}static get CrimsonStairs(){return a.ItemTypes.get("minecraft:crimson_stairs")}static get CrimsonStem(){return a.ItemTypes.get("minecraft:crimson_stem")}static get CrimsonTrapdoor(){return a.ItemTypes.get("minecraft:crimson_trapdoor")}static get Crossbow(){return a.ItemTypes.get("minecraft:crossbow")}static get CryingObsidian(){return a.ItemTypes.get("minecraft:crying_obsidian")}static get CutCopper(){return a.ItemTypes.get("minecraft:cut_copper")}static get CutCopperSlab(){return a.ItemTypes.get("minecraft:cut_copper_slab")}static get CutCopperStairs(){return a.ItemTypes.get("minecraft:cut_copper_stairs")}static get CyanCandle(){return a.ItemTypes.get("minecraft:cyan_candle")}static get CyanCarpet(){return a.ItemTypes.get("minecraft:cyan_carpet")}static get CyanConcrete(){return a.ItemTypes.get("minecraft:cyan_concrete")}static get CyanConcretePowder(){return a.ItemTypes.get("minecraft:cyan_concrete_powder")}static get CyanDye(){return a.ItemTypes.get("minecraft:cyan_dye")}static get CyanGlazedTerracotta(){return a.ItemTypes.get("minecraft:cyan_glazed_terracotta")}static get CyanShulkerBox(){return a.ItemTypes.get("minecraft:cyan_shulker_box")}static get CyanStainedGlass(){return a.ItemTypes.get("minecraft:cyan_stained_glass")}static get CyanStainedGlassPane(){return a.ItemTypes.get("minecraft:cyan_stained_glass_pane")}static get CyanTerracotta(){return a.ItemTypes.get("minecraft:cyan_terracotta")}static get CyanWool(){return a.ItemTypes.get("minecraft:cyan_wool")}static get DangerPotterySherd(){return a.ItemTypes.get("minecraft:danger_pottery_sherd")}static get DarkOakBoat(){return a.ItemTypes.get("minecraft:dark_oak_boat")}static get DarkOakButton(){return a.ItemTypes.get("minecraft:dark_oak_button")}static get DarkOakChestBoat(){return a.ItemTypes.get("minecraft:dark_oak_chest_boat")}static get DarkOakDoor(){return a.ItemTypes.get("minecraft:dark_oak_door")}static get DarkOakFence(){return a.ItemTypes.get("minecraft:dark_oak_fence")}static get DarkOakFenceGate(){return a.ItemTypes.get("minecraft:dark_oak_fence_gate")}static get DarkOakHangingSign(){return a.ItemTypes.get("minecraft:dark_oak_hanging_sign")}static get DarkOakLog(){return a.ItemTypes.get("minecraft:dark_oak_log")}static get DarkOakPressurePlate(){return a.ItemTypes.get("minecraft:dark_oak_pressure_plate")}static get DarkOakSign(){return a.ItemTypes.get("minecraft:dark_oak_sign")}static get DarkOakStairs(){return a.ItemTypes.get("minecraft:dark_oak_stairs")}static get DarkOakTrapdoor(){return a.ItemTypes.get("minecraft:dark_oak_trapdoor")}static get DarkPrismarineStairs(){return a.ItemTypes.get("minecraft:dark_prismarine_stairs")}static get DaylightDetector(){return a.ItemTypes.get("minecraft:daylight_detector")}static get DeadBrainCoral(){return a.ItemTypes.get("minecraft:dead_brain_coral")}static get DeadBubbleCoral(){return a.ItemTypes.get("minecraft:dead_bubble_coral")}static get DeadFireCoral(){return a.ItemTypes.get("minecraft:dead_fire_coral")}static get DeadHornCoral(){return a.ItemTypes.get("minecraft:dead_horn_coral")}static get DeadTubeCoral(){return a.ItemTypes.get("minecraft:dead_tube_coral")}static get Deadbush(){return a.ItemTypes.get("minecraft:deadbush")}static get DecoratedPot(){return a.ItemTypes.get("minecraft:decorated_pot")}static get Deepslate(){return a.ItemTypes.get("minecraft:deepslate")}static get DeepslateBrickSlab(){return a.ItemTypes.get("minecraft:deepslate_brick_slab")}static get DeepslateBrickStairs(){return a.ItemTypes.get("minecraft:deepslate_brick_stairs")}static get DeepslateBrickWall(){return a.ItemTypes.get("minecraft:deepslate_brick_wall")}static get DeepslateBricks(){return a.ItemTypes.get("minecraft:deepslate_bricks")}static get DeepslateCoalOre(){return a.ItemTypes.get("minecraft:deepslate_coal_ore")}static get DeepslateCopperOre(){return a.ItemTypes.get("minecraft:deepslate_copper_ore")}static get DeepslateDiamondOre(){return a.ItemTypes.get("minecraft:deepslate_diamond_ore")}static get DeepslateEmeraldOre(){return a.ItemTypes.get("minecraft:deepslate_emerald_ore")}static get DeepslateGoldOre(){return a.ItemTypes.get("minecraft:deepslate_gold_ore")}static get DeepslateIronOre(){return a.ItemTypes.get("minecraft:deepslate_iron_ore")}static get DeepslateLapisOre(){return a.ItemTypes.get("minecraft:deepslate_lapis_ore")}static get DeepslateRedstoneOre(){return a.ItemTypes.get("minecraft:deepslate_redstone_ore")}static get DeepslateTileSlab(){return a.ItemTypes.get("minecraft:deepslate_tile_slab")}static get DeepslateTileStairs(){return a.ItemTypes.get("minecraft:deepslate_tile_stairs")}static get DeepslateTileWall(){return a.ItemTypes.get("minecraft:deepslate_tile_wall")}static get DeepslateTiles(){return a.ItemTypes.get("minecraft:deepslate_tiles")}static get Deny(){return a.ItemTypes.get("minecraft:deny")}static get DetectorRail(){return a.ItemTypes.get("minecraft:detector_rail")}static get Diamond(){return a.ItemTypes.get("minecraft:diamond")}static get DiamondAxe(){return a.ItemTypes.get("minecraft:diamond_axe")}static get DiamondBlock(){return a.ItemTypes.get("minecraft:diamond_block")}static get DiamondBoots(){return a.ItemTypes.get("minecraft:diamond_boots")}static get DiamondChestplate(){return a.ItemTypes.get("minecraft:diamond_chestplate")}static get DiamondHelmet(){return a.ItemTypes.get("minecraft:diamond_helmet")}static get DiamondHoe(){return a.ItemTypes.get("minecraft:diamond_hoe")}static get DiamondHorseArmor(){return a.ItemTypes.get("minecraft:diamond_horse_armor")}static get DiamondLeggings(){return a.ItemTypes.get("minecraft:diamond_leggings")}static get DiamondOre(){return a.ItemTypes.get("minecraft:diamond_ore")}static get DiamondPickaxe(){return a.ItemTypes.get("minecraft:diamond_pickaxe")}static get DiamondShovel(){return a.ItemTypes.get("minecraft:diamond_shovel")}static get DiamondSword(){return a.ItemTypes.get("minecraft:diamond_sword")}static get DioriteStairs(){return a.ItemTypes.get("minecraft:diorite_stairs")}static get Dirt(){return a.ItemTypes.get("minecraft:dirt")}static get DirtWithRoots(){return a.ItemTypes.get("minecraft:dirt_with_roots")}static get DiscFragment5(){return a.ItemTypes.get("minecraft:disc_fragment_5")}static get Dispenser(){return a.ItemTypes.get("minecraft:dispenser")}static get DolphinSpawnEgg(){return a.ItemTypes.get("minecraft:dolphin_spawn_egg")}static get DonkeySpawnEgg(){return a.ItemTypes.get("minecraft:donkey_spawn_egg")}static get DoublePlant(){return a.ItemTypes.get("minecraft:double_plant")}static get DragonBreath(){return a.ItemTypes.get("minecraft:dragon_breath")}static get DragonEgg(){return a.ItemTypes.get("minecraft:dragon_egg")}static get DriedKelp(){return a.ItemTypes.get("minecraft:dried_kelp")}static get DriedKelpBlock(){return a.ItemTypes.get("minecraft:dried_kelp_block")}static get DripstoneBlock(){return a.ItemTypes.get("minecraft:dripstone_block")}static get Dropper(){return a.ItemTypes.get("minecraft:dropper")}static get DrownedSpawnEgg(){return a.ItemTypes.get("minecraft:drowned_spawn_egg")}static get DuneArmorTrimSmithingTemplate(){return a.ItemTypes.get("minecraft:dune_armor_trim_smithing_template")}static get Dye(){return a.ItemTypes.get("minecraft:dye")}static get EchoShard(){return a.ItemTypes.get("minecraft:echo_shard")}static get Egg(){return a.ItemTypes.get("minecraft:egg")}static get ElderGuardianSpawnEgg(){return a.ItemTypes.get("minecraft:elder_guardian_spawn_egg")}static get Elytra(){return a.ItemTypes.get("minecraft:elytra")}static get Emerald(){return a.ItemTypes.get("minecraft:emerald")}static get EmeraldBlock(){return a.ItemTypes.get("minecraft:emerald_block")}static get EmeraldOre(){return a.ItemTypes.get("minecraft:emerald_ore")}static get EmptyMap(){return a.ItemTypes.get("minecraft:empty_map")}static get EnchantedBook(){return a.ItemTypes.get("minecraft:enchanted_book")}static get EnchantedGoldenApple(){return a.ItemTypes.get("minecraft:enchanted_golden_apple")}static get EnchantingTable(){return a.ItemTypes.get("minecraft:enchanting_table")}static get EndBrickStairs(){return a.ItemTypes.get("minecraft:end_brick_stairs")}static get EndBricks(){return a.ItemTypes.get("minecraft:end_bricks")}static get EndCrystal(){return a.ItemTypes.get("minecraft:end_crystal")}static get EndPortalFrame(){return a.ItemTypes.get("minecraft:end_portal_frame")}static get EndRod(){return a.ItemTypes.get("minecraft:end_rod")}static get EndStone(){return a.ItemTypes.get("minecraft:end_stone")}static get EnderChest(){return a.ItemTypes.get("minecraft:ender_chest")}static get EnderDragonSpawnEgg(){return a.ItemTypes.get("minecraft:ender_dragon_spawn_egg")}static get EnderEye(){return a.ItemTypes.get("minecraft:ender_eye")}static get EnderPearl(){return a.ItemTypes.get("minecraft:ender_pearl")}static get EndermanSpawnEgg(){return a.ItemTypes.get("minecraft:enderman_spawn_egg")}static get EndermiteSpawnEgg(){return a.ItemTypes.get("minecraft:endermite_spawn_egg")}static get EvokerSpawnEgg(){return a.ItemTypes.get("minecraft:evoker_spawn_egg")}static get ExperienceBottle(){return a.ItemTypes.get("minecraft:experience_bottle")}static get ExplorerPotterySherd(){return a.ItemTypes.get("minecraft:explorer_pottery_sherd")}static get ExposedCopper(){return a.ItemTypes.get("minecraft:exposed_copper")}static get ExposedCutCopper(){return a.ItemTypes.get("minecraft:exposed_cut_copper")}static get ExposedCutCopperSlab(){return a.ItemTypes.get("minecraft:exposed_cut_copper_slab")}static get ExposedCutCopperStairs(){return a.ItemTypes.get("minecraft:exposed_cut_copper_stairs")}static get EyeArmorTrimSmithingTemplate(){return a.ItemTypes.get("minecraft:eye_armor_trim_smithing_template")}static get Farmland(){return a.ItemTypes.get("minecraft:farmland")}static get Feather(){return a.ItemTypes.get("minecraft:feather")}static get Fence(){return a.ItemTypes.get("minecraft:fence")}static get FenceGate(){return a.ItemTypes.get("minecraft:fence_gate")}static get FermentedSpiderEye(){return a.ItemTypes.get("minecraft:fermented_spider_eye")}static get FieldMasonedBannerPattern(){return a.ItemTypes.get("minecraft:field_masoned_banner_pattern")}static get FilledMap(){return a.ItemTypes.get("minecraft:filled_map")}static get FireCharge(){return a.ItemTypes.get("minecraft:fire_charge")}static get FireCoral(){return a.ItemTypes.get("minecraft:fire_coral")}static get FireworkRocket(){return a.ItemTypes.get("minecraft:firework_rocket")}static get FireworkStar(){return a.ItemTypes.get("minecraft:firework_star")}static get FishingRod(){return a.ItemTypes.get("minecraft:fishing_rod")}static get FletchingTable(){return a.ItemTypes.get("minecraft:fletching_table")}static get Flint(){return a.ItemTypes.get("minecraft:flint")}static get FlintAndSteel(){return a.ItemTypes.get("minecraft:flint_and_steel")}static get FlowerBannerPattern(){return a.ItemTypes.get("minecraft:flower_banner_pattern")}static get FlowerPot(){return a.ItemTypes.get("minecraft:flower_pot")}static get FloweringAzalea(){return a.ItemTypes.get("minecraft:flowering_azalea")}static get FoxSpawnEgg(){return a.ItemTypes.get("minecraft:fox_spawn_egg")}static get Frame(){return a.ItemTypes.get("minecraft:frame")}static get FriendPotterySherd(){return a.ItemTypes.get("minecraft:friend_pottery_sherd")}static get FrogSpawn(){return a.ItemTypes.get("minecraft:frog_spawn")}static get FrogSpawnEgg(){return a.ItemTypes.get("minecraft:frog_spawn_egg")}static get FrostedIce(){return a.ItemTypes.get("minecraft:frosted_ice")}static get Furnace(){return a.ItemTypes.get("minecraft:furnace")}static get GhastSpawnEgg(){return a.ItemTypes.get("minecraft:ghast_spawn_egg")}static get GhastTear(){return a.ItemTypes.get("minecraft:ghast_tear")}static get GildedBlackstone(){return a.ItemTypes.get("minecraft:gilded_blackstone")}static get Glass(){return a.ItemTypes.get("minecraft:glass")}static get GlassBottle(){return a.ItemTypes.get("minecraft:glass_bottle")}static get GlassPane(){return a.ItemTypes.get("minecraft:glass_pane")}static get GlisteringMelonSlice(){return a.ItemTypes.get("minecraft:glistering_melon_slice")}static get GlobeBannerPattern(){return a.ItemTypes.get("minecraft:globe_banner_pattern")}static get GlowBerries(){return a.ItemTypes.get("minecraft:glow_berries")}static get GlowFrame(){return a.ItemTypes.get("minecraft:glow_frame")}static get GlowInkSac(){return a.ItemTypes.get("minecraft:glow_ink_sac")}static get GlowLichen(){return a.ItemTypes.get("minecraft:glow_lichen")}static get GlowSquidSpawnEgg(){return a.ItemTypes.get("minecraft:glow_squid_spawn_egg")}static get Glowstone(){return a.ItemTypes.get("minecraft:glowstone")}static get GlowstoneDust(){return a.ItemTypes.get("minecraft:glowstone_dust")}static get GoatHorn(){return a.ItemTypes.get("minecraft:goat_horn")}static get GoatSpawnEgg(){return a.ItemTypes.get("minecraft:goat_spawn_egg")}static get GoldBlock(){return a.ItemTypes.get("minecraft:gold_block")}static get GoldIngot(){return a.ItemTypes.get("minecraft:gold_ingot")}static get GoldNugget(){return a.ItemTypes.get("minecraft:gold_nugget")}static get GoldOre(){return a.ItemTypes.get("minecraft:gold_ore")}static get GoldenApple(){return a.ItemTypes.get("minecraft:golden_apple")}static get GoldenAxe(){return a.ItemTypes.get("minecraft:golden_axe")}static get GoldenBoots(){return a.ItemTypes.get("minecraft:golden_boots")}static get GoldenCarrot(){return a.ItemTypes.get("minecraft:golden_carrot")}static get GoldenChestplate(){return a.ItemTypes.get("minecraft:golden_chestplate")}static get GoldenHelmet(){return a.ItemTypes.get("minecraft:golden_helmet")}static get GoldenHoe(){return a.ItemTypes.get("minecraft:golden_hoe")}static get GoldenHorseArmor(){return a.ItemTypes.get("minecraft:golden_horse_armor")}static get GoldenLeggings(){return a.ItemTypes.get("minecraft:golden_leggings")}static get GoldenPickaxe(){return a.ItemTypes.get("minecraft:golden_pickaxe")}static get GoldenRail(){return a.ItemTypes.get("minecraft:golden_rail")}static get GoldenShovel(){return a.ItemTypes.get("minecraft:golden_shovel")}static get GoldenSword(){return a.ItemTypes.get("minecraft:golden_sword")}static get GraniteStairs(){return a.ItemTypes.get("minecraft:granite_stairs")}static get Grass(){return a.ItemTypes.get("minecraft:grass")}static get GrassPath(){return a.ItemTypes.get("minecraft:grass_path")}static get Gravel(){return a.ItemTypes.get("minecraft:gravel")}static get GrayCandle(){return a.ItemTypes.get("minecraft:gray_candle")}static get GrayCarpet(){return a.ItemTypes.get("minecraft:gray_carpet")}static get GrayConcrete(){return a.ItemTypes.get("minecraft:gray_concrete")}static get GrayConcretePowder(){return a.ItemTypes.get("minecraft:gray_concrete_powder")}static get GrayDye(){return a.ItemTypes.get("minecraft:gray_dye")}static get GrayGlazedTerracotta(){return a.ItemTypes.get("minecraft:gray_glazed_terracotta")}static get GrayShulkerBox(){return a.ItemTypes.get("minecraft:gray_shulker_box")}static get GrayStainedGlass(){return a.ItemTypes.get("minecraft:gray_stained_glass")}static get GrayStainedGlassPane(){return a.ItemTypes.get("minecraft:gray_stained_glass_pane")}static get GrayTerracotta(){return a.ItemTypes.get("minecraft:gray_terracotta")}static get GrayWool(){return a.ItemTypes.get("minecraft:gray_wool")}static get GreenCandle(){return a.ItemTypes.get("minecraft:green_candle")}static get GreenCarpet(){return a.ItemTypes.get("minecraft:green_carpet")}static get GreenConcrete(){return a.ItemTypes.get("minecraft:green_concrete")}static get GreenConcretePowder(){return a.ItemTypes.get("minecraft:green_concrete_powder")}static get GreenDye(){return a.ItemTypes.get("minecraft:green_dye")}static get GreenGlazedTerracotta(){return a.ItemTypes.get("minecraft:green_glazed_terracotta")}static get GreenShulkerBox(){return a.ItemTypes.get("minecraft:green_shulker_box")}static get GreenStainedGlass(){return a.ItemTypes.get("minecraft:green_stained_glass")}static get GreenStainedGlassPane(){return a.ItemTypes.get("minecraft:green_stained_glass_pane")}static get GreenTerracotta(){return a.ItemTypes.get("minecraft:green_terracotta")}static get GreenWool(){return a.ItemTypes.get("minecraft:green_wool")}static get Grindstone(){return a.ItemTypes.get("minecraft:grindstone")}static get GuardianSpawnEgg(){return a.ItemTypes.get("minecraft:guardian_spawn_egg")}static get Gunpowder(){return a.ItemTypes.get("minecraft:gunpowder")}static get HangingRoots(){return a.ItemTypes.get("minecraft:hanging_roots")}static get HardenedClay(){return a.ItemTypes.get("minecraft:hardened_clay")}static get HayBlock(){return a.ItemTypes.get("minecraft:hay_block")}static get HeartOfTheSea(){return a.ItemTypes.get("minecraft:heart_of_the_sea")}static get HeartPotterySherd(){return a.ItemTypes.get("minecraft:heart_pottery_sherd")}static get HeartbreakPotterySherd(){return a.ItemTypes.get("minecraft:heartbreak_pottery_sherd")}static get HeavyWeightedPressurePlate(){return a.ItemTypes.get("minecraft:heavy_weighted_pressure_plate")}static get HoglinSpawnEgg(){return a.ItemTypes.get("minecraft:hoglin_spawn_egg")}static get HoneyBlock(){return a.ItemTypes.get("minecraft:honey_block")}static get HoneyBottle(){return a.ItemTypes.get("minecraft:honey_bottle")}static get Honeycomb(){return a.ItemTypes.get("minecraft:honeycomb")}static get HoneycombBlock(){return a.ItemTypes.get("minecraft:honeycomb_block")}static get Hopper(){return a.ItemTypes.get("minecraft:hopper")}static get HopperMinecart(){return a.ItemTypes.get("minecraft:hopper_minecart")}static get HornCoral(){return a.ItemTypes.get("minecraft:horn_coral")}static get HorseSpawnEgg(){return a.ItemTypes.get("minecraft:horse_spawn_egg")}static get HostArmorTrimSmithingTemplate(){return a.ItemTypes.get("minecraft:host_armor_trim_smithing_template")}static get HowlPotterySherd(){return a.ItemTypes.get("minecraft:howl_pottery_sherd")}static get HuskSpawnEgg(){return a.ItemTypes.get("minecraft:husk_spawn_egg")}static get Ice(){return a.ItemTypes.get("minecraft:ice")}static get InfestedDeepslate(){return a.ItemTypes.get("minecraft:infested_deepslate")}static get InkSac(){return a.ItemTypes.get("minecraft:ink_sac")}static get IronAxe(){return a.ItemTypes.get("minecraft:iron_axe")}static get IronBars(){return a.ItemTypes.get("minecraft:iron_bars")}static get IronBlock(){return a.ItemTypes.get("minecraft:iron_block")}static get IronBoots(){return a.ItemTypes.get("minecraft:iron_boots")}static get IronChestplate(){return a.ItemTypes.get("minecraft:iron_chestplate")}static get IronDoor(){return a.ItemTypes.get("minecraft:iron_door")}static get IronGolemSpawnEgg(){return a.ItemTypes.get("minecraft:iron_golem_spawn_egg")}static get IronHelmet(){return a.ItemTypes.get("minecraft:iron_helmet")}static get IronHoe(){return a.ItemTypes.get("minecraft:iron_hoe")}static get IronHorseArmor(){return a.ItemTypes.get("minecraft:iron_horse_armor")}static get IronIngot(){return a.ItemTypes.get("minecraft:iron_ingot")}static get IronLeggings(){return a.ItemTypes.get("minecraft:iron_leggings")}static get IronNugget(){return a.ItemTypes.get("minecraft:iron_nugget")}static get IronOre(){return a.ItemTypes.get("minecraft:iron_ore")}static get IronPickaxe(){return a.ItemTypes.get("minecraft:iron_pickaxe")}static get IronShovel(){return a.ItemTypes.get("minecraft:iron_shovel")}static get IronSword(){return a.ItemTypes.get("minecraft:iron_sword")}static get IronTrapdoor(){return a.ItemTypes.get("minecraft:iron_trapdoor")}static get Jigsaw(){return a.ItemTypes.get("minecraft:jigsaw")}static get Jukebox(){return a.ItemTypes.get("minecraft:jukebox")}static get JungleBoat(){return a.ItemTypes.get("minecraft:jungle_boat")}static get JungleButton(){return a.ItemTypes.get("minecraft:jungle_button")}static get JungleChestBoat(){return a.ItemTypes.get("minecraft:jungle_chest_boat")}static get JungleDoor(){return a.ItemTypes.get("minecraft:jungle_door")}static get JungleFence(){return a.ItemTypes.get("minecraft:jungle_fence")}static get JungleFenceGate(){return a.ItemTypes.get("minecraft:jungle_fence_gate")}static get JungleHangingSign(){return a.ItemTypes.get("minecraft:jungle_hanging_sign")}static get JungleLog(){return a.ItemTypes.get("minecraft:jungle_log")}static get JunglePressurePlate(){return a.ItemTypes.get("minecraft:jungle_pressure_plate")}static get JungleSign(){return a.ItemTypes.get("minecraft:jungle_sign")}static get JungleStairs(){return a.ItemTypes.get("minecraft:jungle_stairs")}static get JungleTrapdoor(){return a.ItemTypes.get("minecraft:jungle_trapdoor")}static get Kelp(){return a.ItemTypes.get("minecraft:kelp")}static get Ladder(){return a.ItemTypes.get("minecraft:ladder")}static get Lantern(){return a.ItemTypes.get("minecraft:lantern")}static get LapisBlock(){return a.ItemTypes.get("minecraft:lapis_block")}static get LapisLazuli(){return a.ItemTypes.get("minecraft:lapis_lazuli")}static get LapisOre(){return a.ItemTypes.get("minecraft:lapis_ore")}static get LargeAmethystBud(){return a.ItemTypes.get("minecraft:large_amethyst_bud")}static get LavaBucket(){return a.ItemTypes.get("minecraft:lava_bucket")}static get Lead(){return a.ItemTypes.get("minecraft:lead")}static get Leather(){return a.ItemTypes.get("minecraft:leather")}static get LeatherBoots(){return a.ItemTypes.get("minecraft:leather_boots")}static get LeatherChestplate(){return a.ItemTypes.get("minecraft:leather_chestplate")}static get LeatherHelmet(){return a.ItemTypes.get("minecraft:leather_helmet")}static get LeatherHorseArmor(){return a.ItemTypes.get("minecraft:leather_horse_armor")}static get LeatherLeggings(){return a.ItemTypes.get("minecraft:leather_leggings")}static get Leaves(){return a.ItemTypes.get("minecraft:leaves")}static get Leaves2(){return a.ItemTypes.get("minecraft:leaves2")}static get Lectern(){return a.ItemTypes.get("minecraft:lectern")}static get Lever(){return a.ItemTypes.get("minecraft:lever")}static get LightBlock(){return a.ItemTypes.get("minecraft:light_block")}static get LightBlueCandle(){return a.ItemTypes.get("minecraft:light_blue_candle")}static get LightBlueCarpet(){return a.ItemTypes.get("minecraft:light_blue_carpet")}static get LightBlueConcrete(){return a.ItemTypes.get("minecraft:light_blue_concrete")}static get LightBlueConcretePowder(){return a.ItemTypes.get("minecraft:light_blue_concrete_powder")}static get LightBlueDye(){return a.ItemTypes.get("minecraft:light_blue_dye")}static get LightBlueGlazedTerracotta(){return a.ItemTypes.get("minecraft:light_blue_glazed_terracotta")}static get LightBlueShulkerBox(){return a.ItemTypes.get("minecraft:light_blue_shulker_box")}static get LightBlueStainedGlass(){return a.ItemTypes.get("minecraft:light_blue_stained_glass")}static get LightBlueStainedGlassPane(){return a.ItemTypes.get("minecraft:light_blue_stained_glass_pane")}static get LightBlueTerracotta(){return a.ItemTypes.get("minecraft:light_blue_terracotta")}static get LightBlueWool(){return a.ItemTypes.get("minecraft:light_blue_wool")}static get LightGrayCandle(){return a.ItemTypes.get("minecraft:light_gray_candle")}static get LightGrayCarpet(){return a.ItemTypes.get("minecraft:light_gray_carpet")}static get LightGrayConcrete(){return a.ItemTypes.get("minecraft:light_gray_concrete")}static get LightGrayConcretePowder(){return a.ItemTypes.get("minecraft:light_gray_concrete_powder")}static get LightGrayDye(){return a.ItemTypes.get("minecraft:light_gray_dye")}static get LightGrayShulkerBox(){return a.ItemTypes.get("minecraft:light_gray_shulker_box")}static get LightGrayStainedGlass(){return a.ItemTypes.get("minecraft:light_gray_stained_glass")}static get LightGrayStainedGlassPane(){return a.ItemTypes.get("minecraft:light_gray_stained_glass_pane")}static get LightGrayTerracotta(){return a.ItemTypes.get("minecraft:light_gray_terracotta")}static get LightGrayWool(){return a.ItemTypes.get("minecraft:light_gray_wool")}static get LightWeightedPressurePlate(){return a.ItemTypes.get("minecraft:light_weighted_pressure_plate")}static get LightningRod(){return a.ItemTypes.get("minecraft:lightning_rod")}static get LimeCandle(){return a.ItemTypes.get("minecraft:lime_candle")}static get LimeCarpet(){return a.ItemTypes.get("minecraft:lime_carpet")}static get LimeConcrete(){return a.ItemTypes.get("minecraft:lime_concrete")}static get LimeConcretePowder(){return a.ItemTypes.get("minecraft:lime_concrete_powder")}static get LimeDye(){return a.ItemTypes.get("minecraft:lime_dye")}static get LimeGlazedTerracotta(){return a.ItemTypes.get("minecraft:lime_glazed_terracotta")}static get LimeShulkerBox(){return a.ItemTypes.get("minecraft:lime_shulker_box")}static get LimeStainedGlass(){return a.ItemTypes.get("minecraft:lime_stained_glass")}static get LimeStainedGlassPane(){return a.ItemTypes.get("minecraft:lime_stained_glass_pane")}static get LimeTerracotta(){return a.ItemTypes.get("minecraft:lime_terracotta")}static get LimeWool(){return a.ItemTypes.get("minecraft:lime_wool")}static get LingeringPotion(){return a.ItemTypes.get("minecraft:lingering_potion")}static get LitPumpkin(){return a.ItemTypes.get("minecraft:lit_pumpkin")}static get LlamaSpawnEgg(){return a.ItemTypes.get("minecraft:llama_spawn_egg")}static get Lodestone(){return a.ItemTypes.get("minecraft:lodestone")}static get LodestoneCompass(){return a.ItemTypes.get("minecraft:lodestone_compass")}static get Log(){return a.ItemTypes.get("minecraft:log")}static get Log2(){return a.ItemTypes.get("minecraft:log2")}static get Loom(){return a.ItemTypes.get("minecraft:loom")}static get MagentaCandle(){return a.ItemTypes.get("minecraft:magenta_candle")}static get MagentaCarpet(){return a.ItemTypes.get("minecraft:magenta_carpet")}static get MagentaConcrete(){return a.ItemTypes.get("minecraft:magenta_concrete")}static get MagentaConcretePowder(){return a.ItemTypes.get("minecraft:magenta_concrete_powder")}static get MagentaDye(){return a.ItemTypes.get("minecraft:magenta_dye")}static get MagentaGlazedTerracotta(){return a.ItemTypes.get("minecraft:magenta_glazed_terracotta")}static get MagentaShulkerBox(){return a.ItemTypes.get("minecraft:magenta_shulker_box")}static get MagentaStainedGlass(){return a.ItemTypes.get("minecraft:magenta_stained_glass")}static get MagentaStainedGlassPane(){return a.ItemTypes.get("minecraft:magenta_stained_glass_pane")}static get MagentaTerracotta(){return a.ItemTypes.get("minecraft:magenta_terracotta")}static get MagentaWool(){return a.ItemTypes.get("minecraft:magenta_wool")}static get Magma(){return a.ItemTypes.get("minecraft:magma")}static get MagmaCream(){return a.ItemTypes.get("minecraft:magma_cream")}static get MagmaCubeSpawnEgg(){return a.ItemTypes.get("minecraft:magma_cube_spawn_egg")}static get MangroveBoat(){return a.ItemTypes.get("minecraft:mangrove_boat")}static get MangroveButton(){return a.ItemTypes.get("minecraft:mangrove_button")}static get MangroveChestBoat(){return a.ItemTypes.get("minecraft:mangrove_chest_boat")}static get MangroveDoor(){return a.ItemTypes.get("minecraft:mangrove_door")}static get MangroveFence(){return a.ItemTypes.get("minecraft:mangrove_fence")}static get MangroveFenceGate(){return a.ItemTypes.get("minecraft:mangrove_fence_gate")}static get MangroveHangingSign(){return a.ItemTypes.get("minecraft:mangrove_hanging_sign")}static get MangroveLeaves(){return a.ItemTypes.get("minecraft:mangrove_leaves")}static get MangroveLog(){return a.ItemTypes.get("minecraft:mangrove_log")}static get MangrovePlanks(){return a.ItemTypes.get("minecraft:mangrove_planks")}static get MangrovePressurePlate(){return a.ItemTypes.get("minecraft:mangrove_pressure_plate")}static get MangrovePropagule(){return a.ItemTypes.get("minecraft:mangrove_propagule")}static get MangroveRoots(){return a.ItemTypes.get("minecraft:mangrove_roots")}static get MangroveSign(){return a.ItemTypes.get("minecraft:mangrove_sign")}static get MangroveSlab(){return a.ItemTypes.get("minecraft:mangrove_slab")}static get MangroveStairs(){return a.ItemTypes.get("minecraft:mangrove_stairs")}static get MangroveTrapdoor(){return a.ItemTypes.get("minecraft:mangrove_trapdoor")}static get MangroveWood(){return a.ItemTypes.get("minecraft:mangrove_wood")}static get MediumAmethystBud(){return a.ItemTypes.get("minecraft:medium_amethyst_bud")}static get MelonBlock(){return a.ItemTypes.get("minecraft:melon_block")}static get MelonSeeds(){return a.ItemTypes.get("minecraft:melon_seeds")}static get MelonSlice(){return a.ItemTypes.get("minecraft:melon_slice")}static get MilkBucket(){return a.ItemTypes.get("minecraft:milk_bucket")}static get Minecart(){return a.ItemTypes.get("minecraft:minecart")}static get MinerPotterySherd(){return a.ItemTypes.get("minecraft:miner_pottery_sherd")}static get MobSpawner(){return a.ItemTypes.get("minecraft:mob_spawner")}static get MojangBannerPattern(){return a.ItemTypes.get("minecraft:mojang_banner_pattern")}static get MonsterEgg(){return a.ItemTypes.get("minecraft:monster_egg")}static get MooshroomSpawnEgg(){return a.ItemTypes.get("minecraft:mooshroom_spawn_egg")}static get MossBlock(){return a.ItemTypes.get("minecraft:moss_block")}static get MossCarpet(){return a.ItemTypes.get("minecraft:moss_carpet")}static get MossyCobblestone(){return a.ItemTypes.get("minecraft:mossy_cobblestone")}static get MossyCobblestoneStairs(){return a.ItemTypes.get("minecraft:mossy_cobblestone_stairs")}static get MossyStoneBrickStairs(){return a.ItemTypes.get("minecraft:mossy_stone_brick_stairs")}static get MournerPotterySherd(){return a.ItemTypes.get("minecraft:mourner_pottery_sherd")}static get Mud(){return a.ItemTypes.get("minecraft:mud")}static get MudBrickSlab(){return a.ItemTypes.get("minecraft:mud_brick_slab")}static get MudBrickStairs(){return a.ItemTypes.get("minecraft:mud_brick_stairs")}static get MudBrickWall(){return a.ItemTypes.get("minecraft:mud_brick_wall")}static get MudBricks(){return a.ItemTypes.get("minecraft:mud_bricks")}static get MuddyMangroveRoots(){return a.ItemTypes.get("minecraft:muddy_mangrove_roots")}static get MuleSpawnEgg(){return a.ItemTypes.get("minecraft:mule_spawn_egg")}static get MushroomStew(){return a.ItemTypes.get("minecraft:mushroom_stew")}static get MusicDisc11(){return a.ItemTypes.get("minecraft:music_disc_11")}static get MusicDisc13(){return a.ItemTypes.get("minecraft:music_disc_13")}static get MusicDisc5(){return a.ItemTypes.get("minecraft:music_disc_5")}static get MusicDiscBlocks(){return a.ItemTypes.get("minecraft:music_disc_blocks")}static get MusicDiscCat(){return a.ItemTypes.get("minecraft:music_disc_cat")}static get MusicDiscChirp(){return a.ItemTypes.get("minecraft:music_disc_chirp")}static get MusicDiscFar(){return a.ItemTypes.get("minecraft:music_disc_far")}static get MusicDiscMall(){return a.ItemTypes.get("minecraft:music_disc_mall")}static get MusicDiscMellohi(){return a.ItemTypes.get("minecraft:music_disc_mellohi")}static get MusicDiscOtherside(){return a.ItemTypes.get("minecraft:music_disc_otherside")}static get MusicDiscPigstep(){return a.ItemTypes.get("minecraft:music_disc_pigstep")}static get MusicDiscRelic(){return a.ItemTypes.get("minecraft:music_disc_relic")}static get MusicDiscStal(){return a.ItemTypes.get("minecraft:music_disc_stal")}static get MusicDiscStrad(){return a.ItemTypes.get("minecraft:music_disc_strad")}static get MusicDiscWait(){return a.ItemTypes.get("minecraft:music_disc_wait")}static get MusicDiscWard(){return a.ItemTypes.get("minecraft:music_disc_ward")}static get Mutton(){return a.ItemTypes.get("minecraft:mutton")}static get Mycelium(){return a.ItemTypes.get("minecraft:mycelium")}static get NameTag(){return a.ItemTypes.get("minecraft:name_tag")}static get NautilusShell(){return a.ItemTypes.get("minecraft:nautilus_shell")}static get NetherBrick(){return a.ItemTypes.get("minecraft:nether_brick")}static get NetherBrickFence(){return a.ItemTypes.get("minecraft:nether_brick_fence")}static get NetherBrickStairs(){return a.ItemTypes.get("minecraft:nether_brick_stairs")}static get NetherGoldOre(){return a.ItemTypes.get("minecraft:nether_gold_ore")}static get NetherSprouts(){return a.ItemTypes.get("minecraft:nether_sprouts")}static get NetherStar(){return a.ItemTypes.get("minecraft:nether_star")}static get NetherWart(){return a.ItemTypes.get("minecraft:nether_wart")}static get NetherWartBlock(){return a.ItemTypes.get("minecraft:nether_wart_block")}static get Netherbrick(){return a.ItemTypes.get("minecraft:netherbrick")}static get NetheriteAxe(){return a.ItemTypes.get("minecraft:netherite_axe")}static get NetheriteBlock(){return a.ItemTypes.get("minecraft:netherite_block")}static get NetheriteBoots(){return a.ItemTypes.get("minecraft:netherite_boots")}static get NetheriteChestplate(){return a.ItemTypes.get("minecraft:netherite_chestplate")}static get NetheriteHelmet(){return a.ItemTypes.get("minecraft:netherite_helmet")}static get NetheriteHoe(){return a.ItemTypes.get("minecraft:netherite_hoe")}static get NetheriteIngot(){return a.ItemTypes.get("minecraft:netherite_ingot")}static get NetheriteLeggings(){return a.ItemTypes.get("minecraft:netherite_leggings")}static get NetheritePickaxe(){return a.ItemTypes.get("minecraft:netherite_pickaxe")}static get NetheriteScrap(){return a.ItemTypes.get("minecraft:netherite_scrap")}static get NetheriteShovel(){return a.ItemTypes.get("minecraft:netherite_shovel")}static get NetheriteSword(){return a.ItemTypes.get("minecraft:netherite_sword")}static get NetheriteUpgradeSmithingTemplate(){return a.ItemTypes.get("minecraft:netherite_upgrade_smithing_template")}static get Netherrack(){return a.ItemTypes.get("minecraft:netherrack")}static get NormalStoneStairs(){return a.ItemTypes.get("minecraft:normal_stone_stairs")}static get Noteblock(){return a.ItemTypes.get("minecraft:noteblock")}static get OakBoat(){return a.ItemTypes.get("minecraft:oak_boat")}static get OakChestBoat(){return a.ItemTypes.get("minecraft:oak_chest_boat")}static get OakFence(){return a.ItemTypes.get("minecraft:oak_fence")}static get OakHangingSign(){return a.ItemTypes.get("minecraft:oak_hanging_sign")}static get OakLog(){return a.ItemTypes.get("minecraft:oak_log")}static get OakSign(){return a.ItemTypes.get("minecraft:oak_sign")}static get OakStairs(){return a.ItemTypes.get("minecraft:oak_stairs")}static get Observer(){return a.ItemTypes.get("minecraft:observer")}static get Obsidian(){return a.ItemTypes.get("minecraft:obsidian")}static get OcelotSpawnEgg(){return a.ItemTypes.get("minecraft:ocelot_spawn_egg")}static get OchreFroglight(){return a.ItemTypes.get("minecraft:ochre_froglight")}static get OrangeCandle(){return a.ItemTypes.get("minecraft:orange_candle")}static get OrangeCarpet(){return a.ItemTypes.get("minecraft:orange_carpet")}static get OrangeConcrete(){return a.ItemTypes.get("minecraft:orange_concrete")}static get OrangeConcretePowder(){return a.ItemTypes.get("minecraft:orange_concrete_powder")}static get OrangeDye(){return a.ItemTypes.get("minecraft:orange_dye")}static get OrangeGlazedTerracotta(){return a.ItemTypes.get("minecraft:orange_glazed_terracotta")}static get OrangeShulkerBox(){return a.ItemTypes.get("minecraft:orange_shulker_box")}static get OrangeStainedGlass(){return a.ItemTypes.get("minecraft:orange_stained_glass")}static get OrangeStainedGlassPane(){return a.ItemTypes.get("minecraft:orange_stained_glass_pane")}static get OrangeTerracotta(){return a.ItemTypes.get("minecraft:orange_terracotta")}static get OrangeWool(){return a.ItemTypes.get("minecraft:orange_wool")}static get OxidizedCopper(){return a.ItemTypes.get("minecraft:oxidized_copper")}static get OxidizedCutCopper(){return a.ItemTypes.get("minecraft:oxidized_cut_copper")}static get OxidizedCutCopperSlab(){return a.ItemTypes.get("minecraft:oxidized_cut_copper_slab")}static get OxidizedCutCopperStairs(){return a.ItemTypes.get("minecraft:oxidized_cut_copper_stairs")}static get PackedIce(){return a.ItemTypes.get("minecraft:packed_ice")}static get PackedMud(){return a.ItemTypes.get("minecraft:packed_mud")}static get Painting(){return a.ItemTypes.get("minecraft:painting")}static get PandaSpawnEgg(){return a.ItemTypes.get("minecraft:panda_spawn_egg")}static get Paper(){return a.ItemTypes.get("minecraft:paper")}static get ParrotSpawnEgg(){return a.ItemTypes.get("minecraft:parrot_spawn_egg")}static get PearlescentFroglight(){return a.ItemTypes.get("minecraft:pearlescent_froglight")}static get PhantomMembrane(){return a.ItemTypes.get("minecraft:phantom_membrane")}static get PhantomSpawnEgg(){return a.ItemTypes.get("minecraft:phantom_spawn_egg")}static get PigSpawnEgg(){return a.ItemTypes.get("minecraft:pig_spawn_egg")}static get PiglinBannerPattern(){return a.ItemTypes.get("minecraft:piglin_banner_pattern")}static get PiglinBruteSpawnEgg(){return a.ItemTypes.get("minecraft:piglin_brute_spawn_egg")}static get PiglinSpawnEgg(){return a.ItemTypes.get("minecraft:piglin_spawn_egg")}static get PillagerSpawnEgg(){return a.ItemTypes.get("minecraft:pillager_spawn_egg")}static get PinkCandle(){return a.ItemTypes.get("minecraft:pink_candle")}static get PinkCarpet(){return a.ItemTypes.get("minecraft:pink_carpet")}static get PinkConcrete(){return a.ItemTypes.get("minecraft:pink_concrete")}static get PinkConcretePowder(){return a.ItemTypes.get("minecraft:pink_concrete_powder")}static get PinkDye(){return a.ItemTypes.get("minecraft:pink_dye")}static get PinkGlazedTerracotta(){return a.ItemTypes.get("minecraft:pink_glazed_terracotta")}static get PinkPetals(){return a.ItemTypes.get("minecraft:pink_petals")}static get PinkShulkerBox(){return a.ItemTypes.get("minecraft:pink_shulker_box")}static get PinkStainedGlass(){return a.ItemTypes.get("minecraft:pink_stained_glass")}static get PinkStainedGlassPane(){return a.ItemTypes.get("minecraft:pink_stained_glass_pane")}static get PinkTerracotta(){return a.ItemTypes.get("minecraft:pink_terracotta")}static get PinkWool(){return a.ItemTypes.get("minecraft:pink_wool")}static get Piston(){return a.ItemTypes.get("minecraft:piston")}static get PitcherPlant(){return a.ItemTypes.get("minecraft:pitcher_plant")}static get PitcherPod(){return a.ItemTypes.get("minecraft:pitcher_pod")}static get Planks(){return a.ItemTypes.get("minecraft:planks")}static get PlentyPotterySherd(){return a.ItemTypes.get("minecraft:plenty_pottery_sherd")}static get Podzol(){return a.ItemTypes.get("minecraft:podzol")}static get PointedDripstone(){return a.ItemTypes.get("minecraft:pointed_dripstone")}static get PoisonousPotato(){return a.ItemTypes.get("minecraft:poisonous_potato")}static get PolarBearSpawnEgg(){return a.ItemTypes.get("minecraft:polar_bear_spawn_egg")}static get PolishedAndesiteStairs(){return a.ItemTypes.get("minecraft:polished_andesite_stairs")}static get PolishedBasalt(){return a.ItemTypes.get("minecraft:polished_basalt")}static get PolishedBlackstone(){return a.ItemTypes.get("minecraft:polished_blackstone")}static get PolishedBlackstoneBrickSlab(){return a.ItemTypes.get("minecraft:polished_blackstone_brick_slab")}static get PolishedBlackstoneBrickStairs(){return a.ItemTypes.get("minecraft:polished_blackstone_brick_stairs")}static get PolishedBlackstoneBrickWall(){return a.ItemTypes.get("minecraft:polished_blackstone_brick_wall")}static get PolishedBlackstoneBricks(){return a.ItemTypes.get("minecraft:polished_blackstone_bricks")}static get PolishedBlackstoneButton(){return a.ItemTypes.get("minecraft:polished_blackstone_button")}static get PolishedBlackstonePressurePlate(){return a.ItemTypes.get("minecraft:polished_blackstone_pressure_plate")}static get PolishedBlackstoneSlab(){return a.ItemTypes.get("minecraft:polished_blackstone_slab")}static get PolishedBlackstoneStairs(){return a.ItemTypes.get("minecraft:polished_blackstone_stairs")}static get PolishedBlackstoneWall(){return a.ItemTypes.get("minecraft:polished_blackstone_wall")}static get PolishedDeepslate(){return a.ItemTypes.get("minecraft:polished_deepslate")}static get PolishedDeepslateSlab(){return a.ItemTypes.get("minecraft:polished_deepslate_slab")}static get PolishedDeepslateStairs(){return a.ItemTypes.get("minecraft:polished_deepslate_stairs")}static get PolishedDeepslateWall(){return a.ItemTypes.get("minecraft:polished_deepslate_wall")}static get PolishedDioriteStairs(){return a.ItemTypes.get("minecraft:polished_diorite_stairs")}static get PolishedGraniteStairs(){return a.ItemTypes.get("minecraft:polished_granite_stairs")}static get PoppedChorusFruit(){return a.ItemTypes.get("minecraft:popped_chorus_fruit")}static get Porkchop(){return a.ItemTypes.get("minecraft:porkchop")}static get Potato(){return a.ItemTypes.get("minecraft:potato")}static get Potion(){return a.ItemTypes.get("minecraft:potion")}static get PowderSnowBucket(){return a.ItemTypes.get("minecraft:powder_snow_bucket")}static get Prismarine(){return a.ItemTypes.get("minecraft:prismarine")}static get PrismarineBricksStairs(){return a.ItemTypes.get("minecraft:prismarine_bricks_stairs")}static get PrismarineCrystals(){return a.ItemTypes.get("minecraft:prismarine_crystals")}static get PrismarineShard(){return a.ItemTypes.get("minecraft:prismarine_shard")}static get PrismarineStairs(){return a.ItemTypes.get("minecraft:prismarine_stairs")}static get PrizePotterySherd(){return a.ItemTypes.get("minecraft:prize_pottery_sherd")}static get Pufferfish(){return a.ItemTypes.get("minecraft:pufferfish")}static get PufferfishBucket(){return a.ItemTypes.get("minecraft:pufferfish_bucket")}static get PufferfishSpawnEgg(){return a.ItemTypes.get("minecraft:pufferfish_spawn_egg")}static get Pumpkin(){return a.ItemTypes.get("minecraft:pumpkin")}static get PumpkinPie(){return a.ItemTypes.get("minecraft:pumpkin_pie")}static get PumpkinSeeds(){return a.ItemTypes.get("minecraft:pumpkin_seeds")}static get PurpleCandle(){return a.ItemTypes.get("minecraft:purple_candle")}static get PurpleCarpet(){return a.ItemTypes.get("minecraft:purple_carpet")}static get PurpleConcrete(){return a.ItemTypes.get("minecraft:purple_concrete")}static get PurpleConcretePowder(){return a.ItemTypes.get("minecraft:purple_concrete_powder")}static get PurpleDye(){return a.ItemTypes.get("minecraft:purple_dye")}static get PurpleGlazedTerracotta(){return a.ItemTypes.get("minecraft:purple_glazed_terracotta")}static get PurpleShulkerBox(){return a.ItemTypes.get("minecraft:purple_shulker_box")}static get PurpleStainedGlass(){return a.ItemTypes.get("minecraft:purple_stained_glass")}static get PurpleStainedGlassPane(){return a.ItemTypes.get("minecraft:purple_stained_glass_pane")}static get PurpleTerracotta(){return a.ItemTypes.get("minecraft:purple_terracotta")}static get PurpleWool(){return a.ItemTypes.get("minecraft:purple_wool")}static get PurpurBlock(){return a.ItemTypes.get("minecraft:purpur_block")}static get PurpurStairs(){return a.ItemTypes.get("minecraft:purpur_stairs")}static get Quartz(){return a.ItemTypes.get("minecraft:quartz")}static get QuartzBlock(){return a.ItemTypes.get("minecraft:quartz_block")}static get QuartzBricks(){return a.ItemTypes.get("minecraft:quartz_bricks")}static get QuartzOre(){return a.ItemTypes.get("minecraft:quartz_ore")}static get QuartzStairs(){return a.ItemTypes.get("minecraft:quartz_stairs")}static get Rabbit(){return a.ItemTypes.get("minecraft:rabbit")}static get RabbitFoot(){return a.ItemTypes.get("minecraft:rabbit_foot")}static get RabbitHide(){return a.ItemTypes.get("minecraft:rabbit_hide")}static get RabbitSpawnEgg(){return a.ItemTypes.get("minecraft:rabbit_spawn_egg")}static get RabbitStew(){return a.ItemTypes.get("minecraft:rabbit_stew")}static get Rail(){return a.ItemTypes.get("minecraft:rail")}static get RaiserArmorTrimSmithingTemplate(){return a.ItemTypes.get("minecraft:raiser_armor_trim_smithing_template")}static get RavagerSpawnEgg(){return a.ItemTypes.get("minecraft:ravager_spawn_egg")}static get RawCopper(){return a.ItemTypes.get("minecraft:raw_copper")}static get RawCopperBlock(){return a.ItemTypes.get("minecraft:raw_copper_block")}static get RawGold(){return a.ItemTypes.get("minecraft:raw_gold")}static get RawGoldBlock(){return a.ItemTypes.get("minecraft:raw_gold_block")}static get RawIron(){return a.ItemTypes.get("minecraft:raw_iron")}static get RawIronBlock(){return a.ItemTypes.get("minecraft:raw_iron_block")}static get RecoveryCompass(){return a.ItemTypes.get("minecraft:recovery_compass")}static get RedCandle(){return a.ItemTypes.get("minecraft:red_candle")}static get RedCarpet(){return a.ItemTypes.get("minecraft:red_carpet")}static get RedConcrete(){return a.ItemTypes.get("minecraft:red_concrete")}static get RedConcretePowder(){return a.ItemTypes.get("minecraft:red_concrete_powder")}static get RedDye(){return a.ItemTypes.get("minecraft:red_dye")}static get RedFlower(){return a.ItemTypes.get("minecraft:red_flower")}static get RedGlazedTerracotta(){return a.ItemTypes.get("minecraft:red_glazed_terracotta")}static get RedMushroom(){return a.ItemTypes.get("minecraft:red_mushroom")}static get RedMushroomBlock(){return a.ItemTypes.get("minecraft:red_mushroom_block")}static get RedNetherBrick(){return a.ItemTypes.get("minecraft:red_nether_brick")}static get RedNetherBrickStairs(){return a.ItemTypes.get("minecraft:red_nether_brick_stairs")}static get RedSandstone(){return a.ItemTypes.get("minecraft:red_sandstone")}static get RedSandstoneStairs(){return a.ItemTypes.get("minecraft:red_sandstone_stairs")}static get RedShulkerBox(){return a.ItemTypes.get("minecraft:red_shulker_box")}static get RedStainedGlass(){return a.ItemTypes.get("minecraft:red_stained_glass")}static get RedStainedGlassPane(){return a.ItemTypes.get("minecraft:red_stained_glass_pane")}static get RedTerracotta(){return a.ItemTypes.get("minecraft:red_terracotta")}static get RedWool(){return a.ItemTypes.get("minecraft:red_wool")}static get Redstone(){return a.ItemTypes.get("minecraft:redstone")}static get RedstoneBlock(){return a.ItemTypes.get("minecraft:redstone_block")}static get RedstoneLamp(){return a.ItemTypes.get("minecraft:redstone_lamp")}static get RedstoneOre(){return a.ItemTypes.get("minecraft:redstone_ore")}static get RedstoneTorch(){return a.ItemTypes.get("minecraft:redstone_torch")}static get ReinforcedDeepslate(){return a.ItemTypes.get("minecraft:reinforced_deepslate")}static get Repeater(){return a.ItemTypes.get("minecraft:repeater")}static get RepeatingCommandBlock(){return a.ItemTypes.get("minecraft:repeating_command_block")}static get RespawnAnchor(){return a.ItemTypes.get("minecraft:respawn_anchor")}static get RibArmorTrimSmithingTemplate(){return a.ItemTypes.get("minecraft:rib_armor_trim_smithing_template")}static get RottenFlesh(){return a.ItemTypes.get("minecraft:rotten_flesh")}static get Saddle(){return a.ItemTypes.get("minecraft:saddle")}static get Salmon(){return a.ItemTypes.get("minecraft:salmon")}static get SalmonBucket(){return a.ItemTypes.get("minecraft:salmon_bucket")}static get SalmonSpawnEgg(){return a.ItemTypes.get("minecraft:salmon_spawn_egg")}static get Sand(){return a.ItemTypes.get("minecraft:sand")}static get Sandstone(){return a.ItemTypes.get("minecraft:sandstone")}static get SandstoneStairs(){return a.ItemTypes.get("minecraft:sandstone_stairs")}static get Sapling(){return a.ItemTypes.get("minecraft:sapling")}static get Scaffolding(){return a.ItemTypes.get("minecraft:scaffolding")}static get Sculk(){return a.ItemTypes.get("minecraft:sculk")}static get SculkCatalyst(){return a.ItemTypes.get("minecraft:sculk_catalyst")}static get SculkSensor(){return a.ItemTypes.get("minecraft:sculk_sensor")}static get SculkShrieker(){return a.ItemTypes.get("minecraft:sculk_shrieker")}static get SculkVein(){return a.ItemTypes.get("minecraft:sculk_vein")}static get Scute(){return a.ItemTypes.get("minecraft:scute")}static get SeaLantern(){return a.ItemTypes.get("minecraft:sea_lantern")}static get SeaPickle(){return a.ItemTypes.get("minecraft:sea_pickle")}static get Seagrass(){return a.ItemTypes.get("minecraft:seagrass")}static get SentryArmorTrimSmithingTemplate(){return a.ItemTypes.get("minecraft:sentry_armor_trim_smithing_template")}static get ShaperArmorTrimSmithingTemplate(){return a.ItemTypes.get("minecraft:shaper_armor_trim_smithing_template")}static get SheafPotterySherd(){return a.ItemTypes.get("minecraft:sheaf_pottery_sherd")}static get Shears(){return a.ItemTypes.get("minecraft:shears")}static get SheepSpawnEgg(){return a.ItemTypes.get("minecraft:sheep_spawn_egg")}static get ShelterPotterySherd(){return a.ItemTypes.get("minecraft:shelter_pottery_sherd")}static get Shield(){return a.ItemTypes.get("minecraft:shield")}static get Shroomlight(){return a.ItemTypes.get("minecraft:shroomlight")}static get ShulkerBox(){return a.ItemTypes.get("minecraft:shulker_box")}static get ShulkerShell(){return a.ItemTypes.get("minecraft:shulker_shell")}static get ShulkerSpawnEgg(){return a.ItemTypes.get("minecraft:shulker_spawn_egg")}static get SilenceArmorTrimSmithingTemplate(){return a.ItemTypes.get("minecraft:silence_armor_trim_smithing_template")}static get SilverGlazedTerracotta(){return a.ItemTypes.get("minecraft:silver_glazed_terracotta")}static get SilverfishSpawnEgg(){return a.ItemTypes.get("minecraft:silverfish_spawn_egg")}static get SkeletonHorseSpawnEgg(){return a.ItemTypes.get("minecraft:skeleton_horse_spawn_egg")}static get SkeletonSpawnEgg(){return a.ItemTypes.get("minecraft:skeleton_spawn_egg")}static get Skull(){return a.ItemTypes.get("minecraft:skull")}static get SkullBannerPattern(){return a.ItemTypes.get("minecraft:skull_banner_pattern")}static get SkullPotterySherd(){return a.ItemTypes.get("minecraft:skull_pottery_sherd")}static get Slime(){return a.ItemTypes.get("minecraft:slime")}static get SlimeBall(){return a.ItemTypes.get("minecraft:slime_ball")}static get SlimeSpawnEgg(){return a.ItemTypes.get("minecraft:slime_spawn_egg")}static get SmallAmethystBud(){return a.ItemTypes.get("minecraft:small_amethyst_bud")}static get SmallDripleafBlock(){return a.ItemTypes.get("minecraft:small_dripleaf_block")}static get SmithingTable(){return a.ItemTypes.get("minecraft:smithing_table")}static get Smoker(){return a.ItemTypes.get("minecraft:smoker")}static get SmoothBasalt(){return a.ItemTypes.get("minecraft:smooth_basalt")}static get SmoothQuartzStairs(){return a.ItemTypes.get("minecraft:smooth_quartz_stairs")}static get SmoothRedSandstoneStairs(){return a.ItemTypes.get("minecraft:smooth_red_sandstone_stairs")}static get SmoothSandstoneStairs(){return a.ItemTypes.get("minecraft:smooth_sandstone_stairs")}static get SmoothStone(){return a.ItemTypes.get("minecraft:smooth_stone")}static get SnifferEgg(){return a.ItemTypes.get("minecraft:sniffer_egg")}static get SnifferSpawnEgg(){return a.ItemTypes.get("minecraft:sniffer_spawn_egg")}static get SnortPotterySherd(){return a.ItemTypes.get("minecraft:snort_pottery_sherd")}static get SnoutArmorTrimSmithingTemplate(){return a.ItemTypes.get("minecraft:snout_armor_trim_smithing_template")}static get Snow(){return a.ItemTypes.get("minecraft:snow")}static get SnowGolemSpawnEgg(){return a.ItemTypes.get("minecraft:snow_golem_spawn_egg")}static get SnowLayer(){return a.ItemTypes.get("minecraft:snow_layer")}static get Snowball(){return a.ItemTypes.get("minecraft:snowball")}static get SoulCampfire(){return a.ItemTypes.get("minecraft:soul_campfire")}static get SoulLantern(){return a.ItemTypes.get("minecraft:soul_lantern")}static get SoulSand(){return a.ItemTypes.get("minecraft:soul_sand")}static get SoulSoil(){return a.ItemTypes.get("minecraft:soul_soil")}static get SoulTorch(){return a.ItemTypes.get("minecraft:soul_torch")}static get SpawnEgg(){return a.ItemTypes.get("minecraft:spawn_egg")}static get SpiderEye(){return a.ItemTypes.get("minecraft:spider_eye")}static get SpiderSpawnEgg(){return a.ItemTypes.get("minecraft:spider_spawn_egg")}static get SpireArmorTrimSmithingTemplate(){return a.ItemTypes.get("minecraft:spire_armor_trim_smithing_template")}static get SplashPotion(){return a.ItemTypes.get("minecraft:splash_potion")}static get Sponge(){return a.ItemTypes.get("minecraft:sponge")}static get SporeBlossom(){return a.ItemTypes.get("minecraft:spore_blossom")}static get SpruceBoat(){return a.ItemTypes.get("minecraft:spruce_boat")}static get SpruceButton(){return a.ItemTypes.get("minecraft:spruce_button")}static get SpruceChestBoat(){return a.ItemTypes.get("minecraft:spruce_chest_boat")}static get SpruceDoor(){return a.ItemTypes.get("minecraft:spruce_door")}static get SpruceFence(){return a.ItemTypes.get("minecraft:spruce_fence")}static get SpruceFenceGate(){return a.ItemTypes.get("minecraft:spruce_fence_gate")}static get SpruceHangingSign(){return a.ItemTypes.get("minecraft:spruce_hanging_sign")}static get SpruceLog(){return a.ItemTypes.get("minecraft:spruce_log")}static get SprucePressurePlate(){return a.ItemTypes.get("minecraft:spruce_pressure_plate")}static get SpruceSign(){return a.ItemTypes.get("minecraft:spruce_sign")}static get SpruceStairs(){return a.ItemTypes.get("minecraft:spruce_stairs")}static get SpruceTrapdoor(){return a.ItemTypes.get("minecraft:spruce_trapdoor")}static get Spyglass(){return a.ItemTypes.get("minecraft:spyglass")}static get SquidSpawnEgg(){return a.ItemTypes.get("minecraft:squid_spawn_egg")}static get StainedGlass(){return a.ItemTypes.get("minecraft:stained_glass")}static get StainedGlassPane(){return a.ItemTypes.get("minecraft:stained_glass_pane")}static get StainedHardenedClay(){return a.ItemTypes.get("minecraft:stained_hardened_clay")}static get Stick(){return a.ItemTypes.get("minecraft:stick")}static get StickyPiston(){return a.ItemTypes.get("minecraft:sticky_piston")}static get Stone(){return a.ItemTypes.get("minecraft:stone")}static get StoneAxe(){return a.ItemTypes.get("minecraft:stone_axe")}static get StoneBlockSlab(){return a.ItemTypes.get("minecraft:stone_block_slab")}static get StoneBlockSlab2(){return a.ItemTypes.get("minecraft:stone_block_slab2")}static get StoneBlockSlab3(){return a.ItemTypes.get("minecraft:stone_block_slab3")}static get StoneBlockSlab4(){return a.ItemTypes.get("minecraft:stone_block_slab4")}static get StoneBrickStairs(){return a.ItemTypes.get("minecraft:stone_brick_stairs")}static get StoneButton(){return a.ItemTypes.get("minecraft:stone_button")}static get StoneHoe(){return a.ItemTypes.get("minecraft:stone_hoe")}static get StonePickaxe(){return a.ItemTypes.get("minecraft:stone_pickaxe")}static get StonePressurePlate(){return a.ItemTypes.get("minecraft:stone_pressure_plate")}static get StoneShovel(){return a.ItemTypes.get("minecraft:stone_shovel")}static get StoneStairs(){return a.ItemTypes.get("minecraft:stone_stairs")}static get StoneSword(){return a.ItemTypes.get("minecraft:stone_sword")}static get Stonebrick(){return a.ItemTypes.get("minecraft:stonebrick")}static get StonecutterBlock(){return a.ItemTypes.get("minecraft:stonecutter_block")}static get StraySpawnEgg(){return a.ItemTypes.get("minecraft:stray_spawn_egg")}static get StriderSpawnEgg(){return a.ItemTypes.get("minecraft:strider_spawn_egg")}static get String(){return a.ItemTypes.get("minecraft:string")}static get StrippedAcaciaLog(){return a.ItemTypes.get("minecraft:stripped_acacia_log")}static get StrippedBambooBlock(){return a.ItemTypes.get("minecraft:stripped_bamboo_block")}static get StrippedBirchLog(){return a.ItemTypes.get("minecraft:stripped_birch_log")}static get StrippedCherryLog(){return a.ItemTypes.get("minecraft:stripped_cherry_log")}static get StrippedCherryWood(){return a.ItemTypes.get("minecraft:stripped_cherry_wood")}static get StrippedCrimsonHyphae(){return a.ItemTypes.get("minecraft:stripped_crimson_hyphae")}static get StrippedCrimsonStem(){return a.ItemTypes.get("minecraft:stripped_crimson_stem")}static get StrippedDarkOakLog(){return a.ItemTypes.get("minecraft:stripped_dark_oak_log")}static get StrippedJungleLog(){return a.ItemTypes.get("minecraft:stripped_jungle_log")}static get StrippedMangroveLog(){return a.ItemTypes.get("minecraft:stripped_mangrove_log")}static get StrippedMangroveWood(){return a.ItemTypes.get("minecraft:stripped_mangrove_wood")}static get StrippedOakLog(){return a.ItemTypes.get("minecraft:stripped_oak_log")}static get StrippedSpruceLog(){return a.ItemTypes.get("minecraft:stripped_spruce_log")}static get StrippedWarpedHyphae(){return a.ItemTypes.get("minecraft:stripped_warped_hyphae")}static get StrippedWarpedStem(){return a.ItemTypes.get("minecraft:stripped_warped_stem")}static get StructureBlock(){return a.ItemTypes.get("minecraft:structure_block")}static get StructureVoid(){return a.ItemTypes.get("minecraft:structure_void")}static get Sugar(){return a.ItemTypes.get("minecraft:sugar")}static get SugarCane(){return a.ItemTypes.get("minecraft:sugar_cane")}static get SuspiciousGravel(){return a.ItemTypes.get("minecraft:suspicious_gravel")}static get SuspiciousSand(){return a.ItemTypes.get("minecraft:suspicious_sand")}static get SuspiciousStew(){return a.ItemTypes.get("minecraft:suspicious_stew")}static get SweetBerries(){return a.ItemTypes.get("minecraft:sweet_berries")}static get TadpoleBucket(){return a.ItemTypes.get("minecraft:tadpole_bucket")}static get TadpoleSpawnEgg(){return a.ItemTypes.get("minecraft:tadpole_spawn_egg")}static get Tallgrass(){return a.ItemTypes.get("minecraft:tallgrass")}static get Target(){return a.ItemTypes.get("minecraft:target")}static get TideArmorTrimSmithingTemplate(){return a.ItemTypes.get("minecraft:tide_armor_trim_smithing_template")}static get TintedGlass(){return a.ItemTypes.get("minecraft:tinted_glass")}static get Tnt(){return a.ItemTypes.get("minecraft:tnt")}static get TntMinecart(){return a.ItemTypes.get("minecraft:tnt_minecart")}static get Torch(){return a.ItemTypes.get("minecraft:torch")}static get Torchflower(){return a.ItemTypes.get("minecraft:torchflower")}static get TorchflowerSeeds(){return a.ItemTypes.get("minecraft:torchflower_seeds")}static get TotemOfUndying(){return a.ItemTypes.get("minecraft:totem_of_undying")}static get TraderLlamaSpawnEgg(){return a.ItemTypes.get("minecraft:trader_llama_spawn_egg")}static get Trapdoor(){return a.ItemTypes.get("minecraft:trapdoor")}static get TrappedChest(){return a.ItemTypes.get("minecraft:trapped_chest")}static get Trident(){return a.ItemTypes.get("minecraft:trident")}static get TripwireHook(){return a.ItemTypes.get("minecraft:tripwire_hook")}static get TropicalFish(){return a.ItemTypes.get("minecraft:tropical_fish")}static get TropicalFishBucket(){return a.ItemTypes.get("minecraft:tropical_fish_bucket")}static get TropicalFishSpawnEgg(){return a.ItemTypes.get("minecraft:tropical_fish_spawn_egg")}static get TubeCoral(){return a.ItemTypes.get("minecraft:tube_coral")}static get Tuff(){return a.ItemTypes.get("minecraft:tuff")}static get TurtleEgg(){return a.ItemTypes.get("minecraft:turtle_egg")}static get TurtleHelmet(){return a.ItemTypes.get("minecraft:turtle_helmet")}static get TurtleSpawnEgg(){return a.ItemTypes.get("minecraft:turtle_spawn_egg")}static get TwistingVines(){return a.ItemTypes.get("minecraft:twisting_vines")}static get UndyedShulkerBox(){return a.ItemTypes.get("minecraft:undyed_shulker_box")}static get VerdantFroglight(){return a.ItemTypes.get("minecraft:verdant_froglight")}static get VexArmorTrimSmithingTemplate(){return a.ItemTypes.get("minecraft:vex_armor_trim_smithing_template")}static get VexSpawnEgg(){return a.ItemTypes.get("minecraft:vex_spawn_egg")}static get VillagerSpawnEgg(){return a.ItemTypes.get("minecraft:villager_spawn_egg")}static get VindicatorSpawnEgg(){return a.ItemTypes.get("minecraft:vindicator_spawn_egg")}static get Vine(){return a.ItemTypes.get("minecraft:vine")}static get WanderingTraderSpawnEgg(){return a.ItemTypes.get("minecraft:wandering_trader_spawn_egg")}static get WardArmorTrimSmithingTemplate(){return a.ItemTypes.get("minecraft:ward_armor_trim_smithing_template")}static get WardenSpawnEgg(){return a.ItemTypes.get("minecraft:warden_spawn_egg")}static get WarpedButton(){return a.ItemTypes.get("minecraft:warped_button")}static get WarpedDoor(){return a.ItemTypes.get("minecraft:warped_door")}static get WarpedFence(){return a.ItemTypes.get("minecraft:warped_fence")}static get WarpedFenceGate(){return a.ItemTypes.get("minecraft:warped_fence_gate")}static get WarpedFungus(){return a.ItemTypes.get("minecraft:warped_fungus")}static get WarpedFungusOnAStick(){return a.ItemTypes.get("minecraft:warped_fungus_on_a_stick")}static get WarpedHangingSign(){return a.ItemTypes.get("minecraft:warped_hanging_sign")}static get WarpedHyphae(){return a.ItemTypes.get("minecraft:warped_hyphae")}static get WarpedNylium(){return a.ItemTypes.get("minecraft:warped_nylium")}static get WarpedPlanks(){return a.ItemTypes.get("minecraft:warped_planks")}static get WarpedPressurePlate(){return a.ItemTypes.get("minecraft:warped_pressure_plate")}static get WarpedRoots(){return a.ItemTypes.get("minecraft:warped_roots")}static get WarpedSign(){return a.ItemTypes.get("minecraft:warped_sign")}static get WarpedSlab(){return a.ItemTypes.get("minecraft:warped_slab")}static get WarpedStairs(){return a.ItemTypes.get("minecraft:warped_stairs")}static get WarpedStem(){return a.ItemTypes.get("minecraft:warped_stem")}static get WarpedTrapdoor(){return a.ItemTypes.get("minecraft:warped_trapdoor")}static get WarpedWartBlock(){return a.ItemTypes.get("minecraft:warped_wart_block")}static get WaterBucket(){return a.ItemTypes.get("minecraft:water_bucket")}static get Waterlily(){return a.ItemTypes.get("minecraft:waterlily")}static get WaxedCopper(){return a.ItemTypes.get("minecraft:waxed_copper")}static get WaxedCutCopper(){return a.ItemTypes.get("minecraft:waxed_cut_copper")}static get WaxedCutCopperSlab(){return a.ItemTypes.get("minecraft:waxed_cut_copper_slab")}static get WaxedCutCopperStairs(){return a.ItemTypes.get("minecraft:waxed_cut_copper_stairs")}static get WaxedExposedCopper(){return a.ItemTypes.get("minecraft:waxed_exposed_copper")}static get WaxedExposedCutCopper(){return a.ItemTypes.get("minecraft:waxed_exposed_cut_copper")}static get WaxedExposedCutCopperSlab(){return a.ItemTypes.get("minecraft:waxed_exposed_cut_copper_slab")}static get WaxedExposedCutCopperStairs(){return a.ItemTypes.get("minecraft:waxed_exposed_cut_copper_stairs")}static get WaxedOxidizedCopper(){return a.ItemTypes.get("minecraft:waxed_oxidized_copper")}static get WaxedOxidizedCutCopper(){return a.ItemTypes.get("minecraft:waxed_oxidized_cut_copper")}static get WaxedOxidizedCutCopperSlab(){return a.ItemTypes.get("minecraft:waxed_oxidized_cut_copper_slab")}static get WaxedOxidizedCutCopperStairs(){return a.ItemTypes.get("minecraft:waxed_oxidized_cut_copper_stairs")}static get WaxedWeatheredCopper(){return a.ItemTypes.get("minecraft:waxed_weathered_copper")}static get WaxedWeatheredCutCopper(){return a.ItemTypes.get("minecraft:waxed_weathered_cut_copper")}static get WaxedWeatheredCutCopperSlab(){return a.ItemTypes.get("minecraft:waxed_weathered_cut_copper_slab")}static get WaxedWeatheredCutCopperStairs(){return a.ItemTypes.get("minecraft:waxed_weathered_cut_copper_stairs")}static get WayfinderArmorTrimSmithingTemplate(){return a.ItemTypes.get("minecraft:wayfinder_armor_trim_smithing_template")}static get WeatheredCopper(){return a.ItemTypes.get("minecraft:weathered_copper")}static get WeatheredCutCopper(){return a.ItemTypes.get("minecraft:weathered_cut_copper")}static get WeatheredCutCopperSlab(){return a.ItemTypes.get("minecraft:weathered_cut_copper_slab")}static get WeatheredCutCopperStairs(){return a.ItemTypes.get("minecraft:weathered_cut_copper_stairs")}static get Web(){return a.ItemTypes.get("minecraft:web")}static get WeepingVines(){return a.ItemTypes.get("minecraft:weeping_vines")}static get Wheat(){return a.ItemTypes.get("minecraft:wheat")}static get WheatSeeds(){return a.ItemTypes.get("minecraft:wheat_seeds")}static get WhiteCandle(){return a.ItemTypes.get("minecraft:white_candle")}static get WhiteCarpet(){return a.ItemTypes.get("minecraft:white_carpet")}static get WhiteConcrete(){return a.ItemTypes.get("minecraft:white_concrete")}static get WhiteConcretePowder(){return a.ItemTypes.get("minecraft:white_concrete_powder")}static get WhiteDye(){return a.ItemTypes.get("minecraft:white_dye")}static get WhiteGlazedTerracotta(){return a.ItemTypes.get("minecraft:white_glazed_terracotta")}static get WhiteShulkerBox(){return a.ItemTypes.get("minecraft:white_shulker_box")}static get WhiteStainedGlass(){return a.ItemTypes.get("minecraft:white_stained_glass")}static get WhiteStainedGlassPane(){return a.ItemTypes.get("minecraft:white_stained_glass_pane")}static get WhiteTerracotta(){return a.ItemTypes.get("minecraft:white_terracotta")}static get WhiteWool(){return a.ItemTypes.get("minecraft:white_wool")}static get WildArmorTrimSmithingTemplate(){return a.ItemTypes.get("minecraft:wild_armor_trim_smithing_template")}static get WitchSpawnEgg(){return a.ItemTypes.get("minecraft:witch_spawn_egg")}static get WitherRose(){return a.ItemTypes.get("minecraft:wither_rose")}static get WitherSkeletonSpawnEgg(){return a.ItemTypes.get("minecraft:wither_skeleton_spawn_egg")}static get WitherSpawnEgg(){return a.ItemTypes.get("minecraft:wither_spawn_egg")}static get WolfSpawnEgg(){return a.ItemTypes.get("minecraft:wolf_spawn_egg")}static get Wood(){return a.ItemTypes.get("minecraft:wood")}static get WoodenAxe(){return a.ItemTypes.get("minecraft:wooden_axe")}static get WoodenButton(){return a.ItemTypes.get("minecraft:wooden_button")}static get WoodenDoor(){return a.ItemTypes.get("minecraft:wooden_door")}static get WoodenHoe(){return a.ItemTypes.get("minecraft:wooden_hoe")}static get WoodenPickaxe(){return a.ItemTypes.get("minecraft:wooden_pickaxe")}static get WoodenPressurePlate(){return a.ItemTypes.get("minecraft:wooden_pressure_plate")}static get WoodenShovel(){return a.ItemTypes.get("minecraft:wooden_shovel")}static get WoodenSlab(){return a.ItemTypes.get("minecraft:wooden_slab")}static get WoodenSword(){return a.ItemTypes.get("minecraft:wooden_sword")}static get Wool(){return a.ItemTypes.get("minecraft:wool")}static get WritableBook(){return a.ItemTypes.get("minecraft:writable_book")}static get YellowCandle(){return a.ItemTypes.get("minecraft:yellow_candle")}static get YellowCarpet(){return a.ItemTypes.get("minecraft:yellow_carpet")}static get YellowConcrete(){return a.ItemTypes.get("minecraft:yellow_concrete")}static get YellowConcretePowder(){return a.ItemTypes.get("minecraft:yellow_concrete_powder")}static get YellowDye(){return a.ItemTypes.get("minecraft:yellow_dye")}static get YellowFlower(){return a.ItemTypes.get("minecraft:yellow_flower")}static get YellowGlazedTerracotta(){return a.ItemTypes.get("minecraft:yellow_glazed_terracotta")}static get YellowShulkerBox(){return a.ItemTypes.get("minecraft:yellow_shulker_box")}static get YellowStainedGlass(){return a.ItemTypes.get("minecraft:yellow_stained_glass")}static get YellowStainedGlassPane(){return a.ItemTypes.get("minecraft:yellow_stained_glass_pane")}static get YellowTerracotta(){return a.ItemTypes.get("minecraft:yellow_terracotta")}static get YellowWool(){return a.ItemTypes.get("minecraft:yellow_wool")}static get ZoglinSpawnEgg(){return a.ItemTypes.get("minecraft:zoglin_spawn_egg")}static get ZombieHorseSpawnEgg(){return a.ItemTypes.get("minecraft:zombie_horse_spawn_egg")}static get ZombiePigmanSpawnEgg(){return a.ItemTypes.get("minecraft:zombie_pigman_spawn_egg")}static get ZombieSpawnEgg(){return a.ItemTypes.get("minecraft:zombie_spawn_egg")}static get ZombieVillagerSpawnEgg(){return a.ItemTypes.get("minecraft:zombie_villager_spawn_egg")}}var u=r.pB,y=r.nW,_=r.g$,T=r.Th,f=r.xL,d=r.PO,k=r.c;export{u as MinecraftBlockTypes,y as MinecraftCameraPresetsTypes,_ as MinecraftDimensionTypes,T as MinecraftEffectTypes,f as MinecraftEnchantmentTypes,d as MinecraftEntityTypes,k as MinecraftItemTypes}; \ No newline at end of file diff --git a/scripts/vanilla-types/index.ts b/scripts/vanilla-types/index.ts deleted file mode 100644 index 9c2de4d2..00000000 --- a/scripts/vanilla-types/index.ts +++ /dev/null @@ -1,10 +0,0 @@ -// Script example for ScriptAPI -// Author: Jayly -// Project: https://github.com/JaylyDev/ScriptAPI -export * from './mojang-block'; -export * from './mojang-cameraPresets'; -export * from './mojang-dimension'; -export * from './mojang-effect'; -export * from './mojang-enchantment'; -export * from './mojang-entity'; -export * from './mojang-item'; diff --git a/scripts/vanilla-types/mojang-block.js b/scripts/vanilla-types/mojang-block.js deleted file mode 100644 index fc8074f3..00000000 --- a/scripts/vanilla-types/mojang-block.js +++ /dev/null @@ -1,1876 +0,0 @@ -import { BlockTypes } from "@minecraft/server"; -/** - * All possible MinecraftBlockTypes - */ -export class MinecraftBlockTypes { - constructor() { - throw new TypeError("Illegal constructor"); - } - ; - static get(typeName) { - return BlockTypes.get(typeName); - } - ; - static getAll() { - return BlockTypes.getAll(); - } - ; - static get AcaciaButton() { return BlockTypes.get("minecraft:acacia_button"); } - ; - static get AcaciaDoor() { return BlockTypes.get("minecraft:acacia_door"); } - ; - static get AcaciaFence() { return BlockTypes.get("minecraft:acacia_fence"); } - ; - static get AcaciaFenceGate() { return BlockTypes.get("minecraft:acacia_fence_gate"); } - ; - static get AcaciaHangingSign() { return BlockTypes.get("minecraft:acacia_hanging_sign"); } - ; - static get AcaciaLog() { return BlockTypes.get("minecraft:acacia_log"); } - ; - static get AcaciaPressurePlate() { return BlockTypes.get("minecraft:acacia_pressure_plate"); } - ; - static get AcaciaStairs() { return BlockTypes.get("minecraft:acacia_stairs"); } - ; - static get AcaciaStandingSign() { return BlockTypes.get("minecraft:acacia_standing_sign"); } - ; - static get AcaciaTrapdoor() { return BlockTypes.get("minecraft:acacia_trapdoor"); } - ; - static get AcaciaWallSign() { return BlockTypes.get("minecraft:acacia_wall_sign"); } - ; - static get ActivatorRail() { return BlockTypes.get("minecraft:activator_rail"); } - ; - static get Air() { return BlockTypes.get("minecraft:air"); } - ; - static get Allow() { return BlockTypes.get("minecraft:allow"); } - ; - static get AmethystBlock() { return BlockTypes.get("minecraft:amethyst_block"); } - ; - static get AmethystCluster() { return BlockTypes.get("minecraft:amethyst_cluster"); } - ; - static get AncientDebris() { return BlockTypes.get("minecraft:ancient_debris"); } - ; - static get AndesiteStairs() { return BlockTypes.get("minecraft:andesite_stairs"); } - ; - static get Anvil() { return BlockTypes.get("minecraft:anvil"); } - ; - static get Azalea() { return BlockTypes.get("minecraft:azalea"); } - ; - static get AzaleaLeaves() { return BlockTypes.get("minecraft:azalea_leaves"); } - ; - static get AzaleaLeavesFlowered() { return BlockTypes.get("minecraft:azalea_leaves_flowered"); } - ; - static get Bamboo() { return BlockTypes.get("minecraft:bamboo"); } - ; - static get BambooBlock() { return BlockTypes.get("minecraft:bamboo_block"); } - ; - static get BambooButton() { return BlockTypes.get("minecraft:bamboo_button"); } - ; - static get BambooDoor() { return BlockTypes.get("minecraft:bamboo_door"); } - ; - static get BambooDoubleSlab() { return BlockTypes.get("minecraft:bamboo_double_slab"); } - ; - static get BambooFence() { return BlockTypes.get("minecraft:bamboo_fence"); } - ; - static get BambooFenceGate() { return BlockTypes.get("minecraft:bamboo_fence_gate"); } - ; - static get BambooHangingSign() { return BlockTypes.get("minecraft:bamboo_hanging_sign"); } - ; - static get BambooMosaic() { return BlockTypes.get("minecraft:bamboo_mosaic"); } - ; - static get BambooMosaicDoubleSlab() { return BlockTypes.get("minecraft:bamboo_mosaic_double_slab"); } - ; - static get BambooMosaicSlab() { return BlockTypes.get("minecraft:bamboo_mosaic_slab"); } - ; - static get BambooMosaicStairs() { return BlockTypes.get("minecraft:bamboo_mosaic_stairs"); } - ; - static get BambooPlanks() { return BlockTypes.get("minecraft:bamboo_planks"); } - ; - static get BambooPressurePlate() { return BlockTypes.get("minecraft:bamboo_pressure_plate"); } - ; - static get BambooSapling() { return BlockTypes.get("minecraft:bamboo_sapling"); } - ; - static get BambooSlab() { return BlockTypes.get("minecraft:bamboo_slab"); } - ; - static get BambooStairs() { return BlockTypes.get("minecraft:bamboo_stairs"); } - ; - static get BambooStandingSign() { return BlockTypes.get("minecraft:bamboo_standing_sign"); } - ; - static get BambooTrapdoor() { return BlockTypes.get("minecraft:bamboo_trapdoor"); } - ; - static get BambooWallSign() { return BlockTypes.get("minecraft:bamboo_wall_sign"); } - ; - static get Barrel() { return BlockTypes.get("minecraft:barrel"); } - ; - static get Barrier() { return BlockTypes.get("minecraft:barrier"); } - ; - static get Basalt() { return BlockTypes.get("minecraft:basalt"); } - ; - static get Beacon() { return BlockTypes.get("minecraft:beacon"); } - ; - static get Bed() { return BlockTypes.get("minecraft:bed"); } - ; - static get Bedrock() { return BlockTypes.get("minecraft:bedrock"); } - ; - static get BeeNest() { return BlockTypes.get("minecraft:bee_nest"); } - ; - static get Beehive() { return BlockTypes.get("minecraft:beehive"); } - ; - static get Beetroot() { return BlockTypes.get("minecraft:beetroot"); } - ; - static get Bell() { return BlockTypes.get("minecraft:bell"); } - ; - static get BigDripleaf() { return BlockTypes.get("minecraft:big_dripleaf"); } - ; - static get BirchButton() { return BlockTypes.get("minecraft:birch_button"); } - ; - static get BirchDoor() { return BlockTypes.get("minecraft:birch_door"); } - ; - static get BirchFence() { return BlockTypes.get("minecraft:birch_fence"); } - ; - static get BirchFenceGate() { return BlockTypes.get("minecraft:birch_fence_gate"); } - ; - static get BirchHangingSign() { return BlockTypes.get("minecraft:birch_hanging_sign"); } - ; - static get BirchLog() { return BlockTypes.get("minecraft:birch_log"); } - ; - static get BirchPressurePlate() { return BlockTypes.get("minecraft:birch_pressure_plate"); } - ; - static get BirchStairs() { return BlockTypes.get("minecraft:birch_stairs"); } - ; - static get BirchStandingSign() { return BlockTypes.get("minecraft:birch_standing_sign"); } - ; - static get BirchTrapdoor() { return BlockTypes.get("minecraft:birch_trapdoor"); } - ; - static get BirchWallSign() { return BlockTypes.get("minecraft:birch_wall_sign"); } - ; - static get BlackCandle() { return BlockTypes.get("minecraft:black_candle"); } - ; - static get BlackCandleCake() { return BlockTypes.get("minecraft:black_candle_cake"); } - ; - static get BlackCarpet() { return BlockTypes.get("minecraft:black_carpet"); } - ; - static get BlackConcrete() { return BlockTypes.get("minecraft:black_concrete"); } - ; - static get BlackConcretePowder() { return BlockTypes.get("minecraft:black_concrete_powder"); } - ; - static get BlackGlazedTerracotta() { return BlockTypes.get("minecraft:black_glazed_terracotta"); } - ; - static get BlackShulkerBox() { return BlockTypes.get("minecraft:black_shulker_box"); } - ; - static get BlackStainedGlass() { return BlockTypes.get("minecraft:black_stained_glass"); } - ; - static get BlackStainedGlassPane() { return BlockTypes.get("minecraft:black_stained_glass_pane"); } - ; - static get BlackTerracotta() { return BlockTypes.get("minecraft:black_terracotta"); } - ; - static get BlackWool() { return BlockTypes.get("minecraft:black_wool"); } - ; - static get Blackstone() { return BlockTypes.get("minecraft:blackstone"); } - ; - static get BlackstoneDoubleSlab() { return BlockTypes.get("minecraft:blackstone_double_slab"); } - ; - static get BlackstoneSlab() { return BlockTypes.get("minecraft:blackstone_slab"); } - ; - static get BlackstoneStairs() { return BlockTypes.get("minecraft:blackstone_stairs"); } - ; - static get BlackstoneWall() { return BlockTypes.get("minecraft:blackstone_wall"); } - ; - static get BlastFurnace() { return BlockTypes.get("minecraft:blast_furnace"); } - ; - static get BlueCandle() { return BlockTypes.get("minecraft:blue_candle"); } - ; - static get BlueCandleCake() { return BlockTypes.get("minecraft:blue_candle_cake"); } - ; - static get BlueCarpet() { return BlockTypes.get("minecraft:blue_carpet"); } - ; - static get BlueConcrete() { return BlockTypes.get("minecraft:blue_concrete"); } - ; - static get BlueConcretePowder() { return BlockTypes.get("minecraft:blue_concrete_powder"); } - ; - static get BlueGlazedTerracotta() { return BlockTypes.get("minecraft:blue_glazed_terracotta"); } - ; - static get BlueIce() { return BlockTypes.get("minecraft:blue_ice"); } - ; - static get BlueShulkerBox() { return BlockTypes.get("minecraft:blue_shulker_box"); } - ; - static get BlueStainedGlass() { return BlockTypes.get("minecraft:blue_stained_glass"); } - ; - static get BlueStainedGlassPane() { return BlockTypes.get("minecraft:blue_stained_glass_pane"); } - ; - static get BlueTerracotta() { return BlockTypes.get("minecraft:blue_terracotta"); } - ; - static get BlueWool() { return BlockTypes.get("minecraft:blue_wool"); } - ; - static get BoneBlock() { return BlockTypes.get("minecraft:bone_block"); } - ; - static get Bookshelf() { return BlockTypes.get("minecraft:bookshelf"); } - ; - static get BorderBlock() { return BlockTypes.get("minecraft:border_block"); } - ; - static get BrainCoral() { return BlockTypes.get("minecraft:brain_coral"); } - ; - static get BrewingStand() { return BlockTypes.get("minecraft:brewing_stand"); } - ; - static get BrickBlock() { return BlockTypes.get("minecraft:brick_block"); } - ; - static get BrickStairs() { return BlockTypes.get("minecraft:brick_stairs"); } - ; - static get BrownCandle() { return BlockTypes.get("minecraft:brown_candle"); } - ; - static get BrownCandleCake() { return BlockTypes.get("minecraft:brown_candle_cake"); } - ; - static get BrownCarpet() { return BlockTypes.get("minecraft:brown_carpet"); } - ; - static get BrownConcrete() { return BlockTypes.get("minecraft:brown_concrete"); } - ; - static get BrownConcretePowder() { return BlockTypes.get("minecraft:brown_concrete_powder"); } - ; - static get BrownGlazedTerracotta() { return BlockTypes.get("minecraft:brown_glazed_terracotta"); } - ; - static get BrownMushroom() { return BlockTypes.get("minecraft:brown_mushroom"); } - ; - static get BrownMushroomBlock() { return BlockTypes.get("minecraft:brown_mushroom_block"); } - ; - static get BrownShulkerBox() { return BlockTypes.get("minecraft:brown_shulker_box"); } - ; - static get BrownStainedGlass() { return BlockTypes.get("minecraft:brown_stained_glass"); } - ; - static get BrownStainedGlassPane() { return BlockTypes.get("minecraft:brown_stained_glass_pane"); } - ; - static get BrownTerracotta() { return BlockTypes.get("minecraft:brown_terracotta"); } - ; - static get BrownWool() { return BlockTypes.get("minecraft:brown_wool"); } - ; - static get BubbleColumn() { return BlockTypes.get("minecraft:bubble_column"); } - ; - static get BubbleCoral() { return BlockTypes.get("minecraft:bubble_coral"); } - ; - static get BuddingAmethyst() { return BlockTypes.get("minecraft:budding_amethyst"); } - ; - static get Cactus() { return BlockTypes.get("minecraft:cactus"); } - ; - static get Cake() { return BlockTypes.get("minecraft:cake"); } - ; - static get Calcite() { return BlockTypes.get("minecraft:calcite"); } - ; - static get CalibratedSculkSensor() { return BlockTypes.get("minecraft:calibrated_sculk_sensor"); } - ; - static get Camera() { return BlockTypes.get("minecraft:camera"); } - ; - static get Campfire() { return BlockTypes.get("minecraft:campfire"); } - ; - static get Candle() { return BlockTypes.get("minecraft:candle"); } - ; - static get CandleCake() { return BlockTypes.get("minecraft:candle_cake"); } - ; - static get Carrots() { return BlockTypes.get("minecraft:carrots"); } - ; - static get CartographyTable() { return BlockTypes.get("minecraft:cartography_table"); } - ; - static get CarvedPumpkin() { return BlockTypes.get("minecraft:carved_pumpkin"); } - ; - static get Cauldron() { return BlockTypes.get("minecraft:cauldron"); } - ; - static get CaveVines() { return BlockTypes.get("minecraft:cave_vines"); } - ; - static get CaveVinesBodyWithBerries() { return BlockTypes.get("minecraft:cave_vines_body_with_berries"); } - ; - static get CaveVinesHeadWithBerries() { return BlockTypes.get("minecraft:cave_vines_head_with_berries"); } - ; - static get Chain() { return BlockTypes.get("minecraft:chain"); } - ; - static get ChainCommandBlock() { return BlockTypes.get("minecraft:chain_command_block"); } - ; - static get ChemicalHeat() { return BlockTypes.get("minecraft:chemical_heat"); } - ; - static get ChemistryTable() { return BlockTypes.get("minecraft:chemistry_table"); } - ; - static get CherryButton() { return BlockTypes.get("minecraft:cherry_button"); } - ; - static get CherryDoor() { return BlockTypes.get("minecraft:cherry_door"); } - ; - static get CherryDoubleSlab() { return BlockTypes.get("minecraft:cherry_double_slab"); } - ; - static get CherryFence() { return BlockTypes.get("minecraft:cherry_fence"); } - ; - static get CherryFenceGate() { return BlockTypes.get("minecraft:cherry_fence_gate"); } - ; - static get CherryHangingSign() { return BlockTypes.get("minecraft:cherry_hanging_sign"); } - ; - static get CherryLeaves() { return BlockTypes.get("minecraft:cherry_leaves"); } - ; - static get CherryLog() { return BlockTypes.get("minecraft:cherry_log"); } - ; - static get CherryPlanks() { return BlockTypes.get("minecraft:cherry_planks"); } - ; - static get CherryPressurePlate() { return BlockTypes.get("minecraft:cherry_pressure_plate"); } - ; - static get CherrySapling() { return BlockTypes.get("minecraft:cherry_sapling"); } - ; - static get CherrySlab() { return BlockTypes.get("minecraft:cherry_slab"); } - ; - static get CherryStairs() { return BlockTypes.get("minecraft:cherry_stairs"); } - ; - static get CherryStandingSign() { return BlockTypes.get("minecraft:cherry_standing_sign"); } - ; - static get CherryTrapdoor() { return BlockTypes.get("minecraft:cherry_trapdoor"); } - ; - static get CherryWallSign() { return BlockTypes.get("minecraft:cherry_wall_sign"); } - ; - static get CherryWood() { return BlockTypes.get("minecraft:cherry_wood"); } - ; - static get Chest() { return BlockTypes.get("minecraft:chest"); } - ; - static get ChiseledBookshelf() { return BlockTypes.get("minecraft:chiseled_bookshelf"); } - ; - static get ChiseledDeepslate() { return BlockTypes.get("minecraft:chiseled_deepslate"); } - ; - static get ChiseledNetherBricks() { return BlockTypes.get("minecraft:chiseled_nether_bricks"); } - ; - static get ChiseledPolishedBlackstone() { return BlockTypes.get("minecraft:chiseled_polished_blackstone"); } - ; - static get ChorusFlower() { return BlockTypes.get("minecraft:chorus_flower"); } - ; - static get ChorusPlant() { return BlockTypes.get("minecraft:chorus_plant"); } - ; - static get Clay() { return BlockTypes.get("minecraft:clay"); } - ; - static get ClientRequestPlaceholderBlock() { return BlockTypes.get("minecraft:client_request_placeholder_block"); } - ; - static get CoalBlock() { return BlockTypes.get("minecraft:coal_block"); } - ; - static get CoalOre() { return BlockTypes.get("minecraft:coal_ore"); } - ; - static get CobbledDeepslate() { return BlockTypes.get("minecraft:cobbled_deepslate"); } - ; - static get CobbledDeepslateDoubleSlab() { return BlockTypes.get("minecraft:cobbled_deepslate_double_slab"); } - ; - static get CobbledDeepslateSlab() { return BlockTypes.get("minecraft:cobbled_deepslate_slab"); } - ; - static get CobbledDeepslateStairs() { return BlockTypes.get("minecraft:cobbled_deepslate_stairs"); } - ; - static get CobbledDeepslateWall() { return BlockTypes.get("minecraft:cobbled_deepslate_wall"); } - ; - static get Cobblestone() { return BlockTypes.get("minecraft:cobblestone"); } - ; - static get CobblestoneWall() { return BlockTypes.get("minecraft:cobblestone_wall"); } - ; - static get Cocoa() { return BlockTypes.get("minecraft:cocoa"); } - ; - static get ColoredTorchBp() { return BlockTypes.get("minecraft:colored_torch_bp"); } - ; - static get ColoredTorchRg() { return BlockTypes.get("minecraft:colored_torch_rg"); } - ; - static get CommandBlock() { return BlockTypes.get("minecraft:command_block"); } - ; - static get Composter() { return BlockTypes.get("minecraft:composter"); } - ; - static get Conduit() { return BlockTypes.get("minecraft:conduit"); } - ; - static get CopperBlock() { return BlockTypes.get("minecraft:copper_block"); } - ; - static get CopperOre() { return BlockTypes.get("minecraft:copper_ore"); } - ; - static get CoralBlock() { return BlockTypes.get("minecraft:coral_block"); } - ; - static get CoralFan() { return BlockTypes.get("minecraft:coral_fan"); } - ; - static get CoralFanDead() { return BlockTypes.get("minecraft:coral_fan_dead"); } - ; - static get CoralFanHang() { return BlockTypes.get("minecraft:coral_fan_hang"); } - ; - static get CoralFanHang2() { return BlockTypes.get("minecraft:coral_fan_hang2"); } - ; - static get CoralFanHang3() { return BlockTypes.get("minecraft:coral_fan_hang3"); } - ; - static get CrackedDeepslateBricks() { return BlockTypes.get("minecraft:cracked_deepslate_bricks"); } - ; - static get CrackedDeepslateTiles() { return BlockTypes.get("minecraft:cracked_deepslate_tiles"); } - ; - static get CrackedNetherBricks() { return BlockTypes.get("minecraft:cracked_nether_bricks"); } - ; - static get CrackedPolishedBlackstoneBricks() { return BlockTypes.get("minecraft:cracked_polished_blackstone_bricks"); } - ; - static get CraftingTable() { return BlockTypes.get("minecraft:crafting_table"); } - ; - static get CrimsonButton() { return BlockTypes.get("minecraft:crimson_button"); } - ; - static get CrimsonDoor() { return BlockTypes.get("minecraft:crimson_door"); } - ; - static get CrimsonDoubleSlab() { return BlockTypes.get("minecraft:crimson_double_slab"); } - ; - static get CrimsonFence() { return BlockTypes.get("minecraft:crimson_fence"); } - ; - static get CrimsonFenceGate() { return BlockTypes.get("minecraft:crimson_fence_gate"); } - ; - static get CrimsonFungus() { return BlockTypes.get("minecraft:crimson_fungus"); } - ; - static get CrimsonHangingSign() { return BlockTypes.get("minecraft:crimson_hanging_sign"); } - ; - static get CrimsonHyphae() { return BlockTypes.get("minecraft:crimson_hyphae"); } - ; - static get CrimsonNylium() { return BlockTypes.get("minecraft:crimson_nylium"); } - ; - static get CrimsonPlanks() { return BlockTypes.get("minecraft:crimson_planks"); } - ; - static get CrimsonPressurePlate() { return BlockTypes.get("minecraft:crimson_pressure_plate"); } - ; - static get CrimsonRoots() { return BlockTypes.get("minecraft:crimson_roots"); } - ; - static get CrimsonSlab() { return BlockTypes.get("minecraft:crimson_slab"); } - ; - static get CrimsonStairs() { return BlockTypes.get("minecraft:crimson_stairs"); } - ; - static get CrimsonStandingSign() { return BlockTypes.get("minecraft:crimson_standing_sign"); } - ; - static get CrimsonStem() { return BlockTypes.get("minecraft:crimson_stem"); } - ; - static get CrimsonTrapdoor() { return BlockTypes.get("minecraft:crimson_trapdoor"); } - ; - static get CrimsonWallSign() { return BlockTypes.get("minecraft:crimson_wall_sign"); } - ; - static get CryingObsidian() { return BlockTypes.get("minecraft:crying_obsidian"); } - ; - static get CutCopper() { return BlockTypes.get("minecraft:cut_copper"); } - ; - static get CutCopperSlab() { return BlockTypes.get("minecraft:cut_copper_slab"); } - ; - static get CutCopperStairs() { return BlockTypes.get("minecraft:cut_copper_stairs"); } - ; - static get CyanCandle() { return BlockTypes.get("minecraft:cyan_candle"); } - ; - static get CyanCandleCake() { return BlockTypes.get("minecraft:cyan_candle_cake"); } - ; - static get CyanCarpet() { return BlockTypes.get("minecraft:cyan_carpet"); } - ; - static get CyanConcrete() { return BlockTypes.get("minecraft:cyan_concrete"); } - ; - static get CyanConcretePowder() { return BlockTypes.get("minecraft:cyan_concrete_powder"); } - ; - static get CyanGlazedTerracotta() { return BlockTypes.get("minecraft:cyan_glazed_terracotta"); } - ; - static get CyanShulkerBox() { return BlockTypes.get("minecraft:cyan_shulker_box"); } - ; - static get CyanStainedGlass() { return BlockTypes.get("minecraft:cyan_stained_glass"); } - ; - static get CyanStainedGlassPane() { return BlockTypes.get("minecraft:cyan_stained_glass_pane"); } - ; - static get CyanTerracotta() { return BlockTypes.get("minecraft:cyan_terracotta"); } - ; - static get CyanWool() { return BlockTypes.get("minecraft:cyan_wool"); } - ; - static get DarkOakButton() { return BlockTypes.get("minecraft:dark_oak_button"); } - ; - static get DarkOakDoor() { return BlockTypes.get("minecraft:dark_oak_door"); } - ; - static get DarkOakFence() { return BlockTypes.get("minecraft:dark_oak_fence"); } - ; - static get DarkOakFenceGate() { return BlockTypes.get("minecraft:dark_oak_fence_gate"); } - ; - static get DarkOakHangingSign() { return BlockTypes.get("minecraft:dark_oak_hanging_sign"); } - ; - static get DarkOakLog() { return BlockTypes.get("minecraft:dark_oak_log"); } - ; - static get DarkOakPressurePlate() { return BlockTypes.get("minecraft:dark_oak_pressure_plate"); } - ; - static get DarkOakStairs() { return BlockTypes.get("minecraft:dark_oak_stairs"); } - ; - static get DarkOakTrapdoor() { return BlockTypes.get("minecraft:dark_oak_trapdoor"); } - ; - static get DarkPrismarineStairs() { return BlockTypes.get("minecraft:dark_prismarine_stairs"); } - ; - static get DarkoakStandingSign() { return BlockTypes.get("minecraft:darkoak_standing_sign"); } - ; - static get DarkoakWallSign() { return BlockTypes.get("minecraft:darkoak_wall_sign"); } - ; - static get DaylightDetector() { return BlockTypes.get("minecraft:daylight_detector"); } - ; - static get DaylightDetectorInverted() { return BlockTypes.get("minecraft:daylight_detector_inverted"); } - ; - static get DeadBrainCoral() { return BlockTypes.get("minecraft:dead_brain_coral"); } - ; - static get DeadBubbleCoral() { return BlockTypes.get("minecraft:dead_bubble_coral"); } - ; - static get DeadFireCoral() { return BlockTypes.get("minecraft:dead_fire_coral"); } - ; - static get DeadHornCoral() { return BlockTypes.get("minecraft:dead_horn_coral"); } - ; - static get DeadTubeCoral() { return BlockTypes.get("minecraft:dead_tube_coral"); } - ; - static get Deadbush() { return BlockTypes.get("minecraft:deadbush"); } - ; - static get DecoratedPot() { return BlockTypes.get("minecraft:decorated_pot"); } - ; - static get Deepslate() { return BlockTypes.get("minecraft:deepslate"); } - ; - static get DeepslateBrickDoubleSlab() { return BlockTypes.get("minecraft:deepslate_brick_double_slab"); } - ; - static get DeepslateBrickSlab() { return BlockTypes.get("minecraft:deepslate_brick_slab"); } - ; - static get DeepslateBrickStairs() { return BlockTypes.get("minecraft:deepslate_brick_stairs"); } - ; - static get DeepslateBrickWall() { return BlockTypes.get("minecraft:deepslate_brick_wall"); } - ; - static get DeepslateBricks() { return BlockTypes.get("minecraft:deepslate_bricks"); } - ; - static get DeepslateCoalOre() { return BlockTypes.get("minecraft:deepslate_coal_ore"); } - ; - static get DeepslateCopperOre() { return BlockTypes.get("minecraft:deepslate_copper_ore"); } - ; - static get DeepslateDiamondOre() { return BlockTypes.get("minecraft:deepslate_diamond_ore"); } - ; - static get DeepslateEmeraldOre() { return BlockTypes.get("minecraft:deepslate_emerald_ore"); } - ; - static get DeepslateGoldOre() { return BlockTypes.get("minecraft:deepslate_gold_ore"); } - ; - static get DeepslateIronOre() { return BlockTypes.get("minecraft:deepslate_iron_ore"); } - ; - static get DeepslateLapisOre() { return BlockTypes.get("minecraft:deepslate_lapis_ore"); } - ; - static get DeepslateRedstoneOre() { return BlockTypes.get("minecraft:deepslate_redstone_ore"); } - ; - static get DeepslateTileDoubleSlab() { return BlockTypes.get("minecraft:deepslate_tile_double_slab"); } - ; - static get DeepslateTileSlab() { return BlockTypes.get("minecraft:deepslate_tile_slab"); } - ; - static get DeepslateTileStairs() { return BlockTypes.get("minecraft:deepslate_tile_stairs"); } - ; - static get DeepslateTileWall() { return BlockTypes.get("minecraft:deepslate_tile_wall"); } - ; - static get DeepslateTiles() { return BlockTypes.get("minecraft:deepslate_tiles"); } - ; - static get Deny() { return BlockTypes.get("minecraft:deny"); } - ; - static get DetectorRail() { return BlockTypes.get("minecraft:detector_rail"); } - ; - static get DiamondBlock() { return BlockTypes.get("minecraft:diamond_block"); } - ; - static get DiamondOre() { return BlockTypes.get("minecraft:diamond_ore"); } - ; - static get DioriteStairs() { return BlockTypes.get("minecraft:diorite_stairs"); } - ; - static get Dirt() { return BlockTypes.get("minecraft:dirt"); } - ; - static get DirtWithRoots() { return BlockTypes.get("minecraft:dirt_with_roots"); } - ; - static get Dispenser() { return BlockTypes.get("minecraft:dispenser"); } - ; - static get DoubleCutCopperSlab() { return BlockTypes.get("minecraft:double_cut_copper_slab"); } - ; - static get DoublePlant() { return BlockTypes.get("minecraft:double_plant"); } - ; - static get DoubleStoneBlockSlab() { return BlockTypes.get("minecraft:double_stone_block_slab"); } - ; - static get DoubleStoneBlockSlab2() { return BlockTypes.get("minecraft:double_stone_block_slab2"); } - ; - static get DoubleStoneBlockSlab3() { return BlockTypes.get("minecraft:double_stone_block_slab3"); } - ; - static get DoubleStoneBlockSlab4() { return BlockTypes.get("minecraft:double_stone_block_slab4"); } - ; - static get DoubleWoodenSlab() { return BlockTypes.get("minecraft:double_wooden_slab"); } - ; - static get DragonEgg() { return BlockTypes.get("minecraft:dragon_egg"); } - ; - static get DriedKelpBlock() { return BlockTypes.get("minecraft:dried_kelp_block"); } - ; - static get DripstoneBlock() { return BlockTypes.get("minecraft:dripstone_block"); } - ; - static get Dropper() { return BlockTypes.get("minecraft:dropper"); } - ; - static get Element0() { return BlockTypes.get("minecraft:element_0"); } - ; - static get Element1() { return BlockTypes.get("minecraft:element_1"); } - ; - static get Element10() { return BlockTypes.get("minecraft:element_10"); } - ; - static get Element100() { return BlockTypes.get("minecraft:element_100"); } - ; - static get Element101() { return BlockTypes.get("minecraft:element_101"); } - ; - static get Element102() { return BlockTypes.get("minecraft:element_102"); } - ; - static get Element103() { return BlockTypes.get("minecraft:element_103"); } - ; - static get Element104() { return BlockTypes.get("minecraft:element_104"); } - ; - static get Element105() { return BlockTypes.get("minecraft:element_105"); } - ; - static get Element106() { return BlockTypes.get("minecraft:element_106"); } - ; - static get Element107() { return BlockTypes.get("minecraft:element_107"); } - ; - static get Element108() { return BlockTypes.get("minecraft:element_108"); } - ; - static get Element109() { return BlockTypes.get("minecraft:element_109"); } - ; - static get Element11() { return BlockTypes.get("minecraft:element_11"); } - ; - static get Element110() { return BlockTypes.get("minecraft:element_110"); } - ; - static get Element111() { return BlockTypes.get("minecraft:element_111"); } - ; - static get Element112() { return BlockTypes.get("minecraft:element_112"); } - ; - static get Element113() { return BlockTypes.get("minecraft:element_113"); } - ; - static get Element114() { return BlockTypes.get("minecraft:element_114"); } - ; - static get Element115() { return BlockTypes.get("minecraft:element_115"); } - ; - static get Element116() { return BlockTypes.get("minecraft:element_116"); } - ; - static get Element117() { return BlockTypes.get("minecraft:element_117"); } - ; - static get Element118() { return BlockTypes.get("minecraft:element_118"); } - ; - static get Element12() { return BlockTypes.get("minecraft:element_12"); } - ; - static get Element13() { return BlockTypes.get("minecraft:element_13"); } - ; - static get Element14() { return BlockTypes.get("minecraft:element_14"); } - ; - static get Element15() { return BlockTypes.get("minecraft:element_15"); } - ; - static get Element16() { return BlockTypes.get("minecraft:element_16"); } - ; - static get Element17() { return BlockTypes.get("minecraft:element_17"); } - ; - static get Element18() { return BlockTypes.get("minecraft:element_18"); } - ; - static get Element19() { return BlockTypes.get("minecraft:element_19"); } - ; - static get Element2() { return BlockTypes.get("minecraft:element_2"); } - ; - static get Element20() { return BlockTypes.get("minecraft:element_20"); } - ; - static get Element21() { return BlockTypes.get("minecraft:element_21"); } - ; - static get Element22() { return BlockTypes.get("minecraft:element_22"); } - ; - static get Element23() { return BlockTypes.get("minecraft:element_23"); } - ; - static get Element24() { return BlockTypes.get("minecraft:element_24"); } - ; - static get Element25() { return BlockTypes.get("minecraft:element_25"); } - ; - static get Element26() { return BlockTypes.get("minecraft:element_26"); } - ; - static get Element27() { return BlockTypes.get("minecraft:element_27"); } - ; - static get Element28() { return BlockTypes.get("minecraft:element_28"); } - ; - static get Element29() { return BlockTypes.get("minecraft:element_29"); } - ; - static get Element3() { return BlockTypes.get("minecraft:element_3"); } - ; - static get Element30() { return BlockTypes.get("minecraft:element_30"); } - ; - static get Element31() { return BlockTypes.get("minecraft:element_31"); } - ; - static get Element32() { return BlockTypes.get("minecraft:element_32"); } - ; - static get Element33() { return BlockTypes.get("minecraft:element_33"); } - ; - static get Element34() { return BlockTypes.get("minecraft:element_34"); } - ; - static get Element35() { return BlockTypes.get("minecraft:element_35"); } - ; - static get Element36() { return BlockTypes.get("minecraft:element_36"); } - ; - static get Element37() { return BlockTypes.get("minecraft:element_37"); } - ; - static get Element38() { return BlockTypes.get("minecraft:element_38"); } - ; - static get Element39() { return BlockTypes.get("minecraft:element_39"); } - ; - static get Element4() { return BlockTypes.get("minecraft:element_4"); } - ; - static get Element40() { return BlockTypes.get("minecraft:element_40"); } - ; - static get Element41() { return BlockTypes.get("minecraft:element_41"); } - ; - static get Element42() { return BlockTypes.get("minecraft:element_42"); } - ; - static get Element43() { return BlockTypes.get("minecraft:element_43"); } - ; - static get Element44() { return BlockTypes.get("minecraft:element_44"); } - ; - static get Element45() { return BlockTypes.get("minecraft:element_45"); } - ; - static get Element46() { return BlockTypes.get("minecraft:element_46"); } - ; - static get Element47() { return BlockTypes.get("minecraft:element_47"); } - ; - static get Element48() { return BlockTypes.get("minecraft:element_48"); } - ; - static get Element49() { return BlockTypes.get("minecraft:element_49"); } - ; - static get Element5() { return BlockTypes.get("minecraft:element_5"); } - ; - static get Element50() { return BlockTypes.get("minecraft:element_50"); } - ; - static get Element51() { return BlockTypes.get("minecraft:element_51"); } - ; - static get Element52() { return BlockTypes.get("minecraft:element_52"); } - ; - static get Element53() { return BlockTypes.get("minecraft:element_53"); } - ; - static get Element54() { return BlockTypes.get("minecraft:element_54"); } - ; - static get Element55() { return BlockTypes.get("minecraft:element_55"); } - ; - static get Element56() { return BlockTypes.get("minecraft:element_56"); } - ; - static get Element57() { return BlockTypes.get("minecraft:element_57"); } - ; - static get Element58() { return BlockTypes.get("minecraft:element_58"); } - ; - static get Element59() { return BlockTypes.get("minecraft:element_59"); } - ; - static get Element6() { return BlockTypes.get("minecraft:element_6"); } - ; - static get Element60() { return BlockTypes.get("minecraft:element_60"); } - ; - static get Element61() { return BlockTypes.get("minecraft:element_61"); } - ; - static get Element62() { return BlockTypes.get("minecraft:element_62"); } - ; - static get Element63() { return BlockTypes.get("minecraft:element_63"); } - ; - static get Element64() { return BlockTypes.get("minecraft:element_64"); } - ; - static get Element65() { return BlockTypes.get("minecraft:element_65"); } - ; - static get Element66() { return BlockTypes.get("minecraft:element_66"); } - ; - static get Element67() { return BlockTypes.get("minecraft:element_67"); } - ; - static get Element68() { return BlockTypes.get("minecraft:element_68"); } - ; - static get Element69() { return BlockTypes.get("minecraft:element_69"); } - ; - static get Element7() { return BlockTypes.get("minecraft:element_7"); } - ; - static get Element70() { return BlockTypes.get("minecraft:element_70"); } - ; - static get Element71() { return BlockTypes.get("minecraft:element_71"); } - ; - static get Element72() { return BlockTypes.get("minecraft:element_72"); } - ; - static get Element73() { return BlockTypes.get("minecraft:element_73"); } - ; - static get Element74() { return BlockTypes.get("minecraft:element_74"); } - ; - static get Element75() { return BlockTypes.get("minecraft:element_75"); } - ; - static get Element76() { return BlockTypes.get("minecraft:element_76"); } - ; - static get Element77() { return BlockTypes.get("minecraft:element_77"); } - ; - static get Element78() { return BlockTypes.get("minecraft:element_78"); } - ; - static get Element79() { return BlockTypes.get("minecraft:element_79"); } - ; - static get Element8() { return BlockTypes.get("minecraft:element_8"); } - ; - static get Element80() { return BlockTypes.get("minecraft:element_80"); } - ; - static get Element81() { return BlockTypes.get("minecraft:element_81"); } - ; - static get Element82() { return BlockTypes.get("minecraft:element_82"); } - ; - static get Element83() { return BlockTypes.get("minecraft:element_83"); } - ; - static get Element84() { return BlockTypes.get("minecraft:element_84"); } - ; - static get Element85() { return BlockTypes.get("minecraft:element_85"); } - ; - static get Element86() { return BlockTypes.get("minecraft:element_86"); } - ; - static get Element87() { return BlockTypes.get("minecraft:element_87"); } - ; - static get Element88() { return BlockTypes.get("minecraft:element_88"); } - ; - static get Element89() { return BlockTypes.get("minecraft:element_89"); } - ; - static get Element9() { return BlockTypes.get("minecraft:element_9"); } - ; - static get Element90() { return BlockTypes.get("minecraft:element_90"); } - ; - static get Element91() { return BlockTypes.get("minecraft:element_91"); } - ; - static get Element92() { return BlockTypes.get("minecraft:element_92"); } - ; - static get Element93() { return BlockTypes.get("minecraft:element_93"); } - ; - static get Element94() { return BlockTypes.get("minecraft:element_94"); } - ; - static get Element95() { return BlockTypes.get("minecraft:element_95"); } - ; - static get Element96() { return BlockTypes.get("minecraft:element_96"); } - ; - static get Element97() { return BlockTypes.get("minecraft:element_97"); } - ; - static get Element98() { return BlockTypes.get("minecraft:element_98"); } - ; - static get Element99() { return BlockTypes.get("minecraft:element_99"); } - ; - static get EmeraldBlock() { return BlockTypes.get("minecraft:emerald_block"); } - ; - static get EmeraldOre() { return BlockTypes.get("minecraft:emerald_ore"); } - ; - static get EnchantingTable() { return BlockTypes.get("minecraft:enchanting_table"); } - ; - static get EndBrickStairs() { return BlockTypes.get("minecraft:end_brick_stairs"); } - ; - static get EndBricks() { return BlockTypes.get("minecraft:end_bricks"); } - ; - static get EndGateway() { return BlockTypes.get("minecraft:end_gateway"); } - ; - static get EndPortal() { return BlockTypes.get("minecraft:end_portal"); } - ; - static get EndPortalFrame() { return BlockTypes.get("minecraft:end_portal_frame"); } - ; - static get EndRod() { return BlockTypes.get("minecraft:end_rod"); } - ; - static get EndStone() { return BlockTypes.get("minecraft:end_stone"); } - ; - static get EnderChest() { return BlockTypes.get("minecraft:ender_chest"); } - ; - static get ExposedCopper() { return BlockTypes.get("minecraft:exposed_copper"); } - ; - static get ExposedCutCopper() { return BlockTypes.get("minecraft:exposed_cut_copper"); } - ; - static get ExposedCutCopperSlab() { return BlockTypes.get("minecraft:exposed_cut_copper_slab"); } - ; - static get ExposedCutCopperStairs() { return BlockTypes.get("minecraft:exposed_cut_copper_stairs"); } - ; - static get ExposedDoubleCutCopperSlab() { return BlockTypes.get("minecraft:exposed_double_cut_copper_slab"); } - ; - static get Farmland() { return BlockTypes.get("minecraft:farmland"); } - ; - static get FenceGate() { return BlockTypes.get("minecraft:fence_gate"); } - ; - static get Fire() { return BlockTypes.get("minecraft:fire"); } - ; - static get FireCoral() { return BlockTypes.get("minecraft:fire_coral"); } - ; - static get FletchingTable() { return BlockTypes.get("minecraft:fletching_table"); } - ; - static get FlowerPot() { return BlockTypes.get("minecraft:flower_pot"); } - ; - static get FloweringAzalea() { return BlockTypes.get("minecraft:flowering_azalea"); } - ; - static get FlowingLava() { return BlockTypes.get("minecraft:flowing_lava"); } - ; - static get FlowingWater() { return BlockTypes.get("minecraft:flowing_water"); } - ; - static get Frame() { return BlockTypes.get("minecraft:frame"); } - ; - static get FrogSpawn() { return BlockTypes.get("minecraft:frog_spawn"); } - ; - static get FrostedIce() { return BlockTypes.get("minecraft:frosted_ice"); } - ; - static get Furnace() { return BlockTypes.get("minecraft:furnace"); } - ; - static get GildedBlackstone() { return BlockTypes.get("minecraft:gilded_blackstone"); } - ; - static get Glass() { return BlockTypes.get("minecraft:glass"); } - ; - static get GlassPane() { return BlockTypes.get("minecraft:glass_pane"); } - ; - static get GlowFrame() { return BlockTypes.get("minecraft:glow_frame"); } - ; - static get GlowLichen() { return BlockTypes.get("minecraft:glow_lichen"); } - ; - static get Glowingobsidian() { return BlockTypes.get("minecraft:glowingobsidian"); } - ; - static get Glowstone() { return BlockTypes.get("minecraft:glowstone"); } - ; - static get GoldBlock() { return BlockTypes.get("minecraft:gold_block"); } - ; - static get GoldOre() { return BlockTypes.get("minecraft:gold_ore"); } - ; - static get GoldenRail() { return BlockTypes.get("minecraft:golden_rail"); } - ; - static get GraniteStairs() { return BlockTypes.get("minecraft:granite_stairs"); } - ; - static get Grass() { return BlockTypes.get("minecraft:grass"); } - ; - static get GrassPath() { return BlockTypes.get("minecraft:grass_path"); } - ; - static get Gravel() { return BlockTypes.get("minecraft:gravel"); } - ; - static get GrayCandle() { return BlockTypes.get("minecraft:gray_candle"); } - ; - static get GrayCandleCake() { return BlockTypes.get("minecraft:gray_candle_cake"); } - ; - static get GrayCarpet() { return BlockTypes.get("minecraft:gray_carpet"); } - ; - static get GrayConcrete() { return BlockTypes.get("minecraft:gray_concrete"); } - ; - static get GrayConcretePowder() { return BlockTypes.get("minecraft:gray_concrete_powder"); } - ; - static get GrayGlazedTerracotta() { return BlockTypes.get("minecraft:gray_glazed_terracotta"); } - ; - static get GrayShulkerBox() { return BlockTypes.get("minecraft:gray_shulker_box"); } - ; - static get GrayStainedGlass() { return BlockTypes.get("minecraft:gray_stained_glass"); } - ; - static get GrayStainedGlassPane() { return BlockTypes.get("minecraft:gray_stained_glass_pane"); } - ; - static get GrayTerracotta() { return BlockTypes.get("minecraft:gray_terracotta"); } - ; - static get GrayWool() { return BlockTypes.get("minecraft:gray_wool"); } - ; - static get GreenCandle() { return BlockTypes.get("minecraft:green_candle"); } - ; - static get GreenCandleCake() { return BlockTypes.get("minecraft:green_candle_cake"); } - ; - static get GreenCarpet() { return BlockTypes.get("minecraft:green_carpet"); } - ; - static get GreenConcrete() { return BlockTypes.get("minecraft:green_concrete"); } - ; - static get GreenConcretePowder() { return BlockTypes.get("minecraft:green_concrete_powder"); } - ; - static get GreenGlazedTerracotta() { return BlockTypes.get("minecraft:green_glazed_terracotta"); } - ; - static get GreenShulkerBox() { return BlockTypes.get("minecraft:green_shulker_box"); } - ; - static get GreenStainedGlass() { return BlockTypes.get("minecraft:green_stained_glass"); } - ; - static get GreenStainedGlassPane() { return BlockTypes.get("minecraft:green_stained_glass_pane"); } - ; - static get GreenTerracotta() { return BlockTypes.get("minecraft:green_terracotta"); } - ; - static get GreenWool() { return BlockTypes.get("minecraft:green_wool"); } - ; - static get Grindstone() { return BlockTypes.get("minecraft:grindstone"); } - ; - static get HangingRoots() { return BlockTypes.get("minecraft:hanging_roots"); } - ; - static get HardGlass() { return BlockTypes.get("minecraft:hard_glass"); } - ; - static get HardGlassPane() { return BlockTypes.get("minecraft:hard_glass_pane"); } - ; - static get HardStainedGlass() { return BlockTypes.get("minecraft:hard_stained_glass"); } - ; - static get HardStainedGlassPane() { return BlockTypes.get("minecraft:hard_stained_glass_pane"); } - ; - static get HardenedClay() { return BlockTypes.get("minecraft:hardened_clay"); } - ; - static get HayBlock() { return BlockTypes.get("minecraft:hay_block"); } - ; - static get HeavyWeightedPressurePlate() { return BlockTypes.get("minecraft:heavy_weighted_pressure_plate"); } - ; - static get HoneyBlock() { return BlockTypes.get("minecraft:honey_block"); } - ; - static get HoneycombBlock() { return BlockTypes.get("minecraft:honeycomb_block"); } - ; - static get Hopper() { return BlockTypes.get("minecraft:hopper"); } - ; - static get HornCoral() { return BlockTypes.get("minecraft:horn_coral"); } - ; - static get Ice() { return BlockTypes.get("minecraft:ice"); } - ; - static get InfestedDeepslate() { return BlockTypes.get("minecraft:infested_deepslate"); } - ; - static get InfoUpdate() { return BlockTypes.get("minecraft:info_update"); } - ; - static get InfoUpdate2() { return BlockTypes.get("minecraft:info_update2"); } - ; - static get InvisibleBedrock() { return BlockTypes.get("minecraft:invisible_bedrock"); } - ; - static get IronBars() { return BlockTypes.get("minecraft:iron_bars"); } - ; - static get IronBlock() { return BlockTypes.get("minecraft:iron_block"); } - ; - static get IronDoor() { return BlockTypes.get("minecraft:iron_door"); } - ; - static get IronOre() { return BlockTypes.get("minecraft:iron_ore"); } - ; - static get IronTrapdoor() { return BlockTypes.get("minecraft:iron_trapdoor"); } - ; - static get Jigsaw() { return BlockTypes.get("minecraft:jigsaw"); } - ; - static get Jukebox() { return BlockTypes.get("minecraft:jukebox"); } - ; - static get JungleButton() { return BlockTypes.get("minecraft:jungle_button"); } - ; - static get JungleDoor() { return BlockTypes.get("minecraft:jungle_door"); } - ; - static get JungleFence() { return BlockTypes.get("minecraft:jungle_fence"); } - ; - static get JungleFenceGate() { return BlockTypes.get("minecraft:jungle_fence_gate"); } - ; - static get JungleHangingSign() { return BlockTypes.get("minecraft:jungle_hanging_sign"); } - ; - static get JungleLog() { return BlockTypes.get("minecraft:jungle_log"); } - ; - static get JunglePressurePlate() { return BlockTypes.get("minecraft:jungle_pressure_plate"); } - ; - static get JungleStairs() { return BlockTypes.get("minecraft:jungle_stairs"); } - ; - static get JungleStandingSign() { return BlockTypes.get("minecraft:jungle_standing_sign"); } - ; - static get JungleTrapdoor() { return BlockTypes.get("minecraft:jungle_trapdoor"); } - ; - static get JungleWallSign() { return BlockTypes.get("minecraft:jungle_wall_sign"); } - ; - static get Kelp() { return BlockTypes.get("minecraft:kelp"); } - ; - static get Ladder() { return BlockTypes.get("minecraft:ladder"); } - ; - static get Lantern() { return BlockTypes.get("minecraft:lantern"); } - ; - static get LapisBlock() { return BlockTypes.get("minecraft:lapis_block"); } - ; - static get LapisOre() { return BlockTypes.get("minecraft:lapis_ore"); } - ; - static get LargeAmethystBud() { return BlockTypes.get("minecraft:large_amethyst_bud"); } - ; - static get Lava() { return BlockTypes.get("minecraft:lava"); } - ; - static get Leaves() { return BlockTypes.get("minecraft:leaves"); } - ; - static get Leaves2() { return BlockTypes.get("minecraft:leaves2"); } - ; - static get Lectern() { return BlockTypes.get("minecraft:lectern"); } - ; - static get Lever() { return BlockTypes.get("minecraft:lever"); } - ; - static get LightBlock() { return BlockTypes.get("minecraft:light_block"); } - ; - static get LightBlueCandle() { return BlockTypes.get("minecraft:light_blue_candle"); } - ; - static get LightBlueCandleCake() { return BlockTypes.get("minecraft:light_blue_candle_cake"); } - ; - static get LightBlueCarpet() { return BlockTypes.get("minecraft:light_blue_carpet"); } - ; - static get LightBlueConcrete() { return BlockTypes.get("minecraft:light_blue_concrete"); } - ; - static get LightBlueConcretePowder() { return BlockTypes.get("minecraft:light_blue_concrete_powder"); } - ; - static get LightBlueGlazedTerracotta() { return BlockTypes.get("minecraft:light_blue_glazed_terracotta"); } - ; - static get LightBlueShulkerBox() { return BlockTypes.get("minecraft:light_blue_shulker_box"); } - ; - static get LightBlueStainedGlass() { return BlockTypes.get("minecraft:light_blue_stained_glass"); } - ; - static get LightBlueStainedGlassPane() { return BlockTypes.get("minecraft:light_blue_stained_glass_pane"); } - ; - static get LightBlueTerracotta() { return BlockTypes.get("minecraft:light_blue_terracotta"); } - ; - static get LightBlueWool() { return BlockTypes.get("minecraft:light_blue_wool"); } - ; - static get LightGrayCandle() { return BlockTypes.get("minecraft:light_gray_candle"); } - ; - static get LightGrayCandleCake() { return BlockTypes.get("minecraft:light_gray_candle_cake"); } - ; - static get LightGrayCarpet() { return BlockTypes.get("minecraft:light_gray_carpet"); } - ; - static get LightGrayConcrete() { return BlockTypes.get("minecraft:light_gray_concrete"); } - ; - static get LightGrayConcretePowder() { return BlockTypes.get("minecraft:light_gray_concrete_powder"); } - ; - static get LightGrayShulkerBox() { return BlockTypes.get("minecraft:light_gray_shulker_box"); } - ; - static get LightGrayStainedGlass() { return BlockTypes.get("minecraft:light_gray_stained_glass"); } - ; - static get LightGrayStainedGlassPane() { return BlockTypes.get("minecraft:light_gray_stained_glass_pane"); } - ; - static get LightGrayTerracotta() { return BlockTypes.get("minecraft:light_gray_terracotta"); } - ; - static get LightGrayWool() { return BlockTypes.get("minecraft:light_gray_wool"); } - ; - static get LightWeightedPressurePlate() { return BlockTypes.get("minecraft:light_weighted_pressure_plate"); } - ; - static get LightningRod() { return BlockTypes.get("minecraft:lightning_rod"); } - ; - static get LimeCandle() { return BlockTypes.get("minecraft:lime_candle"); } - ; - static get LimeCandleCake() { return BlockTypes.get("minecraft:lime_candle_cake"); } - ; - static get LimeCarpet() { return BlockTypes.get("minecraft:lime_carpet"); } - ; - static get LimeConcrete() { return BlockTypes.get("minecraft:lime_concrete"); } - ; - static get LimeConcretePowder() { return BlockTypes.get("minecraft:lime_concrete_powder"); } - ; - static get LimeGlazedTerracotta() { return BlockTypes.get("minecraft:lime_glazed_terracotta"); } - ; - static get LimeShulkerBox() { return BlockTypes.get("minecraft:lime_shulker_box"); } - ; - static get LimeStainedGlass() { return BlockTypes.get("minecraft:lime_stained_glass"); } - ; - static get LimeStainedGlassPane() { return BlockTypes.get("minecraft:lime_stained_glass_pane"); } - ; - static get LimeTerracotta() { return BlockTypes.get("minecraft:lime_terracotta"); } - ; - static get LimeWool() { return BlockTypes.get("minecraft:lime_wool"); } - ; - static get LitBlastFurnace() { return BlockTypes.get("minecraft:lit_blast_furnace"); } - ; - static get LitDeepslateRedstoneOre() { return BlockTypes.get("minecraft:lit_deepslate_redstone_ore"); } - ; - static get LitFurnace() { return BlockTypes.get("minecraft:lit_furnace"); } - ; - static get LitPumpkin() { return BlockTypes.get("minecraft:lit_pumpkin"); } - ; - static get LitRedstoneLamp() { return BlockTypes.get("minecraft:lit_redstone_lamp"); } - ; - static get LitRedstoneOre() { return BlockTypes.get("minecraft:lit_redstone_ore"); } - ; - static get LitSmoker() { return BlockTypes.get("minecraft:lit_smoker"); } - ; - static get Lodestone() { return BlockTypes.get("minecraft:lodestone"); } - ; - static get Loom() { return BlockTypes.get("minecraft:loom"); } - ; - static get MagentaCandle() { return BlockTypes.get("minecraft:magenta_candle"); } - ; - static get MagentaCandleCake() { return BlockTypes.get("minecraft:magenta_candle_cake"); } - ; - static get MagentaCarpet() { return BlockTypes.get("minecraft:magenta_carpet"); } - ; - static get MagentaConcrete() { return BlockTypes.get("minecraft:magenta_concrete"); } - ; - static get MagentaConcretePowder() { return BlockTypes.get("minecraft:magenta_concrete_powder"); } - ; - static get MagentaGlazedTerracotta() { return BlockTypes.get("minecraft:magenta_glazed_terracotta"); } - ; - static get MagentaShulkerBox() { return BlockTypes.get("minecraft:magenta_shulker_box"); } - ; - static get MagentaStainedGlass() { return BlockTypes.get("minecraft:magenta_stained_glass"); } - ; - static get MagentaStainedGlassPane() { return BlockTypes.get("minecraft:magenta_stained_glass_pane"); } - ; - static get MagentaTerracotta() { return BlockTypes.get("minecraft:magenta_terracotta"); } - ; - static get MagentaWool() { return BlockTypes.get("minecraft:magenta_wool"); } - ; - static get Magma() { return BlockTypes.get("minecraft:magma"); } - ; - static get MangroveButton() { return BlockTypes.get("minecraft:mangrove_button"); } - ; - static get MangroveDoor() { return BlockTypes.get("minecraft:mangrove_door"); } - ; - static get MangroveDoubleSlab() { return BlockTypes.get("minecraft:mangrove_double_slab"); } - ; - static get MangroveFence() { return BlockTypes.get("minecraft:mangrove_fence"); } - ; - static get MangroveFenceGate() { return BlockTypes.get("minecraft:mangrove_fence_gate"); } - ; - static get MangroveHangingSign() { return BlockTypes.get("minecraft:mangrove_hanging_sign"); } - ; - static get MangroveLeaves() { return BlockTypes.get("minecraft:mangrove_leaves"); } - ; - static get MangroveLog() { return BlockTypes.get("minecraft:mangrove_log"); } - ; - static get MangrovePlanks() { return BlockTypes.get("minecraft:mangrove_planks"); } - ; - static get MangrovePressurePlate() { return BlockTypes.get("minecraft:mangrove_pressure_plate"); } - ; - static get MangrovePropagule() { return BlockTypes.get("minecraft:mangrove_propagule"); } - ; - static get MangroveRoots() { return BlockTypes.get("minecraft:mangrove_roots"); } - ; - static get MangroveSlab() { return BlockTypes.get("minecraft:mangrove_slab"); } - ; - static get MangroveStairs() { return BlockTypes.get("minecraft:mangrove_stairs"); } - ; - static get MangroveStandingSign() { return BlockTypes.get("minecraft:mangrove_standing_sign"); } - ; - static get MangroveTrapdoor() { return BlockTypes.get("minecraft:mangrove_trapdoor"); } - ; - static get MangroveWallSign() { return BlockTypes.get("minecraft:mangrove_wall_sign"); } - ; - static get MangroveWood() { return BlockTypes.get("minecraft:mangrove_wood"); } - ; - static get MediumAmethystBud() { return BlockTypes.get("minecraft:medium_amethyst_bud"); } - ; - static get MelonBlock() { return BlockTypes.get("minecraft:melon_block"); } - ; - static get MelonStem() { return BlockTypes.get("minecraft:melon_stem"); } - ; - static get MobSpawner() { return BlockTypes.get("minecraft:mob_spawner"); } - ; - static get MonsterEgg() { return BlockTypes.get("minecraft:monster_egg"); } - ; - static get MossBlock() { return BlockTypes.get("minecraft:moss_block"); } - ; - static get MossCarpet() { return BlockTypes.get("minecraft:moss_carpet"); } - ; - static get MossyCobblestone() { return BlockTypes.get("minecraft:mossy_cobblestone"); } - ; - static get MossyCobblestoneStairs() { return BlockTypes.get("minecraft:mossy_cobblestone_stairs"); } - ; - static get MossyStoneBrickStairs() { return BlockTypes.get("minecraft:mossy_stone_brick_stairs"); } - ; - static get MovingBlock() { return BlockTypes.get("minecraft:moving_block"); } - ; - static get Mud() { return BlockTypes.get("minecraft:mud"); } - ; - static get MudBrickDoubleSlab() { return BlockTypes.get("minecraft:mud_brick_double_slab"); } - ; - static get MudBrickSlab() { return BlockTypes.get("minecraft:mud_brick_slab"); } - ; - static get MudBrickStairs() { return BlockTypes.get("minecraft:mud_brick_stairs"); } - ; - static get MudBrickWall() { return BlockTypes.get("minecraft:mud_brick_wall"); } - ; - static get MudBricks() { return BlockTypes.get("minecraft:mud_bricks"); } - ; - static get MuddyMangroveRoots() { return BlockTypes.get("minecraft:muddy_mangrove_roots"); } - ; - static get Mycelium() { return BlockTypes.get("minecraft:mycelium"); } - ; - static get NetherBrick() { return BlockTypes.get("minecraft:nether_brick"); } - ; - static get NetherBrickFence() { return BlockTypes.get("minecraft:nether_brick_fence"); } - ; - static get NetherBrickStairs() { return BlockTypes.get("minecraft:nether_brick_stairs"); } - ; - static get NetherGoldOre() { return BlockTypes.get("minecraft:nether_gold_ore"); } - ; - static get NetherSprouts() { return BlockTypes.get("minecraft:nether_sprouts"); } - ; - static get NetherWart() { return BlockTypes.get("minecraft:nether_wart"); } - ; - static get NetherWartBlock() { return BlockTypes.get("minecraft:nether_wart_block"); } - ; - static get NetheriteBlock() { return BlockTypes.get("minecraft:netherite_block"); } - ; - static get Netherrack() { return BlockTypes.get("minecraft:netherrack"); } - ; - static get Netherreactor() { return BlockTypes.get("minecraft:netherreactor"); } - ; - static get NormalStoneStairs() { return BlockTypes.get("minecraft:normal_stone_stairs"); } - ; - static get Noteblock() { return BlockTypes.get("minecraft:noteblock"); } - ; - static get OakFence() { return BlockTypes.get("minecraft:oak_fence"); } - ; - static get OakHangingSign() { return BlockTypes.get("minecraft:oak_hanging_sign"); } - ; - static get OakLog() { return BlockTypes.get("minecraft:oak_log"); } - ; - static get OakStairs() { return BlockTypes.get("minecraft:oak_stairs"); } - ; - static get Observer() { return BlockTypes.get("minecraft:observer"); } - ; - static get Obsidian() { return BlockTypes.get("minecraft:obsidian"); } - ; - static get OchreFroglight() { return BlockTypes.get("minecraft:ochre_froglight"); } - ; - static get OrangeCandle() { return BlockTypes.get("minecraft:orange_candle"); } - ; - static get OrangeCandleCake() { return BlockTypes.get("minecraft:orange_candle_cake"); } - ; - static get OrangeCarpet() { return BlockTypes.get("minecraft:orange_carpet"); } - ; - static get OrangeConcrete() { return BlockTypes.get("minecraft:orange_concrete"); } - ; - static get OrangeConcretePowder() { return BlockTypes.get("minecraft:orange_concrete_powder"); } - ; - static get OrangeGlazedTerracotta() { return BlockTypes.get("minecraft:orange_glazed_terracotta"); } - ; - static get OrangeShulkerBox() { return BlockTypes.get("minecraft:orange_shulker_box"); } - ; - static get OrangeStainedGlass() { return BlockTypes.get("minecraft:orange_stained_glass"); } - ; - static get OrangeStainedGlassPane() { return BlockTypes.get("minecraft:orange_stained_glass_pane"); } - ; - static get OrangeTerracotta() { return BlockTypes.get("minecraft:orange_terracotta"); } - ; - static get OrangeWool() { return BlockTypes.get("minecraft:orange_wool"); } - ; - static get OxidizedCopper() { return BlockTypes.get("minecraft:oxidized_copper"); } - ; - static get OxidizedCutCopper() { return BlockTypes.get("minecraft:oxidized_cut_copper"); } - ; - static get OxidizedCutCopperSlab() { return BlockTypes.get("minecraft:oxidized_cut_copper_slab"); } - ; - static get OxidizedCutCopperStairs() { return BlockTypes.get("minecraft:oxidized_cut_copper_stairs"); } - ; - static get OxidizedDoubleCutCopperSlab() { return BlockTypes.get("minecraft:oxidized_double_cut_copper_slab"); } - ; - static get PackedIce() { return BlockTypes.get("minecraft:packed_ice"); } - ; - static get PackedMud() { return BlockTypes.get("minecraft:packed_mud"); } - ; - static get PearlescentFroglight() { return BlockTypes.get("minecraft:pearlescent_froglight"); } - ; - static get PinkCandle() { return BlockTypes.get("minecraft:pink_candle"); } - ; - static get PinkCandleCake() { return BlockTypes.get("minecraft:pink_candle_cake"); } - ; - static get PinkCarpet() { return BlockTypes.get("minecraft:pink_carpet"); } - ; - static get PinkConcrete() { return BlockTypes.get("minecraft:pink_concrete"); } - ; - static get PinkConcretePowder() { return BlockTypes.get("minecraft:pink_concrete_powder"); } - ; - static get PinkGlazedTerracotta() { return BlockTypes.get("minecraft:pink_glazed_terracotta"); } - ; - static get PinkPetals() { return BlockTypes.get("minecraft:pink_petals"); } - ; - static get PinkShulkerBox() { return BlockTypes.get("minecraft:pink_shulker_box"); } - ; - static get PinkStainedGlass() { return BlockTypes.get("minecraft:pink_stained_glass"); } - ; - static get PinkStainedGlassPane() { return BlockTypes.get("minecraft:pink_stained_glass_pane"); } - ; - static get PinkTerracotta() { return BlockTypes.get("minecraft:pink_terracotta"); } - ; - static get PinkWool() { return BlockTypes.get("minecraft:pink_wool"); } - ; - static get Piston() { return BlockTypes.get("minecraft:piston"); } - ; - static get PistonArmCollision() { return BlockTypes.get("minecraft:piston_arm_collision"); } - ; - static get PitcherCrop() { return BlockTypes.get("minecraft:pitcher_crop"); } - ; - static get PitcherPlant() { return BlockTypes.get("minecraft:pitcher_plant"); } - ; - static get Planks() { return BlockTypes.get("minecraft:planks"); } - ; - static get Podzol() { return BlockTypes.get("minecraft:podzol"); } - ; - static get PointedDripstone() { return BlockTypes.get("minecraft:pointed_dripstone"); } - ; - static get PolishedAndesiteStairs() { return BlockTypes.get("minecraft:polished_andesite_stairs"); } - ; - static get PolishedBasalt() { return BlockTypes.get("minecraft:polished_basalt"); } - ; - static get PolishedBlackstone() { return BlockTypes.get("minecraft:polished_blackstone"); } - ; - static get PolishedBlackstoneBrickDoubleSlab() { return BlockTypes.get("minecraft:polished_blackstone_brick_double_slab"); } - ; - static get PolishedBlackstoneBrickSlab() { return BlockTypes.get("minecraft:polished_blackstone_brick_slab"); } - ; - static get PolishedBlackstoneBrickStairs() { return BlockTypes.get("minecraft:polished_blackstone_brick_stairs"); } - ; - static get PolishedBlackstoneBrickWall() { return BlockTypes.get("minecraft:polished_blackstone_brick_wall"); } - ; - static get PolishedBlackstoneBricks() { return BlockTypes.get("minecraft:polished_blackstone_bricks"); } - ; - static get PolishedBlackstoneButton() { return BlockTypes.get("minecraft:polished_blackstone_button"); } - ; - static get PolishedBlackstoneDoubleSlab() { return BlockTypes.get("minecraft:polished_blackstone_double_slab"); } - ; - static get PolishedBlackstonePressurePlate() { return BlockTypes.get("minecraft:polished_blackstone_pressure_plate"); } - ; - static get PolishedBlackstoneSlab() { return BlockTypes.get("minecraft:polished_blackstone_slab"); } - ; - static get PolishedBlackstoneStairs() { return BlockTypes.get("minecraft:polished_blackstone_stairs"); } - ; - static get PolishedBlackstoneWall() { return BlockTypes.get("minecraft:polished_blackstone_wall"); } - ; - static get PolishedDeepslate() { return BlockTypes.get("minecraft:polished_deepslate"); } - ; - static get PolishedDeepslateDoubleSlab() { return BlockTypes.get("minecraft:polished_deepslate_double_slab"); } - ; - static get PolishedDeepslateSlab() { return BlockTypes.get("minecraft:polished_deepslate_slab"); } - ; - static get PolishedDeepslateStairs() { return BlockTypes.get("minecraft:polished_deepslate_stairs"); } - ; - static get PolishedDeepslateWall() { return BlockTypes.get("minecraft:polished_deepslate_wall"); } - ; - static get PolishedDioriteStairs() { return BlockTypes.get("minecraft:polished_diorite_stairs"); } - ; - static get PolishedGraniteStairs() { return BlockTypes.get("minecraft:polished_granite_stairs"); } - ; - static get Portal() { return BlockTypes.get("minecraft:portal"); } - ; - static get Potatoes() { return BlockTypes.get("minecraft:potatoes"); } - ; - static get PowderSnow() { return BlockTypes.get("minecraft:powder_snow"); } - ; - static get PoweredComparator() { return BlockTypes.get("minecraft:powered_comparator"); } - ; - static get PoweredRepeater() { return BlockTypes.get("minecraft:powered_repeater"); } - ; - static get Prismarine() { return BlockTypes.get("minecraft:prismarine"); } - ; - static get PrismarineBricksStairs() { return BlockTypes.get("minecraft:prismarine_bricks_stairs"); } - ; - static get PrismarineStairs() { return BlockTypes.get("minecraft:prismarine_stairs"); } - ; - static get Pumpkin() { return BlockTypes.get("minecraft:pumpkin"); } - ; - static get PumpkinStem() { return BlockTypes.get("minecraft:pumpkin_stem"); } - ; - static get PurpleCandle() { return BlockTypes.get("minecraft:purple_candle"); } - ; - static get PurpleCandleCake() { return BlockTypes.get("minecraft:purple_candle_cake"); } - ; - static get PurpleCarpet() { return BlockTypes.get("minecraft:purple_carpet"); } - ; - static get PurpleConcrete() { return BlockTypes.get("minecraft:purple_concrete"); } - ; - static get PurpleConcretePowder() { return BlockTypes.get("minecraft:purple_concrete_powder"); } - ; - static get PurpleGlazedTerracotta() { return BlockTypes.get("minecraft:purple_glazed_terracotta"); } - ; - static get PurpleShulkerBox() { return BlockTypes.get("minecraft:purple_shulker_box"); } - ; - static get PurpleStainedGlass() { return BlockTypes.get("minecraft:purple_stained_glass"); } - ; - static get PurpleStainedGlassPane() { return BlockTypes.get("minecraft:purple_stained_glass_pane"); } - ; - static get PurpleTerracotta() { return BlockTypes.get("minecraft:purple_terracotta"); } - ; - static get PurpleWool() { return BlockTypes.get("minecraft:purple_wool"); } - ; - static get PurpurBlock() { return BlockTypes.get("minecraft:purpur_block"); } - ; - static get PurpurStairs() { return BlockTypes.get("minecraft:purpur_stairs"); } - ; - static get QuartzBlock() { return BlockTypes.get("minecraft:quartz_block"); } - ; - static get QuartzBricks() { return BlockTypes.get("minecraft:quartz_bricks"); } - ; - static get QuartzOre() { return BlockTypes.get("minecraft:quartz_ore"); } - ; - static get QuartzStairs() { return BlockTypes.get("minecraft:quartz_stairs"); } - ; - static get Rail() { return BlockTypes.get("minecraft:rail"); } - ; - static get RawCopperBlock() { return BlockTypes.get("minecraft:raw_copper_block"); } - ; - static get RawGoldBlock() { return BlockTypes.get("minecraft:raw_gold_block"); } - ; - static get RawIronBlock() { return BlockTypes.get("minecraft:raw_iron_block"); } - ; - static get RedCandle() { return BlockTypes.get("minecraft:red_candle"); } - ; - static get RedCandleCake() { return BlockTypes.get("minecraft:red_candle_cake"); } - ; - static get RedCarpet() { return BlockTypes.get("minecraft:red_carpet"); } - ; - static get RedConcrete() { return BlockTypes.get("minecraft:red_concrete"); } - ; - static get RedConcretePowder() { return BlockTypes.get("minecraft:red_concrete_powder"); } - ; - static get RedFlower() { return BlockTypes.get("minecraft:red_flower"); } - ; - static get RedGlazedTerracotta() { return BlockTypes.get("minecraft:red_glazed_terracotta"); } - ; - static get RedMushroom() { return BlockTypes.get("minecraft:red_mushroom"); } - ; - static get RedMushroomBlock() { return BlockTypes.get("minecraft:red_mushroom_block"); } - ; - static get RedNetherBrick() { return BlockTypes.get("minecraft:red_nether_brick"); } - ; - static get RedNetherBrickStairs() { return BlockTypes.get("minecraft:red_nether_brick_stairs"); } - ; - static get RedSandstone() { return BlockTypes.get("minecraft:red_sandstone"); } - ; - static get RedSandstoneStairs() { return BlockTypes.get("minecraft:red_sandstone_stairs"); } - ; - static get RedShulkerBox() { return BlockTypes.get("minecraft:red_shulker_box"); } - ; - static get RedStainedGlass() { return BlockTypes.get("minecraft:red_stained_glass"); } - ; - static get RedStainedGlassPane() { return BlockTypes.get("minecraft:red_stained_glass_pane"); } - ; - static get RedTerracotta() { return BlockTypes.get("minecraft:red_terracotta"); } - ; - static get RedWool() { return BlockTypes.get("minecraft:red_wool"); } - ; - static get RedstoneBlock() { return BlockTypes.get("minecraft:redstone_block"); } - ; - static get RedstoneLamp() { return BlockTypes.get("minecraft:redstone_lamp"); } - ; - static get RedstoneOre() { return BlockTypes.get("minecraft:redstone_ore"); } - ; - static get RedstoneTorch() { return BlockTypes.get("minecraft:redstone_torch"); } - ; - static get RedstoneWire() { return BlockTypes.get("minecraft:redstone_wire"); } - ; - static get Reeds() { return BlockTypes.get("minecraft:reeds"); } - ; - static get ReinforcedDeepslate() { return BlockTypes.get("minecraft:reinforced_deepslate"); } - ; - static get RepeatingCommandBlock() { return BlockTypes.get("minecraft:repeating_command_block"); } - ; - static get Reserved6() { return BlockTypes.get("minecraft:reserved6"); } - ; - static get RespawnAnchor() { return BlockTypes.get("minecraft:respawn_anchor"); } - ; - static get Sand() { return BlockTypes.get("minecraft:sand"); } - ; - static get Sandstone() { return BlockTypes.get("minecraft:sandstone"); } - ; - static get SandstoneStairs() { return BlockTypes.get("minecraft:sandstone_stairs"); } - ; - static get Sapling() { return BlockTypes.get("minecraft:sapling"); } - ; - static get Scaffolding() { return BlockTypes.get("minecraft:scaffolding"); } - ; - static get Sculk() { return BlockTypes.get("minecraft:sculk"); } - ; - static get SculkCatalyst() { return BlockTypes.get("minecraft:sculk_catalyst"); } - ; - static get SculkSensor() { return BlockTypes.get("minecraft:sculk_sensor"); } - ; - static get SculkShrieker() { return BlockTypes.get("minecraft:sculk_shrieker"); } - ; - static get SculkVein() { return BlockTypes.get("minecraft:sculk_vein"); } - ; - static get SeaLantern() { return BlockTypes.get("minecraft:sea_lantern"); } - ; - static get SeaPickle() { return BlockTypes.get("minecraft:sea_pickle"); } - ; - static get Seagrass() { return BlockTypes.get("minecraft:seagrass"); } - ; - static get Shroomlight() { return BlockTypes.get("minecraft:shroomlight"); } - ; - static get SilverGlazedTerracotta() { return BlockTypes.get("minecraft:silver_glazed_terracotta"); } - ; - static get Skull() { return BlockTypes.get("minecraft:skull"); } - ; - static get Slime() { return BlockTypes.get("minecraft:slime"); } - ; - static get SmallAmethystBud() { return BlockTypes.get("minecraft:small_amethyst_bud"); } - ; - static get SmallDripleafBlock() { return BlockTypes.get("minecraft:small_dripleaf_block"); } - ; - static get SmithingTable() { return BlockTypes.get("minecraft:smithing_table"); } - ; - static get Smoker() { return BlockTypes.get("minecraft:smoker"); } - ; - static get SmoothBasalt() { return BlockTypes.get("minecraft:smooth_basalt"); } - ; - static get SmoothQuartzStairs() { return BlockTypes.get("minecraft:smooth_quartz_stairs"); } - ; - static get SmoothRedSandstoneStairs() { return BlockTypes.get("minecraft:smooth_red_sandstone_stairs"); } - ; - static get SmoothSandstoneStairs() { return BlockTypes.get("minecraft:smooth_sandstone_stairs"); } - ; - static get SmoothStone() { return BlockTypes.get("minecraft:smooth_stone"); } - ; - static get SnifferEgg() { return BlockTypes.get("minecraft:sniffer_egg"); } - ; - static get Snow() { return BlockTypes.get("minecraft:snow"); } - ; - static get SnowLayer() { return BlockTypes.get("minecraft:snow_layer"); } - ; - static get SoulCampfire() { return BlockTypes.get("minecraft:soul_campfire"); } - ; - static get SoulFire() { return BlockTypes.get("minecraft:soul_fire"); } - ; - static get SoulLantern() { return BlockTypes.get("minecraft:soul_lantern"); } - ; - static get SoulSand() { return BlockTypes.get("minecraft:soul_sand"); } - ; - static get SoulSoil() { return BlockTypes.get("minecraft:soul_soil"); } - ; - static get SoulTorch() { return BlockTypes.get("minecraft:soul_torch"); } - ; - static get Sponge() { return BlockTypes.get("minecraft:sponge"); } - ; - static get SporeBlossom() { return BlockTypes.get("minecraft:spore_blossom"); } - ; - static get SpruceButton() { return BlockTypes.get("minecraft:spruce_button"); } - ; - static get SpruceDoor() { return BlockTypes.get("minecraft:spruce_door"); } - ; - static get SpruceFence() { return BlockTypes.get("minecraft:spruce_fence"); } - ; - static get SpruceFenceGate() { return BlockTypes.get("minecraft:spruce_fence_gate"); } - ; - static get SpruceHangingSign() { return BlockTypes.get("minecraft:spruce_hanging_sign"); } - ; - static get SpruceLog() { return BlockTypes.get("minecraft:spruce_log"); } - ; - static get SprucePressurePlate() { return BlockTypes.get("minecraft:spruce_pressure_plate"); } - ; - static get SpruceStairs() { return BlockTypes.get("minecraft:spruce_stairs"); } - ; - static get SpruceStandingSign() { return BlockTypes.get("minecraft:spruce_standing_sign"); } - ; - static get SpruceTrapdoor() { return BlockTypes.get("minecraft:spruce_trapdoor"); } - ; - static get SpruceWallSign() { return BlockTypes.get("minecraft:spruce_wall_sign"); } - ; - static get StandingBanner() { return BlockTypes.get("minecraft:standing_banner"); } - ; - static get StandingSign() { return BlockTypes.get("minecraft:standing_sign"); } - ; - static get StickyPiston() { return BlockTypes.get("minecraft:sticky_piston"); } - ; - static get StickyPistonArmCollision() { return BlockTypes.get("minecraft:sticky_piston_arm_collision"); } - ; - static get Stone() { return BlockTypes.get("minecraft:stone"); } - ; - static get StoneBlockSlab() { return BlockTypes.get("minecraft:stone_block_slab"); } - ; - static get StoneBlockSlab2() { return BlockTypes.get("minecraft:stone_block_slab2"); } - ; - static get StoneBlockSlab3() { return BlockTypes.get("minecraft:stone_block_slab3"); } - ; - static get StoneBlockSlab4() { return BlockTypes.get("minecraft:stone_block_slab4"); } - ; - static get StoneBrickStairs() { return BlockTypes.get("minecraft:stone_brick_stairs"); } - ; - static get StoneButton() { return BlockTypes.get("minecraft:stone_button"); } - ; - static get StonePressurePlate() { return BlockTypes.get("minecraft:stone_pressure_plate"); } - ; - static get StoneStairs() { return BlockTypes.get("minecraft:stone_stairs"); } - ; - static get Stonebrick() { return BlockTypes.get("minecraft:stonebrick"); } - ; - static get Stonecutter() { return BlockTypes.get("minecraft:stonecutter"); } - ; - static get StonecutterBlock() { return BlockTypes.get("minecraft:stonecutter_block"); } - ; - static get StrippedAcaciaLog() { return BlockTypes.get("minecraft:stripped_acacia_log"); } - ; - static get StrippedBambooBlock() { return BlockTypes.get("minecraft:stripped_bamboo_block"); } - ; - static get StrippedBirchLog() { return BlockTypes.get("minecraft:stripped_birch_log"); } - ; - static get StrippedCherryLog() { return BlockTypes.get("minecraft:stripped_cherry_log"); } - ; - static get StrippedCherryWood() { return BlockTypes.get("minecraft:stripped_cherry_wood"); } - ; - static get StrippedCrimsonHyphae() { return BlockTypes.get("minecraft:stripped_crimson_hyphae"); } - ; - static get StrippedCrimsonStem() { return BlockTypes.get("minecraft:stripped_crimson_stem"); } - ; - static get StrippedDarkOakLog() { return BlockTypes.get("minecraft:stripped_dark_oak_log"); } - ; - static get StrippedJungleLog() { return BlockTypes.get("minecraft:stripped_jungle_log"); } - ; - static get StrippedMangroveLog() { return BlockTypes.get("minecraft:stripped_mangrove_log"); } - ; - static get StrippedMangroveWood() { return BlockTypes.get("minecraft:stripped_mangrove_wood"); } - ; - static get StrippedOakLog() { return BlockTypes.get("minecraft:stripped_oak_log"); } - ; - static get StrippedSpruceLog() { return BlockTypes.get("minecraft:stripped_spruce_log"); } - ; - static get StrippedWarpedHyphae() { return BlockTypes.get("minecraft:stripped_warped_hyphae"); } - ; - static get StrippedWarpedStem() { return BlockTypes.get("minecraft:stripped_warped_stem"); } - ; - static get StructureBlock() { return BlockTypes.get("minecraft:structure_block"); } - ; - static get StructureVoid() { return BlockTypes.get("minecraft:structure_void"); } - ; - static get SuspiciousGravel() { return BlockTypes.get("minecraft:suspicious_gravel"); } - ; - static get SuspiciousSand() { return BlockTypes.get("minecraft:suspicious_sand"); } - ; - static get SweetBerryBush() { return BlockTypes.get("minecraft:sweet_berry_bush"); } - ; - static get Tallgrass() { return BlockTypes.get("minecraft:tallgrass"); } - ; - static get Target() { return BlockTypes.get("minecraft:target"); } - ; - static get TintedGlass() { return BlockTypes.get("minecraft:tinted_glass"); } - ; - static get Tnt() { return BlockTypes.get("minecraft:tnt"); } - ; - static get Torch() { return BlockTypes.get("minecraft:torch"); } - ; - static get Torchflower() { return BlockTypes.get("minecraft:torchflower"); } - ; - static get TorchflowerCrop() { return BlockTypes.get("minecraft:torchflower_crop"); } - ; - static get Trapdoor() { return BlockTypes.get("minecraft:trapdoor"); } - ; - static get TrappedChest() { return BlockTypes.get("minecraft:trapped_chest"); } - ; - static get TripWire() { return BlockTypes.get("minecraft:trip_wire"); } - ; - static get TripwireHook() { return BlockTypes.get("minecraft:tripwire_hook"); } - ; - static get TubeCoral() { return BlockTypes.get("minecraft:tube_coral"); } - ; - static get Tuff() { return BlockTypes.get("minecraft:tuff"); } - ; - static get TurtleEgg() { return BlockTypes.get("minecraft:turtle_egg"); } - ; - static get TwistingVines() { return BlockTypes.get("minecraft:twisting_vines"); } - ; - static get UnderwaterTorch() { return BlockTypes.get("minecraft:underwater_torch"); } - ; - static get UndyedShulkerBox() { return BlockTypes.get("minecraft:undyed_shulker_box"); } - ; - static get Unknown() { return BlockTypes.get("minecraft:unknown"); } - ; - static get UnlitRedstoneTorch() { return BlockTypes.get("minecraft:unlit_redstone_torch"); } - ; - static get UnpoweredComparator() { return BlockTypes.get("minecraft:unpowered_comparator"); } - ; - static get UnpoweredRepeater() { return BlockTypes.get("minecraft:unpowered_repeater"); } - ; - static get VerdantFroglight() { return BlockTypes.get("minecraft:verdant_froglight"); } - ; - static get Vine() { return BlockTypes.get("minecraft:vine"); } - ; - static get WallBanner() { return BlockTypes.get("minecraft:wall_banner"); } - ; - static get WallSign() { return BlockTypes.get("minecraft:wall_sign"); } - ; - static get WarpedButton() { return BlockTypes.get("minecraft:warped_button"); } - ; - static get WarpedDoor() { return BlockTypes.get("minecraft:warped_door"); } - ; - static get WarpedDoubleSlab() { return BlockTypes.get("minecraft:warped_double_slab"); } - ; - static get WarpedFence() { return BlockTypes.get("minecraft:warped_fence"); } - ; - static get WarpedFenceGate() { return BlockTypes.get("minecraft:warped_fence_gate"); } - ; - static get WarpedFungus() { return BlockTypes.get("minecraft:warped_fungus"); } - ; - static get WarpedHangingSign() { return BlockTypes.get("minecraft:warped_hanging_sign"); } - ; - static get WarpedHyphae() { return BlockTypes.get("minecraft:warped_hyphae"); } - ; - static get WarpedNylium() { return BlockTypes.get("minecraft:warped_nylium"); } - ; - static get WarpedPlanks() { return BlockTypes.get("minecraft:warped_planks"); } - ; - static get WarpedPressurePlate() { return BlockTypes.get("minecraft:warped_pressure_plate"); } - ; - static get WarpedRoots() { return BlockTypes.get("minecraft:warped_roots"); } - ; - static get WarpedSlab() { return BlockTypes.get("minecraft:warped_slab"); } - ; - static get WarpedStairs() { return BlockTypes.get("minecraft:warped_stairs"); } - ; - static get WarpedStandingSign() { return BlockTypes.get("minecraft:warped_standing_sign"); } - ; - static get WarpedStem() { return BlockTypes.get("minecraft:warped_stem"); } - ; - static get WarpedTrapdoor() { return BlockTypes.get("minecraft:warped_trapdoor"); } - ; - static get WarpedWallSign() { return BlockTypes.get("minecraft:warped_wall_sign"); } - ; - static get WarpedWartBlock() { return BlockTypes.get("minecraft:warped_wart_block"); } - ; - static get Water() { return BlockTypes.get("minecraft:water"); } - ; - static get Waterlily() { return BlockTypes.get("minecraft:waterlily"); } - ; - static get WaxedCopper() { return BlockTypes.get("minecraft:waxed_copper"); } - ; - static get WaxedCutCopper() { return BlockTypes.get("minecraft:waxed_cut_copper"); } - ; - static get WaxedCutCopperSlab() { return BlockTypes.get("minecraft:waxed_cut_copper_slab"); } - ; - static get WaxedCutCopperStairs() { return BlockTypes.get("minecraft:waxed_cut_copper_stairs"); } - ; - static get WaxedDoubleCutCopperSlab() { return BlockTypes.get("minecraft:waxed_double_cut_copper_slab"); } - ; - static get WaxedExposedCopper() { return BlockTypes.get("minecraft:waxed_exposed_copper"); } - ; - static get WaxedExposedCutCopper() { return BlockTypes.get("minecraft:waxed_exposed_cut_copper"); } - ; - static get WaxedExposedCutCopperSlab() { return BlockTypes.get("minecraft:waxed_exposed_cut_copper_slab"); } - ; - static get WaxedExposedCutCopperStairs() { return BlockTypes.get("minecraft:waxed_exposed_cut_copper_stairs"); } - ; - static get WaxedExposedDoubleCutCopperSlab() { return BlockTypes.get("minecraft:waxed_exposed_double_cut_copper_slab"); } - ; - static get WaxedOxidizedCopper() { return BlockTypes.get("minecraft:waxed_oxidized_copper"); } - ; - static get WaxedOxidizedCutCopper() { return BlockTypes.get("minecraft:waxed_oxidized_cut_copper"); } - ; - static get WaxedOxidizedCutCopperSlab() { return BlockTypes.get("minecraft:waxed_oxidized_cut_copper_slab"); } - ; - static get WaxedOxidizedCutCopperStairs() { return BlockTypes.get("minecraft:waxed_oxidized_cut_copper_stairs"); } - ; - static get WaxedOxidizedDoubleCutCopperSlab() { return BlockTypes.get("minecraft:waxed_oxidized_double_cut_copper_slab"); } - ; - static get WaxedWeatheredCopper() { return BlockTypes.get("minecraft:waxed_weathered_copper"); } - ; - static get WaxedWeatheredCutCopper() { return BlockTypes.get("minecraft:waxed_weathered_cut_copper"); } - ; - static get WaxedWeatheredCutCopperSlab() { return BlockTypes.get("minecraft:waxed_weathered_cut_copper_slab"); } - ; - static get WaxedWeatheredCutCopperStairs() { return BlockTypes.get("minecraft:waxed_weathered_cut_copper_stairs"); } - ; - static get WaxedWeatheredDoubleCutCopperSlab() { return BlockTypes.get("minecraft:waxed_weathered_double_cut_copper_slab"); } - ; - static get WeatheredCopper() { return BlockTypes.get("minecraft:weathered_copper"); } - ; - static get WeatheredCutCopper() { return BlockTypes.get("minecraft:weathered_cut_copper"); } - ; - static get WeatheredCutCopperSlab() { return BlockTypes.get("minecraft:weathered_cut_copper_slab"); } - ; - static get WeatheredCutCopperStairs() { return BlockTypes.get("minecraft:weathered_cut_copper_stairs"); } - ; - static get WeatheredDoubleCutCopperSlab() { return BlockTypes.get("minecraft:weathered_double_cut_copper_slab"); } - ; - static get Web() { return BlockTypes.get("minecraft:web"); } - ; - static get WeepingVines() { return BlockTypes.get("minecraft:weeping_vines"); } - ; - static get Wheat() { return BlockTypes.get("minecraft:wheat"); } - ; - static get WhiteCandle() { return BlockTypes.get("minecraft:white_candle"); } - ; - static get WhiteCandleCake() { return BlockTypes.get("minecraft:white_candle_cake"); } - ; - static get WhiteCarpet() { return BlockTypes.get("minecraft:white_carpet"); } - ; - static get WhiteConcrete() { return BlockTypes.get("minecraft:white_concrete"); } - ; - static get WhiteConcretePowder() { return BlockTypes.get("minecraft:white_concrete_powder"); } - ; - static get WhiteGlazedTerracotta() { return BlockTypes.get("minecraft:white_glazed_terracotta"); } - ; - static get WhiteShulkerBox() { return BlockTypes.get("minecraft:white_shulker_box"); } - ; - static get WhiteStainedGlass() { return BlockTypes.get("minecraft:white_stained_glass"); } - ; - static get WhiteStainedGlassPane() { return BlockTypes.get("minecraft:white_stained_glass_pane"); } - ; - static get WhiteTerracotta() { return BlockTypes.get("minecraft:white_terracotta"); } - ; - static get WhiteWool() { return BlockTypes.get("minecraft:white_wool"); } - ; - static get WitherRose() { return BlockTypes.get("minecraft:wither_rose"); } - ; - static get Wood() { return BlockTypes.get("minecraft:wood"); } - ; - static get WoodenButton() { return BlockTypes.get("minecraft:wooden_button"); } - ; - static get WoodenDoor() { return BlockTypes.get("minecraft:wooden_door"); } - ; - static get WoodenPressurePlate() { return BlockTypes.get("minecraft:wooden_pressure_plate"); } - ; - static get WoodenSlab() { return BlockTypes.get("minecraft:wooden_slab"); } - ; - static get YellowCandle() { return BlockTypes.get("minecraft:yellow_candle"); } - ; - static get YellowCandleCake() { return BlockTypes.get("minecraft:yellow_candle_cake"); } - ; - static get YellowCarpet() { return BlockTypes.get("minecraft:yellow_carpet"); } - ; - static get YellowConcrete() { return BlockTypes.get("minecraft:yellow_concrete"); } - ; - static get YellowConcretePowder() { return BlockTypes.get("minecraft:yellow_concrete_powder"); } - ; - static get YellowFlower() { return BlockTypes.get("minecraft:yellow_flower"); } - ; - static get YellowGlazedTerracotta() { return BlockTypes.get("minecraft:yellow_glazed_terracotta"); } - ; - static get YellowShulkerBox() { return BlockTypes.get("minecraft:yellow_shulker_box"); } - ; - static get YellowStainedGlass() { return BlockTypes.get("minecraft:yellow_stained_glass"); } - ; - static get YellowStainedGlassPane() { return BlockTypes.get("minecraft:yellow_stained_glass_pane"); } - ; - static get YellowTerracotta() { return BlockTypes.get("minecraft:yellow_terracotta"); } - ; - static get YellowWool() { return BlockTypes.get("minecraft:yellow_wool"); } - ; -} diff --git a/scripts/vanilla-types/mojang-block.ts b/scripts/vanilla-types/mojang-block.ts deleted file mode 100644 index 0e5a7859..00000000 --- a/scripts/vanilla-types/mojang-block.ts +++ /dev/null @@ -1,3000 +0,0 @@ -import { BlockType, BlockTypes } from "@minecraft/server"; - -/** - * All possible MinecraftBlockTypes - */ -export class MinecraftBlockTypes implements BlockTypes { - private constructor() { - throw new TypeError("Illegal constructor"); - }; - static get(typeName: string): BlockType | undefined { - return BlockTypes.get(typeName); - }; - static getAll(): BlockType[] { - return BlockTypes.getAll(); - }; - static get AcaciaButton() { return BlockTypes.get("minecraft:acacia_button") }; - static get AcaciaDoor() { return BlockTypes.get("minecraft:acacia_door") }; - static get AcaciaFence() { return BlockTypes.get("minecraft:acacia_fence") }; - static get AcaciaFenceGate() { return BlockTypes.get("minecraft:acacia_fence_gate") }; - static get AcaciaHangingSign() { return BlockTypes.get("minecraft:acacia_hanging_sign") }; - static get AcaciaLog() { return BlockTypes.get("minecraft:acacia_log") }; - static get AcaciaPressurePlate() { return BlockTypes.get("minecraft:acacia_pressure_plate") }; - static get AcaciaStairs() { return BlockTypes.get("minecraft:acacia_stairs") }; - static get AcaciaStandingSign() { return BlockTypes.get("minecraft:acacia_standing_sign") }; - static get AcaciaTrapdoor() { return BlockTypes.get("minecraft:acacia_trapdoor") }; - static get AcaciaWallSign() { return BlockTypes.get("minecraft:acacia_wall_sign") }; - static get ActivatorRail() { return BlockTypes.get("minecraft:activator_rail") }; - static get Air() { return BlockTypes.get("minecraft:air") }; - static get Allow() { return BlockTypes.get("minecraft:allow") }; - static get AmethystBlock() { return BlockTypes.get("minecraft:amethyst_block") }; - static get AmethystCluster() { return BlockTypes.get("minecraft:amethyst_cluster") }; - static get AncientDebris() { return BlockTypes.get("minecraft:ancient_debris") }; - static get AndesiteStairs() { return BlockTypes.get("minecraft:andesite_stairs") }; - static get Anvil() { return BlockTypes.get("minecraft:anvil") }; - static get Azalea() { return BlockTypes.get("minecraft:azalea") }; - static get AzaleaLeaves() { return BlockTypes.get("minecraft:azalea_leaves") }; - static get AzaleaLeavesFlowered() { return BlockTypes.get("minecraft:azalea_leaves_flowered") }; - static get Bamboo() { return BlockTypes.get("minecraft:bamboo") }; - static get BambooBlock() { return BlockTypes.get("minecraft:bamboo_block") }; - static get BambooButton() { return BlockTypes.get("minecraft:bamboo_button") }; - static get BambooDoor() { return BlockTypes.get("minecraft:bamboo_door") }; - static get BambooDoubleSlab() { return BlockTypes.get("minecraft:bamboo_double_slab") }; - static get BambooFence() { return BlockTypes.get("minecraft:bamboo_fence") }; - static get BambooFenceGate() { return BlockTypes.get("minecraft:bamboo_fence_gate") }; - static get BambooHangingSign() { return BlockTypes.get("minecraft:bamboo_hanging_sign") }; - static get BambooMosaic() { return BlockTypes.get("minecraft:bamboo_mosaic") }; - static get BambooMosaicDoubleSlab() { return BlockTypes.get("minecraft:bamboo_mosaic_double_slab") }; - static get BambooMosaicSlab() { return BlockTypes.get("minecraft:bamboo_mosaic_slab") }; - static get BambooMosaicStairs() { return BlockTypes.get("minecraft:bamboo_mosaic_stairs") }; - static get BambooPlanks() { return BlockTypes.get("minecraft:bamboo_planks") }; - static get BambooPressurePlate() { return BlockTypes.get("minecraft:bamboo_pressure_plate") }; - static get BambooSapling() { return BlockTypes.get("minecraft:bamboo_sapling") }; - static get BambooSlab() { return BlockTypes.get("minecraft:bamboo_slab") }; - static get BambooStairs() { return BlockTypes.get("minecraft:bamboo_stairs") }; - static get BambooStandingSign() { return BlockTypes.get("minecraft:bamboo_standing_sign") }; - static get BambooTrapdoor() { return BlockTypes.get("minecraft:bamboo_trapdoor") }; - static get BambooWallSign() { return BlockTypes.get("minecraft:bamboo_wall_sign") }; - static get Barrel() { return BlockTypes.get("minecraft:barrel") }; - static get Barrier() { return BlockTypes.get("minecraft:barrier") }; - static get Basalt() { return BlockTypes.get("minecraft:basalt") }; - static get Beacon() { return BlockTypes.get("minecraft:beacon") }; - static get Bed() { return BlockTypes.get("minecraft:bed") }; - static get Bedrock() { return BlockTypes.get("minecraft:bedrock") }; - static get BeeNest() { return BlockTypes.get("minecraft:bee_nest") }; - static get Beehive() { return BlockTypes.get("minecraft:beehive") }; - static get Beetroot() { return BlockTypes.get("minecraft:beetroot") }; - static get Bell() { return BlockTypes.get("minecraft:bell") }; - static get BigDripleaf() { return BlockTypes.get("minecraft:big_dripleaf") }; - static get BirchButton() { return BlockTypes.get("minecraft:birch_button") }; - static get BirchDoor() { return BlockTypes.get("minecraft:birch_door") }; - static get BirchFence() { return BlockTypes.get("minecraft:birch_fence") }; - static get BirchFenceGate() { return BlockTypes.get("minecraft:birch_fence_gate") }; - static get BirchHangingSign() { return BlockTypes.get("minecraft:birch_hanging_sign") }; - static get BirchLog() { return BlockTypes.get("minecraft:birch_log") }; - static get BirchPressurePlate() { return BlockTypes.get("minecraft:birch_pressure_plate") }; - static get BirchStairs() { return BlockTypes.get("minecraft:birch_stairs") }; - static get BirchStandingSign() { return BlockTypes.get("minecraft:birch_standing_sign") }; - static get BirchTrapdoor() { return BlockTypes.get("minecraft:birch_trapdoor") }; - static get BirchWallSign() { return BlockTypes.get("minecraft:birch_wall_sign") }; - static get BlackCandle() { return BlockTypes.get("minecraft:black_candle") }; - static get BlackCandleCake() { return BlockTypes.get("minecraft:black_candle_cake") }; - static get BlackCarpet() { return BlockTypes.get("minecraft:black_carpet") }; - static get BlackConcrete() { return BlockTypes.get("minecraft:black_concrete") }; - static get BlackConcretePowder() { return BlockTypes.get("minecraft:black_concrete_powder") }; - static get BlackGlazedTerracotta() { return BlockTypes.get("minecraft:black_glazed_terracotta") }; - static get BlackShulkerBox() { return BlockTypes.get("minecraft:black_shulker_box") }; - static get BlackStainedGlass() { return BlockTypes.get("minecraft:black_stained_glass") }; - static get BlackStainedGlassPane() { return BlockTypes.get("minecraft:black_stained_glass_pane") }; - static get BlackTerracotta() { return BlockTypes.get("minecraft:black_terracotta") }; - static get BlackWool() { return BlockTypes.get("minecraft:black_wool") }; - static get Blackstone() { return BlockTypes.get("minecraft:blackstone") }; - static get BlackstoneDoubleSlab() { return BlockTypes.get("minecraft:blackstone_double_slab") }; - static get BlackstoneSlab() { return BlockTypes.get("minecraft:blackstone_slab") }; - static get BlackstoneStairs() { return BlockTypes.get("minecraft:blackstone_stairs") }; - static get BlackstoneWall() { return BlockTypes.get("minecraft:blackstone_wall") }; - static get BlastFurnace() { return BlockTypes.get("minecraft:blast_furnace") }; - static get BlueCandle() { return BlockTypes.get("minecraft:blue_candle") }; - static get BlueCandleCake() { return BlockTypes.get("minecraft:blue_candle_cake") }; - static get BlueCarpet() { return BlockTypes.get("minecraft:blue_carpet") }; - static get BlueConcrete() { return BlockTypes.get("minecraft:blue_concrete") }; - static get BlueConcretePowder() { return BlockTypes.get("minecraft:blue_concrete_powder") }; - static get BlueGlazedTerracotta() { return BlockTypes.get("minecraft:blue_glazed_terracotta") }; - static get BlueIce() { return BlockTypes.get("minecraft:blue_ice") }; - static get BlueShulkerBox() { return BlockTypes.get("minecraft:blue_shulker_box") }; - static get BlueStainedGlass() { return BlockTypes.get("minecraft:blue_stained_glass") }; - static get BlueStainedGlassPane() { return BlockTypes.get("minecraft:blue_stained_glass_pane") }; - static get BlueTerracotta() { return BlockTypes.get("minecraft:blue_terracotta") }; - static get BlueWool() { return BlockTypes.get("minecraft:blue_wool") }; - static get BoneBlock() { return BlockTypes.get("minecraft:bone_block") }; - static get Bookshelf() { return BlockTypes.get("minecraft:bookshelf") }; - static get BorderBlock() { return BlockTypes.get("minecraft:border_block") }; - static get BrainCoral() { return BlockTypes.get("minecraft:brain_coral") }; - static get BrewingStand() { return BlockTypes.get("minecraft:brewing_stand") }; - static get BrickBlock() { return BlockTypes.get("minecraft:brick_block") }; - static get BrickStairs() { return BlockTypes.get("minecraft:brick_stairs") }; - static get BrownCandle() { return BlockTypes.get("minecraft:brown_candle") }; - static get BrownCandleCake() { return BlockTypes.get("minecraft:brown_candle_cake") }; - static get BrownCarpet() { return BlockTypes.get("minecraft:brown_carpet") }; - static get BrownConcrete() { return BlockTypes.get("minecraft:brown_concrete") }; - static get BrownConcretePowder() { return BlockTypes.get("minecraft:brown_concrete_powder") }; - static get BrownGlazedTerracotta() { return BlockTypes.get("minecraft:brown_glazed_terracotta") }; - static get BrownMushroom() { return BlockTypes.get("minecraft:brown_mushroom") }; - static get BrownMushroomBlock() { return BlockTypes.get("minecraft:brown_mushroom_block") }; - static get BrownShulkerBox() { return BlockTypes.get("minecraft:brown_shulker_box") }; - static get BrownStainedGlass() { return BlockTypes.get("minecraft:brown_stained_glass") }; - static get BrownStainedGlassPane() { return BlockTypes.get("minecraft:brown_stained_glass_pane") }; - static get BrownTerracotta() { return BlockTypes.get("minecraft:brown_terracotta") }; - static get BrownWool() { return BlockTypes.get("minecraft:brown_wool") }; - static get BubbleColumn() { return BlockTypes.get("minecraft:bubble_column") }; - static get BubbleCoral() { return BlockTypes.get("minecraft:bubble_coral") }; - static get BuddingAmethyst() { return BlockTypes.get("minecraft:budding_amethyst") }; - static get Cactus() { return BlockTypes.get("minecraft:cactus") }; - static get Cake() { return BlockTypes.get("minecraft:cake") }; - static get Calcite() { return BlockTypes.get("minecraft:calcite") }; - static get CalibratedSculkSensor() { return BlockTypes.get("minecraft:calibrated_sculk_sensor") }; - static get Camera() { return BlockTypes.get("minecraft:camera") }; - static get Campfire() { return BlockTypes.get("minecraft:campfire") }; - static get Candle() { return BlockTypes.get("minecraft:candle") }; - static get CandleCake() { return BlockTypes.get("minecraft:candle_cake") }; - static get Carrots() { return BlockTypes.get("minecraft:carrots") }; - static get CartographyTable() { return BlockTypes.get("minecraft:cartography_table") }; - static get CarvedPumpkin() { return BlockTypes.get("minecraft:carved_pumpkin") }; - static get Cauldron() { return BlockTypes.get("minecraft:cauldron") }; - static get CaveVines() { return BlockTypes.get("minecraft:cave_vines") }; - static get CaveVinesBodyWithBerries() { return BlockTypes.get("minecraft:cave_vines_body_with_berries") }; - static get CaveVinesHeadWithBerries() { return BlockTypes.get("minecraft:cave_vines_head_with_berries") }; - static get Chain() { return BlockTypes.get("minecraft:chain") }; - static get ChainCommandBlock() { return BlockTypes.get("minecraft:chain_command_block") }; - static get ChemicalHeat() { return BlockTypes.get("minecraft:chemical_heat") }; - static get ChemistryTable() { return BlockTypes.get("minecraft:chemistry_table") }; - static get CherryButton() { return BlockTypes.get("minecraft:cherry_button") }; - static get CherryDoor() { return BlockTypes.get("minecraft:cherry_door") }; - static get CherryDoubleSlab() { return BlockTypes.get("minecraft:cherry_double_slab") }; - static get CherryFence() { return BlockTypes.get("minecraft:cherry_fence") }; - static get CherryFenceGate() { return BlockTypes.get("minecraft:cherry_fence_gate") }; - static get CherryHangingSign() { return BlockTypes.get("minecraft:cherry_hanging_sign") }; - static get CherryLeaves() { return BlockTypes.get("minecraft:cherry_leaves") }; - static get CherryLog() { return BlockTypes.get("minecraft:cherry_log") }; - static get CherryPlanks() { return BlockTypes.get("minecraft:cherry_planks") }; - static get CherryPressurePlate() { return BlockTypes.get("minecraft:cherry_pressure_plate") }; - static get CherrySapling() { return BlockTypes.get("minecraft:cherry_sapling") }; - static get CherrySlab() { return BlockTypes.get("minecraft:cherry_slab") }; - static get CherryStairs() { return BlockTypes.get("minecraft:cherry_stairs") }; - static get CherryStandingSign() { return BlockTypes.get("minecraft:cherry_standing_sign") }; - static get CherryTrapdoor() { return BlockTypes.get("minecraft:cherry_trapdoor") }; - static get CherryWallSign() { return BlockTypes.get("minecraft:cherry_wall_sign") }; - static get CherryWood() { return BlockTypes.get("minecraft:cherry_wood") }; - static get Chest() { return BlockTypes.get("minecraft:chest") }; - static get ChiseledBookshelf() { return BlockTypes.get("minecraft:chiseled_bookshelf") }; - static get ChiseledDeepslate() { return BlockTypes.get("minecraft:chiseled_deepslate") }; - static get ChiseledNetherBricks() { return BlockTypes.get("minecraft:chiseled_nether_bricks") }; - static get ChiseledPolishedBlackstone() { return BlockTypes.get("minecraft:chiseled_polished_blackstone") }; - static get ChorusFlower() { return BlockTypes.get("minecraft:chorus_flower") }; - static get ChorusPlant() { return BlockTypes.get("minecraft:chorus_plant") }; - static get Clay() { return BlockTypes.get("minecraft:clay") }; - static get ClientRequestPlaceholderBlock() { return BlockTypes.get("minecraft:client_request_placeholder_block") }; - static get CoalBlock() { return BlockTypes.get("minecraft:coal_block") }; - static get CoalOre() { return BlockTypes.get("minecraft:coal_ore") }; - static get CobbledDeepslate() { return BlockTypes.get("minecraft:cobbled_deepslate") }; - static get CobbledDeepslateDoubleSlab() { return BlockTypes.get("minecraft:cobbled_deepslate_double_slab") }; - static get CobbledDeepslateSlab() { return BlockTypes.get("minecraft:cobbled_deepslate_slab") }; - static get CobbledDeepslateStairs() { return BlockTypes.get("minecraft:cobbled_deepslate_stairs") }; - static get CobbledDeepslateWall() { return BlockTypes.get("minecraft:cobbled_deepslate_wall") }; - static get Cobblestone() { return BlockTypes.get("minecraft:cobblestone") }; - static get CobblestoneWall() { return BlockTypes.get("minecraft:cobblestone_wall") }; - static get Cocoa() { return BlockTypes.get("minecraft:cocoa") }; - static get ColoredTorchBp() { return BlockTypes.get("minecraft:colored_torch_bp") }; - static get ColoredTorchRg() { return BlockTypes.get("minecraft:colored_torch_rg") }; - static get CommandBlock() { return BlockTypes.get("minecraft:command_block") }; - static get Composter() { return BlockTypes.get("minecraft:composter") }; - static get Conduit() { return BlockTypes.get("minecraft:conduit") }; - static get CopperBlock() { return BlockTypes.get("minecraft:copper_block") }; - static get CopperOre() { return BlockTypes.get("minecraft:copper_ore") }; - static get CoralBlock() { return BlockTypes.get("minecraft:coral_block") }; - static get CoralFan() { return BlockTypes.get("minecraft:coral_fan") }; - static get CoralFanDead() { return BlockTypes.get("minecraft:coral_fan_dead") }; - static get CoralFanHang() { return BlockTypes.get("minecraft:coral_fan_hang") }; - static get CoralFanHang2() { return BlockTypes.get("minecraft:coral_fan_hang2") }; - static get CoralFanHang3() { return BlockTypes.get("minecraft:coral_fan_hang3") }; - static get CrackedDeepslateBricks() { return BlockTypes.get("minecraft:cracked_deepslate_bricks") }; - static get CrackedDeepslateTiles() { return BlockTypes.get("minecraft:cracked_deepslate_tiles") }; - static get CrackedNetherBricks() { return BlockTypes.get("minecraft:cracked_nether_bricks") }; - static get CrackedPolishedBlackstoneBricks() { return BlockTypes.get("minecraft:cracked_polished_blackstone_bricks") }; - static get CraftingTable() { return BlockTypes.get("minecraft:crafting_table") }; - static get CrimsonButton() { return BlockTypes.get("minecraft:crimson_button") }; - static get CrimsonDoor() { return BlockTypes.get("minecraft:crimson_door") }; - static get CrimsonDoubleSlab() { return BlockTypes.get("minecraft:crimson_double_slab") }; - static get CrimsonFence() { return BlockTypes.get("minecraft:crimson_fence") }; - static get CrimsonFenceGate() { return BlockTypes.get("minecraft:crimson_fence_gate") }; - static get CrimsonFungus() { return BlockTypes.get("minecraft:crimson_fungus") }; - static get CrimsonHangingSign() { return BlockTypes.get("minecraft:crimson_hanging_sign") }; - static get CrimsonHyphae() { return BlockTypes.get("minecraft:crimson_hyphae") }; - static get CrimsonNylium() { return BlockTypes.get("minecraft:crimson_nylium") }; - static get CrimsonPlanks() { return BlockTypes.get("minecraft:crimson_planks") }; - static get CrimsonPressurePlate() { return BlockTypes.get("minecraft:crimson_pressure_plate") }; - static get CrimsonRoots() { return BlockTypes.get("minecraft:crimson_roots") }; - static get CrimsonSlab() { return BlockTypes.get("minecraft:crimson_slab") }; - static get CrimsonStairs() { return BlockTypes.get("minecraft:crimson_stairs") }; - static get CrimsonStandingSign() { return BlockTypes.get("minecraft:crimson_standing_sign") }; - static get CrimsonStem() { return BlockTypes.get("minecraft:crimson_stem") }; - static get CrimsonTrapdoor() { return BlockTypes.get("minecraft:crimson_trapdoor") }; - static get CrimsonWallSign() { return BlockTypes.get("minecraft:crimson_wall_sign") }; - static get CryingObsidian() { return BlockTypes.get("minecraft:crying_obsidian") }; - static get CutCopper() { return BlockTypes.get("minecraft:cut_copper") }; - static get CutCopperSlab() { return BlockTypes.get("minecraft:cut_copper_slab") }; - static get CutCopperStairs() { return BlockTypes.get("minecraft:cut_copper_stairs") }; - static get CyanCandle() { return BlockTypes.get("minecraft:cyan_candle") }; - static get CyanCandleCake() { return BlockTypes.get("minecraft:cyan_candle_cake") }; - static get CyanCarpet() { return BlockTypes.get("minecraft:cyan_carpet") }; - static get CyanConcrete() { return BlockTypes.get("minecraft:cyan_concrete") }; - static get CyanConcretePowder() { return BlockTypes.get("minecraft:cyan_concrete_powder") }; - static get CyanGlazedTerracotta() { return BlockTypes.get("minecraft:cyan_glazed_terracotta") }; - static get CyanShulkerBox() { return BlockTypes.get("minecraft:cyan_shulker_box") }; - static get CyanStainedGlass() { return BlockTypes.get("minecraft:cyan_stained_glass") }; - static get CyanStainedGlassPane() { return BlockTypes.get("minecraft:cyan_stained_glass_pane") }; - static get CyanTerracotta() { return BlockTypes.get("minecraft:cyan_terracotta") }; - static get CyanWool() { return BlockTypes.get("minecraft:cyan_wool") }; - static get DarkOakButton() { return BlockTypes.get("minecraft:dark_oak_button") }; - static get DarkOakDoor() { return BlockTypes.get("minecraft:dark_oak_door") }; - static get DarkOakFence() { return BlockTypes.get("minecraft:dark_oak_fence") }; - static get DarkOakFenceGate() { return BlockTypes.get("minecraft:dark_oak_fence_gate") }; - static get DarkOakHangingSign() { return BlockTypes.get("minecraft:dark_oak_hanging_sign") }; - static get DarkOakLog() { return BlockTypes.get("minecraft:dark_oak_log") }; - static get DarkOakPressurePlate() { return BlockTypes.get("minecraft:dark_oak_pressure_plate") }; - static get DarkOakStairs() { return BlockTypes.get("minecraft:dark_oak_stairs") }; - static get DarkOakTrapdoor() { return BlockTypes.get("minecraft:dark_oak_trapdoor") }; - static get DarkPrismarineStairs() { return BlockTypes.get("minecraft:dark_prismarine_stairs") }; - static get DarkoakStandingSign() { return BlockTypes.get("minecraft:darkoak_standing_sign") }; - static get DarkoakWallSign() { return BlockTypes.get("minecraft:darkoak_wall_sign") }; - static get DaylightDetector() { return BlockTypes.get("minecraft:daylight_detector") }; - static get DaylightDetectorInverted() { return BlockTypes.get("minecraft:daylight_detector_inverted") }; - static get DeadBrainCoral() { return BlockTypes.get("minecraft:dead_brain_coral") }; - static get DeadBubbleCoral() { return BlockTypes.get("minecraft:dead_bubble_coral") }; - static get DeadFireCoral() { return BlockTypes.get("minecraft:dead_fire_coral") }; - static get DeadHornCoral() { return BlockTypes.get("minecraft:dead_horn_coral") }; - static get DeadTubeCoral() { return BlockTypes.get("minecraft:dead_tube_coral") }; - static get Deadbush() { return BlockTypes.get("minecraft:deadbush") }; - static get DecoratedPot() { return BlockTypes.get("minecraft:decorated_pot") }; - static get Deepslate() { return BlockTypes.get("minecraft:deepslate") }; - static get DeepslateBrickDoubleSlab() { return BlockTypes.get("minecraft:deepslate_brick_double_slab") }; - static get DeepslateBrickSlab() { return BlockTypes.get("minecraft:deepslate_brick_slab") }; - static get DeepslateBrickStairs() { return BlockTypes.get("minecraft:deepslate_brick_stairs") }; - static get DeepslateBrickWall() { return BlockTypes.get("minecraft:deepslate_brick_wall") }; - static get DeepslateBricks() { return BlockTypes.get("minecraft:deepslate_bricks") }; - static get DeepslateCoalOre() { return BlockTypes.get("minecraft:deepslate_coal_ore") }; - static get DeepslateCopperOre() { return BlockTypes.get("minecraft:deepslate_copper_ore") }; - static get DeepslateDiamondOre() { return BlockTypes.get("minecraft:deepslate_diamond_ore") }; - static get DeepslateEmeraldOre() { return BlockTypes.get("minecraft:deepslate_emerald_ore") }; - static get DeepslateGoldOre() { return BlockTypes.get("minecraft:deepslate_gold_ore") }; - static get DeepslateIronOre() { return BlockTypes.get("minecraft:deepslate_iron_ore") }; - static get DeepslateLapisOre() { return BlockTypes.get("minecraft:deepslate_lapis_ore") }; - static get DeepslateRedstoneOre() { return BlockTypes.get("minecraft:deepslate_redstone_ore") }; - static get DeepslateTileDoubleSlab() { return BlockTypes.get("minecraft:deepslate_tile_double_slab") }; - static get DeepslateTileSlab() { return BlockTypes.get("minecraft:deepslate_tile_slab") }; - static get DeepslateTileStairs() { return BlockTypes.get("minecraft:deepslate_tile_stairs") }; - static get DeepslateTileWall() { return BlockTypes.get("minecraft:deepslate_tile_wall") }; - static get DeepslateTiles() { return BlockTypes.get("minecraft:deepslate_tiles") }; - static get Deny() { return BlockTypes.get("minecraft:deny") }; - static get DetectorRail() { return BlockTypes.get("minecraft:detector_rail") }; - static get DiamondBlock() { return BlockTypes.get("minecraft:diamond_block") }; - static get DiamondOre() { return BlockTypes.get("minecraft:diamond_ore") }; - static get DioriteStairs() { return BlockTypes.get("minecraft:diorite_stairs") }; - static get Dirt() { return BlockTypes.get("minecraft:dirt") }; - static get DirtWithRoots() { return BlockTypes.get("minecraft:dirt_with_roots") }; - static get Dispenser() { return BlockTypes.get("minecraft:dispenser") }; - static get DoubleCutCopperSlab() { return BlockTypes.get("minecraft:double_cut_copper_slab") }; - static get DoublePlant() { return BlockTypes.get("minecraft:double_plant") }; - static get DoubleStoneBlockSlab() { return BlockTypes.get("minecraft:double_stone_block_slab") }; - static get DoubleStoneBlockSlab2() { return BlockTypes.get("minecraft:double_stone_block_slab2") }; - static get DoubleStoneBlockSlab3() { return BlockTypes.get("minecraft:double_stone_block_slab3") }; - static get DoubleStoneBlockSlab4() { return BlockTypes.get("minecraft:double_stone_block_slab4") }; - static get DoubleWoodenSlab() { return BlockTypes.get("minecraft:double_wooden_slab") }; - static get DragonEgg() { return BlockTypes.get("minecraft:dragon_egg") }; - static get DriedKelpBlock() { return BlockTypes.get("minecraft:dried_kelp_block") }; - static get DripstoneBlock() { return BlockTypes.get("minecraft:dripstone_block") }; - static get Dropper() { return BlockTypes.get("minecraft:dropper") }; - static get Element0() { return BlockTypes.get("minecraft:element_0") }; - static get Element1() { return BlockTypes.get("minecraft:element_1") }; - static get Element10() { return BlockTypes.get("minecraft:element_10") }; - static get Element100() { return BlockTypes.get("minecraft:element_100") }; - static get Element101() { return BlockTypes.get("minecraft:element_101") }; - static get Element102() { return BlockTypes.get("minecraft:element_102") }; - static get Element103() { return BlockTypes.get("minecraft:element_103") }; - static get Element104() { return BlockTypes.get("minecraft:element_104") }; - static get Element105() { return BlockTypes.get("minecraft:element_105") }; - static get Element106() { return BlockTypes.get("minecraft:element_106") }; - static get Element107() { return BlockTypes.get("minecraft:element_107") }; - static get Element108() { return BlockTypes.get("minecraft:element_108") }; - static get Element109() { return BlockTypes.get("minecraft:element_109") }; - static get Element11() { return BlockTypes.get("minecraft:element_11") }; - static get Element110() { return BlockTypes.get("minecraft:element_110") }; - static get Element111() { return BlockTypes.get("minecraft:element_111") }; - static get Element112() { return BlockTypes.get("minecraft:element_112") }; - static get Element113() { return BlockTypes.get("minecraft:element_113") }; - static get Element114() { return BlockTypes.get("minecraft:element_114") }; - static get Element115() { return BlockTypes.get("minecraft:element_115") }; - static get Element116() { return BlockTypes.get("minecraft:element_116") }; - static get Element117() { return BlockTypes.get("minecraft:element_117") }; - static get Element118() { return BlockTypes.get("minecraft:element_118") }; - static get Element12() { return BlockTypes.get("minecraft:element_12") }; - static get Element13() { return BlockTypes.get("minecraft:element_13") }; - static get Element14() { return BlockTypes.get("minecraft:element_14") }; - static get Element15() { return BlockTypes.get("minecraft:element_15") }; - static get Element16() { return BlockTypes.get("minecraft:element_16") }; - static get Element17() { return BlockTypes.get("minecraft:element_17") }; - static get Element18() { return BlockTypes.get("minecraft:element_18") }; - static get Element19() { return BlockTypes.get("minecraft:element_19") }; - static get Element2() { return BlockTypes.get("minecraft:element_2") }; - static get Element20() { return BlockTypes.get("minecraft:element_20") }; - static get Element21() { return BlockTypes.get("minecraft:element_21") }; - static get Element22() { return BlockTypes.get("minecraft:element_22") }; - static get Element23() { return BlockTypes.get("minecraft:element_23") }; - static get Element24() { return BlockTypes.get("minecraft:element_24") }; - static get Element25() { return BlockTypes.get("minecraft:element_25") }; - static get Element26() { return BlockTypes.get("minecraft:element_26") }; - static get Element27() { return BlockTypes.get("minecraft:element_27") }; - static get Element28() { return BlockTypes.get("minecraft:element_28") }; - static get Element29() { return BlockTypes.get("minecraft:element_29") }; - static get Element3() { return BlockTypes.get("minecraft:element_3") }; - static get Element30() { return BlockTypes.get("minecraft:element_30") }; - static get Element31() { return BlockTypes.get("minecraft:element_31") }; - static get Element32() { return BlockTypes.get("minecraft:element_32") }; - static get Element33() { return BlockTypes.get("minecraft:element_33") }; - static get Element34() { return BlockTypes.get("minecraft:element_34") }; - static get Element35() { return BlockTypes.get("minecraft:element_35") }; - static get Element36() { return BlockTypes.get("minecraft:element_36") }; - static get Element37() { return BlockTypes.get("minecraft:element_37") }; - static get Element38() { return BlockTypes.get("minecraft:element_38") }; - static get Element39() { return BlockTypes.get("minecraft:element_39") }; - static get Element4() { return BlockTypes.get("minecraft:element_4") }; - static get Element40() { return BlockTypes.get("minecraft:element_40") }; - static get Element41() { return BlockTypes.get("minecraft:element_41") }; - static get Element42() { return BlockTypes.get("minecraft:element_42") }; - static get Element43() { return BlockTypes.get("minecraft:element_43") }; - static get Element44() { return BlockTypes.get("minecraft:element_44") }; - static get Element45() { return BlockTypes.get("minecraft:element_45") }; - static get Element46() { return BlockTypes.get("minecraft:element_46") }; - static get Element47() { return BlockTypes.get("minecraft:element_47") }; - static get Element48() { return BlockTypes.get("minecraft:element_48") }; - static get Element49() { return BlockTypes.get("minecraft:element_49") }; - static get Element5() { return BlockTypes.get("minecraft:element_5") }; - static get Element50() { return BlockTypes.get("minecraft:element_50") }; - static get Element51() { return BlockTypes.get("minecraft:element_51") }; - static get Element52() { return BlockTypes.get("minecraft:element_52") }; - static get Element53() { return BlockTypes.get("minecraft:element_53") }; - static get Element54() { return BlockTypes.get("minecraft:element_54") }; - static get Element55() { return BlockTypes.get("minecraft:element_55") }; - static get Element56() { return BlockTypes.get("minecraft:element_56") }; - static get Element57() { return BlockTypes.get("minecraft:element_57") }; - static get Element58() { return BlockTypes.get("minecraft:element_58") }; - static get Element59() { return BlockTypes.get("minecraft:element_59") }; - static get Element6() { return BlockTypes.get("minecraft:element_6") }; - static get Element60() { return BlockTypes.get("minecraft:element_60") }; - static get Element61() { return BlockTypes.get("minecraft:element_61") }; - static get Element62() { return BlockTypes.get("minecraft:element_62") }; - static get Element63() { return BlockTypes.get("minecraft:element_63") }; - static get Element64() { return BlockTypes.get("minecraft:element_64") }; - static get Element65() { return BlockTypes.get("minecraft:element_65") }; - static get Element66() { return BlockTypes.get("minecraft:element_66") }; - static get Element67() { return BlockTypes.get("minecraft:element_67") }; - static get Element68() { return BlockTypes.get("minecraft:element_68") }; - static get Element69() { return BlockTypes.get("minecraft:element_69") }; - static get Element7() { return BlockTypes.get("minecraft:element_7") }; - static get Element70() { return BlockTypes.get("minecraft:element_70") }; - static get Element71() { return BlockTypes.get("minecraft:element_71") }; - static get Element72() { return BlockTypes.get("minecraft:element_72") }; - static get Element73() { return BlockTypes.get("minecraft:element_73") }; - static get Element74() { return BlockTypes.get("minecraft:element_74") }; - static get Element75() { return BlockTypes.get("minecraft:element_75") }; - static get Element76() { return BlockTypes.get("minecraft:element_76") }; - static get Element77() { return BlockTypes.get("minecraft:element_77") }; - static get Element78() { return BlockTypes.get("minecraft:element_78") }; - static get Element79() { return BlockTypes.get("minecraft:element_79") }; - static get Element8() { return BlockTypes.get("minecraft:element_8") }; - static get Element80() { return BlockTypes.get("minecraft:element_80") }; - static get Element81() { return BlockTypes.get("minecraft:element_81") }; - static get Element82() { return BlockTypes.get("minecraft:element_82") }; - static get Element83() { return BlockTypes.get("minecraft:element_83") }; - static get Element84() { return BlockTypes.get("minecraft:element_84") }; - static get Element85() { return BlockTypes.get("minecraft:element_85") }; - static get Element86() { return BlockTypes.get("minecraft:element_86") }; - static get Element87() { return BlockTypes.get("minecraft:element_87") }; - static get Element88() { return BlockTypes.get("minecraft:element_88") }; - static get Element89() { return BlockTypes.get("minecraft:element_89") }; - static get Element9() { return BlockTypes.get("minecraft:element_9") }; - static get Element90() { return BlockTypes.get("minecraft:element_90") }; - static get Element91() { return BlockTypes.get("minecraft:element_91") }; - static get Element92() { return BlockTypes.get("minecraft:element_92") }; - static get Element93() { return BlockTypes.get("minecraft:element_93") }; - static get Element94() { return BlockTypes.get("minecraft:element_94") }; - static get Element95() { return BlockTypes.get("minecraft:element_95") }; - static get Element96() { return BlockTypes.get("minecraft:element_96") }; - static get Element97() { return BlockTypes.get("minecraft:element_97") }; - static get Element98() { return BlockTypes.get("minecraft:element_98") }; - static get Element99() { return BlockTypes.get("minecraft:element_99") }; - static get EmeraldBlock() { return BlockTypes.get("minecraft:emerald_block") }; - static get EmeraldOre() { return BlockTypes.get("minecraft:emerald_ore") }; - static get EnchantingTable() { return BlockTypes.get("minecraft:enchanting_table") }; - static get EndBrickStairs() { return BlockTypes.get("minecraft:end_brick_stairs") }; - static get EndBricks() { return BlockTypes.get("minecraft:end_bricks") }; - static get EndGateway() { return BlockTypes.get("minecraft:end_gateway") }; - static get EndPortal() { return BlockTypes.get("minecraft:end_portal") }; - static get EndPortalFrame() { return BlockTypes.get("minecraft:end_portal_frame") }; - static get EndRod() { return BlockTypes.get("minecraft:end_rod") }; - static get EndStone() { return BlockTypes.get("minecraft:end_stone") }; - static get EnderChest() { return BlockTypes.get("minecraft:ender_chest") }; - static get ExposedCopper() { return BlockTypes.get("minecraft:exposed_copper") }; - static get ExposedCutCopper() { return BlockTypes.get("minecraft:exposed_cut_copper") }; - static get ExposedCutCopperSlab() { return BlockTypes.get("minecraft:exposed_cut_copper_slab") }; - static get ExposedCutCopperStairs() { return BlockTypes.get("minecraft:exposed_cut_copper_stairs") }; - static get ExposedDoubleCutCopperSlab() { return BlockTypes.get("minecraft:exposed_double_cut_copper_slab") }; - static get Farmland() { return BlockTypes.get("minecraft:farmland") }; - static get FenceGate() { return BlockTypes.get("minecraft:fence_gate") }; - static get Fire() { return BlockTypes.get("minecraft:fire") }; - static get FireCoral() { return BlockTypes.get("minecraft:fire_coral") }; - static get FletchingTable() { return BlockTypes.get("minecraft:fletching_table") }; - static get FlowerPot() { return BlockTypes.get("minecraft:flower_pot") }; - static get FloweringAzalea() { return BlockTypes.get("minecraft:flowering_azalea") }; - static get FlowingLava() { return BlockTypes.get("minecraft:flowing_lava") }; - static get FlowingWater() { return BlockTypes.get("minecraft:flowing_water") }; - static get Frame() { return BlockTypes.get("minecraft:frame") }; - static get FrogSpawn() { return BlockTypes.get("minecraft:frog_spawn") }; - static get FrostedIce() { return BlockTypes.get("minecraft:frosted_ice") }; - static get Furnace() { return BlockTypes.get("minecraft:furnace") }; - static get GildedBlackstone() { return BlockTypes.get("minecraft:gilded_blackstone") }; - static get Glass() { return BlockTypes.get("minecraft:glass") }; - static get GlassPane() { return BlockTypes.get("minecraft:glass_pane") }; - static get GlowFrame() { return BlockTypes.get("minecraft:glow_frame") }; - static get GlowLichen() { return BlockTypes.get("minecraft:glow_lichen") }; - static get Glowingobsidian() { return BlockTypes.get("minecraft:glowingobsidian") }; - static get Glowstone() { return BlockTypes.get("minecraft:glowstone") }; - static get GoldBlock() { return BlockTypes.get("minecraft:gold_block") }; - static get GoldOre() { return BlockTypes.get("minecraft:gold_ore") }; - static get GoldenRail() { return BlockTypes.get("minecraft:golden_rail") }; - static get GraniteStairs() { return BlockTypes.get("minecraft:granite_stairs") }; - static get Grass() { return BlockTypes.get("minecraft:grass") }; - static get GrassPath() { return BlockTypes.get("minecraft:grass_path") }; - static get Gravel() { return BlockTypes.get("minecraft:gravel") }; - static get GrayCandle() { return BlockTypes.get("minecraft:gray_candle") }; - static get GrayCandleCake() { return BlockTypes.get("minecraft:gray_candle_cake") }; - static get GrayCarpet() { return BlockTypes.get("minecraft:gray_carpet") }; - static get GrayConcrete() { return BlockTypes.get("minecraft:gray_concrete") }; - static get GrayConcretePowder() { return BlockTypes.get("minecraft:gray_concrete_powder") }; - static get GrayGlazedTerracotta() { return BlockTypes.get("minecraft:gray_glazed_terracotta") }; - static get GrayShulkerBox() { return BlockTypes.get("minecraft:gray_shulker_box") }; - static get GrayStainedGlass() { return BlockTypes.get("minecraft:gray_stained_glass") }; - static get GrayStainedGlassPane() { return BlockTypes.get("minecraft:gray_stained_glass_pane") }; - static get GrayTerracotta() { return BlockTypes.get("minecraft:gray_terracotta") }; - static get GrayWool() { return BlockTypes.get("minecraft:gray_wool") }; - static get GreenCandle() { return BlockTypes.get("minecraft:green_candle") }; - static get GreenCandleCake() { return BlockTypes.get("minecraft:green_candle_cake") }; - static get GreenCarpet() { return BlockTypes.get("minecraft:green_carpet") }; - static get GreenConcrete() { return BlockTypes.get("minecraft:green_concrete") }; - static get GreenConcretePowder() { return BlockTypes.get("minecraft:green_concrete_powder") }; - static get GreenGlazedTerracotta() { return BlockTypes.get("minecraft:green_glazed_terracotta") }; - static get GreenShulkerBox() { return BlockTypes.get("minecraft:green_shulker_box") }; - static get GreenStainedGlass() { return BlockTypes.get("minecraft:green_stained_glass") }; - static get GreenStainedGlassPane() { return BlockTypes.get("minecraft:green_stained_glass_pane") }; - static get GreenTerracotta() { return BlockTypes.get("minecraft:green_terracotta") }; - static get GreenWool() { return BlockTypes.get("minecraft:green_wool") }; - static get Grindstone() { return BlockTypes.get("minecraft:grindstone") }; - static get HangingRoots() { return BlockTypes.get("minecraft:hanging_roots") }; - static get HardGlass() { return BlockTypes.get("minecraft:hard_glass") }; - static get HardGlassPane() { return BlockTypes.get("minecraft:hard_glass_pane") }; - static get HardStainedGlass() { return BlockTypes.get("minecraft:hard_stained_glass") }; - static get HardStainedGlassPane() { return BlockTypes.get("minecraft:hard_stained_glass_pane") }; - static get HardenedClay() { return BlockTypes.get("minecraft:hardened_clay") }; - static get HayBlock() { return BlockTypes.get("minecraft:hay_block") }; - static get HeavyWeightedPressurePlate() { return BlockTypes.get("minecraft:heavy_weighted_pressure_plate") }; - static get HoneyBlock() { return BlockTypes.get("minecraft:honey_block") }; - static get HoneycombBlock() { return BlockTypes.get("minecraft:honeycomb_block") }; - static get Hopper() { return BlockTypes.get("minecraft:hopper") }; - static get HornCoral() { return BlockTypes.get("minecraft:horn_coral") }; - static get Ice() { return BlockTypes.get("minecraft:ice") }; - static get InfestedDeepslate() { return BlockTypes.get("minecraft:infested_deepslate") }; - static get InfoUpdate() { return BlockTypes.get("minecraft:info_update") }; - static get InfoUpdate2() { return BlockTypes.get("minecraft:info_update2") }; - static get InvisibleBedrock() { return BlockTypes.get("minecraft:invisible_bedrock") }; - static get IronBars() { return BlockTypes.get("minecraft:iron_bars") }; - static get IronBlock() { return BlockTypes.get("minecraft:iron_block") }; - static get IronDoor() { return BlockTypes.get("minecraft:iron_door") }; - static get IronOre() { return BlockTypes.get("minecraft:iron_ore") }; - static get IronTrapdoor() { return BlockTypes.get("minecraft:iron_trapdoor") }; - static get Jigsaw() { return BlockTypes.get("minecraft:jigsaw") }; - static get Jukebox() { return BlockTypes.get("minecraft:jukebox") }; - static get JungleButton() { return BlockTypes.get("minecraft:jungle_button") }; - static get JungleDoor() { return BlockTypes.get("minecraft:jungle_door") }; - static get JungleFence() { return BlockTypes.get("minecraft:jungle_fence") }; - static get JungleFenceGate() { return BlockTypes.get("minecraft:jungle_fence_gate") }; - static get JungleHangingSign() { return BlockTypes.get("minecraft:jungle_hanging_sign") }; - static get JungleLog() { return BlockTypes.get("minecraft:jungle_log") }; - static get JunglePressurePlate() { return BlockTypes.get("minecraft:jungle_pressure_plate") }; - static get JungleStairs() { return BlockTypes.get("minecraft:jungle_stairs") }; - static get JungleStandingSign() { return BlockTypes.get("minecraft:jungle_standing_sign") }; - static get JungleTrapdoor() { return BlockTypes.get("minecraft:jungle_trapdoor") }; - static get JungleWallSign() { return BlockTypes.get("minecraft:jungle_wall_sign") }; - static get Kelp() { return BlockTypes.get("minecraft:kelp") }; - static get Ladder() { return BlockTypes.get("minecraft:ladder") }; - static get Lantern() { return BlockTypes.get("minecraft:lantern") }; - static get LapisBlock() { return BlockTypes.get("minecraft:lapis_block") }; - static get LapisOre() { return BlockTypes.get("minecraft:lapis_ore") }; - static get LargeAmethystBud() { return BlockTypes.get("minecraft:large_amethyst_bud") }; - static get Lava() { return BlockTypes.get("minecraft:lava") }; - static get Leaves() { return BlockTypes.get("minecraft:leaves") }; - static get Leaves2() { return BlockTypes.get("minecraft:leaves2") }; - static get Lectern() { return BlockTypes.get("minecraft:lectern") }; - static get Lever() { return BlockTypes.get("minecraft:lever") }; - static get LightBlock() { return BlockTypes.get("minecraft:light_block") }; - static get LightBlueCandle() { return BlockTypes.get("minecraft:light_blue_candle") }; - static get LightBlueCandleCake() { return BlockTypes.get("minecraft:light_blue_candle_cake") }; - static get LightBlueCarpet() { return BlockTypes.get("minecraft:light_blue_carpet") }; - static get LightBlueConcrete() { return BlockTypes.get("minecraft:light_blue_concrete") }; - static get LightBlueConcretePowder() { return BlockTypes.get("minecraft:light_blue_concrete_powder") }; - static get LightBlueGlazedTerracotta() { return BlockTypes.get("minecraft:light_blue_glazed_terracotta") }; - static get LightBlueShulkerBox() { return BlockTypes.get("minecraft:light_blue_shulker_box") }; - static get LightBlueStainedGlass() { return BlockTypes.get("minecraft:light_blue_stained_glass") }; - static get LightBlueStainedGlassPane() { return BlockTypes.get("minecraft:light_blue_stained_glass_pane") }; - static get LightBlueTerracotta() { return BlockTypes.get("minecraft:light_blue_terracotta") }; - static get LightBlueWool() { return BlockTypes.get("minecraft:light_blue_wool") }; - static get LightGrayCandle() { return BlockTypes.get("minecraft:light_gray_candle") }; - static get LightGrayCandleCake() { return BlockTypes.get("minecraft:light_gray_candle_cake") }; - static get LightGrayCarpet() { return BlockTypes.get("minecraft:light_gray_carpet") }; - static get LightGrayConcrete() { return BlockTypes.get("minecraft:light_gray_concrete") }; - static get LightGrayConcretePowder() { return BlockTypes.get("minecraft:light_gray_concrete_powder") }; - static get LightGrayShulkerBox() { return BlockTypes.get("minecraft:light_gray_shulker_box") }; - static get LightGrayStainedGlass() { return BlockTypes.get("minecraft:light_gray_stained_glass") }; - static get LightGrayStainedGlassPane() { return BlockTypes.get("minecraft:light_gray_stained_glass_pane") }; - static get LightGrayTerracotta() { return BlockTypes.get("minecraft:light_gray_terracotta") }; - static get LightGrayWool() { return BlockTypes.get("minecraft:light_gray_wool") }; - static get LightWeightedPressurePlate() { return BlockTypes.get("minecraft:light_weighted_pressure_plate") }; - static get LightningRod() { return BlockTypes.get("minecraft:lightning_rod") }; - static get LimeCandle() { return BlockTypes.get("minecraft:lime_candle") }; - static get LimeCandleCake() { return BlockTypes.get("minecraft:lime_candle_cake") }; - static get LimeCarpet() { return BlockTypes.get("minecraft:lime_carpet") }; - static get LimeConcrete() { return BlockTypes.get("minecraft:lime_concrete") }; - static get LimeConcretePowder() { return BlockTypes.get("minecraft:lime_concrete_powder") }; - static get LimeGlazedTerracotta() { return BlockTypes.get("minecraft:lime_glazed_terracotta") }; - static get LimeShulkerBox() { return BlockTypes.get("minecraft:lime_shulker_box") }; - static get LimeStainedGlass() { return BlockTypes.get("minecraft:lime_stained_glass") }; - static get LimeStainedGlassPane() { return BlockTypes.get("minecraft:lime_stained_glass_pane") }; - static get LimeTerracotta() { return BlockTypes.get("minecraft:lime_terracotta") }; - static get LimeWool() { return BlockTypes.get("minecraft:lime_wool") }; - static get LitBlastFurnace() { return BlockTypes.get("minecraft:lit_blast_furnace") }; - static get LitDeepslateRedstoneOre() { return BlockTypes.get("minecraft:lit_deepslate_redstone_ore") }; - static get LitFurnace() { return BlockTypes.get("minecraft:lit_furnace") }; - static get LitPumpkin() { return BlockTypes.get("minecraft:lit_pumpkin") }; - static get LitRedstoneLamp() { return BlockTypes.get("minecraft:lit_redstone_lamp") }; - static get LitRedstoneOre() { return BlockTypes.get("minecraft:lit_redstone_ore") }; - static get LitSmoker() { return BlockTypes.get("minecraft:lit_smoker") }; - static get Lodestone() { return BlockTypes.get("minecraft:lodestone") }; - static get Loom() { return BlockTypes.get("minecraft:loom") }; - static get MagentaCandle() { return BlockTypes.get("minecraft:magenta_candle") }; - static get MagentaCandleCake() { return BlockTypes.get("minecraft:magenta_candle_cake") }; - static get MagentaCarpet() { return BlockTypes.get("minecraft:magenta_carpet") }; - static get MagentaConcrete() { return BlockTypes.get("minecraft:magenta_concrete") }; - static get MagentaConcretePowder() { return BlockTypes.get("minecraft:magenta_concrete_powder") }; - static get MagentaGlazedTerracotta() { return BlockTypes.get("minecraft:magenta_glazed_terracotta") }; - static get MagentaShulkerBox() { return BlockTypes.get("minecraft:magenta_shulker_box") }; - static get MagentaStainedGlass() { return BlockTypes.get("minecraft:magenta_stained_glass") }; - static get MagentaStainedGlassPane() { return BlockTypes.get("minecraft:magenta_stained_glass_pane") }; - static get MagentaTerracotta() { return BlockTypes.get("minecraft:magenta_terracotta") }; - static get MagentaWool() { return BlockTypes.get("minecraft:magenta_wool") }; - static get Magma() { return BlockTypes.get("minecraft:magma") }; - static get MangroveButton() { return BlockTypes.get("minecraft:mangrove_button") }; - static get MangroveDoor() { return BlockTypes.get("minecraft:mangrove_door") }; - static get MangroveDoubleSlab() { return BlockTypes.get("minecraft:mangrove_double_slab") }; - static get MangroveFence() { return BlockTypes.get("minecraft:mangrove_fence") }; - static get MangroveFenceGate() { return BlockTypes.get("minecraft:mangrove_fence_gate") }; - static get MangroveHangingSign() { return BlockTypes.get("minecraft:mangrove_hanging_sign") }; - static get MangroveLeaves() { return BlockTypes.get("minecraft:mangrove_leaves") }; - static get MangroveLog() { return BlockTypes.get("minecraft:mangrove_log") }; - static get MangrovePlanks() { return BlockTypes.get("minecraft:mangrove_planks") }; - static get MangrovePressurePlate() { return BlockTypes.get("minecraft:mangrove_pressure_plate") }; - static get MangrovePropagule() { return BlockTypes.get("minecraft:mangrove_propagule") }; - static get MangroveRoots() { return BlockTypes.get("minecraft:mangrove_roots") }; - static get MangroveSlab() { return BlockTypes.get("minecraft:mangrove_slab") }; - static get MangroveStairs() { return BlockTypes.get("minecraft:mangrove_stairs") }; - static get MangroveStandingSign() { return BlockTypes.get("minecraft:mangrove_standing_sign") }; - static get MangroveTrapdoor() { return BlockTypes.get("minecraft:mangrove_trapdoor") }; - static get MangroveWallSign() { return BlockTypes.get("minecraft:mangrove_wall_sign") }; - static get MangroveWood() { return BlockTypes.get("minecraft:mangrove_wood") }; - static get MediumAmethystBud() { return BlockTypes.get("minecraft:medium_amethyst_bud") }; - static get MelonBlock() { return BlockTypes.get("minecraft:melon_block") }; - static get MelonStem() { return BlockTypes.get("minecraft:melon_stem") }; - static get MobSpawner() { return BlockTypes.get("minecraft:mob_spawner") }; - static get MonsterEgg() { return BlockTypes.get("minecraft:monster_egg") }; - static get MossBlock() { return BlockTypes.get("minecraft:moss_block") }; - static get MossCarpet() { return BlockTypes.get("minecraft:moss_carpet") }; - static get MossyCobblestone() { return BlockTypes.get("minecraft:mossy_cobblestone") }; - static get MossyCobblestoneStairs() { return BlockTypes.get("minecraft:mossy_cobblestone_stairs") }; - static get MossyStoneBrickStairs() { return BlockTypes.get("minecraft:mossy_stone_brick_stairs") }; - static get MovingBlock() { return BlockTypes.get("minecraft:moving_block") }; - static get Mud() { return BlockTypes.get("minecraft:mud") }; - static get MudBrickDoubleSlab() { return BlockTypes.get("minecraft:mud_brick_double_slab") }; - static get MudBrickSlab() { return BlockTypes.get("minecraft:mud_brick_slab") }; - static get MudBrickStairs() { return BlockTypes.get("minecraft:mud_brick_stairs") }; - static get MudBrickWall() { return BlockTypes.get("minecraft:mud_brick_wall") }; - static get MudBricks() { return BlockTypes.get("minecraft:mud_bricks") }; - static get MuddyMangroveRoots() { return BlockTypes.get("minecraft:muddy_mangrove_roots") }; - static get Mycelium() { return BlockTypes.get("minecraft:mycelium") }; - static get NetherBrick() { return BlockTypes.get("minecraft:nether_brick") }; - static get NetherBrickFence() { return BlockTypes.get("minecraft:nether_brick_fence") }; - static get NetherBrickStairs() { return BlockTypes.get("minecraft:nether_brick_stairs") }; - static get NetherGoldOre() { return BlockTypes.get("minecraft:nether_gold_ore") }; - static get NetherSprouts() { return BlockTypes.get("minecraft:nether_sprouts") }; - static get NetherWart() { return BlockTypes.get("minecraft:nether_wart") }; - static get NetherWartBlock() { return BlockTypes.get("minecraft:nether_wart_block") }; - static get NetheriteBlock() { return BlockTypes.get("minecraft:netherite_block") }; - static get Netherrack() { return BlockTypes.get("minecraft:netherrack") }; - static get Netherreactor() { return BlockTypes.get("minecraft:netherreactor") }; - static get NormalStoneStairs() { return BlockTypes.get("minecraft:normal_stone_stairs") }; - static get Noteblock() { return BlockTypes.get("minecraft:noteblock") }; - static get OakFence() { return BlockTypes.get("minecraft:oak_fence") }; - static get OakHangingSign() { return BlockTypes.get("minecraft:oak_hanging_sign") }; - static get OakLog() { return BlockTypes.get("minecraft:oak_log") }; - static get OakStairs() { return BlockTypes.get("minecraft:oak_stairs") }; - static get Observer() { return BlockTypes.get("minecraft:observer") }; - static get Obsidian() { return BlockTypes.get("minecraft:obsidian") }; - static get OchreFroglight() { return BlockTypes.get("minecraft:ochre_froglight") }; - static get OrangeCandle() { return BlockTypes.get("minecraft:orange_candle") }; - static get OrangeCandleCake() { return BlockTypes.get("minecraft:orange_candle_cake") }; - static get OrangeCarpet() { return BlockTypes.get("minecraft:orange_carpet") }; - static get OrangeConcrete() { return BlockTypes.get("minecraft:orange_concrete") }; - static get OrangeConcretePowder() { return BlockTypes.get("minecraft:orange_concrete_powder") }; - static get OrangeGlazedTerracotta() { return BlockTypes.get("minecraft:orange_glazed_terracotta") }; - static get OrangeShulkerBox() { return BlockTypes.get("minecraft:orange_shulker_box") }; - static get OrangeStainedGlass() { return BlockTypes.get("minecraft:orange_stained_glass") }; - static get OrangeStainedGlassPane() { return BlockTypes.get("minecraft:orange_stained_glass_pane") }; - static get OrangeTerracotta() { return BlockTypes.get("minecraft:orange_terracotta") }; - static get OrangeWool() { return BlockTypes.get("minecraft:orange_wool") }; - static get OxidizedCopper() { return BlockTypes.get("minecraft:oxidized_copper") }; - static get OxidizedCutCopper() { return BlockTypes.get("minecraft:oxidized_cut_copper") }; - static get OxidizedCutCopperSlab() { return BlockTypes.get("minecraft:oxidized_cut_copper_slab") }; - static get OxidizedCutCopperStairs() { return BlockTypes.get("minecraft:oxidized_cut_copper_stairs") }; - static get OxidizedDoubleCutCopperSlab() { return BlockTypes.get("minecraft:oxidized_double_cut_copper_slab") }; - static get PackedIce() { return BlockTypes.get("minecraft:packed_ice") }; - static get PackedMud() { return BlockTypes.get("minecraft:packed_mud") }; - static get PearlescentFroglight() { return BlockTypes.get("minecraft:pearlescent_froglight") }; - static get PinkCandle() { return BlockTypes.get("minecraft:pink_candle") }; - static get PinkCandleCake() { return BlockTypes.get("minecraft:pink_candle_cake") }; - static get PinkCarpet() { return BlockTypes.get("minecraft:pink_carpet") }; - static get PinkConcrete() { return BlockTypes.get("minecraft:pink_concrete") }; - static get PinkConcretePowder() { return BlockTypes.get("minecraft:pink_concrete_powder") }; - static get PinkGlazedTerracotta() { return BlockTypes.get("minecraft:pink_glazed_terracotta") }; - static get PinkPetals() { return BlockTypes.get("minecraft:pink_petals") }; - static get PinkShulkerBox() { return BlockTypes.get("minecraft:pink_shulker_box") }; - static get PinkStainedGlass() { return BlockTypes.get("minecraft:pink_stained_glass") }; - static get PinkStainedGlassPane() { return BlockTypes.get("minecraft:pink_stained_glass_pane") }; - static get PinkTerracotta() { return BlockTypes.get("minecraft:pink_terracotta") }; - static get PinkWool() { return BlockTypes.get("minecraft:pink_wool") }; - static get Piston() { return BlockTypes.get("minecraft:piston") }; - static get PistonArmCollision() { return BlockTypes.get("minecraft:piston_arm_collision") }; - static get PitcherCrop() { return BlockTypes.get("minecraft:pitcher_crop") }; - static get PitcherPlant() { return BlockTypes.get("minecraft:pitcher_plant") }; - static get Planks() { return BlockTypes.get("minecraft:planks") }; - static get Podzol() { return BlockTypes.get("minecraft:podzol") }; - static get PointedDripstone() { return BlockTypes.get("minecraft:pointed_dripstone") }; - static get PolishedAndesiteStairs() { return BlockTypes.get("minecraft:polished_andesite_stairs") }; - static get PolishedBasalt() { return BlockTypes.get("minecraft:polished_basalt") }; - static get PolishedBlackstone() { return BlockTypes.get("minecraft:polished_blackstone") }; - static get PolishedBlackstoneBrickDoubleSlab() { return BlockTypes.get("minecraft:polished_blackstone_brick_double_slab") }; - static get PolishedBlackstoneBrickSlab() { return BlockTypes.get("minecraft:polished_blackstone_brick_slab") }; - static get PolishedBlackstoneBrickStairs() { return BlockTypes.get("minecraft:polished_blackstone_brick_stairs") }; - static get PolishedBlackstoneBrickWall() { return BlockTypes.get("minecraft:polished_blackstone_brick_wall") }; - static get PolishedBlackstoneBricks() { return BlockTypes.get("minecraft:polished_blackstone_bricks") }; - static get PolishedBlackstoneButton() { return BlockTypes.get("minecraft:polished_blackstone_button") }; - static get PolishedBlackstoneDoubleSlab() { return BlockTypes.get("minecraft:polished_blackstone_double_slab") }; - static get PolishedBlackstonePressurePlate() { return BlockTypes.get("minecraft:polished_blackstone_pressure_plate") }; - static get PolishedBlackstoneSlab() { return BlockTypes.get("minecraft:polished_blackstone_slab") }; - static get PolishedBlackstoneStairs() { return BlockTypes.get("minecraft:polished_blackstone_stairs") }; - static get PolishedBlackstoneWall() { return BlockTypes.get("minecraft:polished_blackstone_wall") }; - static get PolishedDeepslate() { return BlockTypes.get("minecraft:polished_deepslate") }; - static get PolishedDeepslateDoubleSlab() { return BlockTypes.get("minecraft:polished_deepslate_double_slab") }; - static get PolishedDeepslateSlab() { return BlockTypes.get("minecraft:polished_deepslate_slab") }; - static get PolishedDeepslateStairs() { return BlockTypes.get("minecraft:polished_deepslate_stairs") }; - static get PolishedDeepslateWall() { return BlockTypes.get("minecraft:polished_deepslate_wall") }; - static get PolishedDioriteStairs() { return BlockTypes.get("minecraft:polished_diorite_stairs") }; - static get PolishedGraniteStairs() { return BlockTypes.get("minecraft:polished_granite_stairs") }; - static get Portal() { return BlockTypes.get("minecraft:portal") }; - static get Potatoes() { return BlockTypes.get("minecraft:potatoes") }; - static get PowderSnow() { return BlockTypes.get("minecraft:powder_snow") }; - static get PoweredComparator() { return BlockTypes.get("minecraft:powered_comparator") }; - static get PoweredRepeater() { return BlockTypes.get("minecraft:powered_repeater") }; - static get Prismarine() { return BlockTypes.get("minecraft:prismarine") }; - static get PrismarineBricksStairs() { return BlockTypes.get("minecraft:prismarine_bricks_stairs") }; - static get PrismarineStairs() { return BlockTypes.get("minecraft:prismarine_stairs") }; - static get Pumpkin() { return BlockTypes.get("minecraft:pumpkin") }; - static get PumpkinStem() { return BlockTypes.get("minecraft:pumpkin_stem") }; - static get PurpleCandle() { return BlockTypes.get("minecraft:purple_candle") }; - static get PurpleCandleCake() { return BlockTypes.get("minecraft:purple_candle_cake") }; - static get PurpleCarpet() { return BlockTypes.get("minecraft:purple_carpet") }; - static get PurpleConcrete() { return BlockTypes.get("minecraft:purple_concrete") }; - static get PurpleConcretePowder() { return BlockTypes.get("minecraft:purple_concrete_powder") }; - static get PurpleGlazedTerracotta() { return BlockTypes.get("minecraft:purple_glazed_terracotta") }; - static get PurpleShulkerBox() { return BlockTypes.get("minecraft:purple_shulker_box") }; - static get PurpleStainedGlass() { return BlockTypes.get("minecraft:purple_stained_glass") }; - static get PurpleStainedGlassPane() { return BlockTypes.get("minecraft:purple_stained_glass_pane") }; - static get PurpleTerracotta() { return BlockTypes.get("minecraft:purple_terracotta") }; - static get PurpleWool() { return BlockTypes.get("minecraft:purple_wool") }; - static get PurpurBlock() { return BlockTypes.get("minecraft:purpur_block") }; - static get PurpurStairs() { return BlockTypes.get("minecraft:purpur_stairs") }; - static get QuartzBlock() { return BlockTypes.get("minecraft:quartz_block") }; - static get QuartzBricks() { return BlockTypes.get("minecraft:quartz_bricks") }; - static get QuartzOre() { return BlockTypes.get("minecraft:quartz_ore") }; - static get QuartzStairs() { return BlockTypes.get("minecraft:quartz_stairs") }; - static get Rail() { return BlockTypes.get("minecraft:rail") }; - static get RawCopperBlock() { return BlockTypes.get("minecraft:raw_copper_block") }; - static get RawGoldBlock() { return BlockTypes.get("minecraft:raw_gold_block") }; - static get RawIronBlock() { return BlockTypes.get("minecraft:raw_iron_block") }; - static get RedCandle() { return BlockTypes.get("minecraft:red_candle") }; - static get RedCandleCake() { return BlockTypes.get("minecraft:red_candle_cake") }; - static get RedCarpet() { return BlockTypes.get("minecraft:red_carpet") }; - static get RedConcrete() { return BlockTypes.get("minecraft:red_concrete") }; - static get RedConcretePowder() { return BlockTypes.get("minecraft:red_concrete_powder") }; - static get RedFlower() { return BlockTypes.get("minecraft:red_flower") }; - static get RedGlazedTerracotta() { return BlockTypes.get("minecraft:red_glazed_terracotta") }; - static get RedMushroom() { return BlockTypes.get("minecraft:red_mushroom") }; - static get RedMushroomBlock() { return BlockTypes.get("minecraft:red_mushroom_block") }; - static get RedNetherBrick() { return BlockTypes.get("minecraft:red_nether_brick") }; - static get RedNetherBrickStairs() { return BlockTypes.get("minecraft:red_nether_brick_stairs") }; - static get RedSandstone() { return BlockTypes.get("minecraft:red_sandstone") }; - static get RedSandstoneStairs() { return BlockTypes.get("minecraft:red_sandstone_stairs") }; - static get RedShulkerBox() { return BlockTypes.get("minecraft:red_shulker_box") }; - static get RedStainedGlass() { return BlockTypes.get("minecraft:red_stained_glass") }; - static get RedStainedGlassPane() { return BlockTypes.get("minecraft:red_stained_glass_pane") }; - static get RedTerracotta() { return BlockTypes.get("minecraft:red_terracotta") }; - static get RedWool() { return BlockTypes.get("minecraft:red_wool") }; - static get RedstoneBlock() { return BlockTypes.get("minecraft:redstone_block") }; - static get RedstoneLamp() { return BlockTypes.get("minecraft:redstone_lamp") }; - static get RedstoneOre() { return BlockTypes.get("minecraft:redstone_ore") }; - static get RedstoneTorch() { return BlockTypes.get("minecraft:redstone_torch") }; - static get RedstoneWire() { return BlockTypes.get("minecraft:redstone_wire") }; - static get Reeds() { return BlockTypes.get("minecraft:reeds") }; - static get ReinforcedDeepslate() { return BlockTypes.get("minecraft:reinforced_deepslate") }; - static get RepeatingCommandBlock() { return BlockTypes.get("minecraft:repeating_command_block") }; - static get Reserved6() { return BlockTypes.get("minecraft:reserved6") }; - static get RespawnAnchor() { return BlockTypes.get("minecraft:respawn_anchor") }; - static get Sand() { return BlockTypes.get("minecraft:sand") }; - static get Sandstone() { return BlockTypes.get("minecraft:sandstone") }; - static get SandstoneStairs() { return BlockTypes.get("minecraft:sandstone_stairs") }; - static get Sapling() { return BlockTypes.get("minecraft:sapling") }; - static get Scaffolding() { return BlockTypes.get("minecraft:scaffolding") }; - static get Sculk() { return BlockTypes.get("minecraft:sculk") }; - static get SculkCatalyst() { return BlockTypes.get("minecraft:sculk_catalyst") }; - static get SculkSensor() { return BlockTypes.get("minecraft:sculk_sensor") }; - static get SculkShrieker() { return BlockTypes.get("minecraft:sculk_shrieker") }; - static get SculkVein() { return BlockTypes.get("minecraft:sculk_vein") }; - static get SeaLantern() { return BlockTypes.get("minecraft:sea_lantern") }; - static get SeaPickle() { return BlockTypes.get("minecraft:sea_pickle") }; - static get Seagrass() { return BlockTypes.get("minecraft:seagrass") }; - static get Shroomlight() { return BlockTypes.get("minecraft:shroomlight") }; - static get SilverGlazedTerracotta() { return BlockTypes.get("minecraft:silver_glazed_terracotta") }; - static get Skull() { return BlockTypes.get("minecraft:skull") }; - static get Slime() { return BlockTypes.get("minecraft:slime") }; - static get SmallAmethystBud() { return BlockTypes.get("minecraft:small_amethyst_bud") }; - static get SmallDripleafBlock() { return BlockTypes.get("minecraft:small_dripleaf_block") }; - static get SmithingTable() { return BlockTypes.get("minecraft:smithing_table") }; - static get Smoker() { return BlockTypes.get("minecraft:smoker") }; - static get SmoothBasalt() { return BlockTypes.get("minecraft:smooth_basalt") }; - static get SmoothQuartzStairs() { return BlockTypes.get("minecraft:smooth_quartz_stairs") }; - static get SmoothRedSandstoneStairs() { return BlockTypes.get("minecraft:smooth_red_sandstone_stairs") }; - static get SmoothSandstoneStairs() { return BlockTypes.get("minecraft:smooth_sandstone_stairs") }; - static get SmoothStone() { return BlockTypes.get("minecraft:smooth_stone") }; - static get SnifferEgg() { return BlockTypes.get("minecraft:sniffer_egg") }; - static get Snow() { return BlockTypes.get("minecraft:snow") }; - static get SnowLayer() { return BlockTypes.get("minecraft:snow_layer") }; - static get SoulCampfire() { return BlockTypes.get("minecraft:soul_campfire") }; - static get SoulFire() { return BlockTypes.get("minecraft:soul_fire") }; - static get SoulLantern() { return BlockTypes.get("minecraft:soul_lantern") }; - static get SoulSand() { return BlockTypes.get("minecraft:soul_sand") }; - static get SoulSoil() { return BlockTypes.get("minecraft:soul_soil") }; - static get SoulTorch() { return BlockTypes.get("minecraft:soul_torch") }; - static get Sponge() { return BlockTypes.get("minecraft:sponge") }; - static get SporeBlossom() { return BlockTypes.get("minecraft:spore_blossom") }; - static get SpruceButton() { return BlockTypes.get("minecraft:spruce_button") }; - static get SpruceDoor() { return BlockTypes.get("minecraft:spruce_door") }; - static get SpruceFence() { return BlockTypes.get("minecraft:spruce_fence") }; - static get SpruceFenceGate() { return BlockTypes.get("minecraft:spruce_fence_gate") }; - static get SpruceHangingSign() { return BlockTypes.get("minecraft:spruce_hanging_sign") }; - static get SpruceLog() { return BlockTypes.get("minecraft:spruce_log") }; - static get SprucePressurePlate() { return BlockTypes.get("minecraft:spruce_pressure_plate") }; - static get SpruceStairs() { return BlockTypes.get("minecraft:spruce_stairs") }; - static get SpruceStandingSign() { return BlockTypes.get("minecraft:spruce_standing_sign") }; - static get SpruceTrapdoor() { return BlockTypes.get("minecraft:spruce_trapdoor") }; - static get SpruceWallSign() { return BlockTypes.get("minecraft:spruce_wall_sign") }; - static get StandingBanner() { return BlockTypes.get("minecraft:standing_banner") }; - static get StandingSign() { return BlockTypes.get("minecraft:standing_sign") }; - static get StickyPiston() { return BlockTypes.get("minecraft:sticky_piston") }; - static get StickyPistonArmCollision() { return BlockTypes.get("minecraft:sticky_piston_arm_collision") }; - static get Stone() { return BlockTypes.get("minecraft:stone") }; - static get StoneBlockSlab() { return BlockTypes.get("minecraft:stone_block_slab") }; - static get StoneBlockSlab2() { return BlockTypes.get("minecraft:stone_block_slab2") }; - static get StoneBlockSlab3() { return BlockTypes.get("minecraft:stone_block_slab3") }; - static get StoneBlockSlab4() { return BlockTypes.get("minecraft:stone_block_slab4") }; - static get StoneBrickStairs() { return BlockTypes.get("minecraft:stone_brick_stairs") }; - static get StoneButton() { return BlockTypes.get("minecraft:stone_button") }; - static get StonePressurePlate() { return BlockTypes.get("minecraft:stone_pressure_plate") }; - static get StoneStairs() { return BlockTypes.get("minecraft:stone_stairs") }; - static get Stonebrick() { return BlockTypes.get("minecraft:stonebrick") }; - static get Stonecutter() { return BlockTypes.get("minecraft:stonecutter") }; - static get StonecutterBlock() { return BlockTypes.get("minecraft:stonecutter_block") }; - static get StrippedAcaciaLog() { return BlockTypes.get("minecraft:stripped_acacia_log") }; - static get StrippedBambooBlock() { return BlockTypes.get("minecraft:stripped_bamboo_block") }; - static get StrippedBirchLog() { return BlockTypes.get("minecraft:stripped_birch_log") }; - static get StrippedCherryLog() { return BlockTypes.get("minecraft:stripped_cherry_log") }; - static get StrippedCherryWood() { return BlockTypes.get("minecraft:stripped_cherry_wood") }; - static get StrippedCrimsonHyphae() { return BlockTypes.get("minecraft:stripped_crimson_hyphae") }; - static get StrippedCrimsonStem() { return BlockTypes.get("minecraft:stripped_crimson_stem") }; - static get StrippedDarkOakLog() { return BlockTypes.get("minecraft:stripped_dark_oak_log") }; - static get StrippedJungleLog() { return BlockTypes.get("minecraft:stripped_jungle_log") }; - static get StrippedMangroveLog() { return BlockTypes.get("minecraft:stripped_mangrove_log") }; - static get StrippedMangroveWood() { return BlockTypes.get("minecraft:stripped_mangrove_wood") }; - static get StrippedOakLog() { return BlockTypes.get("minecraft:stripped_oak_log") }; - static get StrippedSpruceLog() { return BlockTypes.get("minecraft:stripped_spruce_log") }; - static get StrippedWarpedHyphae() { return BlockTypes.get("minecraft:stripped_warped_hyphae") }; - static get StrippedWarpedStem() { return BlockTypes.get("minecraft:stripped_warped_stem") }; - static get StructureBlock() { return BlockTypes.get("minecraft:structure_block") }; - static get StructureVoid() { return BlockTypes.get("minecraft:structure_void") }; - static get SuspiciousGravel() { return BlockTypes.get("minecraft:suspicious_gravel") }; - static get SuspiciousSand() { return BlockTypes.get("minecraft:suspicious_sand") }; - static get SweetBerryBush() { return BlockTypes.get("minecraft:sweet_berry_bush") }; - static get Tallgrass() { return BlockTypes.get("minecraft:tallgrass") }; - static get Target() { return BlockTypes.get("minecraft:target") }; - static get TintedGlass() { return BlockTypes.get("minecraft:tinted_glass") }; - static get Tnt() { return BlockTypes.get("minecraft:tnt") }; - static get Torch() { return BlockTypes.get("minecraft:torch") }; - static get Torchflower() { return BlockTypes.get("minecraft:torchflower") }; - static get TorchflowerCrop() { return BlockTypes.get("minecraft:torchflower_crop") }; - static get Trapdoor() { return BlockTypes.get("minecraft:trapdoor") }; - static get TrappedChest() { return BlockTypes.get("minecraft:trapped_chest") }; - static get TripWire() { return BlockTypes.get("minecraft:trip_wire") }; - static get TripwireHook() { return BlockTypes.get("minecraft:tripwire_hook") }; - static get TubeCoral() { return BlockTypes.get("minecraft:tube_coral") }; - static get Tuff() { return BlockTypes.get("minecraft:tuff") }; - static get TurtleEgg() { return BlockTypes.get("minecraft:turtle_egg") }; - static get TwistingVines() { return BlockTypes.get("minecraft:twisting_vines") }; - static get UnderwaterTorch() { return BlockTypes.get("minecraft:underwater_torch") }; - static get UndyedShulkerBox() { return BlockTypes.get("minecraft:undyed_shulker_box") }; - static get Unknown() { return BlockTypes.get("minecraft:unknown") }; - static get UnlitRedstoneTorch() { return BlockTypes.get("minecraft:unlit_redstone_torch") }; - static get UnpoweredComparator() { return BlockTypes.get("minecraft:unpowered_comparator") }; - static get UnpoweredRepeater() { return BlockTypes.get("minecraft:unpowered_repeater") }; - static get VerdantFroglight() { return BlockTypes.get("minecraft:verdant_froglight") }; - static get Vine() { return BlockTypes.get("minecraft:vine") }; - static get WallBanner() { return BlockTypes.get("minecraft:wall_banner") }; - static get WallSign() { return BlockTypes.get("minecraft:wall_sign") }; - static get WarpedButton() { return BlockTypes.get("minecraft:warped_button") }; - static get WarpedDoor() { return BlockTypes.get("minecraft:warped_door") }; - static get WarpedDoubleSlab() { return BlockTypes.get("minecraft:warped_double_slab") }; - static get WarpedFence() { return BlockTypes.get("minecraft:warped_fence") }; - static get WarpedFenceGate() { return BlockTypes.get("minecraft:warped_fence_gate") }; - static get WarpedFungus() { return BlockTypes.get("minecraft:warped_fungus") }; - static get WarpedHangingSign() { return BlockTypes.get("minecraft:warped_hanging_sign") }; - static get WarpedHyphae() { return BlockTypes.get("minecraft:warped_hyphae") }; - static get WarpedNylium() { return BlockTypes.get("minecraft:warped_nylium") }; - static get WarpedPlanks() { return BlockTypes.get("minecraft:warped_planks") }; - static get WarpedPressurePlate() { return BlockTypes.get("minecraft:warped_pressure_plate") }; - static get WarpedRoots() { return BlockTypes.get("minecraft:warped_roots") }; - static get WarpedSlab() { return BlockTypes.get("minecraft:warped_slab") }; - static get WarpedStairs() { return BlockTypes.get("minecraft:warped_stairs") }; - static get WarpedStandingSign() { return BlockTypes.get("minecraft:warped_standing_sign") }; - static get WarpedStem() { return BlockTypes.get("minecraft:warped_stem") }; - static get WarpedTrapdoor() { return BlockTypes.get("minecraft:warped_trapdoor") }; - static get WarpedWallSign() { return BlockTypes.get("minecraft:warped_wall_sign") }; - static get WarpedWartBlock() { return BlockTypes.get("minecraft:warped_wart_block") }; - static get Water() { return BlockTypes.get("minecraft:water") }; - static get Waterlily() { return BlockTypes.get("minecraft:waterlily") }; - static get WaxedCopper() { return BlockTypes.get("minecraft:waxed_copper") }; - static get WaxedCutCopper() { return BlockTypes.get("minecraft:waxed_cut_copper") }; - static get WaxedCutCopperSlab() { return BlockTypes.get("minecraft:waxed_cut_copper_slab") }; - static get WaxedCutCopperStairs() { return BlockTypes.get("minecraft:waxed_cut_copper_stairs") }; - static get WaxedDoubleCutCopperSlab() { return BlockTypes.get("minecraft:waxed_double_cut_copper_slab") }; - static get WaxedExposedCopper() { return BlockTypes.get("minecraft:waxed_exposed_copper") }; - static get WaxedExposedCutCopper() { return BlockTypes.get("minecraft:waxed_exposed_cut_copper") }; - static get WaxedExposedCutCopperSlab() { return BlockTypes.get("minecraft:waxed_exposed_cut_copper_slab") }; - static get WaxedExposedCutCopperStairs() { return BlockTypes.get("minecraft:waxed_exposed_cut_copper_stairs") }; - static get WaxedExposedDoubleCutCopperSlab() { return BlockTypes.get("minecraft:waxed_exposed_double_cut_copper_slab") }; - static get WaxedOxidizedCopper() { return BlockTypes.get("minecraft:waxed_oxidized_copper") }; - static get WaxedOxidizedCutCopper() { return BlockTypes.get("minecraft:waxed_oxidized_cut_copper") }; - static get WaxedOxidizedCutCopperSlab() { return BlockTypes.get("minecraft:waxed_oxidized_cut_copper_slab") }; - static get WaxedOxidizedCutCopperStairs() { return BlockTypes.get("minecraft:waxed_oxidized_cut_copper_stairs") }; - static get WaxedOxidizedDoubleCutCopperSlab() { return BlockTypes.get("minecraft:waxed_oxidized_double_cut_copper_slab") }; - static get WaxedWeatheredCopper() { return BlockTypes.get("minecraft:waxed_weathered_copper") }; - static get WaxedWeatheredCutCopper() { return BlockTypes.get("minecraft:waxed_weathered_cut_copper") }; - static get WaxedWeatheredCutCopperSlab() { return BlockTypes.get("minecraft:waxed_weathered_cut_copper_slab") }; - static get WaxedWeatheredCutCopperStairs() { return BlockTypes.get("minecraft:waxed_weathered_cut_copper_stairs") }; - static get WaxedWeatheredDoubleCutCopperSlab() { return BlockTypes.get("minecraft:waxed_weathered_double_cut_copper_slab") }; - static get WeatheredCopper() { return BlockTypes.get("minecraft:weathered_copper") }; - static get WeatheredCutCopper() { return BlockTypes.get("minecraft:weathered_cut_copper") }; - static get WeatheredCutCopperSlab() { return BlockTypes.get("minecraft:weathered_cut_copper_slab") }; - static get WeatheredCutCopperStairs() { return BlockTypes.get("minecraft:weathered_cut_copper_stairs") }; - static get WeatheredDoubleCutCopperSlab() { return BlockTypes.get("minecraft:weathered_double_cut_copper_slab") }; - static get Web() { return BlockTypes.get("minecraft:web") }; - static get WeepingVines() { return BlockTypes.get("minecraft:weeping_vines") }; - static get Wheat() { return BlockTypes.get("minecraft:wheat") }; - static get WhiteCandle() { return BlockTypes.get("minecraft:white_candle") }; - static get WhiteCandleCake() { return BlockTypes.get("minecraft:white_candle_cake") }; - static get WhiteCarpet() { return BlockTypes.get("minecraft:white_carpet") }; - static get WhiteConcrete() { return BlockTypes.get("minecraft:white_concrete") }; - static get WhiteConcretePowder() { return BlockTypes.get("minecraft:white_concrete_powder") }; - static get WhiteGlazedTerracotta() { return BlockTypes.get("minecraft:white_glazed_terracotta") }; - static get WhiteShulkerBox() { return BlockTypes.get("minecraft:white_shulker_box") }; - static get WhiteStainedGlass() { return BlockTypes.get("minecraft:white_stained_glass") }; - static get WhiteStainedGlassPane() { return BlockTypes.get("minecraft:white_stained_glass_pane") }; - static get WhiteTerracotta() { return BlockTypes.get("minecraft:white_terracotta") }; - static get WhiteWool() { return BlockTypes.get("minecraft:white_wool") }; - static get WitherRose() { return BlockTypes.get("minecraft:wither_rose") }; - static get Wood() { return BlockTypes.get("minecraft:wood") }; - static get WoodenButton() { return BlockTypes.get("minecraft:wooden_button") }; - static get WoodenDoor() { return BlockTypes.get("minecraft:wooden_door") }; - static get WoodenPressurePlate() { return BlockTypes.get("minecraft:wooden_pressure_plate") }; - static get WoodenSlab() { return BlockTypes.get("minecraft:wooden_slab") }; - static get YellowCandle() { return BlockTypes.get("minecraft:yellow_candle") }; - static get YellowCandleCake() { return BlockTypes.get("minecraft:yellow_candle_cake") }; - static get YellowCarpet() { return BlockTypes.get("minecraft:yellow_carpet") }; - static get YellowConcrete() { return BlockTypes.get("minecraft:yellow_concrete") }; - static get YellowConcretePowder() { return BlockTypes.get("minecraft:yellow_concrete_powder") }; - static get YellowFlower() { return BlockTypes.get("minecraft:yellow_flower") }; - static get YellowGlazedTerracotta() { return BlockTypes.get("minecraft:yellow_glazed_terracotta") }; - static get YellowShulkerBox() { return BlockTypes.get("minecraft:yellow_shulker_box") }; - static get YellowStainedGlass() { return BlockTypes.get("minecraft:yellow_stained_glass") }; - static get YellowStainedGlassPane() { return BlockTypes.get("minecraft:yellow_stained_glass_pane") }; - static get YellowTerracotta() { return BlockTypes.get("minecraft:yellow_terracotta") }; - static get YellowWool() { return BlockTypes.get("minecraft:yellow_wool") }; -} -/** - * Union type equivalent of the MinecraftBlockTypes enum. - */ -export type MinecraftBlockTypesUnion = keyof typeof MinecraftBlockTypes; -/** - * All supported states and their types for MinecraftBlockTypes - */ -export type BlockStateSuperset = { - ['active']?: boolean; - ['age']?: number; - ['age_bit']?: boolean; - ['allow_underwater_bit']?: boolean; - ['attached_bit']?: boolean; - ['attachment']?: string; - ['bamboo_leaf_size']?: string; - ['bamboo_stalk_thickness']?: string; - ['big_dripleaf_head']?: boolean; - ['big_dripleaf_tilt']?: string; - ['bite_counter']?: number; - ['block_light_level']?: number; - ['bloom']?: boolean; - ['books_stored']?: number; - ['brewing_stand_slot_a_bit']?: boolean; - ['brewing_stand_slot_b_bit']?: boolean; - ['brewing_stand_slot_c_bit']?: boolean; - ['brushed_progress']?: number; - ['button_pressed_bit']?: boolean; - ['can_summon']?: boolean; - ['candles']?: number; - ['cauldron_liquid']?: string; - ['chemistry_table_type']?: string; - ['chisel_type']?: string; - ['cluster_count']?: number; - ['color']?: string; - ['color_bit']?: boolean; - ['composter_fill_level']?: number; - ['conditional_bit']?: boolean; - ['coral_color']?: string; - ['coral_direction']?: number; - ['coral_fan_direction']?: number; - ['coral_hang_type_bit']?: boolean; - ['covered_bit']?: boolean; - ['cracked_state']?: string; - ['damage']?: string; - ['dead_bit']?: boolean; - ['deprecated']?: number; - ['direction']?: number; - ['dirt_type']?: string; - ['disarmed_bit']?: boolean; - ['door_hinge_bit']?: boolean; - ['double_plant_type']?: string; - ['drag_down']?: boolean; - ['dripstone_thickness']?: string; - ['end_portal_eye_bit']?: boolean; - ['explode_bit']?: boolean; - ['extinguished']?: boolean; - ['facing_direction']?: number; - ['fill_level']?: number; - ['flower_type']?: string; - ['ground_sign_direction']?: number; - ['growing_plant_age']?: number; - ['growth']?: number; - ['hanging']?: boolean; - ['head_piece_bit']?: boolean; - ['height']?: number; - ['honey_level']?: number; - ['huge_mushroom_bits']?: number; - ['in_wall_bit']?: boolean; - ['infiniburn_bit']?: boolean; - ['item_frame_map_bit']?: boolean; - ['item_frame_photo_bit']?: boolean; - ['kelp_age']?: number; - ['lever_direction']?: string; - ['liquid_depth']?: number; - ['lit']?: boolean; - ['minecraft:block_face']?: string; - ['minecraft:cardinal_direction']?: string; - ['minecraft:facing_direction']?: string; - ['minecraft:vertical_half']?: string; - ['moisturized_amount']?: number; - ['monster_egg_stone_type']?: string; - ['multi_face_direction_bits']?: number; - ['new_leaf_type']?: string; - ['new_log_type']?: string; - ['no_drop_bit']?: boolean; - ['occupied_bit']?: boolean; - ['old_leaf_type']?: string; - ['old_log_type']?: string; - ['open_bit']?: boolean; - ['output_lit_bit']?: boolean; - ['output_subtract_bit']?: boolean; - ['persistent_bit']?: boolean; - ['pillar_axis']?: string; - ['portal_axis']?: string; - ['powered_bit']?: boolean; - ['prismarine_block_type']?: string; - ['propagule_stage']?: number; - ['rail_data_bit']?: boolean; - ['rail_direction']?: number; - ['redstone_signal']?: number; - ['repeater_delay']?: number; - ['respawn_anchor_charge']?: number; - ['rotation']?: number; - ['sand_stone_type']?: string; - ['sand_type']?: string; - ['sapling_type']?: string; - ['sculk_sensor_phase']?: number; - ['sea_grass_type']?: string; - ['sponge_type']?: string; - ['stability']?: number; - ['stability_check']?: boolean; - ['stone_brick_type']?: string; - ['stone_slab_type']?: string; - ['stone_slab_type_2']?: string; - ['stone_slab_type_3']?: string; - ['stone_slab_type_4']?: string; - ['stone_type']?: string; - ['stripped_bit']?: boolean; - ['structure_block_type']?: string; - ['structure_void_type']?: string; - ['suspended_bit']?: boolean; - ['tall_grass_type']?: string; - ['toggle_bit']?: boolean; - ['top_slot_bit']?: boolean; - ['torch_facing_direction']?: string; - ['triggered_bit']?: boolean; - ['turtle_egg_count']?: string; - ['twisting_vines_age']?: number; - ['update_bit']?: boolean; - ['upper_block_bit']?: boolean; - ['upside_down_bit']?: boolean; - ['vine_direction_bits']?: number; - ['wall_block_type']?: string; - ['wall_connection_type_east']?: string; - ['wall_connection_type_north']?: string; - ['wall_connection_type_south']?: string; - ['wall_connection_type_west']?: string; - ['wall_post_bit']?: boolean; - ['weeping_vines_age']?: number; - ['weirdo_direction']?: number; - ['wood_type']?: string; -}; -/** - * States specific to AcaciaButton - */ -export type AcaciaButtonStates = Pick; -/** - * States specific to AcaciaDoor - */ -export type AcaciaDoorStates = Pick; -/** - * States specific to AcaciaFenceGate - */ -export type AcaciaFenceGateStates = Pick; -/** - * States specific to AcaciaHangingSign - */ -export type AcaciaHangingSignStates = Pick; -/** - * States specific to AcaciaLog - */ -export type AcaciaLogStates = Pick; -/** - * States specific to AcaciaPressurePlate - */ -export type AcaciaPressurePlateStates = Pick; -/** - * States specific to AcaciaStairs - */ -export type AcaciaStairsStates = Pick; -/** - * States specific to AcaciaStandingSign - */ -export type AcaciaStandingSignStates = Pick; -/** - * States specific to AcaciaTrapdoor - */ -export type AcaciaTrapdoorStates = Pick; -/** - * States specific to AcaciaWallSign - */ -export type AcaciaWallSignStates = Pick; -/** - * States specific to ActivatorRail - */ -export type ActivatorRailStates = Pick; -/** - * States specific to AmethystCluster - */ -export type AmethystClusterStates = Pick; -/** - * States specific to AndesiteStairs - */ -export type AndesiteStairsStates = Pick; -/** - * States specific to Anvil - */ -export type AnvilStates = Pick; -/** - * States specific to AzaleaLeaves - */ -export type AzaleaLeavesStates = Pick; -/** - * States specific to AzaleaLeavesFlowered - */ -export type AzaleaLeavesFloweredStates = Pick; -/** - * States specific to Bamboo - */ -export type BambooStates = Pick; -/** - * States specific to BambooBlock - */ -export type BambooBlockStates = Pick; -/** - * States specific to BambooButton - */ -export type BambooButtonStates = Pick; -/** - * States specific to BambooDoor - */ -export type BambooDoorStates = Pick; -/** - * States specific to BambooDoubleSlab - */ -export type BambooDoubleSlabStates = Pick; -/** - * States specific to BambooFenceGate - */ -export type BambooFenceGateStates = Pick; -/** - * States specific to BambooHangingSign - */ -export type BambooHangingSignStates = Pick; -/** - * States specific to BambooMosaicDoubleSlab - */ -export type BambooMosaicDoubleSlabStates = Pick; -/** - * States specific to BambooMosaicSlab - */ -export type BambooMosaicSlabStates = Pick; -/** - * States specific to BambooMosaicStairs - */ -export type BambooMosaicStairsStates = Pick; -/** - * States specific to BambooPressurePlate - */ -export type BambooPressurePlateStates = Pick; -/** - * States specific to BambooSapling - */ -export type BambooSaplingStates = Pick; -/** - * States specific to BambooSlab - */ -export type BambooSlabStates = Pick; -/** - * States specific to BambooStairs - */ -export type BambooStairsStates = Pick; -/** - * States specific to BambooStandingSign - */ -export type BambooStandingSignStates = Pick; -/** - * States specific to BambooTrapdoor - */ -export type BambooTrapdoorStates = Pick; -/** - * States specific to BambooWallSign - */ -export type BambooWallSignStates = Pick; -/** - * States specific to Barrel - */ -export type BarrelStates = Pick; -/** - * States specific to Basalt - */ -export type BasaltStates = Pick; -/** - * States specific to Bed - */ -export type BedStates = Pick; -/** - * States specific to Bedrock - */ -export type BedrockStates = Pick; -/** - * States specific to BeeNest - */ -export type BeeNestStates = Pick; -/** - * States specific to Beehive - */ -export type BeehiveStates = Pick; -/** - * States specific to Beetroot - */ -export type BeetrootStates = Pick; -/** - * States specific to Bell - */ -export type BellStates = Pick; -/** - * States specific to BigDripleaf - */ -export type BigDripleafStates = Pick; -/** - * States specific to BirchButton - */ -export type BirchButtonStates = Pick; -/** - * States specific to BirchDoor - */ -export type BirchDoorStates = Pick; -/** - * States specific to BirchFenceGate - */ -export type BirchFenceGateStates = Pick; -/** - * States specific to BirchHangingSign - */ -export type BirchHangingSignStates = Pick; -/** - * States specific to BirchLog - */ -export type BirchLogStates = Pick; -/** - * States specific to BirchPressurePlate - */ -export type BirchPressurePlateStates = Pick; -/** - * States specific to BirchStairs - */ -export type BirchStairsStates = Pick; -/** - * States specific to BirchStandingSign - */ -export type BirchStandingSignStates = Pick; -/** - * States specific to BirchTrapdoor - */ -export type BirchTrapdoorStates = Pick; -/** - * States specific to BirchWallSign - */ -export type BirchWallSignStates = Pick; -/** - * States specific to BlackCandle - */ -export type BlackCandleStates = Pick; -/** - * States specific to BlackCandleCake - */ -export type BlackCandleCakeStates = Pick; -/** - * States specific to BlackGlazedTerracotta - */ -export type BlackGlazedTerracottaStates = Pick; -/** - * States specific to BlackstoneDoubleSlab - */ -export type BlackstoneDoubleSlabStates = Pick; -/** - * States specific to BlackstoneSlab - */ -export type BlackstoneSlabStates = Pick; -/** - * States specific to BlackstoneStairs - */ -export type BlackstoneStairsStates = Pick; -/** - * States specific to BlackstoneWall - */ -export type BlackstoneWallStates = Pick; -/** - * States specific to BlastFurnace - */ -export type BlastFurnaceStates = Pick; -/** - * States specific to BlueCandle - */ -export type BlueCandleStates = Pick; -/** - * States specific to BlueCandleCake - */ -export type BlueCandleCakeStates = Pick; -/** - * States specific to BlueGlazedTerracotta - */ -export type BlueGlazedTerracottaStates = Pick; -/** - * States specific to BoneBlock - */ -export type BoneBlockStates = Pick; -/** - * States specific to BorderBlock - */ -export type BorderBlockStates = Pick; -/** - * States specific to BrewingStand - */ -export type BrewingStandStates = Pick; -/** - * States specific to BrickStairs - */ -export type BrickStairsStates = Pick; -/** - * States specific to BrownCandle - */ -export type BrownCandleStates = Pick; -/** - * States specific to BrownCandleCake - */ -export type BrownCandleCakeStates = Pick; -/** - * States specific to BrownGlazedTerracotta - */ -export type BrownGlazedTerracottaStates = Pick; -/** - * States specific to BrownMushroomBlock - */ -export type BrownMushroomBlockStates = Pick; -/** - * States specific to BubbleColumn - */ -export type BubbleColumnStates = Pick; -/** - * States specific to Cactus - */ -export type CactusStates = Pick; -/** - * States specific to Cake - */ -export type CakeStates = Pick; -/** - * States specific to CalibratedSculkSensor - */ -export type CalibratedSculkSensorStates = Pick; -/** - * States specific to Campfire - */ -export type CampfireStates = Pick; -/** - * States specific to Candle - */ -export type CandleStates = Pick; -/** - * States specific to CandleCake - */ -export type CandleCakeStates = Pick; -/** - * States specific to Carrots - */ -export type CarrotsStates = Pick; -/** - * States specific to CarvedPumpkin - */ -export type CarvedPumpkinStates = Pick; -/** - * States specific to Cauldron - */ -export type CauldronStates = Pick; -/** - * States specific to CaveVines - */ -export type CaveVinesStates = Pick; -/** - * States specific to CaveVinesBodyWithBerries - */ -export type CaveVinesBodyWithBerriesStates = Pick; -/** - * States specific to CaveVinesHeadWithBerries - */ -export type CaveVinesHeadWithBerriesStates = Pick; -/** - * States specific to Chain - */ -export type ChainStates = Pick; -/** - * States specific to ChainCommandBlock - */ -export type ChainCommandBlockStates = Pick; -/** - * States specific to ChemistryTable - */ -export type ChemistryTableStates = Pick; -/** - * States specific to CherryButton - */ -export type CherryButtonStates = Pick; -/** - * States specific to CherryDoor - */ -export type CherryDoorStates = Pick; -/** - * States specific to CherryDoubleSlab - */ -export type CherryDoubleSlabStates = Pick; -/** - * States specific to CherryFenceGate - */ -export type CherryFenceGateStates = Pick; -/** - * States specific to CherryHangingSign - */ -export type CherryHangingSignStates = Pick; -/** - * States specific to CherryLeaves - */ -export type CherryLeavesStates = Pick; -/** - * States specific to CherryLog - */ -export type CherryLogStates = Pick; -/** - * States specific to CherryPressurePlate - */ -export type CherryPressurePlateStates = Pick; -/** - * States specific to CherrySapling - */ -export type CherrySaplingStates = Pick; -/** - * States specific to CherrySlab - */ -export type CherrySlabStates = Pick; -/** - * States specific to CherryStairs - */ -export type CherryStairsStates = Pick; -/** - * States specific to CherryStandingSign - */ -export type CherryStandingSignStates = Pick; -/** - * States specific to CherryTrapdoor - */ -export type CherryTrapdoorStates = Pick; -/** - * States specific to CherryWallSign - */ -export type CherryWallSignStates = Pick; -/** - * States specific to CherryWood - */ -export type CherryWoodStates = Pick; -/** - * States specific to Chest - */ -export type ChestStates = Pick; -/** - * States specific to ChiseledBookshelf - */ -export type ChiseledBookshelfStates = Pick; -/** - * States specific to ChorusFlower - */ -export type ChorusFlowerStates = Pick; -/** - * States specific to CobbledDeepslateDoubleSlab - */ -export type CobbledDeepslateDoubleSlabStates = Pick; -/** - * States specific to CobbledDeepslateSlab - */ -export type CobbledDeepslateSlabStates = Pick; -/** - * States specific to CobbledDeepslateStairs - */ -export type CobbledDeepslateStairsStates = Pick; -/** - * States specific to CobbledDeepslateWall - */ -export type CobbledDeepslateWallStates = Pick; -/** - * States specific to CobblestoneWall - */ -export type CobblestoneWallStates = Pick; -/** - * States specific to Cocoa - */ -export type CocoaStates = Pick; -/** - * States specific to ColoredTorchBp - */ -export type ColoredTorchBpStates = Pick; -/** - * States specific to ColoredTorchRg - */ -export type ColoredTorchRgStates = Pick; -/** - * States specific to CommandBlock - */ -export type CommandBlockStates = Pick; -/** - * States specific to Composter - */ -export type ComposterStates = Pick; -/** - * States specific to CoralBlock - */ -export type CoralBlockStates = Pick; -/** - * States specific to CoralFan - */ -export type CoralFanStates = Pick; -/** - * States specific to CoralFanDead - */ -export type CoralFanDeadStates = Pick; -/** - * States specific to CoralFanHang - */ -export type CoralFanHangStates = Pick; -/** - * States specific to CoralFanHang2 - */ -export type CoralFanHang2States = Pick; -/** - * States specific to CoralFanHang3 - */ -export type CoralFanHang3States = Pick; -/** - * States specific to CrimsonButton - */ -export type CrimsonButtonStates = Pick; -/** - * States specific to CrimsonDoor - */ -export type CrimsonDoorStates = Pick; -/** - * States specific to CrimsonDoubleSlab - */ -export type CrimsonDoubleSlabStates = Pick; -/** - * States specific to CrimsonFenceGate - */ -export type CrimsonFenceGateStates = Pick; -/** - * States specific to CrimsonHangingSign - */ -export type CrimsonHangingSignStates = Pick; -/** - * States specific to CrimsonHyphae - */ -export type CrimsonHyphaeStates = Pick; -/** - * States specific to CrimsonPressurePlate - */ -export type CrimsonPressurePlateStates = Pick; -/** - * States specific to CrimsonSlab - */ -export type CrimsonSlabStates = Pick; -/** - * States specific to CrimsonStairs - */ -export type CrimsonStairsStates = Pick; -/** - * States specific to CrimsonStandingSign - */ -export type CrimsonStandingSignStates = Pick; -/** - * States specific to CrimsonStem - */ -export type CrimsonStemStates = Pick; -/** - * States specific to CrimsonTrapdoor - */ -export type CrimsonTrapdoorStates = Pick; -/** - * States specific to CrimsonWallSign - */ -export type CrimsonWallSignStates = Pick; -/** - * States specific to CutCopperSlab - */ -export type CutCopperSlabStates = Pick; -/** - * States specific to CutCopperStairs - */ -export type CutCopperStairsStates = Pick; -/** - * States specific to CyanCandle - */ -export type CyanCandleStates = Pick; -/** - * States specific to CyanCandleCake - */ -export type CyanCandleCakeStates = Pick; -/** - * States specific to CyanGlazedTerracotta - */ -export type CyanGlazedTerracottaStates = Pick; -/** - * States specific to DarkOakButton - */ -export type DarkOakButtonStates = Pick; -/** - * States specific to DarkOakDoor - */ -export type DarkOakDoorStates = Pick; -/** - * States specific to DarkOakFenceGate - */ -export type DarkOakFenceGateStates = Pick; -/** - * States specific to DarkOakHangingSign - */ -export type DarkOakHangingSignStates = Pick; -/** - * States specific to DarkOakLog - */ -export type DarkOakLogStates = Pick; -/** - * States specific to DarkOakPressurePlate - */ -export type DarkOakPressurePlateStates = Pick; -/** - * States specific to DarkOakStairs - */ -export type DarkOakStairsStates = Pick; -/** - * States specific to DarkOakTrapdoor - */ -export type DarkOakTrapdoorStates = Pick; -/** - * States specific to DarkPrismarineStairs - */ -export type DarkPrismarineStairsStates = Pick; -/** - * States specific to DarkoakStandingSign - */ -export type DarkoakStandingSignStates = Pick; -/** - * States specific to DarkoakWallSign - */ -export type DarkoakWallSignStates = Pick; -/** - * States specific to DaylightDetector - */ -export type DaylightDetectorStates = Pick; -/** - * States specific to DaylightDetectorInverted - */ -export type DaylightDetectorInvertedStates = Pick; -/** - * States specific to DecoratedPot - */ -export type DecoratedPotStates = Pick; -/** - * States specific to Deepslate - */ -export type DeepslateStates = Pick; -/** - * States specific to DeepslateBrickDoubleSlab - */ -export type DeepslateBrickDoubleSlabStates = Pick; -/** - * States specific to DeepslateBrickSlab - */ -export type DeepslateBrickSlabStates = Pick; -/** - * States specific to DeepslateBrickStairs - */ -export type DeepslateBrickStairsStates = Pick; -/** - * States specific to DeepslateBrickWall - */ -export type DeepslateBrickWallStates = Pick; -/** - * States specific to DeepslateTileDoubleSlab - */ -export type DeepslateTileDoubleSlabStates = Pick; -/** - * States specific to DeepslateTileSlab - */ -export type DeepslateTileSlabStates = Pick; -/** - * States specific to DeepslateTileStairs - */ -export type DeepslateTileStairsStates = Pick; -/** - * States specific to DeepslateTileWall - */ -export type DeepslateTileWallStates = Pick; -/** - * States specific to DetectorRail - */ -export type DetectorRailStates = Pick; -/** - * States specific to DioriteStairs - */ -export type DioriteStairsStates = Pick; -/** - * States specific to Dirt - */ -export type DirtStates = Pick; -/** - * States specific to Dispenser - */ -export type DispenserStates = Pick; -/** - * States specific to DoubleCutCopperSlab - */ -export type DoubleCutCopperSlabStates = Pick; -/** - * States specific to DoublePlant - */ -export type DoublePlantStates = Pick; -/** - * States specific to DoubleStoneBlockSlab - */ -export type DoubleStoneBlockSlabStates = Pick; -/** - * States specific to DoubleStoneBlockSlab2 - */ -export type DoubleStoneBlockSlab2States = Pick; -/** - * States specific to DoubleStoneBlockSlab3 - */ -export type DoubleStoneBlockSlab3States = Pick; -/** - * States specific to DoubleStoneBlockSlab4 - */ -export type DoubleStoneBlockSlab4States = Pick; -/** - * States specific to DoubleWoodenSlab - */ -export type DoubleWoodenSlabStates = Pick; -/** - * States specific to Dropper - */ -export type DropperStates = Pick; -/** - * States specific to EndBrickStairs - */ -export type EndBrickStairsStates = Pick; -/** - * States specific to EndPortalFrame - */ -export type EndPortalFrameStates = Pick; -/** - * States specific to EndRod - */ -export type EndRodStates = Pick; -/** - * States specific to EnderChest - */ -export type EnderChestStates = Pick; -/** - * States specific to ExposedCutCopperSlab - */ -export type ExposedCutCopperSlabStates = Pick; -/** - * States specific to ExposedCutCopperStairs - */ -export type ExposedCutCopperStairsStates = Pick; -/** - * States specific to ExposedDoubleCutCopperSlab - */ -export type ExposedDoubleCutCopperSlabStates = Pick; -/** - * States specific to Farmland - */ -export type FarmlandStates = Pick; -/** - * States specific to FenceGate - */ -export type FenceGateStates = Pick; -/** - * States specific to Fire - */ -export type FireStates = Pick; -/** - * States specific to FlowerPot - */ -export type FlowerPotStates = Pick; -/** - * States specific to FlowingLava - */ -export type FlowingLavaStates = Pick; -/** - * States specific to FlowingWater - */ -export type FlowingWaterStates = Pick; -/** - * States specific to Frame - */ -export type FrameStates = Pick; -/** - * States specific to FrostedIce - */ -export type FrostedIceStates = Pick; -/** - * States specific to Furnace - */ -export type FurnaceStates = Pick; -/** - * States specific to GlowFrame - */ -export type GlowFrameStates = Pick; -/** - * States specific to GlowLichen - */ -export type GlowLichenStates = Pick; -/** - * States specific to GoldenRail - */ -export type GoldenRailStates = Pick; -/** - * States specific to GraniteStairs - */ -export type GraniteStairsStates = Pick; -/** - * States specific to GrayCandle - */ -export type GrayCandleStates = Pick; -/** - * States specific to GrayCandleCake - */ -export type GrayCandleCakeStates = Pick; -/** - * States specific to GrayGlazedTerracotta - */ -export type GrayGlazedTerracottaStates = Pick; -/** - * States specific to GreenCandle - */ -export type GreenCandleStates = Pick; -/** - * States specific to GreenCandleCake - */ -export type GreenCandleCakeStates = Pick; -/** - * States specific to GreenGlazedTerracotta - */ -export type GreenGlazedTerracottaStates = Pick; -/** - * States specific to Grindstone - */ -export type GrindstoneStates = Pick; -/** - * States specific to HardStainedGlass - */ -export type HardStainedGlassStates = Pick; -/** - * States specific to HardStainedGlassPane - */ -export type HardStainedGlassPaneStates = Pick; -/** - * States specific to HayBlock - */ -export type HayBlockStates = Pick; -/** - * States specific to HeavyWeightedPressurePlate - */ -export type HeavyWeightedPressurePlateStates = Pick; -/** - * States specific to Hopper - */ -export type HopperStates = Pick; -/** - * States specific to InfestedDeepslate - */ -export type InfestedDeepslateStates = Pick; -/** - * States specific to IronDoor - */ -export type IronDoorStates = Pick; -/** - * States specific to IronTrapdoor - */ -export type IronTrapdoorStates = Pick; -/** - * States specific to Jigsaw - */ -export type JigsawStates = Pick; -/** - * States specific to JungleButton - */ -export type JungleButtonStates = Pick; -/** - * States specific to JungleDoor - */ -export type JungleDoorStates = Pick; -/** - * States specific to JungleFenceGate - */ -export type JungleFenceGateStates = Pick; -/** - * States specific to JungleHangingSign - */ -export type JungleHangingSignStates = Pick; -/** - * States specific to JungleLog - */ -export type JungleLogStates = Pick; -/** - * States specific to JunglePressurePlate - */ -export type JunglePressurePlateStates = Pick; -/** - * States specific to JungleStairs - */ -export type JungleStairsStates = Pick; -/** - * States specific to JungleStandingSign - */ -export type JungleStandingSignStates = Pick; -/** - * States specific to JungleTrapdoor - */ -export type JungleTrapdoorStates = Pick; -/** - * States specific to JungleWallSign - */ -export type JungleWallSignStates = Pick; -/** - * States specific to Kelp - */ -export type KelpStates = Pick; -/** - * States specific to Ladder - */ -export type LadderStates = Pick; -/** - * States specific to Lantern - */ -export type LanternStates = Pick; -/** - * States specific to LargeAmethystBud - */ -export type LargeAmethystBudStates = Pick; -/** - * States specific to Lava - */ -export type LavaStates = Pick; -/** - * States specific to Leaves - */ -export type LeavesStates = Pick; -/** - * States specific to Leaves2 - */ -export type Leaves2States = Pick; -/** - * States specific to Lectern - */ -export type LecternStates = Pick; -/** - * States specific to Lever - */ -export type LeverStates = Pick; -/** - * States specific to LightBlock - */ -export type LightBlockStates = Pick; -/** - * States specific to LightBlueCandle - */ -export type LightBlueCandleStates = Pick; -/** - * States specific to LightBlueCandleCake - */ -export type LightBlueCandleCakeStates = Pick; -/** - * States specific to LightBlueGlazedTerracotta - */ -export type LightBlueGlazedTerracottaStates = Pick; -/** - * States specific to LightGrayCandle - */ -export type LightGrayCandleStates = Pick; -/** - * States specific to LightGrayCandleCake - */ -export type LightGrayCandleCakeStates = Pick; -/** - * States specific to LightWeightedPressurePlate - */ -export type LightWeightedPressurePlateStates = Pick; -/** - * States specific to LightningRod - */ -export type LightningRodStates = Pick; -/** - * States specific to LimeCandle - */ -export type LimeCandleStates = Pick; -/** - * States specific to LimeCandleCake - */ -export type LimeCandleCakeStates = Pick; -/** - * States specific to LimeGlazedTerracotta - */ -export type LimeGlazedTerracottaStates = Pick; -/** - * States specific to LitBlastFurnace - */ -export type LitBlastFurnaceStates = Pick; -/** - * States specific to LitFurnace - */ -export type LitFurnaceStates = Pick; -/** - * States specific to LitPumpkin - */ -export type LitPumpkinStates = Pick; -/** - * States specific to LitSmoker - */ -export type LitSmokerStates = Pick; -/** - * States specific to Loom - */ -export type LoomStates = Pick; -/** - * States specific to MagentaCandle - */ -export type MagentaCandleStates = Pick; -/** - * States specific to MagentaCandleCake - */ -export type MagentaCandleCakeStates = Pick; -/** - * States specific to MagentaGlazedTerracotta - */ -export type MagentaGlazedTerracottaStates = Pick; -/** - * States specific to MangroveButton - */ -export type MangroveButtonStates = Pick; -/** - * States specific to MangroveDoor - */ -export type MangroveDoorStates = Pick; -/** - * States specific to MangroveDoubleSlab - */ -export type MangroveDoubleSlabStates = Pick; -/** - * States specific to MangroveFenceGate - */ -export type MangroveFenceGateStates = Pick; -/** - * States specific to MangroveHangingSign - */ -export type MangroveHangingSignStates = Pick; -/** - * States specific to MangroveLeaves - */ -export type MangroveLeavesStates = Pick; -/** - * States specific to MangroveLog - */ -export type MangroveLogStates = Pick; -/** - * States specific to MangrovePressurePlate - */ -export type MangrovePressurePlateStates = Pick; -/** - * States specific to MangrovePropagule - */ -export type MangrovePropaguleStates = Pick; -/** - * States specific to MangroveSlab - */ -export type MangroveSlabStates = Pick; -/** - * States specific to MangroveStairs - */ -export type MangroveStairsStates = Pick; -/** - * States specific to MangroveStandingSign - */ -export type MangroveStandingSignStates = Pick; -/** - * States specific to MangroveTrapdoor - */ -export type MangroveTrapdoorStates = Pick; -/** - * States specific to MangroveWallSign - */ -export type MangroveWallSignStates = Pick; -/** - * States specific to MangroveWood - */ -export type MangroveWoodStates = Pick; -/** - * States specific to MediumAmethystBud - */ -export type MediumAmethystBudStates = Pick; -/** - * States specific to MelonStem - */ -export type MelonStemStates = Pick; -/** - * States specific to MonsterEgg - */ -export type MonsterEggStates = Pick; -/** - * States specific to MossyCobblestoneStairs - */ -export type MossyCobblestoneStairsStates = Pick; -/** - * States specific to MossyStoneBrickStairs - */ -export type MossyStoneBrickStairsStates = Pick; -/** - * States specific to MudBrickDoubleSlab - */ -export type MudBrickDoubleSlabStates = Pick; -/** - * States specific to MudBrickSlab - */ -export type MudBrickSlabStates = Pick; -/** - * States specific to MudBrickStairs - */ -export type MudBrickStairsStates = Pick; -/** - * States specific to MudBrickWall - */ -export type MudBrickWallStates = Pick; -/** - * States specific to MuddyMangroveRoots - */ -export type MuddyMangroveRootsStates = Pick; -/** - * States specific to NetherBrickStairs - */ -export type NetherBrickStairsStates = Pick; -/** - * States specific to NetherWart - */ -export type NetherWartStates = Pick; -/** - * States specific to NormalStoneStairs - */ -export type NormalStoneStairsStates = Pick; -/** - * States specific to OakHangingSign - */ -export type OakHangingSignStates = Pick; -/** - * States specific to OakLog - */ -export type OakLogStates = Pick; -/** - * States specific to OakStairs - */ -export type OakStairsStates = Pick; -/** - * States specific to Observer - */ -export type ObserverStates = Pick; -/** - * States specific to OchreFroglight - */ -export type OchreFroglightStates = Pick; -/** - * States specific to OrangeCandle - */ -export type OrangeCandleStates = Pick; -/** - * States specific to OrangeCandleCake - */ -export type OrangeCandleCakeStates = Pick; -/** - * States specific to OrangeGlazedTerracotta - */ -export type OrangeGlazedTerracottaStates = Pick; -/** - * States specific to OxidizedCutCopperSlab - */ -export type OxidizedCutCopperSlabStates = Pick; -/** - * States specific to OxidizedCutCopperStairs - */ -export type OxidizedCutCopperStairsStates = Pick; -/** - * States specific to OxidizedDoubleCutCopperSlab - */ -export type OxidizedDoubleCutCopperSlabStates = Pick; -/** - * States specific to PearlescentFroglight - */ -export type PearlescentFroglightStates = Pick; -/** - * States specific to PinkCandle - */ -export type PinkCandleStates = Pick; -/** - * States specific to PinkCandleCake - */ -export type PinkCandleCakeStates = Pick; -/** - * States specific to PinkGlazedTerracotta - */ -export type PinkGlazedTerracottaStates = Pick; -/** - * States specific to PinkPetals - */ -export type PinkPetalsStates = Pick; -/** - * States specific to Piston - */ -export type PistonStates = Pick; -/** - * States specific to PistonArmCollision - */ -export type PistonArmCollisionStates = Pick; -/** - * States specific to PitcherCrop - */ -export type PitcherCropStates = Pick; -/** - * States specific to PitcherPlant - */ -export type PitcherPlantStates = Pick; -/** - * States specific to Planks - */ -export type PlanksStates = Pick; -/** - * States specific to PointedDripstone - */ -export type PointedDripstoneStates = Pick; -/** - * States specific to PolishedAndesiteStairs - */ -export type PolishedAndesiteStairsStates = Pick; -/** - * States specific to PolishedBasalt - */ -export type PolishedBasaltStates = Pick; -/** - * States specific to PolishedBlackstoneBrickDoubleSlab - */ -export type PolishedBlackstoneBrickDoubleSlabStates = Pick; -/** - * States specific to PolishedBlackstoneBrickSlab - */ -export type PolishedBlackstoneBrickSlabStates = Pick; -/** - * States specific to PolishedBlackstoneBrickStairs - */ -export type PolishedBlackstoneBrickStairsStates = Pick; -/** - * States specific to PolishedBlackstoneBrickWall - */ -export type PolishedBlackstoneBrickWallStates = Pick; -/** - * States specific to PolishedBlackstoneButton - */ -export type PolishedBlackstoneButtonStates = Pick; -/** - * States specific to PolishedBlackstoneDoubleSlab - */ -export type PolishedBlackstoneDoubleSlabStates = Pick; -/** - * States specific to PolishedBlackstonePressurePlate - */ -export type PolishedBlackstonePressurePlateStates = Pick; -/** - * States specific to PolishedBlackstoneSlab - */ -export type PolishedBlackstoneSlabStates = Pick; -/** - * States specific to PolishedBlackstoneStairs - */ -export type PolishedBlackstoneStairsStates = Pick; -/** - * States specific to PolishedBlackstoneWall - */ -export type PolishedBlackstoneWallStates = Pick; -/** - * States specific to PolishedDeepslateDoubleSlab - */ -export type PolishedDeepslateDoubleSlabStates = Pick; -/** - * States specific to PolishedDeepslateSlab - */ -export type PolishedDeepslateSlabStates = Pick; -/** - * States specific to PolishedDeepslateStairs - */ -export type PolishedDeepslateStairsStates = Pick; -/** - * States specific to PolishedDeepslateWall - */ -export type PolishedDeepslateWallStates = Pick; -/** - * States specific to PolishedDioriteStairs - */ -export type PolishedDioriteStairsStates = Pick; -/** - * States specific to PolishedGraniteStairs - */ -export type PolishedGraniteStairsStates = Pick; -/** - * States specific to Portal - */ -export type PortalStates = Pick; -/** - * States specific to Potatoes - */ -export type PotatoesStates = Pick; -/** - * States specific to PoweredComparator - */ -export type PoweredComparatorStates = Pick; -/** - * States specific to PoweredRepeater - */ -export type PoweredRepeaterStates = Pick; -/** - * States specific to Prismarine - */ -export type PrismarineStates = Pick; -/** - * States specific to PrismarineBricksStairs - */ -export type PrismarineBricksStairsStates = Pick; -/** - * States specific to PrismarineStairs - */ -export type PrismarineStairsStates = Pick; -/** - * States specific to Pumpkin - */ -export type PumpkinStates = Pick; -/** - * States specific to PumpkinStem - */ -export type PumpkinStemStates = Pick; -/** - * States specific to PurpleCandle - */ -export type PurpleCandleStates = Pick; -/** - * States specific to PurpleCandleCake - */ -export type PurpleCandleCakeStates = Pick; -/** - * States specific to PurpleGlazedTerracotta - */ -export type PurpleGlazedTerracottaStates = Pick; -/** - * States specific to PurpurBlock - */ -export type PurpurBlockStates = Pick; -/** - * States specific to PurpurStairs - */ -export type PurpurStairsStates = Pick; -/** - * States specific to QuartzBlock - */ -export type QuartzBlockStates = Pick; -/** - * States specific to QuartzStairs - */ -export type QuartzStairsStates = Pick; -/** - * States specific to Rail - */ -export type RailStates = Pick; -/** - * States specific to RedCandle - */ -export type RedCandleStates = Pick; -/** - * States specific to RedCandleCake - */ -export type RedCandleCakeStates = Pick; -/** - * States specific to RedFlower - */ -export type RedFlowerStates = Pick; -/** - * States specific to RedGlazedTerracotta - */ -export type RedGlazedTerracottaStates = Pick; -/** - * States specific to RedMushroomBlock - */ -export type RedMushroomBlockStates = Pick; -/** - * States specific to RedNetherBrickStairs - */ -export type RedNetherBrickStairsStates = Pick; -/** - * States specific to RedSandstone - */ -export type RedSandstoneStates = Pick; -/** - * States specific to RedSandstoneStairs - */ -export type RedSandstoneStairsStates = Pick; -/** - * States specific to RedstoneTorch - */ -export type RedstoneTorchStates = Pick; -/** - * States specific to RedstoneWire - */ -export type RedstoneWireStates = Pick; -/** - * States specific to Reeds - */ -export type ReedsStates = Pick; -/** - * States specific to RepeatingCommandBlock - */ -export type RepeatingCommandBlockStates = Pick; -/** - * States specific to RespawnAnchor - */ -export type RespawnAnchorStates = Pick; -/** - * States specific to Sand - */ -export type SandStates = Pick; -/** - * States specific to Sandstone - */ -export type SandstoneStates = Pick; -/** - * States specific to SandstoneStairs - */ -export type SandstoneStairsStates = Pick; -/** - * States specific to Sapling - */ -export type SaplingStates = Pick; -/** - * States specific to Scaffolding - */ -export type ScaffoldingStates = Pick; -/** - * States specific to SculkCatalyst - */ -export type SculkCatalystStates = Pick; -/** - * States specific to SculkSensor - */ -export type SculkSensorStates = Pick; -/** - * States specific to SculkShrieker - */ -export type SculkShriekerStates = Pick; -/** - * States specific to SculkVein - */ -export type SculkVeinStates = Pick; -/** - * States specific to SeaPickle - */ -export type SeaPickleStates = Pick; -/** - * States specific to Seagrass - */ -export type SeagrassStates = Pick; -/** - * States specific to SilverGlazedTerracotta - */ -export type SilverGlazedTerracottaStates = Pick; -/** - * States specific to Skull - */ -export type SkullStates = Pick; -/** - * States specific to SmallAmethystBud - */ -export type SmallAmethystBudStates = Pick; -/** - * States specific to SmallDripleafBlock - */ -export type SmallDripleafBlockStates = Pick; -/** - * States specific to Smoker - */ -export type SmokerStates = Pick; -/** - * States specific to SmoothQuartzStairs - */ -export type SmoothQuartzStairsStates = Pick; -/** - * States specific to SmoothRedSandstoneStairs - */ -export type SmoothRedSandstoneStairsStates = Pick; -/** - * States specific to SmoothSandstoneStairs - */ -export type SmoothSandstoneStairsStates = Pick; -/** - * States specific to SnifferEgg - */ -export type SnifferEggStates = Pick; -/** - * States specific to SnowLayer - */ -export type SnowLayerStates = Pick; -/** - * States specific to SoulCampfire - */ -export type SoulCampfireStates = Pick; -/** - * States specific to SoulFire - */ -export type SoulFireStates = Pick; -/** - * States specific to SoulLantern - */ -export type SoulLanternStates = Pick; -/** - * States specific to SoulTorch - */ -export type SoulTorchStates = Pick; -/** - * States specific to Sponge - */ -export type SpongeStates = Pick; -/** - * States specific to SpruceButton - */ -export type SpruceButtonStates = Pick; -/** - * States specific to SpruceDoor - */ -export type SpruceDoorStates = Pick; -/** - * States specific to SpruceFenceGate - */ -export type SpruceFenceGateStates = Pick; -/** - * States specific to SpruceHangingSign - */ -export type SpruceHangingSignStates = Pick; -/** - * States specific to SpruceLog - */ -export type SpruceLogStates = Pick; -/** - * States specific to SprucePressurePlate - */ -export type SprucePressurePlateStates = Pick; -/** - * States specific to SpruceStairs - */ -export type SpruceStairsStates = Pick; -/** - * States specific to SpruceStandingSign - */ -export type SpruceStandingSignStates = Pick; -/** - * States specific to SpruceTrapdoor - */ -export type SpruceTrapdoorStates = Pick; -/** - * States specific to SpruceWallSign - */ -export type SpruceWallSignStates = Pick; -/** - * States specific to StandingBanner - */ -export type StandingBannerStates = Pick; -/** - * States specific to StandingSign - */ -export type StandingSignStates = Pick; -/** - * States specific to StickyPiston - */ -export type StickyPistonStates = Pick; -/** - * States specific to StickyPistonArmCollision - */ -export type StickyPistonArmCollisionStates = Pick; -/** - * States specific to Stone - */ -export type StoneStates = Pick; -/** - * States specific to StoneBlockSlab - */ -export type StoneBlockSlabStates = Pick; -/** - * States specific to StoneBlockSlab2 - */ -export type StoneBlockSlab2States = Pick; -/** - * States specific to StoneBlockSlab3 - */ -export type StoneBlockSlab3States = Pick; -/** - * States specific to StoneBlockSlab4 - */ -export type StoneBlockSlab4States = Pick; -/** - * States specific to StoneBrickStairs - */ -export type StoneBrickStairsStates = Pick; -/** - * States specific to StoneButton - */ -export type StoneButtonStates = Pick; -/** - * States specific to StonePressurePlate - */ -export type StonePressurePlateStates = Pick; -/** - * States specific to StoneStairs - */ -export type StoneStairsStates = Pick; -/** - * States specific to Stonebrick - */ -export type StonebrickStates = Pick; -/** - * States specific to StonecutterBlock - */ -export type StonecutterBlockStates = Pick; -/** - * States specific to StrippedAcaciaLog - */ -export type StrippedAcaciaLogStates = Pick; -/** - * States specific to StrippedBambooBlock - */ -export type StrippedBambooBlockStates = Pick; -/** - * States specific to StrippedBirchLog - */ -export type StrippedBirchLogStates = Pick; -/** - * States specific to StrippedCherryLog - */ -export type StrippedCherryLogStates = Pick; -/** - * States specific to StrippedCherryWood - */ -export type StrippedCherryWoodStates = Pick; -/** - * States specific to StrippedCrimsonHyphae - */ -export type StrippedCrimsonHyphaeStates = Pick; -/** - * States specific to StrippedCrimsonStem - */ -export type StrippedCrimsonStemStates = Pick; -/** - * States specific to StrippedDarkOakLog - */ -export type StrippedDarkOakLogStates = Pick; -/** - * States specific to StrippedJungleLog - */ -export type StrippedJungleLogStates = Pick; -/** - * States specific to StrippedMangroveLog - */ -export type StrippedMangroveLogStates = Pick; -/** - * States specific to StrippedMangroveWood - */ -export type StrippedMangroveWoodStates = Pick; -/** - * States specific to StrippedOakLog - */ -export type StrippedOakLogStates = Pick; -/** - * States specific to StrippedSpruceLog - */ -export type StrippedSpruceLogStates = Pick; -/** - * States specific to StrippedWarpedHyphae - */ -export type StrippedWarpedHyphaeStates = Pick; -/** - * States specific to StrippedWarpedStem - */ -export type StrippedWarpedStemStates = Pick; -/** - * States specific to StructureBlock - */ -export type StructureBlockStates = Pick; -/** - * States specific to StructureVoid - */ -export type StructureVoidStates = Pick; -/** - * States specific to SuspiciousGravel - */ -export type SuspiciousGravelStates = Pick; -/** - * States specific to SuspiciousSand - */ -export type SuspiciousSandStates = Pick; -/** - * States specific to SweetBerryBush - */ -export type SweetBerryBushStates = Pick; -/** - * States specific to Tallgrass - */ -export type TallgrassStates = Pick; -/** - * States specific to Tnt - */ -export type TntStates = Pick; -/** - * States specific to Torch - */ -export type TorchStates = Pick; -/** - * States specific to TorchflowerCrop - */ -export type TorchflowerCropStates = Pick; -/** - * States specific to Trapdoor - */ -export type TrapdoorStates = Pick; -/** - * States specific to TrappedChest - */ -export type TrappedChestStates = Pick; -/** - * States specific to TripWire - */ -export type TripWireStates = Pick; -/** - * States specific to TripwireHook - */ -export type TripwireHookStates = Pick; -/** - * States specific to TurtleEgg - */ -export type TurtleEggStates = Pick; -/** - * States specific to TwistingVines - */ -export type TwistingVinesStates = Pick; -/** - * States specific to UnderwaterTorch - */ -export type UnderwaterTorchStates = Pick; -/** - * States specific to UnlitRedstoneTorch - */ -export type UnlitRedstoneTorchStates = Pick; -/** - * States specific to UnpoweredComparator - */ -export type UnpoweredComparatorStates = Pick; -/** - * States specific to UnpoweredRepeater - */ -export type UnpoweredRepeaterStates = Pick; -/** - * States specific to VerdantFroglight - */ -export type VerdantFroglightStates = Pick; -/** - * States specific to Vine - */ -export type VineStates = Pick; -/** - * States specific to WallBanner - */ -export type WallBannerStates = Pick; -/** - * States specific to WallSign - */ -export type WallSignStates = Pick; -/** - * States specific to WarpedButton - */ -export type WarpedButtonStates = Pick; -/** - * States specific to WarpedDoor - */ -export type WarpedDoorStates = Pick; -/** - * States specific to WarpedDoubleSlab - */ -export type WarpedDoubleSlabStates = Pick; -/** - * States specific to WarpedFenceGate - */ -export type WarpedFenceGateStates = Pick; -/** - * States specific to WarpedHangingSign - */ -export type WarpedHangingSignStates = Pick; -/** - * States specific to WarpedHyphae - */ -export type WarpedHyphaeStates = Pick; -/** - * States specific to WarpedPressurePlate - */ -export type WarpedPressurePlateStates = Pick; -/** - * States specific to WarpedSlab - */ -export type WarpedSlabStates = Pick; -/** - * States specific to WarpedStairs - */ -export type WarpedStairsStates = Pick; -/** - * States specific to WarpedStandingSign - */ -export type WarpedStandingSignStates = Pick; -/** - * States specific to WarpedStem - */ -export type WarpedStemStates = Pick; -/** - * States specific to WarpedTrapdoor - */ -export type WarpedTrapdoorStates = Pick; -/** - * States specific to WarpedWallSign - */ -export type WarpedWallSignStates = Pick; -/** - * States specific to Water - */ -export type WaterStates = Pick; -/** - * States specific to WaxedCutCopperSlab - */ -export type WaxedCutCopperSlabStates = Pick; -/** - * States specific to WaxedCutCopperStairs - */ -export type WaxedCutCopperStairsStates = Pick; -/** - * States specific to WaxedDoubleCutCopperSlab - */ -export type WaxedDoubleCutCopperSlabStates = Pick; -/** - * States specific to WaxedExposedCutCopperSlab - */ -export type WaxedExposedCutCopperSlabStates = Pick; -/** - * States specific to WaxedExposedCutCopperStairs - */ -export type WaxedExposedCutCopperStairsStates = Pick; -/** - * States specific to WaxedExposedDoubleCutCopperSlab - */ -export type WaxedExposedDoubleCutCopperSlabStates = Pick; -/** - * States specific to WaxedOxidizedCutCopperSlab - */ -export type WaxedOxidizedCutCopperSlabStates = Pick; -/** - * States specific to WaxedOxidizedCutCopperStairs - */ -export type WaxedOxidizedCutCopperStairsStates = Pick; -/** - * States specific to WaxedOxidizedDoubleCutCopperSlab - */ -export type WaxedOxidizedDoubleCutCopperSlabStates = Pick; -/** - * States specific to WaxedWeatheredCutCopperSlab - */ -export type WaxedWeatheredCutCopperSlabStates = Pick; -/** - * States specific to WaxedWeatheredCutCopperStairs - */ -export type WaxedWeatheredCutCopperStairsStates = Pick; -/** - * States specific to WaxedWeatheredDoubleCutCopperSlab - */ -export type WaxedWeatheredDoubleCutCopperSlabStates = Pick; -/** - * States specific to WeatheredCutCopperSlab - */ -export type WeatheredCutCopperSlabStates = Pick; -/** - * States specific to WeatheredCutCopperStairs - */ -export type WeatheredCutCopperStairsStates = Pick; -/** - * States specific to WeatheredDoubleCutCopperSlab - */ -export type WeatheredDoubleCutCopperSlabStates = Pick; -/** - * States specific to WeepingVines - */ -export type WeepingVinesStates = Pick; -/** - * States specific to Wheat - */ -export type WheatStates = Pick; -/** - * States specific to WhiteCandle - */ -export type WhiteCandleStates = Pick; -/** - * States specific to WhiteCandleCake - */ -export type WhiteCandleCakeStates = Pick; -/** - * States specific to WhiteGlazedTerracotta - */ -export type WhiteGlazedTerracottaStates = Pick; -/** - * States specific to Wood - */ -export type WoodStates = Pick; -/** - * States specific to WoodenButton - */ -export type WoodenButtonStates = Pick; -/** - * States specific to WoodenDoor - */ -export type WoodenDoorStates = Pick; -/** - * States specific to WoodenPressurePlate - */ -export type WoodenPressurePlateStates = Pick; -/** - * States specific to WoodenSlab - */ -export type WoodenSlabStates = Pick; -/** - * States specific to YellowCandle - */ -export type YellowCandleStates = Pick; -/** - * States specific to YellowCandleCake - */ -export type YellowCandleCakeStates = Pick; -/** - * States specific to YellowGlazedTerracotta - */ -export type YellowGlazedTerracottaStates = Pick; -/** - * Union of all types for Block states - */ -export type BlockStates = AcaciaButtonStates | AcaciaDoorStates | AcaciaFenceGateStates | AcaciaHangingSignStates | AcaciaLogStates | AcaciaPressurePlateStates | AcaciaStairsStates | AcaciaStandingSignStates | AcaciaTrapdoorStates | AcaciaWallSignStates | ActivatorRailStates | AmethystClusterStates | AndesiteStairsStates | AnvilStates | AzaleaLeavesStates | AzaleaLeavesFloweredStates | BambooStates | BambooBlockStates | BambooButtonStates | BambooDoorStates | BambooDoubleSlabStates | BambooFenceGateStates | BambooHangingSignStates | BambooMosaicDoubleSlabStates | BambooMosaicSlabStates | BambooMosaicStairsStates | BambooPressurePlateStates | BambooSaplingStates | BambooSlabStates | BambooStairsStates | BambooStandingSignStates | BambooTrapdoorStates | BambooWallSignStates | BarrelStates | BasaltStates | BedStates | BedrockStates | BeeNestStates | BeehiveStates | BeetrootStates | BellStates | BigDripleafStates | BirchButtonStates | BirchDoorStates | BirchFenceGateStates | BirchHangingSignStates | BirchLogStates | BirchPressurePlateStates | BirchStairsStates | BirchStandingSignStates | BirchTrapdoorStates | BirchWallSignStates | BlackCandleStates | BlackCandleCakeStates | BlackGlazedTerracottaStates | BlackstoneDoubleSlabStates | BlackstoneSlabStates | BlackstoneStairsStates | BlackstoneWallStates | BlastFurnaceStates | BlueCandleStates | BlueCandleCakeStates | BlueGlazedTerracottaStates | BoneBlockStates | BorderBlockStates | BrewingStandStates | BrickStairsStates | BrownCandleStates | BrownCandleCakeStates | BrownGlazedTerracottaStates | BrownMushroomBlockStates | BubbleColumnStates | CactusStates | CakeStates | CalibratedSculkSensorStates | CampfireStates | CandleStates | CandleCakeStates | CarrotsStates | CarvedPumpkinStates | CauldronStates | CaveVinesStates | CaveVinesBodyWithBerriesStates | CaveVinesHeadWithBerriesStates | ChainStates | ChainCommandBlockStates | ChemistryTableStates | CherryButtonStates | CherryDoorStates | CherryDoubleSlabStates | CherryFenceGateStates | CherryHangingSignStates | CherryLeavesStates | CherryLogStates | CherryPressurePlateStates | CherrySaplingStates | CherrySlabStates | CherryStairsStates | CherryStandingSignStates | CherryTrapdoorStates | CherryWallSignStates | CherryWoodStates | ChestStates | ChiseledBookshelfStates | ChorusFlowerStates | CobbledDeepslateDoubleSlabStates | CobbledDeepslateSlabStates | CobbledDeepslateStairsStates | CobbledDeepslateWallStates | CobblestoneWallStates | CocoaStates | ColoredTorchBpStates | ColoredTorchRgStates | CommandBlockStates | ComposterStates | CoralBlockStates | CoralFanStates | CoralFanDeadStates | CoralFanHangStates | CoralFanHang2States | CoralFanHang3States | CrimsonButtonStates | CrimsonDoorStates | CrimsonDoubleSlabStates | CrimsonFenceGateStates | CrimsonHangingSignStates | CrimsonHyphaeStates | CrimsonPressurePlateStates | CrimsonSlabStates | CrimsonStairsStates | CrimsonStandingSignStates | CrimsonStemStates | CrimsonTrapdoorStates | CrimsonWallSignStates | CutCopperSlabStates | CutCopperStairsStates | CyanCandleStates | CyanCandleCakeStates | CyanGlazedTerracottaStates | DarkOakButtonStates | DarkOakDoorStates | DarkOakFenceGateStates | DarkOakHangingSignStates | DarkOakLogStates | DarkOakPressurePlateStates | DarkOakStairsStates | DarkOakTrapdoorStates | DarkPrismarineStairsStates | DarkoakStandingSignStates | DarkoakWallSignStates | DaylightDetectorStates | DaylightDetectorInvertedStates | DecoratedPotStates | DeepslateStates | DeepslateBrickDoubleSlabStates | DeepslateBrickSlabStates | DeepslateBrickStairsStates | DeepslateBrickWallStates | DeepslateTileDoubleSlabStates | DeepslateTileSlabStates | DeepslateTileStairsStates | DeepslateTileWallStates | DetectorRailStates | DioriteStairsStates | DirtStates | DispenserStates | DoubleCutCopperSlabStates | DoublePlantStates | DoubleStoneBlockSlabStates | DoubleStoneBlockSlab2States | DoubleStoneBlockSlab3States | DoubleStoneBlockSlab4States | DoubleWoodenSlabStates | DropperStates | EndBrickStairsStates | EndPortalFrameStates | EndRodStates | EnderChestStates | ExposedCutCopperSlabStates | ExposedCutCopperStairsStates | ExposedDoubleCutCopperSlabStates | FarmlandStates | FenceGateStates | FireStates | FlowerPotStates | FlowingLavaStates | FlowingWaterStates | FrameStates | FrostedIceStates | FurnaceStates | GlowFrameStates | GlowLichenStates | GoldenRailStates | GraniteStairsStates | GrayCandleStates | GrayCandleCakeStates | GrayGlazedTerracottaStates | GreenCandleStates | GreenCandleCakeStates | GreenGlazedTerracottaStates | GrindstoneStates | HardStainedGlassStates | HardStainedGlassPaneStates | HayBlockStates | HeavyWeightedPressurePlateStates | HopperStates | InfestedDeepslateStates | IronDoorStates | IronTrapdoorStates | JigsawStates | JungleButtonStates | JungleDoorStates | JungleFenceGateStates | JungleHangingSignStates | JungleLogStates | JunglePressurePlateStates | JungleStairsStates | JungleStandingSignStates | JungleTrapdoorStates | JungleWallSignStates | KelpStates | LadderStates | LanternStates | LargeAmethystBudStates | LavaStates | LeavesStates | Leaves2States | LecternStates | LeverStates | LightBlockStates | LightBlueCandleStates | LightBlueCandleCakeStates | LightBlueGlazedTerracottaStates | LightGrayCandleStates | LightGrayCandleCakeStates | LightWeightedPressurePlateStates | LightningRodStates | LimeCandleStates | LimeCandleCakeStates | LimeGlazedTerracottaStates | LitBlastFurnaceStates | LitFurnaceStates | LitPumpkinStates | LitSmokerStates | LoomStates | MagentaCandleStates | MagentaCandleCakeStates | MagentaGlazedTerracottaStates | MangroveButtonStates | MangroveDoorStates | MangroveDoubleSlabStates | MangroveFenceGateStates | MangroveHangingSignStates | MangroveLeavesStates | MangroveLogStates | MangrovePressurePlateStates | MangrovePropaguleStates | MangroveSlabStates | MangroveStairsStates | MangroveStandingSignStates | MangroveTrapdoorStates | MangroveWallSignStates | MangroveWoodStates | MediumAmethystBudStates | MelonStemStates | MonsterEggStates | MossyCobblestoneStairsStates | MossyStoneBrickStairsStates | MudBrickDoubleSlabStates | MudBrickSlabStates | MudBrickStairsStates | MudBrickWallStates | MuddyMangroveRootsStates | NetherBrickStairsStates | NetherWartStates | NormalStoneStairsStates | OakHangingSignStates | OakLogStates | OakStairsStates | ObserverStates | OchreFroglightStates | OrangeCandleStates | OrangeCandleCakeStates | OrangeGlazedTerracottaStates | OxidizedCutCopperSlabStates | OxidizedCutCopperStairsStates | OxidizedDoubleCutCopperSlabStates | PearlescentFroglightStates | PinkCandleStates | PinkCandleCakeStates | PinkGlazedTerracottaStates | PinkPetalsStates | PistonStates | PistonArmCollisionStates | PitcherCropStates | PitcherPlantStates | PlanksStates | PointedDripstoneStates | PolishedAndesiteStairsStates | PolishedBasaltStates | PolishedBlackstoneBrickDoubleSlabStates | PolishedBlackstoneBrickSlabStates | PolishedBlackstoneBrickStairsStates | PolishedBlackstoneBrickWallStates | PolishedBlackstoneButtonStates | PolishedBlackstoneDoubleSlabStates | PolishedBlackstonePressurePlateStates | PolishedBlackstoneSlabStates | PolishedBlackstoneStairsStates | PolishedBlackstoneWallStates | PolishedDeepslateDoubleSlabStates | PolishedDeepslateSlabStates | PolishedDeepslateStairsStates | PolishedDeepslateWallStates | PolishedDioriteStairsStates | PolishedGraniteStairsStates | PortalStates | PotatoesStates | PoweredComparatorStates | PoweredRepeaterStates | PrismarineStates | PrismarineBricksStairsStates | PrismarineStairsStates | PumpkinStates | PumpkinStemStates | PurpleCandleStates | PurpleCandleCakeStates | PurpleGlazedTerracottaStates | PurpurBlockStates | PurpurStairsStates | QuartzBlockStates | QuartzStairsStates | RailStates | RedCandleStates | RedCandleCakeStates | RedFlowerStates | RedGlazedTerracottaStates | RedMushroomBlockStates | RedNetherBrickStairsStates | RedSandstoneStates | RedSandstoneStairsStates | RedstoneTorchStates | RedstoneWireStates | ReedsStates | RepeatingCommandBlockStates | RespawnAnchorStates | SandStates | SandstoneStates | SandstoneStairsStates | SaplingStates | ScaffoldingStates | SculkCatalystStates | SculkSensorStates | SculkShriekerStates | SculkVeinStates | SeaPickleStates | SeagrassStates | SilverGlazedTerracottaStates | SkullStates | SmallAmethystBudStates | SmallDripleafBlockStates | SmokerStates | SmoothQuartzStairsStates | SmoothRedSandstoneStairsStates | SmoothSandstoneStairsStates | SnifferEggStates | SnowLayerStates | SoulCampfireStates | SoulFireStates | SoulLanternStates | SoulTorchStates | SpongeStates | SpruceButtonStates | SpruceDoorStates | SpruceFenceGateStates | SpruceHangingSignStates | SpruceLogStates | SprucePressurePlateStates | SpruceStairsStates | SpruceStandingSignStates | SpruceTrapdoorStates | SpruceWallSignStates | StandingBannerStates | StandingSignStates | StickyPistonStates | StickyPistonArmCollisionStates | StoneStates | StoneBlockSlabStates | StoneBlockSlab2States | StoneBlockSlab3States | StoneBlockSlab4States | StoneBrickStairsStates | StoneButtonStates | StonePressurePlateStates | StoneStairsStates | StonebrickStates | StonecutterBlockStates | StrippedAcaciaLogStates | StrippedBambooBlockStates | StrippedBirchLogStates | StrippedCherryLogStates | StrippedCherryWoodStates | StrippedCrimsonHyphaeStates | StrippedCrimsonStemStates | StrippedDarkOakLogStates | StrippedJungleLogStates | StrippedMangroveLogStates | StrippedMangroveWoodStates | StrippedOakLogStates | StrippedSpruceLogStates | StrippedWarpedHyphaeStates | StrippedWarpedStemStates | StructureBlockStates | StructureVoidStates | SuspiciousGravelStates | SuspiciousSandStates | SweetBerryBushStates | TallgrassStates | TntStates | TorchStates | TorchflowerCropStates | TrapdoorStates | TrappedChestStates | TripWireStates | TripwireHookStates | TurtleEggStates | TwistingVinesStates | UnderwaterTorchStates | UnlitRedstoneTorchStates | UnpoweredComparatorStates | UnpoweredRepeaterStates | VerdantFroglightStates | VineStates | WallBannerStates | WallSignStates | WarpedButtonStates | WarpedDoorStates | WarpedDoubleSlabStates | WarpedFenceGateStates | WarpedHangingSignStates | WarpedHyphaeStates | WarpedPressurePlateStates | WarpedSlabStates | WarpedStairsStates | WarpedStandingSignStates | WarpedStemStates | WarpedTrapdoorStates | WarpedWallSignStates | WaterStates | WaxedCutCopperSlabStates | WaxedCutCopperStairsStates | WaxedDoubleCutCopperSlabStates | WaxedExposedCutCopperSlabStates | WaxedExposedCutCopperStairsStates | WaxedExposedDoubleCutCopperSlabStates | WaxedOxidizedCutCopperSlabStates | WaxedOxidizedCutCopperStairsStates | WaxedOxidizedDoubleCutCopperSlabStates | WaxedWeatheredCutCopperSlabStates | WaxedWeatheredCutCopperStairsStates | WaxedWeatheredDoubleCutCopperSlabStates | WeatheredCutCopperSlabStates | WeatheredCutCopperStairsStates | WeatheredDoubleCutCopperSlabStates | WeepingVinesStates | WheatStates | WhiteCandleStates | WhiteCandleCakeStates | WhiteGlazedTerracottaStates | WoodStates | WoodenButtonStates | WoodenDoorStates | WoodenPressurePlateStates | WoodenSlabStates | YellowCandleStates | YellowCandleCakeStates | YellowGlazedTerracottaStates; - diff --git a/scripts/vanilla-types/mojang-cameraPresets.js b/scripts/vanilla-types/mojang-cameraPresets.js deleted file mode 100644 index d9d8c4f8..00000000 --- a/scripts/vanilla-types/mojang-cameraPresets.js +++ /dev/null @@ -1,10 +0,0 @@ -/** - * All possible MinecraftCameraPresetsTypes - */ -export var MinecraftCameraPresetsTypes; -(function (MinecraftCameraPresetsTypes) { - MinecraftCameraPresetsTypes["FirstPerson"] = "minecraft:first_person"; - MinecraftCameraPresetsTypes["Free"] = "minecraft:free"; - MinecraftCameraPresetsTypes["ThirdPerson"] = "minecraft:third_person"; - MinecraftCameraPresetsTypes["ThirdPersonFront"] = "minecraft:third_person_front"; -})(MinecraftCameraPresetsTypes || (MinecraftCameraPresetsTypes = {})); diff --git a/scripts/vanilla-types/mojang-cameraPresets.ts b/scripts/vanilla-types/mojang-cameraPresets.ts deleted file mode 100644 index 4139e668..00000000 --- a/scripts/vanilla-types/mojang-cameraPresets.ts +++ /dev/null @@ -1,13 +0,0 @@ -/** - * All possible MinecraftCameraPresetsTypes - */ -export enum MinecraftCameraPresetsTypes { - FirstPerson = "minecraft:first_person", - Free = "minecraft:free", - ThirdPerson = "minecraft:third_person", - ThirdPersonFront = "minecraft:third_person_front" -} -/** - * Union type equivalent of the MinecraftCameraPresetsTypes enum. - */ -export type MinecraftCameraPresetsTypesUnion = keyof typeof MinecraftCameraPresetsTypes; diff --git a/scripts/vanilla-types/mojang-dimension.js b/scripts/vanilla-types/mojang-dimension.js deleted file mode 100644 index 43dbdd3e..00000000 --- a/scripts/vanilla-types/mojang-dimension.js +++ /dev/null @@ -1,24 +0,0 @@ -import { world, DimensionTypes } from "@minecraft/server"; -/** - * All possible MinecraftDimensionTypes - */ -export class MinecraftDimensionTypes { - constructor() { - throw new TypeError("Illegal constructor"); - } - ; - static get(typeName) { - return world.getDimension(typeName); - } - ; - static getAll() { - return DimensionTypes.getAll().map(dimension => world.getDimension(dimension.typeId)); - } - ; - static get Nether() { return world.getDimension("minecraft:nether"); } - ; - static get Overworld() { return world.getDimension("minecraft:overworld"); } - ; - static get TheEnd() { return world.getDimension("minecraft:the_end"); } - ; -} diff --git a/scripts/vanilla-types/mojang-dimension.ts b/scripts/vanilla-types/mojang-dimension.ts deleted file mode 100644 index 5add2c8a..00000000 --- a/scripts/vanilla-types/mojang-dimension.ts +++ /dev/null @@ -1,23 +0,0 @@ -import { Dimension, world, DimensionTypes } from "@minecraft/server"; - -/** - * All possible MinecraftDimensionTypes - */ -export class MinecraftDimensionTypes { - private constructor() { - throw new TypeError("Illegal constructor"); - }; - static get(typeName: string): Dimension | undefined { - return world.getDimension(typeName); - }; - static getAll(): Dimension[] { - return DimensionTypes.getAll().map(dimension => world.getDimension(dimension.typeId)); - }; - static get Nether() { return world.getDimension("minecraft:nether"); }; - static get Overworld() { return world.getDimension("minecraft:overworld"); }; - static get TheEnd() { return world.getDimension("minecraft:the_end"); }; -} -/** - * Union type equivalent of the MinecraftDimensionTypes enum. - */ -export type MinecraftDimensionTypesUnion = keyof typeof MinecraftDimensionTypes; diff --git a/scripts/vanilla-types/mojang-effect.js b/scripts/vanilla-types/mojang-effect.js deleted file mode 100644 index 126d82ec..00000000 --- a/scripts/vanilla-types/mojang-effect.js +++ /dev/null @@ -1,80 +0,0 @@ -import { EffectTypes } from "@minecraft/server"; -/** - * All possible MinecraftEffectTypes - */ -export class MinecraftEffectTypes { - constructor() { - throw new TypeError("Illegal constructor"); - } - ; - static get(typeName) { - return EffectTypes.get(typeName); - } - ; - static getAll() { - return EffectTypes.getAll(); - } - ; - static get Absorption() { return EffectTypes.get("absorption"); } - ; - static get BadOmen() { return EffectTypes.get("bad_omen"); } - ; - static get Blindness() { return EffectTypes.get("blindness"); } - ; - static get ConduitPower() { return EffectTypes.get("conduit_power"); } - ; - static get Darkness() { return EffectTypes.get("darkness"); } - ; - static get Empty() { return EffectTypes.get("empty"); } - ; - static get FatalPoison() { return EffectTypes.get("fatal_poison"); } - ; - static get FireResistance() { return EffectTypes.get("fire_resistance"); } - ; - static get Haste() { return EffectTypes.get("haste"); } - ; - static get HealthBoost() { return EffectTypes.get("health_boost"); } - ; - static get Hunger() { return EffectTypes.get("hunger"); } - ; - static get InstantDamage() { return EffectTypes.get("instant_damage"); } - ; - static get InstantHealth() { return EffectTypes.get("instant_health"); } - ; - static get Invisibility() { return EffectTypes.get("invisibility"); } - ; - static get JumpBoost() { return EffectTypes.get("jump_boost"); } - ; - static get Levitation() { return EffectTypes.get("levitation"); } - ; - static get MiningFatigue() { return EffectTypes.get("mining_fatigue"); } - ; - static get Nausea() { return EffectTypes.get("nausea"); } - ; - static get NightVision() { return EffectTypes.get("night_vision"); } - ; - static get Poison() { return EffectTypes.get("poison"); } - ; - static get Regeneration() { return EffectTypes.get("regeneration"); } - ; - static get Resistance() { return EffectTypes.get("resistance"); } - ; - static get Saturation() { return EffectTypes.get("saturation"); } - ; - static get SlowFalling() { return EffectTypes.get("slow_falling"); } - ; - static get Slowness() { return EffectTypes.get("slowness"); } - ; - static get Speed() { return EffectTypes.get("speed"); } - ; - static get Strength() { return EffectTypes.get("strength"); } - ; - static get VillageHero() { return EffectTypes.get("village_hero"); } - ; - static get WaterBreathing() { return EffectTypes.get("water_breathing"); } - ; - static get Weakness() { return EffectTypes.get("weakness"); } - ; - static get Wither() { return EffectTypes.get("wither"); } - ; -} diff --git a/scripts/vanilla-types/mojang-effect.ts b/scripts/vanilla-types/mojang-effect.ts deleted file mode 100644 index fbae0c3d..00000000 --- a/scripts/vanilla-types/mojang-effect.ts +++ /dev/null @@ -1,51 +0,0 @@ -import { EffectTypes, EffectType } from "@minecraft/server"; - -/** - * All possible MinecraftEffectTypes - */ -export class MinecraftEffectTypes implements EffectTypes { - private constructor() { - throw new TypeError("Illegal constructor"); - }; - static get(typeName: string): EffectType | undefined { - return EffectTypes.get(typeName); - }; - static getAll(): EffectType[] { - return EffectTypes.getAll(); - }; - static get Absorption() { return EffectTypes.get("absorption"); }; - static get BadOmen() { return EffectTypes.get("bad_omen"); }; - static get Blindness() { return EffectTypes.get("blindness"); }; - static get ConduitPower() { return EffectTypes.get("conduit_power"); }; - static get Darkness() { return EffectTypes.get("darkness"); }; - static get Empty() { return EffectTypes.get("empty"); }; - static get FatalPoison() { return EffectTypes.get("fatal_poison"); }; - static get FireResistance() { return EffectTypes.get("fire_resistance"); }; - static get Haste() { return EffectTypes.get("haste"); }; - static get HealthBoost() { return EffectTypes.get("health_boost"); }; - static get Hunger() { return EffectTypes.get("hunger"); }; - static get InstantDamage() { return EffectTypes.get("instant_damage"); }; - static get InstantHealth() { return EffectTypes.get("instant_health"); }; - static get Invisibility() { return EffectTypes.get("invisibility"); }; - static get JumpBoost() { return EffectTypes.get("jump_boost"); }; - static get Levitation() { return EffectTypes.get("levitation"); }; - static get MiningFatigue() { return EffectTypes.get("mining_fatigue"); }; - static get Nausea() { return EffectTypes.get("nausea"); }; - static get NightVision() { return EffectTypes.get("night_vision"); }; - static get Poison() { return EffectTypes.get("poison"); }; - static get Regeneration() { return EffectTypes.get("regeneration"); }; - static get Resistance() { return EffectTypes.get("resistance"); }; - static get Saturation() { return EffectTypes.get("saturation"); }; - static get SlowFalling() { return EffectTypes.get("slow_falling"); }; - static get Slowness() { return EffectTypes.get("slowness"); }; - static get Speed() { return EffectTypes.get("speed"); }; - static get Strength() { return EffectTypes.get("strength"); }; - static get VillageHero() { return EffectTypes.get("village_hero"); }; - static get WaterBreathing() { return EffectTypes.get("water_breathing"); }; - static get Weakness() { return EffectTypes.get("weakness"); }; - static get Wither() { return EffectTypes.get("wither"); }; -} -/** - * Union type equivalent of the MinecraftEffectTypes enum. - */ -export type MinecraftEffectTypesUnion = keyof typeof MinecraftEffectTypes; diff --git a/scripts/vanilla-types/mojang-enchantment.js b/scripts/vanilla-types/mojang-enchantment.js deleted file mode 100644 index 93c24f2e..00000000 --- a/scripts/vanilla-types/mojang-enchantment.js +++ /dev/null @@ -1,102 +0,0 @@ -import { EnchantmentType, EnchantmentTypes } from "@minecraft/server"; -/** - * All possible MinecraftEnchantmentTypes - */ -export class MinecraftEnchantmentTypes { - constructor() { - throw new TypeError("Illegal constructor"); - } - ; - static get(typeName) { - return EnchantmentTypes.get(typeName); - } - ; - // why don't they have a getAll - static getAll() { - const enchantments = []; - for (const key in this) { - const element = this[key]; - if (element instanceof EnchantmentType) - enchantments.push(element); - } - ; - return enchantments; - } - ; - static get AquaAffinity() { return EnchantmentTypes.get("aqua_affinity"); } - ; - static get BaneOfArthropods() { return EnchantmentTypes.get("bane_of_arthropods"); } - ; - static get Binding() { return EnchantmentTypes.get("binding"); } - ; - static get BlastProtection() { return EnchantmentTypes.get("blast_protection"); } - ; - static get Channeling() { return EnchantmentTypes.get("channeling"); } - ; - static get DepthStrider() { return EnchantmentTypes.get("depth_strider"); } - ; - static get Efficiency() { return EnchantmentTypes.get("efficiency"); } - ; - static get FeatherFalling() { return EnchantmentTypes.get("feather_falling"); } - ; - static get FireAspect() { return EnchantmentTypes.get("fire_aspect"); } - ; - static get FireProtection() { return EnchantmentTypes.get("fire_protection"); } - ; - static get Flame() { return EnchantmentTypes.get("flame"); } - ; - static get Fortune() { return EnchantmentTypes.get("fortune"); } - ; - static get FrostWalker() { return EnchantmentTypes.get("frost_walker"); } - ; - static get Impaling() { return EnchantmentTypes.get("impaling"); } - ; - static get Infinity() { return EnchantmentTypes.get("infinity"); } - ; - static get Knockback() { return EnchantmentTypes.get("knockback"); } - ; - static get Looting() { return EnchantmentTypes.get("looting"); } - ; - static get Loyalty() { return EnchantmentTypes.get("loyalty"); } - ; - static get LuckOfTheSea() { return EnchantmentTypes.get("luck_of_the_sea"); } - ; - static get Lure() { return EnchantmentTypes.get("lure"); } - ; - static get Mending() { return EnchantmentTypes.get("mending"); } - ; - static get Multishot() { return EnchantmentTypes.get("multishot"); } - ; - static get Piercing() { return EnchantmentTypes.get("piercing"); } - ; - static get Power() { return EnchantmentTypes.get("power"); } - ; - static get ProjectileProtection() { return EnchantmentTypes.get("projectile_protection"); } - ; - static get Protection() { return EnchantmentTypes.get("protection"); } - ; - static get Punch() { return EnchantmentTypes.get("punch"); } - ; - static get QuickCharge() { return EnchantmentTypes.get("quick_charge"); } - ; - static get Respiration() { return EnchantmentTypes.get("respiration"); } - ; - static get Riptide() { return EnchantmentTypes.get("riptide"); } - ; - static get Sharpness() { return EnchantmentTypes.get("sharpness"); } - ; - static get SilkTouch() { return EnchantmentTypes.get("silk_touch"); } - ; - static get Smite() { return EnchantmentTypes.get("smite"); } - ; - static get SoulSpeed() { return EnchantmentTypes.get("soul_speed"); } - ; - static get SwiftSneak() { return EnchantmentTypes.get("swift_sneak"); } - ; - static get Thorns() { return EnchantmentTypes.get("thorns"); } - ; - static get Unbreaking() { return EnchantmentTypes.get("unbreaking"); } - ; - static get Vanishing() { return EnchantmentTypes.get("vanishing"); } - ; -} diff --git a/scripts/vanilla-types/mojang-enchantment.ts b/scripts/vanilla-types/mojang-enchantment.ts deleted file mode 100644 index 2b2f57a9..00000000 --- a/scripts/vanilla-types/mojang-enchantment.ts +++ /dev/null @@ -1,63 +0,0 @@ -import { EnchantmentType, EnchantmentTypes } from "@minecraft/server"; -/** - * All possible MinecraftEnchantmentTypes - */ -export class MinecraftEnchantmentTypes implements EnchantmentTypes { - private constructor() { - throw new TypeError("Illegal constructor"); - }; - static get(typeName: string): EnchantmentType | undefined { - return EnchantmentTypes.get(typeName); - }; - // why don't they have a getAll - static getAll(): EnchantmentType[] { - const enchantments: EnchantmentType[] = []; - for (const key in this) { - const element = this[key]; - if (element instanceof EnchantmentType) enchantments.push(element); - }; - return enchantments; - }; - static get AquaAffinity() { return EnchantmentTypes.get("aqua_affinity"); }; - static get BaneOfArthropods() { return EnchantmentTypes.get("bane_of_arthropods"); }; - static get Binding() { return EnchantmentTypes.get("binding"); }; - static get BlastProtection() { return EnchantmentTypes.get("blast_protection"); }; - static get Channeling() { return EnchantmentTypes.get("channeling"); }; - static get DepthStrider() { return EnchantmentTypes.get("depth_strider"); }; - static get Efficiency() { return EnchantmentTypes.get("efficiency"); }; - static get FeatherFalling() { return EnchantmentTypes.get("feather_falling"); }; - static get FireAspect() { return EnchantmentTypes.get("fire_aspect"); }; - static get FireProtection() { return EnchantmentTypes.get("fire_protection"); }; - static get Flame() { return EnchantmentTypes.get("flame"); }; - static get Fortune() { return EnchantmentTypes.get("fortune"); }; - static get FrostWalker() { return EnchantmentTypes.get("frost_walker"); }; - static get Impaling() { return EnchantmentTypes.get("impaling"); }; - static get Infinity() { return EnchantmentTypes.get("infinity"); }; - static get Knockback() { return EnchantmentTypes.get("knockback"); }; - static get Looting() { return EnchantmentTypes.get("looting"); }; - static get Loyalty() { return EnchantmentTypes.get("loyalty"); }; - static get LuckOfTheSea() { return EnchantmentTypes.get("luck_of_the_sea"); }; - static get Lure() { return EnchantmentTypes.get("lure"); }; - static get Mending() { return EnchantmentTypes.get("mending"); }; - static get Multishot() { return EnchantmentTypes.get("multishot"); }; - static get Piercing() { return EnchantmentTypes.get("piercing"); }; - static get Power() { return EnchantmentTypes.get("power"); }; - static get ProjectileProtection() { return EnchantmentTypes.get("projectile_protection"); }; - static get Protection() { return EnchantmentTypes.get("protection"); }; - static get Punch() { return EnchantmentTypes.get("punch"); }; - static get QuickCharge() { return EnchantmentTypes.get("quick_charge"); }; - static get Respiration() { return EnchantmentTypes.get("respiration"); }; - static get Riptide() { return EnchantmentTypes.get("riptide"); }; - static get Sharpness() { return EnchantmentTypes.get("sharpness"); }; - static get SilkTouch() { return EnchantmentTypes.get("silk_touch"); }; - static get Smite() { return EnchantmentTypes.get("smite"); }; - static get SoulSpeed() { return EnchantmentTypes.get("soul_speed"); }; - static get SwiftSneak() { return EnchantmentTypes.get("swift_sneak"); }; - static get Thorns() { return EnchantmentTypes.get("thorns"); }; - static get Unbreaking() { return EnchantmentTypes.get("unbreaking"); }; - static get Vanishing() { return EnchantmentTypes.get("vanishing"); }; -} -/** - * Union type equivalent of the MinecraftEnchantmentTypes enum. - */ -export type MinecraftEnchantmentTypesUnion = keyof typeof MinecraftEnchantmentTypes; diff --git a/scripts/vanilla-types/mojang-entity.js b/scripts/vanilla-types/mojang-entity.js deleted file mode 100644 index 394c15b0..00000000 --- a/scripts/vanilla-types/mojang-entity.js +++ /dev/null @@ -1,132 +0,0 @@ -import { EntityTypes } from "@minecraft/server"; -/** - * All possible MinecraftEntityTypes - */ -export class MinecraftEntityTypes { - constructor() { - throw new TypeError("Illegal constructor"); - } - ; - static get(typeName) { - return EntityTypes.get(typeName); - } - ; - static getAll() { - return Array.from(EntityTypes.getAll()); - } - ; - static get Agent() { return EntityTypes.get("agent"); } - static get Allay() { return EntityTypes.get("allay"); } - static get AreaEffectCloud() { return EntityTypes.get("area_effect_cloud"); } - static get ArmorStand() { return EntityTypes.get("armor_stand"); } - static get Arrow() { return EntityTypes.get("arrow"); } - static get Axolotl() { return EntityTypes.get("axolotl"); } - static get Bat() { return EntityTypes.get("bat"); } - static get Bee() { return EntityTypes.get("bee"); } - static get Blaze() { return EntityTypes.get("blaze"); } - static get Boat() { return EntityTypes.get("boat"); } - static get Camel() { return EntityTypes.get("camel"); } - static get Cat() { return EntityTypes.get("cat"); } - static get CaveSpider() { return EntityTypes.get("cave_spider"); } - static get ChestBoat() { return EntityTypes.get("chest_boat"); } - static get ChestMinecart() { return EntityTypes.get("chest_minecart"); } - static get Chicken() { return EntityTypes.get("chicken"); } - static get Cod() { return EntityTypes.get("cod"); } - static get CommandBlockMinecart() { return EntityTypes.get("command_block_minecart"); } - static get Cow() { return EntityTypes.get("cow"); } - static get Creeper() { return EntityTypes.get("creeper"); } - static get Dolphin() { return EntityTypes.get("dolphin"); } - static get Donkey() { return EntityTypes.get("donkey"); } - static get DragonFireball() { return EntityTypes.get("dragon_fireball"); } - static get Drowned() { return EntityTypes.get("drowned"); } - static get Egg() { return EntityTypes.get("egg"); } - static get ElderGuardian() { return EntityTypes.get("elder_guardian"); } - static get EnderCrystal() { return EntityTypes.get("ender_crystal"); } - static get EnderDragon() { return EntityTypes.get("ender_dragon"); } - static get EnderPearl() { return EntityTypes.get("ender_pearl"); } - static get Enderman() { return EntityTypes.get("enderman"); } - static get Endermite() { return EntityTypes.get("endermite"); } - static get EvocationIllager() { return EntityTypes.get("evocation_illager"); } - static get EyeOfEnderSignal() { return EntityTypes.get("eye_of_ender_signal"); } - static get Fireball() { return EntityTypes.get("fireball"); } - static get FireworksRocket() { return EntityTypes.get("fireworks_rocket"); } - static get FishingHook() { return EntityTypes.get("fishing_hook"); } - static get Fox() { return EntityTypes.get("fox"); } - static get Frog() { return EntityTypes.get("frog"); } - static get Ghast() { return EntityTypes.get("ghast"); } - static get GlowSquid() { return EntityTypes.get("glow_squid"); } - static get Goat() { return EntityTypes.get("goat"); } - static get Guardian() { return EntityTypes.get("guardian"); } - static get Hoglin() { return EntityTypes.get("hoglin"); } - static get HopperMinecart() { return EntityTypes.get("hopper_minecart"); } - static get Horse() { return EntityTypes.get("horse"); } - static get Husk() { return EntityTypes.get("husk"); } - static get IronGolem() { return EntityTypes.get("iron_golem"); } - static get LightningBolt() { return EntityTypes.get("lightning_bolt"); } - static get LingeringPotion() { return EntityTypes.get("lingering_potion"); } - static get Llama() { return EntityTypes.get("llama"); } - static get LlamaSpit() { return EntityTypes.get("llama_spit"); } - static get MagmaCube() { return EntityTypes.get("magma_cube"); } - static get Minecart() { return EntityTypes.get("minecart"); } - static get Mooshroom() { return EntityTypes.get("mooshroom"); } - static get Mule() { return EntityTypes.get("mule"); } - static get Npc() { return EntityTypes.get("npc"); } - static get Ocelot() { return EntityTypes.get("ocelot"); } - static get Panda() { return EntityTypes.get("panda"); } - static get Parrot() { return EntityTypes.get("parrot"); } - static get Phantom() { return EntityTypes.get("phantom"); } - static get Pig() { return EntityTypes.get("pig"); } - static get Piglin() { return EntityTypes.get("piglin"); } - static get PiglinBrute() { return EntityTypes.get("piglin_brute"); } - static get Pillager() { return EntityTypes.get("pillager"); } - static get Player() { return EntityTypes.get("player"); } - static get PolarBear() { return EntityTypes.get("polar_bear"); } - static get Pufferfish() { return EntityTypes.get("pufferfish"); } - static get Rabbit() { return EntityTypes.get("rabbit"); } - static get Ravager() { return EntityTypes.get("ravager"); } - static get Salmon() { return EntityTypes.get("salmon"); } - static get Sheep() { return EntityTypes.get("sheep"); } - static get Shulker() { return EntityTypes.get("shulker"); } - static get ShulkerBullet() { return EntityTypes.get("shulker_bullet"); } - static get Silverfish() { return EntityTypes.get("silverfish"); } - static get Skeleton() { return EntityTypes.get("skeleton"); } - static get SkeletonHorse() { return EntityTypes.get("skeleton_horse"); } - static get Slime() { return EntityTypes.get("slime"); } - static get SmallFireball() { return EntityTypes.get("small_fireball"); } - static get Sniffer() { return EntityTypes.get("sniffer"); } - static get SnowGolem() { return EntityTypes.get("snow_golem"); } - static get Snowball() { return EntityTypes.get("snowball"); } - static get Spider() { return EntityTypes.get("spider"); } - static get SplashPotion() { return EntityTypes.get("splash_potion"); } - static get Squid() { return EntityTypes.get("squid"); } - static get Stray() { return EntityTypes.get("stray"); } - static get Strider() { return EntityTypes.get("strider"); } - static get Tadpole() { return EntityTypes.get("tadpole"); } - static get ThrownTrident() { return EntityTypes.get("thrown_trident"); } - static get Tnt() { return EntityTypes.get("tnt"); } - static get TntMinecart() { return EntityTypes.get("tnt_minecart"); } - static get TraderLlama() { return EntityTypes.get("trader_llama"); } - static get TripodCamera() { return EntityTypes.get("tripod_camera"); } - static get Tropicalfish() { return EntityTypes.get("tropicalfish"); } - static get Turtle() { return EntityTypes.get("turtle"); } - static get Vex() { return EntityTypes.get("vex"); } - static get Villager() { return EntityTypes.get("villager"); } - static get VillagerV2() { return EntityTypes.get("villager_v2"); } - static get Vindicator() { return EntityTypes.get("vindicator"); } - static get WanderingTrader() { return EntityTypes.get("wandering_trader"); } - static get Warden() { return EntityTypes.get("warden"); } - static get Witch() { return EntityTypes.get("witch"); } - static get Wither() { return EntityTypes.get("wither"); } - static get WitherSkeleton() { return EntityTypes.get("wither_skeleton"); } - static get WitherSkull() { return EntityTypes.get("wither_skull"); } - static get WitherSkullDangerous() { return EntityTypes.get("wither_skull_dangerous"); } - static get Wolf() { return EntityTypes.get("wolf"); } - static get XpBottle() { return EntityTypes.get("xp_bottle"); } - static get XpOrb() { return EntityTypes.get("xp_orb"); } - static get Zoglin() { return EntityTypes.get("zoglin"); } - static get Zombie() { return EntityTypes.get("zombie"); } - static get ZombieHorse() { return EntityTypes.get("zombie_horse"); } - static get ZombiePigman() { return EntityTypes.get("zombie_pigman"); } - static get ZombieVillager() { return EntityTypes.get("zombie_villager"); } - static get ZombieVillagerV2() { return EntityTypes.get("zombie_villager_v2"); } -} diff --git a/scripts/vanilla-types/mojang-entity.ts b/scripts/vanilla-types/mojang-entity.ts deleted file mode 100644 index 126e774a..00000000 --- a/scripts/vanilla-types/mojang-entity.ts +++ /dev/null @@ -1,134 +0,0 @@ -import { EntityType, EntityTypes } from "@minecraft/server"; - -/** - * All possible MinecraftEntityTypes - */ -export class MinecraftEntityTypes implements EntityTypes { - private constructor() { - throw new TypeError("Illegal constructor"); - }; - static get(typeName: string): EntityType | undefined { - return EntityTypes.get(typeName); - }; - static getAll(): EntityType[] { - return Array.from(EntityTypes.getAll()); - }; - static get Agent() { return EntityTypes.get("agent"); } - static get Allay() { return EntityTypes.get("allay"); } - static get AreaEffectCloud() { return EntityTypes.get("area_effect_cloud"); } - static get ArmorStand() { return EntityTypes.get("armor_stand"); } - static get Arrow() { return EntityTypes.get("arrow"); } - static get Axolotl() { return EntityTypes.get("axolotl"); } - static get Bat() { return EntityTypes.get("bat"); } - static get Bee() { return EntityTypes.get("bee"); } - static get Blaze() { return EntityTypes.get("blaze"); } - static get Boat() { return EntityTypes.get("boat"); } - static get Camel() { return EntityTypes.get("camel"); } - static get Cat() { return EntityTypes.get("cat"); } - static get CaveSpider() { return EntityTypes.get("cave_spider"); } - static get ChestBoat() { return EntityTypes.get("chest_boat"); } - static get ChestMinecart() { return EntityTypes.get("chest_minecart"); } - static get Chicken() { return EntityTypes.get("chicken"); } - static get Cod() { return EntityTypes.get("cod"); } - static get CommandBlockMinecart() { return EntityTypes.get("command_block_minecart"); } - static get Cow() { return EntityTypes.get("cow"); } - static get Creeper() { return EntityTypes.get("creeper"); } - static get Dolphin() { return EntityTypes.get("dolphin"); } - static get Donkey() { return EntityTypes.get("donkey"); } - static get DragonFireball() { return EntityTypes.get("dragon_fireball"); } - static get Drowned() { return EntityTypes.get("drowned"); } - static get Egg() { return EntityTypes.get("egg"); } - static get ElderGuardian() { return EntityTypes.get("elder_guardian"); } - static get EnderCrystal() { return EntityTypes.get("ender_crystal"); } - static get EnderDragon() { return EntityTypes.get("ender_dragon"); } - static get EnderPearl() { return EntityTypes.get("ender_pearl"); } - static get Enderman() { return EntityTypes.get("enderman"); } - static get Endermite() { return EntityTypes.get("endermite"); } - static get EvocationIllager() { return EntityTypes.get("evocation_illager"); } - static get EyeOfEnderSignal() { return EntityTypes.get("eye_of_ender_signal"); } - static get Fireball() { return EntityTypes.get("fireball"); } - static get FireworksRocket() { return EntityTypes.get("fireworks_rocket"); } - static get FishingHook() { return EntityTypes.get("fishing_hook"); } - static get Fox() { return EntityTypes.get("fox"); } - static get Frog() { return EntityTypes.get("frog"); } - static get Ghast() { return EntityTypes.get("ghast"); } - static get GlowSquid() { return EntityTypes.get("glow_squid"); } - static get Goat() { return EntityTypes.get("goat"); } - static get Guardian() { return EntityTypes.get("guardian"); } - static get Hoglin() { return EntityTypes.get("hoglin"); } - static get HopperMinecart() { return EntityTypes.get("hopper_minecart"); } - static get Horse() { return EntityTypes.get("horse"); } - static get Husk() { return EntityTypes.get("husk"); } - static get IronGolem() { return EntityTypes.get("iron_golem"); } - static get LightningBolt() { return EntityTypes.get("lightning_bolt"); } - static get LingeringPotion() { return EntityTypes.get("lingering_potion"); } - static get Llama() { return EntityTypes.get("llama"); } - static get LlamaSpit() { return EntityTypes.get("llama_spit"); } - static get MagmaCube() { return EntityTypes.get("magma_cube"); } - static get Minecart() { return EntityTypes.get("minecart"); } - static get Mooshroom() { return EntityTypes.get("mooshroom"); } - static get Mule() { return EntityTypes.get("mule"); } - static get Npc() { return EntityTypes.get("npc"); } - static get Ocelot() { return EntityTypes.get("ocelot"); } - static get Panda() { return EntityTypes.get("panda"); } - static get Parrot() { return EntityTypes.get("parrot"); } - static get Phantom() { return EntityTypes.get("phantom"); } - static get Pig() { return EntityTypes.get("pig"); } - static get Piglin() { return EntityTypes.get("piglin"); } - static get PiglinBrute() { return EntityTypes.get("piglin_brute"); } - static get Pillager() { return EntityTypes.get("pillager"); } - static get Player() { return EntityTypes.get("player"); } - static get PolarBear() { return EntityTypes.get("polar_bear"); } - static get Pufferfish() { return EntityTypes.get("pufferfish"); } - static get Rabbit() { return EntityTypes.get("rabbit"); } - static get Ravager() { return EntityTypes.get("ravager"); } - static get Salmon() { return EntityTypes.get("salmon"); } - static get Sheep() { return EntityTypes.get("sheep"); } - static get Shulker() { return EntityTypes.get("shulker"); } - static get ShulkerBullet() { return EntityTypes.get("shulker_bullet"); } - static get Silverfish() { return EntityTypes.get("silverfish"); } - static get Skeleton() { return EntityTypes.get("skeleton"); } - static get SkeletonHorse() { return EntityTypes.get("skeleton_horse"); } - static get Slime() { return EntityTypes.get("slime"); } - static get SmallFireball() { return EntityTypes.get("small_fireball"); } - static get Sniffer() { return EntityTypes.get("sniffer"); } - static get SnowGolem() { return EntityTypes.get("snow_golem"); } - static get Snowball() { return EntityTypes.get("snowball"); } - static get Spider() { return EntityTypes.get("spider"); } - static get SplashPotion() { return EntityTypes.get("splash_potion"); } - static get Squid() { return EntityTypes.get("squid"); } - static get Stray() { return EntityTypes.get("stray"); } - static get Strider() { return EntityTypes.get("strider"); } - static get Tadpole() { return EntityTypes.get("tadpole"); } - static get ThrownTrident() { return EntityTypes.get("thrown_trident"); } - static get Tnt() { return EntityTypes.get("tnt"); } - static get TntMinecart() { return EntityTypes.get("tnt_minecart"); } - static get TraderLlama() { return EntityTypes.get("trader_llama"); } - static get TripodCamera() { return EntityTypes.get("tripod_camera"); } - static get Tropicalfish() { return EntityTypes.get("tropicalfish"); } - static get Turtle() { return EntityTypes.get("turtle"); } - static get Vex() { return EntityTypes.get("vex"); } - static get Villager() { return EntityTypes.get("villager"); } - static get VillagerV2() { return EntityTypes.get("villager_v2"); } - static get Vindicator() { return EntityTypes.get("vindicator"); } - static get WanderingTrader() { return EntityTypes.get("wandering_trader"); } - static get Warden() { return EntityTypes.get("warden"); } - static get Witch() { return EntityTypes.get("witch"); } - static get Wither() { return EntityTypes.get("wither"); } - static get WitherSkeleton() { return EntityTypes.get("wither_skeleton"); } - static get WitherSkull() { return EntityTypes.get("wither_skull"); } - static get WitherSkullDangerous() { return EntityTypes.get("wither_skull_dangerous"); } - static get Wolf() { return EntityTypes.get("wolf"); } - static get XpBottle() { return EntityTypes.get("xp_bottle"); } - static get XpOrb() { return EntityTypes.get("xp_orb"); } - static get Zoglin() { return EntityTypes.get("zoglin"); } - static get Zombie() { return EntityTypes.get("zombie"); } - static get ZombieHorse() { return EntityTypes.get("zombie_horse"); } - static get ZombiePigman() { return EntityTypes.get("zombie_pigman"); } - static get ZombieVillager() { return EntityTypes.get("zombie_villager"); } - static get ZombieVillagerV2() { return EntityTypes.get("zombie_villager_v2"); } -} -/** - * Union type equivalent of the MinecraftEntityTypes enum. - */ -export type MinecraftEntityTypesUnion = keyof typeof MinecraftEntityTypes; diff --git a/scripts/vanilla-types/mojang-item.js b/scripts/vanilla-types/mojang-item.js deleted file mode 100644 index 7ae2e884..00000000 --- a/scripts/vanilla-types/mojang-item.js +++ /dev/null @@ -1,2210 +0,0 @@ -import { ItemTypes } from "@minecraft/server"; -/** - * All possible MinecraftItemTypes - */ -export class MinecraftItemTypes { - static get AcaciaBoat() { return ItemTypes.get("minecraft:acacia_boat"); } - ; - static get AcaciaButton() { return ItemTypes.get("minecraft:acacia_button"); } - ; - static get AcaciaChestBoat() { return ItemTypes.get("minecraft:acacia_chest_boat"); } - ; - static get AcaciaDoor() { return ItemTypes.get("minecraft:acacia_door"); } - ; - static get AcaciaFence() { return ItemTypes.get("minecraft:acacia_fence"); } - ; - static get AcaciaFenceGate() { return ItemTypes.get("minecraft:acacia_fence_gate"); } - ; - static get AcaciaHangingSign() { return ItemTypes.get("minecraft:acacia_hanging_sign"); } - ; - static get AcaciaLog() { return ItemTypes.get("minecraft:acacia_log"); } - ; - static get AcaciaPressurePlate() { return ItemTypes.get("minecraft:acacia_pressure_plate"); } - ; - static get AcaciaSign() { return ItemTypes.get("minecraft:acacia_sign"); } - ; - static get AcaciaStairs() { return ItemTypes.get("minecraft:acacia_stairs"); } - ; - static get AcaciaTrapdoor() { return ItemTypes.get("minecraft:acacia_trapdoor"); } - ; - static get ActivatorRail() { return ItemTypes.get("minecraft:activator_rail"); } - ; - static get AllaySpawnEgg() { return ItemTypes.get("minecraft:allay_spawn_egg"); } - ; - static get Allow() { return ItemTypes.get("minecraft:allow"); } - ; - static get AmethystBlock() { return ItemTypes.get("minecraft:amethyst_block"); } - ; - static get AmethystCluster() { return ItemTypes.get("minecraft:amethyst_cluster"); } - ; - static get AmethystShard() { return ItemTypes.get("minecraft:amethyst_shard"); } - ; - static get AncientDebris() { return ItemTypes.get("minecraft:ancient_debris"); } - ; - static get AndesiteStairs() { return ItemTypes.get("minecraft:andesite_stairs"); } - ; - static get AnglerPotterySherd() { return ItemTypes.get("minecraft:angler_pottery_sherd"); } - ; - static get Anvil() { return ItemTypes.get("minecraft:anvil"); } - ; - static get Apple() { return ItemTypes.get("minecraft:apple"); } - ; - static get ArcherPotterySherd() { return ItemTypes.get("minecraft:archer_pottery_sherd"); } - ; - static get ArmorStand() { return ItemTypes.get("minecraft:armor_stand"); } - ; - static get ArmsUpPotterySherd() { return ItemTypes.get("minecraft:arms_up_pottery_sherd"); } - ; - static get Arrow() { return ItemTypes.get("minecraft:arrow"); } - ; - static get AxolotlBucket() { return ItemTypes.get("minecraft:axolotl_bucket"); } - ; - static get AxolotlSpawnEgg() { return ItemTypes.get("minecraft:axolotl_spawn_egg"); } - ; - static get Azalea() { return ItemTypes.get("minecraft:azalea"); } - ; - static get AzaleaLeaves() { return ItemTypes.get("minecraft:azalea_leaves"); } - ; - static get AzaleaLeavesFlowered() { return ItemTypes.get("minecraft:azalea_leaves_flowered"); } - ; - static get BakedPotato() { return ItemTypes.get("minecraft:baked_potato"); } - ; - static get Bamboo() { return ItemTypes.get("minecraft:bamboo"); } - ; - static get BambooBlock() { return ItemTypes.get("minecraft:bamboo_block"); } - ; - static get BambooButton() { return ItemTypes.get("minecraft:bamboo_button"); } - ; - static get BambooChestRaft() { return ItemTypes.get("minecraft:bamboo_chest_raft"); } - ; - static get BambooDoor() { return ItemTypes.get("minecraft:bamboo_door"); } - ; - static get BambooFence() { return ItemTypes.get("minecraft:bamboo_fence"); } - ; - static get BambooFenceGate() { return ItemTypes.get("minecraft:bamboo_fence_gate"); } - ; - static get BambooHangingSign() { return ItemTypes.get("minecraft:bamboo_hanging_sign"); } - ; - static get BambooMosaic() { return ItemTypes.get("minecraft:bamboo_mosaic"); } - ; - static get BambooMosaicSlab() { return ItemTypes.get("minecraft:bamboo_mosaic_slab"); } - ; - static get BambooMosaicStairs() { return ItemTypes.get("minecraft:bamboo_mosaic_stairs"); } - ; - static get BambooPlanks() { return ItemTypes.get("minecraft:bamboo_planks"); } - ; - static get BambooPressurePlate() { return ItemTypes.get("minecraft:bamboo_pressure_plate"); } - ; - static get BambooRaft() { return ItemTypes.get("minecraft:bamboo_raft"); } - ; - static get BambooSign() { return ItemTypes.get("minecraft:bamboo_sign"); } - ; - static get BambooSlab() { return ItemTypes.get("minecraft:bamboo_slab"); } - ; - static get BambooStairs() { return ItemTypes.get("minecraft:bamboo_stairs"); } - ; - static get BambooTrapdoor() { return ItemTypes.get("minecraft:bamboo_trapdoor"); } - ; - static get Banner() { return ItemTypes.get("minecraft:banner"); } - ; - static get BannerPattern() { return ItemTypes.get("minecraft:banner_pattern"); } - ; - static get Barrel() { return ItemTypes.get("minecraft:barrel"); } - ; - static get Barrier() { return ItemTypes.get("minecraft:barrier"); } - ; - static get Basalt() { return ItemTypes.get("minecraft:basalt"); } - ; - static get BatSpawnEgg() { return ItemTypes.get("minecraft:bat_spawn_egg"); } - ; - static get Beacon() { return ItemTypes.get("minecraft:beacon"); } - ; - static get Bed() { return ItemTypes.get("minecraft:bed"); } - ; - static get Bedrock() { return ItemTypes.get("minecraft:bedrock"); } - ; - static get BeeNest() { return ItemTypes.get("minecraft:bee_nest"); } - ; - static get BeeSpawnEgg() { return ItemTypes.get("minecraft:bee_spawn_egg"); } - ; - static get Beef() { return ItemTypes.get("minecraft:beef"); } - ; - static get Beehive() { return ItemTypes.get("minecraft:beehive"); } - ; - static get Beetroot() { return ItemTypes.get("minecraft:beetroot"); } - ; - static get BeetrootSeeds() { return ItemTypes.get("minecraft:beetroot_seeds"); } - ; - static get BeetrootSoup() { return ItemTypes.get("minecraft:beetroot_soup"); } - ; - static get Bell() { return ItemTypes.get("minecraft:bell"); } - ; - static get BigDripleaf() { return ItemTypes.get("minecraft:big_dripleaf"); } - ; - static get BirchBoat() { return ItemTypes.get("minecraft:birch_boat"); } - ; - static get BirchButton() { return ItemTypes.get("minecraft:birch_button"); } - ; - static get BirchChestBoat() { return ItemTypes.get("minecraft:birch_chest_boat"); } - ; - static get BirchDoor() { return ItemTypes.get("minecraft:birch_door"); } - ; - static get BirchFence() { return ItemTypes.get("minecraft:birch_fence"); } - ; - static get BirchFenceGate() { return ItemTypes.get("minecraft:birch_fence_gate"); } - ; - static get BirchHangingSign() { return ItemTypes.get("minecraft:birch_hanging_sign"); } - ; - static get BirchLog() { return ItemTypes.get("minecraft:birch_log"); } - ; - static get BirchPressurePlate() { return ItemTypes.get("minecraft:birch_pressure_plate"); } - ; - static get BirchSign() { return ItemTypes.get("minecraft:birch_sign"); } - ; - static get BirchStairs() { return ItemTypes.get("minecraft:birch_stairs"); } - ; - static get BirchTrapdoor() { return ItemTypes.get("minecraft:birch_trapdoor"); } - ; - static get BlackCandle() { return ItemTypes.get("minecraft:black_candle"); } - ; - static get BlackCarpet() { return ItemTypes.get("minecraft:black_carpet"); } - ; - static get BlackConcrete() { return ItemTypes.get("minecraft:black_concrete"); } - ; - static get BlackConcretePowder() { return ItemTypes.get("minecraft:black_concrete_powder"); } - ; - static get BlackDye() { return ItemTypes.get("minecraft:black_dye"); } - ; - static get BlackGlazedTerracotta() { return ItemTypes.get("minecraft:black_glazed_terracotta"); } - ; - static get BlackShulkerBox() { return ItemTypes.get("minecraft:black_shulker_box"); } - ; - static get BlackStainedGlass() { return ItemTypes.get("minecraft:black_stained_glass"); } - ; - static get BlackStainedGlassPane() { return ItemTypes.get("minecraft:black_stained_glass_pane"); } - ; - static get BlackTerracotta() { return ItemTypes.get("minecraft:black_terracotta"); } - ; - static get BlackWool() { return ItemTypes.get("minecraft:black_wool"); } - ; - static get Blackstone() { return ItemTypes.get("minecraft:blackstone"); } - ; - static get BlackstoneSlab() { return ItemTypes.get("minecraft:blackstone_slab"); } - ; - static get BlackstoneStairs() { return ItemTypes.get("minecraft:blackstone_stairs"); } - ; - static get BlackstoneWall() { return ItemTypes.get("minecraft:blackstone_wall"); } - ; - static get BladePotterySherd() { return ItemTypes.get("minecraft:blade_pottery_sherd"); } - ; - static get BlastFurnace() { return ItemTypes.get("minecraft:blast_furnace"); } - ; - static get BlazePowder() { return ItemTypes.get("minecraft:blaze_powder"); } - ; - static get BlazeRod() { return ItemTypes.get("minecraft:blaze_rod"); } - ; - static get BlazeSpawnEgg() { return ItemTypes.get("minecraft:blaze_spawn_egg"); } - ; - static get BlueCandle() { return ItemTypes.get("minecraft:blue_candle"); } - ; - static get BlueCarpet() { return ItemTypes.get("minecraft:blue_carpet"); } - ; - static get BlueConcrete() { return ItemTypes.get("minecraft:blue_concrete"); } - ; - static get BlueConcretePowder() { return ItemTypes.get("minecraft:blue_concrete_powder"); } - ; - static get BlueDye() { return ItemTypes.get("minecraft:blue_dye"); } - ; - static get BlueGlazedTerracotta() { return ItemTypes.get("minecraft:blue_glazed_terracotta"); } - ; - static get BlueIce() { return ItemTypes.get("minecraft:blue_ice"); } - ; - static get BlueShulkerBox() { return ItemTypes.get("minecraft:blue_shulker_box"); } - ; - static get BlueStainedGlass() { return ItemTypes.get("minecraft:blue_stained_glass"); } - ; - static get BlueStainedGlassPane() { return ItemTypes.get("minecraft:blue_stained_glass_pane"); } - ; - static get BlueTerracotta() { return ItemTypes.get("minecraft:blue_terracotta"); } - ; - static get BlueWool() { return ItemTypes.get("minecraft:blue_wool"); } - ; - static get Boat() { return ItemTypes.get("minecraft:boat"); } - ; - static get Bone() { return ItemTypes.get("minecraft:bone"); } - ; - static get BoneBlock() { return ItemTypes.get("minecraft:bone_block"); } - ; - static get BoneMeal() { return ItemTypes.get("minecraft:bone_meal"); } - ; - static get Book() { return ItemTypes.get("minecraft:book"); } - ; - static get Bookshelf() { return ItemTypes.get("minecraft:bookshelf"); } - ; - static get BorderBlock() { return ItemTypes.get("minecraft:border_block"); } - ; - static get BordureIndentedBannerPattern() { return ItemTypes.get("minecraft:bordure_indented_banner_pattern"); } - ; - static get Bow() { return ItemTypes.get("minecraft:bow"); } - ; - static get Bowl() { return ItemTypes.get("minecraft:bowl"); } - ; - static get BrainCoral() { return ItemTypes.get("minecraft:brain_coral"); } - ; - static get Bread() { return ItemTypes.get("minecraft:bread"); } - ; - static get BrewerPotterySherd() { return ItemTypes.get("minecraft:brewer_pottery_sherd"); } - ; - static get BrewingStand() { return ItemTypes.get("minecraft:brewing_stand"); } - ; - static get Brick() { return ItemTypes.get("minecraft:brick"); } - ; - static get BrickBlock() { return ItemTypes.get("minecraft:brick_block"); } - ; - static get BrickStairs() { return ItemTypes.get("minecraft:brick_stairs"); } - ; - static get BrownCandle() { return ItemTypes.get("minecraft:brown_candle"); } - ; - static get BrownCarpet() { return ItemTypes.get("minecraft:brown_carpet"); } - ; - static get BrownConcrete() { return ItemTypes.get("minecraft:brown_concrete"); } - ; - static get BrownConcretePowder() { return ItemTypes.get("minecraft:brown_concrete_powder"); } - ; - static get BrownDye() { return ItemTypes.get("minecraft:brown_dye"); } - ; - static get BrownGlazedTerracotta() { return ItemTypes.get("minecraft:brown_glazed_terracotta"); } - ; - static get BrownMushroom() { return ItemTypes.get("minecraft:brown_mushroom"); } - ; - static get BrownMushroomBlock() { return ItemTypes.get("minecraft:brown_mushroom_block"); } - ; - static get BrownShulkerBox() { return ItemTypes.get("minecraft:brown_shulker_box"); } - ; - static get BrownStainedGlass() { return ItemTypes.get("minecraft:brown_stained_glass"); } - ; - static get BrownStainedGlassPane() { return ItemTypes.get("minecraft:brown_stained_glass_pane"); } - ; - static get BrownTerracotta() { return ItemTypes.get("minecraft:brown_terracotta"); } - ; - static get BrownWool() { return ItemTypes.get("minecraft:brown_wool"); } - ; - static get Brush() { return ItemTypes.get("minecraft:brush"); } - ; - static get BubbleCoral() { return ItemTypes.get("minecraft:bubble_coral"); } - ; - static get Bucket() { return ItemTypes.get("minecraft:bucket"); } - ; - static get BuddingAmethyst() { return ItemTypes.get("minecraft:budding_amethyst"); } - ; - static get BurnPotterySherd() { return ItemTypes.get("minecraft:burn_pottery_sherd"); } - ; - static get Cactus() { return ItemTypes.get("minecraft:cactus"); } - ; - static get Cake() { return ItemTypes.get("minecraft:cake"); } - ; - static get Calcite() { return ItemTypes.get("minecraft:calcite"); } - ; - static get CalibratedSculkSensor() { return ItemTypes.get("minecraft:calibrated_sculk_sensor"); } - ; - static get CamelSpawnEgg() { return ItemTypes.get("minecraft:camel_spawn_egg"); } - ; - static get Campfire() { return ItemTypes.get("minecraft:campfire"); } - ; - static get Candle() { return ItemTypes.get("minecraft:candle"); } - ; - static get Carpet() { return ItemTypes.get("minecraft:carpet"); } - ; - static get Carrot() { return ItemTypes.get("minecraft:carrot"); } - ; - static get CarrotOnAStick() { return ItemTypes.get("minecraft:carrot_on_a_stick"); } - ; - static get CartographyTable() { return ItemTypes.get("minecraft:cartography_table"); } - ; - static get CarvedPumpkin() { return ItemTypes.get("minecraft:carved_pumpkin"); } - ; - static get CatSpawnEgg() { return ItemTypes.get("minecraft:cat_spawn_egg"); } - ; - static get Cauldron() { return ItemTypes.get("minecraft:cauldron"); } - ; - static get CaveSpiderSpawnEgg() { return ItemTypes.get("minecraft:cave_spider_spawn_egg"); } - ; - static get Chain() { return ItemTypes.get("minecraft:chain"); } - ; - static get ChainCommandBlock() { return ItemTypes.get("minecraft:chain_command_block"); } - ; - static get ChainmailBoots() { return ItemTypes.get("minecraft:chainmail_boots"); } - ; - static get ChainmailChestplate() { return ItemTypes.get("minecraft:chainmail_chestplate"); } - ; - static get ChainmailHelmet() { return ItemTypes.get("minecraft:chainmail_helmet"); } - ; - static get ChainmailLeggings() { return ItemTypes.get("minecraft:chainmail_leggings"); } - ; - static get Charcoal() { return ItemTypes.get("minecraft:charcoal"); } - ; - static get CherryBoat() { return ItemTypes.get("minecraft:cherry_boat"); } - ; - static get CherryButton() { return ItemTypes.get("minecraft:cherry_button"); } - ; - static get CherryChestBoat() { return ItemTypes.get("minecraft:cherry_chest_boat"); } - ; - static get CherryDoor() { return ItemTypes.get("minecraft:cherry_door"); } - ; - static get CherryFence() { return ItemTypes.get("minecraft:cherry_fence"); } - ; - static get CherryFenceGate() { return ItemTypes.get("minecraft:cherry_fence_gate"); } - ; - static get CherryHangingSign() { return ItemTypes.get("minecraft:cherry_hanging_sign"); } - ; - static get CherryLeaves() { return ItemTypes.get("minecraft:cherry_leaves"); } - ; - static get CherryLog() { return ItemTypes.get("minecraft:cherry_log"); } - ; - static get CherryPlanks() { return ItemTypes.get("minecraft:cherry_planks"); } - ; - static get CherryPressurePlate() { return ItemTypes.get("minecraft:cherry_pressure_plate"); } - ; - static get CherrySapling() { return ItemTypes.get("minecraft:cherry_sapling"); } - ; - static get CherrySign() { return ItemTypes.get("minecraft:cherry_sign"); } - ; - static get CherrySlab() { return ItemTypes.get("minecraft:cherry_slab"); } - ; - static get CherryStairs() { return ItemTypes.get("minecraft:cherry_stairs"); } - ; - static get CherryTrapdoor() { return ItemTypes.get("minecraft:cherry_trapdoor"); } - ; - static get CherryWood() { return ItemTypes.get("minecraft:cherry_wood"); } - ; - static get Chest() { return ItemTypes.get("minecraft:chest"); } - ; - static get ChestBoat() { return ItemTypes.get("minecraft:chest_boat"); } - ; - static get ChestMinecart() { return ItemTypes.get("minecraft:chest_minecart"); } - ; - static get Chicken() { return ItemTypes.get("minecraft:chicken"); } - ; - static get ChickenSpawnEgg() { return ItemTypes.get("minecraft:chicken_spawn_egg"); } - ; - static get ChiseledBookshelf() { return ItemTypes.get("minecraft:chiseled_bookshelf"); } - ; - static get ChiseledDeepslate() { return ItemTypes.get("minecraft:chiseled_deepslate"); } - ; - static get ChiseledNetherBricks() { return ItemTypes.get("minecraft:chiseled_nether_bricks"); } - ; - static get ChiseledPolishedBlackstone() { return ItemTypes.get("minecraft:chiseled_polished_blackstone"); } - ; - static get ChorusFlower() { return ItemTypes.get("minecraft:chorus_flower"); } - ; - static get ChorusFruit() { return ItemTypes.get("minecraft:chorus_fruit"); } - ; - static get ChorusPlant() { return ItemTypes.get("minecraft:chorus_plant"); } - ; - static get Clay() { return ItemTypes.get("minecraft:clay"); } - ; - static get ClayBall() { return ItemTypes.get("minecraft:clay_ball"); } - ; - static get Clock() { return ItemTypes.get("minecraft:clock"); } - ; - static get Coal() { return ItemTypes.get("minecraft:coal"); } - ; - static get CoalBlock() { return ItemTypes.get("minecraft:coal_block"); } - ; - static get CoalOre() { return ItemTypes.get("minecraft:coal_ore"); } - ; - static get CoastArmorTrimSmithingTemplate() { return ItemTypes.get("minecraft:coast_armor_trim_smithing_template"); } - ; - static get CobbledDeepslate() { return ItemTypes.get("minecraft:cobbled_deepslate"); } - ; - static get CobbledDeepslateSlab() { return ItemTypes.get("minecraft:cobbled_deepslate_slab"); } - ; - static get CobbledDeepslateStairs() { return ItemTypes.get("minecraft:cobbled_deepslate_stairs"); } - ; - static get CobbledDeepslateWall() { return ItemTypes.get("minecraft:cobbled_deepslate_wall"); } - ; - static get Cobblestone() { return ItemTypes.get("minecraft:cobblestone"); } - ; - static get CobblestoneWall() { return ItemTypes.get("minecraft:cobblestone_wall"); } - ; - static get CocoaBeans() { return ItemTypes.get("minecraft:cocoa_beans"); } - ; - static get Cod() { return ItemTypes.get("minecraft:cod"); } - ; - static get CodBucket() { return ItemTypes.get("minecraft:cod_bucket"); } - ; - static get CodSpawnEgg() { return ItemTypes.get("minecraft:cod_spawn_egg"); } - ; - static get CommandBlock() { return ItemTypes.get("minecraft:command_block"); } - ; - static get CommandBlockMinecart() { return ItemTypes.get("minecraft:command_block_minecart"); } - ; - static get Comparator() { return ItemTypes.get("minecraft:comparator"); } - ; - static get Compass() { return ItemTypes.get("minecraft:compass"); } - ; - static get Composter() { return ItemTypes.get("minecraft:composter"); } - ; - static get Concrete() { return ItemTypes.get("minecraft:concrete"); } - ; - static get ConcretePowder() { return ItemTypes.get("minecraft:concrete_powder"); } - ; - static get Conduit() { return ItemTypes.get("minecraft:conduit"); } - ; - static get CookedBeef() { return ItemTypes.get("minecraft:cooked_beef"); } - ; - static get CookedChicken() { return ItemTypes.get("minecraft:cooked_chicken"); } - ; - static get CookedCod() { return ItemTypes.get("minecraft:cooked_cod"); } - ; - static get CookedMutton() { return ItemTypes.get("minecraft:cooked_mutton"); } - ; - static get CookedPorkchop() { return ItemTypes.get("minecraft:cooked_porkchop"); } - ; - static get CookedRabbit() { return ItemTypes.get("minecraft:cooked_rabbit"); } - ; - static get CookedSalmon() { return ItemTypes.get("minecraft:cooked_salmon"); } - ; - static get Cookie() { return ItemTypes.get("minecraft:cookie"); } - ; - static get CopperBlock() { return ItemTypes.get("minecraft:copper_block"); } - ; - static get CopperIngot() { return ItemTypes.get("minecraft:copper_ingot"); } - ; - static get CopperOre() { return ItemTypes.get("minecraft:copper_ore"); } - ; - static get Coral() { return ItemTypes.get("minecraft:coral"); } - ; - static get CoralBlock() { return ItemTypes.get("minecraft:coral_block"); } - ; - static get CoralFan() { return ItemTypes.get("minecraft:coral_fan"); } - ; - static get CoralFanDead() { return ItemTypes.get("minecraft:coral_fan_dead"); } - ; - static get CowSpawnEgg() { return ItemTypes.get("minecraft:cow_spawn_egg"); } - ; - static get CrackedDeepslateBricks() { return ItemTypes.get("minecraft:cracked_deepslate_bricks"); } - ; - static get CrackedDeepslateTiles() { return ItemTypes.get("minecraft:cracked_deepslate_tiles"); } - ; - static get CrackedNetherBricks() { return ItemTypes.get("minecraft:cracked_nether_bricks"); } - ; - static get CrackedPolishedBlackstoneBricks() { return ItemTypes.get("minecraft:cracked_polished_blackstone_bricks"); } - ; - static get CraftingTable() { return ItemTypes.get("minecraft:crafting_table"); } - ; - static get CreeperBannerPattern() { return ItemTypes.get("minecraft:creeper_banner_pattern"); } - ; - static get CreeperSpawnEgg() { return ItemTypes.get("minecraft:creeper_spawn_egg"); } - ; - static get CrimsonButton() { return ItemTypes.get("minecraft:crimson_button"); } - ; - static get CrimsonDoor() { return ItemTypes.get("minecraft:crimson_door"); } - ; - static get CrimsonFence() { return ItemTypes.get("minecraft:crimson_fence"); } - ; - static get CrimsonFenceGate() { return ItemTypes.get("minecraft:crimson_fence_gate"); } - ; - static get CrimsonFungus() { return ItemTypes.get("minecraft:crimson_fungus"); } - ; - static get CrimsonHangingSign() { return ItemTypes.get("minecraft:crimson_hanging_sign"); } - ; - static get CrimsonHyphae() { return ItemTypes.get("minecraft:crimson_hyphae"); } - ; - static get CrimsonNylium() { return ItemTypes.get("minecraft:crimson_nylium"); } - ; - static get CrimsonPlanks() { return ItemTypes.get("minecraft:crimson_planks"); } - ; - static get CrimsonPressurePlate() { return ItemTypes.get("minecraft:crimson_pressure_plate"); } - ; - static get CrimsonRoots() { return ItemTypes.get("minecraft:crimson_roots"); } - ; - static get CrimsonSign() { return ItemTypes.get("minecraft:crimson_sign"); } - ; - static get CrimsonSlab() { return ItemTypes.get("minecraft:crimson_slab"); } - ; - static get CrimsonStairs() { return ItemTypes.get("minecraft:crimson_stairs"); } - ; - static get CrimsonStem() { return ItemTypes.get("minecraft:crimson_stem"); } - ; - static get CrimsonTrapdoor() { return ItemTypes.get("minecraft:crimson_trapdoor"); } - ; - static get Crossbow() { return ItemTypes.get("minecraft:crossbow"); } - ; - static get CryingObsidian() { return ItemTypes.get("minecraft:crying_obsidian"); } - ; - static get CutCopper() { return ItemTypes.get("minecraft:cut_copper"); } - ; - static get CutCopperSlab() { return ItemTypes.get("minecraft:cut_copper_slab"); } - ; - static get CutCopperStairs() { return ItemTypes.get("minecraft:cut_copper_stairs"); } - ; - static get CyanCandle() { return ItemTypes.get("minecraft:cyan_candle"); } - ; - static get CyanCarpet() { return ItemTypes.get("minecraft:cyan_carpet"); } - ; - static get CyanConcrete() { return ItemTypes.get("minecraft:cyan_concrete"); } - ; - static get CyanConcretePowder() { return ItemTypes.get("minecraft:cyan_concrete_powder"); } - ; - static get CyanDye() { return ItemTypes.get("minecraft:cyan_dye"); } - ; - static get CyanGlazedTerracotta() { return ItemTypes.get("minecraft:cyan_glazed_terracotta"); } - ; - static get CyanShulkerBox() { return ItemTypes.get("minecraft:cyan_shulker_box"); } - ; - static get CyanStainedGlass() { return ItemTypes.get("minecraft:cyan_stained_glass"); } - ; - static get CyanStainedGlassPane() { return ItemTypes.get("minecraft:cyan_stained_glass_pane"); } - ; - static get CyanTerracotta() { return ItemTypes.get("minecraft:cyan_terracotta"); } - ; - static get CyanWool() { return ItemTypes.get("minecraft:cyan_wool"); } - ; - static get DangerPotterySherd() { return ItemTypes.get("minecraft:danger_pottery_sherd"); } - ; - static get DarkOakBoat() { return ItemTypes.get("minecraft:dark_oak_boat"); } - ; - static get DarkOakButton() { return ItemTypes.get("minecraft:dark_oak_button"); } - ; - static get DarkOakChestBoat() { return ItemTypes.get("minecraft:dark_oak_chest_boat"); } - ; - static get DarkOakDoor() { return ItemTypes.get("minecraft:dark_oak_door"); } - ; - static get DarkOakFence() { return ItemTypes.get("minecraft:dark_oak_fence"); } - ; - static get DarkOakFenceGate() { return ItemTypes.get("minecraft:dark_oak_fence_gate"); } - ; - static get DarkOakHangingSign() { return ItemTypes.get("minecraft:dark_oak_hanging_sign"); } - ; - static get DarkOakLog() { return ItemTypes.get("minecraft:dark_oak_log"); } - ; - static get DarkOakPressurePlate() { return ItemTypes.get("minecraft:dark_oak_pressure_plate"); } - ; - static get DarkOakSign() { return ItemTypes.get("minecraft:dark_oak_sign"); } - ; - static get DarkOakStairs() { return ItemTypes.get("minecraft:dark_oak_stairs"); } - ; - static get DarkOakTrapdoor() { return ItemTypes.get("minecraft:dark_oak_trapdoor"); } - ; - static get DarkPrismarineStairs() { return ItemTypes.get("minecraft:dark_prismarine_stairs"); } - ; - static get DaylightDetector() { return ItemTypes.get("minecraft:daylight_detector"); } - ; - static get DeadBrainCoral() { return ItemTypes.get("minecraft:dead_brain_coral"); } - ; - static get DeadBubbleCoral() { return ItemTypes.get("minecraft:dead_bubble_coral"); } - ; - static get DeadFireCoral() { return ItemTypes.get("minecraft:dead_fire_coral"); } - ; - static get DeadHornCoral() { return ItemTypes.get("minecraft:dead_horn_coral"); } - ; - static get DeadTubeCoral() { return ItemTypes.get("minecraft:dead_tube_coral"); } - ; - static get Deadbush() { return ItemTypes.get("minecraft:deadbush"); } - ; - static get DecoratedPot() { return ItemTypes.get("minecraft:decorated_pot"); } - ; - static get Deepslate() { return ItemTypes.get("minecraft:deepslate"); } - ; - static get DeepslateBrickSlab() { return ItemTypes.get("minecraft:deepslate_brick_slab"); } - ; - static get DeepslateBrickStairs() { return ItemTypes.get("minecraft:deepslate_brick_stairs"); } - ; - static get DeepslateBrickWall() { return ItemTypes.get("minecraft:deepslate_brick_wall"); } - ; - static get DeepslateBricks() { return ItemTypes.get("minecraft:deepslate_bricks"); } - ; - static get DeepslateCoalOre() { return ItemTypes.get("minecraft:deepslate_coal_ore"); } - ; - static get DeepslateCopperOre() { return ItemTypes.get("minecraft:deepslate_copper_ore"); } - ; - static get DeepslateDiamondOre() { return ItemTypes.get("minecraft:deepslate_diamond_ore"); } - ; - static get DeepslateEmeraldOre() { return ItemTypes.get("minecraft:deepslate_emerald_ore"); } - ; - static get DeepslateGoldOre() { return ItemTypes.get("minecraft:deepslate_gold_ore"); } - ; - static get DeepslateIronOre() { return ItemTypes.get("minecraft:deepslate_iron_ore"); } - ; - static get DeepslateLapisOre() { return ItemTypes.get("minecraft:deepslate_lapis_ore"); } - ; - static get DeepslateRedstoneOre() { return ItemTypes.get("minecraft:deepslate_redstone_ore"); } - ; - static get DeepslateTileSlab() { return ItemTypes.get("minecraft:deepslate_tile_slab"); } - ; - static get DeepslateTileStairs() { return ItemTypes.get("minecraft:deepslate_tile_stairs"); } - ; - static get DeepslateTileWall() { return ItemTypes.get("minecraft:deepslate_tile_wall"); } - ; - static get DeepslateTiles() { return ItemTypes.get("minecraft:deepslate_tiles"); } - ; - static get Deny() { return ItemTypes.get("minecraft:deny"); } - ; - static get DetectorRail() { return ItemTypes.get("minecraft:detector_rail"); } - ; - static get Diamond() { return ItemTypes.get("minecraft:diamond"); } - ; - static get DiamondAxe() { return ItemTypes.get("minecraft:diamond_axe"); } - ; - static get DiamondBlock() { return ItemTypes.get("minecraft:diamond_block"); } - ; - static get DiamondBoots() { return ItemTypes.get("minecraft:diamond_boots"); } - ; - static get DiamondChestplate() { return ItemTypes.get("minecraft:diamond_chestplate"); } - ; - static get DiamondHelmet() { return ItemTypes.get("minecraft:diamond_helmet"); } - ; - static get DiamondHoe() { return ItemTypes.get("minecraft:diamond_hoe"); } - ; - static get DiamondHorseArmor() { return ItemTypes.get("minecraft:diamond_horse_armor"); } - ; - static get DiamondLeggings() { return ItemTypes.get("minecraft:diamond_leggings"); } - ; - static get DiamondOre() { return ItemTypes.get("minecraft:diamond_ore"); } - ; - static get DiamondPickaxe() { return ItemTypes.get("minecraft:diamond_pickaxe"); } - ; - static get DiamondShovel() { return ItemTypes.get("minecraft:diamond_shovel"); } - ; - static get DiamondSword() { return ItemTypes.get("minecraft:diamond_sword"); } - ; - static get DioriteStairs() { return ItemTypes.get("minecraft:diorite_stairs"); } - ; - static get Dirt() { return ItemTypes.get("minecraft:dirt"); } - ; - static get DirtWithRoots() { return ItemTypes.get("minecraft:dirt_with_roots"); } - ; - static get DiscFragment5() { return ItemTypes.get("minecraft:disc_fragment_5"); } - ; - static get Dispenser() { return ItemTypes.get("minecraft:dispenser"); } - ; - static get DolphinSpawnEgg() { return ItemTypes.get("minecraft:dolphin_spawn_egg"); } - ; - static get DonkeySpawnEgg() { return ItemTypes.get("minecraft:donkey_spawn_egg"); } - ; - static get DoublePlant() { return ItemTypes.get("minecraft:double_plant"); } - ; - static get DragonBreath() { return ItemTypes.get("minecraft:dragon_breath"); } - ; - static get DragonEgg() { return ItemTypes.get("minecraft:dragon_egg"); } - ; - static get DriedKelp() { return ItemTypes.get("minecraft:dried_kelp"); } - ; - static get DriedKelpBlock() { return ItemTypes.get("minecraft:dried_kelp_block"); } - ; - static get DripstoneBlock() { return ItemTypes.get("minecraft:dripstone_block"); } - ; - static get Dropper() { return ItemTypes.get("minecraft:dropper"); } - ; - static get DrownedSpawnEgg() { return ItemTypes.get("minecraft:drowned_spawn_egg"); } - ; - static get DuneArmorTrimSmithingTemplate() { return ItemTypes.get("minecraft:dune_armor_trim_smithing_template"); } - ; - static get Dye() { return ItemTypes.get("minecraft:dye"); } - ; - static get EchoShard() { return ItemTypes.get("minecraft:echo_shard"); } - ; - static get Egg() { return ItemTypes.get("minecraft:egg"); } - ; - static get ElderGuardianSpawnEgg() { return ItemTypes.get("minecraft:elder_guardian_spawn_egg"); } - ; - static get Elytra() { return ItemTypes.get("minecraft:elytra"); } - ; - static get Emerald() { return ItemTypes.get("minecraft:emerald"); } - ; - static get EmeraldBlock() { return ItemTypes.get("minecraft:emerald_block"); } - ; - static get EmeraldOre() { return ItemTypes.get("minecraft:emerald_ore"); } - ; - static get EmptyMap() { return ItemTypes.get("minecraft:empty_map"); } - ; - static get EnchantedBook() { return ItemTypes.get("minecraft:enchanted_book"); } - ; - static get EnchantedGoldenApple() { return ItemTypes.get("minecraft:enchanted_golden_apple"); } - ; - static get EnchantingTable() { return ItemTypes.get("minecraft:enchanting_table"); } - ; - static get EndBrickStairs() { return ItemTypes.get("minecraft:end_brick_stairs"); } - ; - static get EndBricks() { return ItemTypes.get("minecraft:end_bricks"); } - ; - static get EndCrystal() { return ItemTypes.get("minecraft:end_crystal"); } - ; - static get EndPortalFrame() { return ItemTypes.get("minecraft:end_portal_frame"); } - ; - static get EndRod() { return ItemTypes.get("minecraft:end_rod"); } - ; - static get EndStone() { return ItemTypes.get("minecraft:end_stone"); } - ; - static get EnderChest() { return ItemTypes.get("minecraft:ender_chest"); } - ; - static get EnderDragonSpawnEgg() { return ItemTypes.get("minecraft:ender_dragon_spawn_egg"); } - ; - static get EnderEye() { return ItemTypes.get("minecraft:ender_eye"); } - ; - static get EnderPearl() { return ItemTypes.get("minecraft:ender_pearl"); } - ; - static get EndermanSpawnEgg() { return ItemTypes.get("minecraft:enderman_spawn_egg"); } - ; - static get EndermiteSpawnEgg() { return ItemTypes.get("minecraft:endermite_spawn_egg"); } - ; - static get EvokerSpawnEgg() { return ItemTypes.get("minecraft:evoker_spawn_egg"); } - ; - static get ExperienceBottle() { return ItemTypes.get("minecraft:experience_bottle"); } - ; - static get ExplorerPotterySherd() { return ItemTypes.get("minecraft:explorer_pottery_sherd"); } - ; - static get ExposedCopper() { return ItemTypes.get("minecraft:exposed_copper"); } - ; - static get ExposedCutCopper() { return ItemTypes.get("minecraft:exposed_cut_copper"); } - ; - static get ExposedCutCopperSlab() { return ItemTypes.get("minecraft:exposed_cut_copper_slab"); } - ; - static get ExposedCutCopperStairs() { return ItemTypes.get("minecraft:exposed_cut_copper_stairs"); } - ; - static get EyeArmorTrimSmithingTemplate() { return ItemTypes.get("minecraft:eye_armor_trim_smithing_template"); } - ; - static get Farmland() { return ItemTypes.get("minecraft:farmland"); } - ; - static get Feather() { return ItemTypes.get("minecraft:feather"); } - ; - static get Fence() { return ItemTypes.get("minecraft:fence"); } - ; - static get FenceGate() { return ItemTypes.get("minecraft:fence_gate"); } - ; - static get FermentedSpiderEye() { return ItemTypes.get("minecraft:fermented_spider_eye"); } - ; - static get FieldMasonedBannerPattern() { return ItemTypes.get("minecraft:field_masoned_banner_pattern"); } - ; - static get FilledMap() { return ItemTypes.get("minecraft:filled_map"); } - ; - static get FireCharge() { return ItemTypes.get("minecraft:fire_charge"); } - ; - static get FireCoral() { return ItemTypes.get("minecraft:fire_coral"); } - ; - static get FireworkRocket() { return ItemTypes.get("minecraft:firework_rocket"); } - ; - static get FireworkStar() { return ItemTypes.get("minecraft:firework_star"); } - ; - static get FishingRod() { return ItemTypes.get("minecraft:fishing_rod"); } - ; - static get FletchingTable() { return ItemTypes.get("minecraft:fletching_table"); } - ; - static get Flint() { return ItemTypes.get("minecraft:flint"); } - ; - static get FlintAndSteel() { return ItemTypes.get("minecraft:flint_and_steel"); } - ; - static get FlowerBannerPattern() { return ItemTypes.get("minecraft:flower_banner_pattern"); } - ; - static get FlowerPot() { return ItemTypes.get("minecraft:flower_pot"); } - ; - static get FloweringAzalea() { return ItemTypes.get("minecraft:flowering_azalea"); } - ; - static get FoxSpawnEgg() { return ItemTypes.get("minecraft:fox_spawn_egg"); } - ; - static get Frame() { return ItemTypes.get("minecraft:frame"); } - ; - static get FriendPotterySherd() { return ItemTypes.get("minecraft:friend_pottery_sherd"); } - ; - static get FrogSpawn() { return ItemTypes.get("minecraft:frog_spawn"); } - ; - static get FrogSpawnEgg() { return ItemTypes.get("minecraft:frog_spawn_egg"); } - ; - static get FrostedIce() { return ItemTypes.get("minecraft:frosted_ice"); } - ; - static get Furnace() { return ItemTypes.get("minecraft:furnace"); } - ; - static get GhastSpawnEgg() { return ItemTypes.get("minecraft:ghast_spawn_egg"); } - ; - static get GhastTear() { return ItemTypes.get("minecraft:ghast_tear"); } - ; - static get GildedBlackstone() { return ItemTypes.get("minecraft:gilded_blackstone"); } - ; - static get Glass() { return ItemTypes.get("minecraft:glass"); } - ; - static get GlassBottle() { return ItemTypes.get("minecraft:glass_bottle"); } - ; - static get GlassPane() { return ItemTypes.get("minecraft:glass_pane"); } - ; - static get GlisteringMelonSlice() { return ItemTypes.get("minecraft:glistering_melon_slice"); } - ; - static get GlobeBannerPattern() { return ItemTypes.get("minecraft:globe_banner_pattern"); } - ; - static get GlowBerries() { return ItemTypes.get("minecraft:glow_berries"); } - ; - static get GlowFrame() { return ItemTypes.get("minecraft:glow_frame"); } - ; - static get GlowInkSac() { return ItemTypes.get("minecraft:glow_ink_sac"); } - ; - static get GlowLichen() { return ItemTypes.get("minecraft:glow_lichen"); } - ; - static get GlowSquidSpawnEgg() { return ItemTypes.get("minecraft:glow_squid_spawn_egg"); } - ; - static get Glowstone() { return ItemTypes.get("minecraft:glowstone"); } - ; - static get GlowstoneDust() { return ItemTypes.get("minecraft:glowstone_dust"); } - ; - static get GoatHorn() { return ItemTypes.get("minecraft:goat_horn"); } - ; - static get GoatSpawnEgg() { return ItemTypes.get("minecraft:goat_spawn_egg"); } - ; - static get GoldBlock() { return ItemTypes.get("minecraft:gold_block"); } - ; - static get GoldIngot() { return ItemTypes.get("minecraft:gold_ingot"); } - ; - static get GoldNugget() { return ItemTypes.get("minecraft:gold_nugget"); } - ; - static get GoldOre() { return ItemTypes.get("minecraft:gold_ore"); } - ; - static get GoldenApple() { return ItemTypes.get("minecraft:golden_apple"); } - ; - static get GoldenAxe() { return ItemTypes.get("minecraft:golden_axe"); } - ; - static get GoldenBoots() { return ItemTypes.get("minecraft:golden_boots"); } - ; - static get GoldenCarrot() { return ItemTypes.get("minecraft:golden_carrot"); } - ; - static get GoldenChestplate() { return ItemTypes.get("minecraft:golden_chestplate"); } - ; - static get GoldenHelmet() { return ItemTypes.get("minecraft:golden_helmet"); } - ; - static get GoldenHoe() { return ItemTypes.get("minecraft:golden_hoe"); } - ; - static get GoldenHorseArmor() { return ItemTypes.get("minecraft:golden_horse_armor"); } - ; - static get GoldenLeggings() { return ItemTypes.get("minecraft:golden_leggings"); } - ; - static get GoldenPickaxe() { return ItemTypes.get("minecraft:golden_pickaxe"); } - ; - static get GoldenRail() { return ItemTypes.get("minecraft:golden_rail"); } - ; - static get GoldenShovel() { return ItemTypes.get("minecraft:golden_shovel"); } - ; - static get GoldenSword() { return ItemTypes.get("minecraft:golden_sword"); } - ; - static get GraniteStairs() { return ItemTypes.get("minecraft:granite_stairs"); } - ; - static get Grass() { return ItemTypes.get("minecraft:grass"); } - ; - static get GrassPath() { return ItemTypes.get("minecraft:grass_path"); } - ; - static get Gravel() { return ItemTypes.get("minecraft:gravel"); } - ; - static get GrayCandle() { return ItemTypes.get("minecraft:gray_candle"); } - ; - static get GrayCarpet() { return ItemTypes.get("minecraft:gray_carpet"); } - ; - static get GrayConcrete() { return ItemTypes.get("minecraft:gray_concrete"); } - ; - static get GrayConcretePowder() { return ItemTypes.get("minecraft:gray_concrete_powder"); } - ; - static get GrayDye() { return ItemTypes.get("minecraft:gray_dye"); } - ; - static get GrayGlazedTerracotta() { return ItemTypes.get("minecraft:gray_glazed_terracotta"); } - ; - static get GrayShulkerBox() { return ItemTypes.get("minecraft:gray_shulker_box"); } - ; - static get GrayStainedGlass() { return ItemTypes.get("minecraft:gray_stained_glass"); } - ; - static get GrayStainedGlassPane() { return ItemTypes.get("minecraft:gray_stained_glass_pane"); } - ; - static get GrayTerracotta() { return ItemTypes.get("minecraft:gray_terracotta"); } - ; - static get GrayWool() { return ItemTypes.get("minecraft:gray_wool"); } - ; - static get GreenCandle() { return ItemTypes.get("minecraft:green_candle"); } - ; - static get GreenCarpet() { return ItemTypes.get("minecraft:green_carpet"); } - ; - static get GreenConcrete() { return ItemTypes.get("minecraft:green_concrete"); } - ; - static get GreenConcretePowder() { return ItemTypes.get("minecraft:green_concrete_powder"); } - ; - static get GreenDye() { return ItemTypes.get("minecraft:green_dye"); } - ; - static get GreenGlazedTerracotta() { return ItemTypes.get("minecraft:green_glazed_terracotta"); } - ; - static get GreenShulkerBox() { return ItemTypes.get("minecraft:green_shulker_box"); } - ; - static get GreenStainedGlass() { return ItemTypes.get("minecraft:green_stained_glass"); } - ; - static get GreenStainedGlassPane() { return ItemTypes.get("minecraft:green_stained_glass_pane"); } - ; - static get GreenTerracotta() { return ItemTypes.get("minecraft:green_terracotta"); } - ; - static get GreenWool() { return ItemTypes.get("minecraft:green_wool"); } - ; - static get Grindstone() { return ItemTypes.get("minecraft:grindstone"); } - ; - static get GuardianSpawnEgg() { return ItemTypes.get("minecraft:guardian_spawn_egg"); } - ; - static get Gunpowder() { return ItemTypes.get("minecraft:gunpowder"); } - ; - static get HangingRoots() { return ItemTypes.get("minecraft:hanging_roots"); } - ; - static get HardenedClay() { return ItemTypes.get("minecraft:hardened_clay"); } - ; - static get HayBlock() { return ItemTypes.get("minecraft:hay_block"); } - ; - static get HeartOfTheSea() { return ItemTypes.get("minecraft:heart_of_the_sea"); } - ; - static get HeartPotterySherd() { return ItemTypes.get("minecraft:heart_pottery_sherd"); } - ; - static get HeartbreakPotterySherd() { return ItemTypes.get("minecraft:heartbreak_pottery_sherd"); } - ; - static get HeavyWeightedPressurePlate() { return ItemTypes.get("minecraft:heavy_weighted_pressure_plate"); } - ; - static get HoglinSpawnEgg() { return ItemTypes.get("minecraft:hoglin_spawn_egg"); } - ; - static get HoneyBlock() { return ItemTypes.get("minecraft:honey_block"); } - ; - static get HoneyBottle() { return ItemTypes.get("minecraft:honey_bottle"); } - ; - static get Honeycomb() { return ItemTypes.get("minecraft:honeycomb"); } - ; - static get HoneycombBlock() { return ItemTypes.get("minecraft:honeycomb_block"); } - ; - static get Hopper() { return ItemTypes.get("minecraft:hopper"); } - ; - static get HopperMinecart() { return ItemTypes.get("minecraft:hopper_minecart"); } - ; - static get HornCoral() { return ItemTypes.get("minecraft:horn_coral"); } - ; - static get HorseSpawnEgg() { return ItemTypes.get("minecraft:horse_spawn_egg"); } - ; - static get HostArmorTrimSmithingTemplate() { return ItemTypes.get("minecraft:host_armor_trim_smithing_template"); } - ; - static get HowlPotterySherd() { return ItemTypes.get("minecraft:howl_pottery_sherd"); } - ; - static get HuskSpawnEgg() { return ItemTypes.get("minecraft:husk_spawn_egg"); } - ; - static get Ice() { return ItemTypes.get("minecraft:ice"); } - ; - static get InfestedDeepslate() { return ItemTypes.get("minecraft:infested_deepslate"); } - ; - static get InkSac() { return ItemTypes.get("minecraft:ink_sac"); } - ; - static get IronAxe() { return ItemTypes.get("minecraft:iron_axe"); } - ; - static get IronBars() { return ItemTypes.get("minecraft:iron_bars"); } - ; - static get IronBlock() { return ItemTypes.get("minecraft:iron_block"); } - ; - static get IronBoots() { return ItemTypes.get("minecraft:iron_boots"); } - ; - static get IronChestplate() { return ItemTypes.get("minecraft:iron_chestplate"); } - ; - static get IronDoor() { return ItemTypes.get("minecraft:iron_door"); } - ; - static get IronGolemSpawnEgg() { return ItemTypes.get("minecraft:iron_golem_spawn_egg"); } - ; - static get IronHelmet() { return ItemTypes.get("minecraft:iron_helmet"); } - ; - static get IronHoe() { return ItemTypes.get("minecraft:iron_hoe"); } - ; - static get IronHorseArmor() { return ItemTypes.get("minecraft:iron_horse_armor"); } - ; - static get IronIngot() { return ItemTypes.get("minecraft:iron_ingot"); } - ; - static get IronLeggings() { return ItemTypes.get("minecraft:iron_leggings"); } - ; - static get IronNugget() { return ItemTypes.get("minecraft:iron_nugget"); } - ; - static get IronOre() { return ItemTypes.get("minecraft:iron_ore"); } - ; - static get IronPickaxe() { return ItemTypes.get("minecraft:iron_pickaxe"); } - ; - static get IronShovel() { return ItemTypes.get("minecraft:iron_shovel"); } - ; - static get IronSword() { return ItemTypes.get("minecraft:iron_sword"); } - ; - static get IronTrapdoor() { return ItemTypes.get("minecraft:iron_trapdoor"); } - ; - static get Jigsaw() { return ItemTypes.get("minecraft:jigsaw"); } - ; - static get Jukebox() { return ItemTypes.get("minecraft:jukebox"); } - ; - static get JungleBoat() { return ItemTypes.get("minecraft:jungle_boat"); } - ; - static get JungleButton() { return ItemTypes.get("minecraft:jungle_button"); } - ; - static get JungleChestBoat() { return ItemTypes.get("minecraft:jungle_chest_boat"); } - ; - static get JungleDoor() { return ItemTypes.get("minecraft:jungle_door"); } - ; - static get JungleFence() { return ItemTypes.get("minecraft:jungle_fence"); } - ; - static get JungleFenceGate() { return ItemTypes.get("minecraft:jungle_fence_gate"); } - ; - static get JungleHangingSign() { return ItemTypes.get("minecraft:jungle_hanging_sign"); } - ; - static get JungleLog() { return ItemTypes.get("minecraft:jungle_log"); } - ; - static get JunglePressurePlate() { return ItemTypes.get("minecraft:jungle_pressure_plate"); } - ; - static get JungleSign() { return ItemTypes.get("minecraft:jungle_sign"); } - ; - static get JungleStairs() { return ItemTypes.get("minecraft:jungle_stairs"); } - ; - static get JungleTrapdoor() { return ItemTypes.get("minecraft:jungle_trapdoor"); } - ; - static get Kelp() { return ItemTypes.get("minecraft:kelp"); } - ; - static get Ladder() { return ItemTypes.get("minecraft:ladder"); } - ; - static get Lantern() { return ItemTypes.get("minecraft:lantern"); } - ; - static get LapisBlock() { return ItemTypes.get("minecraft:lapis_block"); } - ; - static get LapisLazuli() { return ItemTypes.get("minecraft:lapis_lazuli"); } - ; - static get LapisOre() { return ItemTypes.get("minecraft:lapis_ore"); } - ; - static get LargeAmethystBud() { return ItemTypes.get("minecraft:large_amethyst_bud"); } - ; - static get LavaBucket() { return ItemTypes.get("minecraft:lava_bucket"); } - ; - static get Lead() { return ItemTypes.get("minecraft:lead"); } - ; - static get Leather() { return ItemTypes.get("minecraft:leather"); } - ; - static get LeatherBoots() { return ItemTypes.get("minecraft:leather_boots"); } - ; - static get LeatherChestplate() { return ItemTypes.get("minecraft:leather_chestplate"); } - ; - static get LeatherHelmet() { return ItemTypes.get("minecraft:leather_helmet"); } - ; - static get LeatherHorseArmor() { return ItemTypes.get("minecraft:leather_horse_armor"); } - ; - static get LeatherLeggings() { return ItemTypes.get("minecraft:leather_leggings"); } - ; - static get Leaves() { return ItemTypes.get("minecraft:leaves"); } - ; - static get Leaves2() { return ItemTypes.get("minecraft:leaves2"); } - ; - static get Lectern() { return ItemTypes.get("minecraft:lectern"); } - ; - static get Lever() { return ItemTypes.get("minecraft:lever"); } - ; - static get LightBlock() { return ItemTypes.get("minecraft:light_block"); } - ; - static get LightBlueCandle() { return ItemTypes.get("minecraft:light_blue_candle"); } - ; - static get LightBlueCarpet() { return ItemTypes.get("minecraft:light_blue_carpet"); } - ; - static get LightBlueConcrete() { return ItemTypes.get("minecraft:light_blue_concrete"); } - ; - static get LightBlueConcretePowder() { return ItemTypes.get("minecraft:light_blue_concrete_powder"); } - ; - static get LightBlueDye() { return ItemTypes.get("minecraft:light_blue_dye"); } - ; - static get LightBlueGlazedTerracotta() { return ItemTypes.get("minecraft:light_blue_glazed_terracotta"); } - ; - static get LightBlueShulkerBox() { return ItemTypes.get("minecraft:light_blue_shulker_box"); } - ; - static get LightBlueStainedGlass() { return ItemTypes.get("minecraft:light_blue_stained_glass"); } - ; - static get LightBlueStainedGlassPane() { return ItemTypes.get("minecraft:light_blue_stained_glass_pane"); } - ; - static get LightBlueTerracotta() { return ItemTypes.get("minecraft:light_blue_terracotta"); } - ; - static get LightBlueWool() { return ItemTypes.get("minecraft:light_blue_wool"); } - ; - static get LightGrayCandle() { return ItemTypes.get("minecraft:light_gray_candle"); } - ; - static get LightGrayCarpet() { return ItemTypes.get("minecraft:light_gray_carpet"); } - ; - static get LightGrayConcrete() { return ItemTypes.get("minecraft:light_gray_concrete"); } - ; - static get LightGrayConcretePowder() { return ItemTypes.get("minecraft:light_gray_concrete_powder"); } - ; - static get LightGrayDye() { return ItemTypes.get("minecraft:light_gray_dye"); } - ; - static get LightGrayShulkerBox() { return ItemTypes.get("minecraft:light_gray_shulker_box"); } - ; - static get LightGrayStainedGlass() { return ItemTypes.get("minecraft:light_gray_stained_glass"); } - ; - static get LightGrayStainedGlassPane() { return ItemTypes.get("minecraft:light_gray_stained_glass_pane"); } - ; - static get LightGrayTerracotta() { return ItemTypes.get("minecraft:light_gray_terracotta"); } - ; - static get LightGrayWool() { return ItemTypes.get("minecraft:light_gray_wool"); } - ; - static get LightWeightedPressurePlate() { return ItemTypes.get("minecraft:light_weighted_pressure_plate"); } - ; - static get LightningRod() { return ItemTypes.get("minecraft:lightning_rod"); } - ; - static get LimeCandle() { return ItemTypes.get("minecraft:lime_candle"); } - ; - static get LimeCarpet() { return ItemTypes.get("minecraft:lime_carpet"); } - ; - static get LimeConcrete() { return ItemTypes.get("minecraft:lime_concrete"); } - ; - static get LimeConcretePowder() { return ItemTypes.get("minecraft:lime_concrete_powder"); } - ; - static get LimeDye() { return ItemTypes.get("minecraft:lime_dye"); } - ; - static get LimeGlazedTerracotta() { return ItemTypes.get("minecraft:lime_glazed_terracotta"); } - ; - static get LimeShulkerBox() { return ItemTypes.get("minecraft:lime_shulker_box"); } - ; - static get LimeStainedGlass() { return ItemTypes.get("minecraft:lime_stained_glass"); } - ; - static get LimeStainedGlassPane() { return ItemTypes.get("minecraft:lime_stained_glass_pane"); } - ; - static get LimeTerracotta() { return ItemTypes.get("minecraft:lime_terracotta"); } - ; - static get LimeWool() { return ItemTypes.get("minecraft:lime_wool"); } - ; - static get LingeringPotion() { return ItemTypes.get("minecraft:lingering_potion"); } - ; - static get LitPumpkin() { return ItemTypes.get("minecraft:lit_pumpkin"); } - ; - static get LlamaSpawnEgg() { return ItemTypes.get("minecraft:llama_spawn_egg"); } - ; - static get Lodestone() { return ItemTypes.get("minecraft:lodestone"); } - ; - static get LodestoneCompass() { return ItemTypes.get("minecraft:lodestone_compass"); } - ; - static get Log() { return ItemTypes.get("minecraft:log"); } - ; - static get Log2() { return ItemTypes.get("minecraft:log2"); } - ; - static get Loom() { return ItemTypes.get("minecraft:loom"); } - ; - static get MagentaCandle() { return ItemTypes.get("minecraft:magenta_candle"); } - ; - static get MagentaCarpet() { return ItemTypes.get("minecraft:magenta_carpet"); } - ; - static get MagentaConcrete() { return ItemTypes.get("minecraft:magenta_concrete"); } - ; - static get MagentaConcretePowder() { return ItemTypes.get("minecraft:magenta_concrete_powder"); } - ; - static get MagentaDye() { return ItemTypes.get("minecraft:magenta_dye"); } - ; - static get MagentaGlazedTerracotta() { return ItemTypes.get("minecraft:magenta_glazed_terracotta"); } - ; - static get MagentaShulkerBox() { return ItemTypes.get("minecraft:magenta_shulker_box"); } - ; - static get MagentaStainedGlass() { return ItemTypes.get("minecraft:magenta_stained_glass"); } - ; - static get MagentaStainedGlassPane() { return ItemTypes.get("minecraft:magenta_stained_glass_pane"); } - ; - static get MagentaTerracotta() { return ItemTypes.get("minecraft:magenta_terracotta"); } - ; - static get MagentaWool() { return ItemTypes.get("minecraft:magenta_wool"); } - ; - static get Magma() { return ItemTypes.get("minecraft:magma"); } - ; - static get MagmaCream() { return ItemTypes.get("minecraft:magma_cream"); } - ; - static get MagmaCubeSpawnEgg() { return ItemTypes.get("minecraft:magma_cube_spawn_egg"); } - ; - static get MangroveBoat() { return ItemTypes.get("minecraft:mangrove_boat"); } - ; - static get MangroveButton() { return ItemTypes.get("minecraft:mangrove_button"); } - ; - static get MangroveChestBoat() { return ItemTypes.get("minecraft:mangrove_chest_boat"); } - ; - static get MangroveDoor() { return ItemTypes.get("minecraft:mangrove_door"); } - ; - static get MangroveFence() { return ItemTypes.get("minecraft:mangrove_fence"); } - ; - static get MangroveFenceGate() { return ItemTypes.get("minecraft:mangrove_fence_gate"); } - ; - static get MangroveHangingSign() { return ItemTypes.get("minecraft:mangrove_hanging_sign"); } - ; - static get MangroveLeaves() { return ItemTypes.get("minecraft:mangrove_leaves"); } - ; - static get MangroveLog() { return ItemTypes.get("minecraft:mangrove_log"); } - ; - static get MangrovePlanks() { return ItemTypes.get("minecraft:mangrove_planks"); } - ; - static get MangrovePressurePlate() { return ItemTypes.get("minecraft:mangrove_pressure_plate"); } - ; - static get MangrovePropagule() { return ItemTypes.get("minecraft:mangrove_propagule"); } - ; - static get MangroveRoots() { return ItemTypes.get("minecraft:mangrove_roots"); } - ; - static get MangroveSign() { return ItemTypes.get("minecraft:mangrove_sign"); } - ; - static get MangroveSlab() { return ItemTypes.get("minecraft:mangrove_slab"); } - ; - static get MangroveStairs() { return ItemTypes.get("minecraft:mangrove_stairs"); } - ; - static get MangroveTrapdoor() { return ItemTypes.get("minecraft:mangrove_trapdoor"); } - ; - static get MangroveWood() { return ItemTypes.get("minecraft:mangrove_wood"); } - ; - static get MediumAmethystBud() { return ItemTypes.get("minecraft:medium_amethyst_bud"); } - ; - static get MelonBlock() { return ItemTypes.get("minecraft:melon_block"); } - ; - static get MelonSeeds() { return ItemTypes.get("minecraft:melon_seeds"); } - ; - static get MelonSlice() { return ItemTypes.get("minecraft:melon_slice"); } - ; - static get MilkBucket() { return ItemTypes.get("minecraft:milk_bucket"); } - ; - static get Minecart() { return ItemTypes.get("minecraft:minecart"); } - ; - static get MinerPotterySherd() { return ItemTypes.get("minecraft:miner_pottery_sherd"); } - ; - static get MobSpawner() { return ItemTypes.get("minecraft:mob_spawner"); } - ; - static get MojangBannerPattern() { return ItemTypes.get("minecraft:mojang_banner_pattern"); } - ; - static get MonsterEgg() { return ItemTypes.get("minecraft:monster_egg"); } - ; - static get MooshroomSpawnEgg() { return ItemTypes.get("minecraft:mooshroom_spawn_egg"); } - ; - static get MossBlock() { return ItemTypes.get("minecraft:moss_block"); } - ; - static get MossCarpet() { return ItemTypes.get("minecraft:moss_carpet"); } - ; - static get MossyCobblestone() { return ItemTypes.get("minecraft:mossy_cobblestone"); } - ; - static get MossyCobblestoneStairs() { return ItemTypes.get("minecraft:mossy_cobblestone_stairs"); } - ; - static get MossyStoneBrickStairs() { return ItemTypes.get("minecraft:mossy_stone_brick_stairs"); } - ; - static get MournerPotterySherd() { return ItemTypes.get("minecraft:mourner_pottery_sherd"); } - ; - static get Mud() { return ItemTypes.get("minecraft:mud"); } - ; - static get MudBrickSlab() { return ItemTypes.get("minecraft:mud_brick_slab"); } - ; - static get MudBrickStairs() { return ItemTypes.get("minecraft:mud_brick_stairs"); } - ; - static get MudBrickWall() { return ItemTypes.get("minecraft:mud_brick_wall"); } - ; - static get MudBricks() { return ItemTypes.get("minecraft:mud_bricks"); } - ; - static get MuddyMangroveRoots() { return ItemTypes.get("minecraft:muddy_mangrove_roots"); } - ; - static get MuleSpawnEgg() { return ItemTypes.get("minecraft:mule_spawn_egg"); } - ; - static get MushroomStew() { return ItemTypes.get("minecraft:mushroom_stew"); } - ; - static get MusicDisc11() { return ItemTypes.get("minecraft:music_disc_11"); } - ; - static get MusicDisc13() { return ItemTypes.get("minecraft:music_disc_13"); } - ; - static get MusicDisc5() { return ItemTypes.get("minecraft:music_disc_5"); } - ; - static get MusicDiscBlocks() { return ItemTypes.get("minecraft:music_disc_blocks"); } - ; - static get MusicDiscCat() { return ItemTypes.get("minecraft:music_disc_cat"); } - ; - static get MusicDiscChirp() { return ItemTypes.get("minecraft:music_disc_chirp"); } - ; - static get MusicDiscFar() { return ItemTypes.get("minecraft:music_disc_far"); } - ; - static get MusicDiscMall() { return ItemTypes.get("minecraft:music_disc_mall"); } - ; - static get MusicDiscMellohi() { return ItemTypes.get("minecraft:music_disc_mellohi"); } - ; - static get MusicDiscOtherside() { return ItemTypes.get("minecraft:music_disc_otherside"); } - ; - static get MusicDiscPigstep() { return ItemTypes.get("minecraft:music_disc_pigstep"); } - ; - static get MusicDiscRelic() { return ItemTypes.get("minecraft:music_disc_relic"); } - ; - static get MusicDiscStal() { return ItemTypes.get("minecraft:music_disc_stal"); } - ; - static get MusicDiscStrad() { return ItemTypes.get("minecraft:music_disc_strad"); } - ; - static get MusicDiscWait() { return ItemTypes.get("minecraft:music_disc_wait"); } - ; - static get MusicDiscWard() { return ItemTypes.get("minecraft:music_disc_ward"); } - ; - static get Mutton() { return ItemTypes.get("minecraft:mutton"); } - ; - static get Mycelium() { return ItemTypes.get("minecraft:mycelium"); } - ; - static get NameTag() { return ItemTypes.get("minecraft:name_tag"); } - ; - static get NautilusShell() { return ItemTypes.get("minecraft:nautilus_shell"); } - ; - static get NetherBrick() { return ItemTypes.get("minecraft:nether_brick"); } - ; - static get NetherBrickFence() { return ItemTypes.get("minecraft:nether_brick_fence"); } - ; - static get NetherBrickStairs() { return ItemTypes.get("minecraft:nether_brick_stairs"); } - ; - static get NetherGoldOre() { return ItemTypes.get("minecraft:nether_gold_ore"); } - ; - static get NetherSprouts() { return ItemTypes.get("minecraft:nether_sprouts"); } - ; - static get NetherStar() { return ItemTypes.get("minecraft:nether_star"); } - ; - static get NetherWart() { return ItemTypes.get("minecraft:nether_wart"); } - ; - static get NetherWartBlock() { return ItemTypes.get("minecraft:nether_wart_block"); } - ; - static get Netherbrick() { return ItemTypes.get("minecraft:netherbrick"); } - ; - static get NetheriteAxe() { return ItemTypes.get("minecraft:netherite_axe"); } - ; - static get NetheriteBlock() { return ItemTypes.get("minecraft:netherite_block"); } - ; - static get NetheriteBoots() { return ItemTypes.get("minecraft:netherite_boots"); } - ; - static get NetheriteChestplate() { return ItemTypes.get("minecraft:netherite_chestplate"); } - ; - static get NetheriteHelmet() { return ItemTypes.get("minecraft:netherite_helmet"); } - ; - static get NetheriteHoe() { return ItemTypes.get("minecraft:netherite_hoe"); } - ; - static get NetheriteIngot() { return ItemTypes.get("minecraft:netherite_ingot"); } - ; - static get NetheriteLeggings() { return ItemTypes.get("minecraft:netherite_leggings"); } - ; - static get NetheritePickaxe() { return ItemTypes.get("minecraft:netherite_pickaxe"); } - ; - static get NetheriteScrap() { return ItemTypes.get("minecraft:netherite_scrap"); } - ; - static get NetheriteShovel() { return ItemTypes.get("minecraft:netherite_shovel"); } - ; - static get NetheriteSword() { return ItemTypes.get("minecraft:netherite_sword"); } - ; - static get NetheriteUpgradeSmithingTemplate() { return ItemTypes.get("minecraft:netherite_upgrade_smithing_template"); } - ; - static get Netherrack() { return ItemTypes.get("minecraft:netherrack"); } - ; - static get NormalStoneStairs() { return ItemTypes.get("minecraft:normal_stone_stairs"); } - ; - static get Noteblock() { return ItemTypes.get("minecraft:noteblock"); } - ; - static get OakBoat() { return ItemTypes.get("minecraft:oak_boat"); } - ; - static get OakChestBoat() { return ItemTypes.get("minecraft:oak_chest_boat"); } - ; - static get OakFence() { return ItemTypes.get("minecraft:oak_fence"); } - ; - static get OakHangingSign() { return ItemTypes.get("minecraft:oak_hanging_sign"); } - ; - static get OakLog() { return ItemTypes.get("minecraft:oak_log"); } - ; - static get OakSign() { return ItemTypes.get("minecraft:oak_sign"); } - ; - static get OakStairs() { return ItemTypes.get("minecraft:oak_stairs"); } - ; - static get Observer() { return ItemTypes.get("minecraft:observer"); } - ; - static get Obsidian() { return ItemTypes.get("minecraft:obsidian"); } - ; - static get OcelotSpawnEgg() { return ItemTypes.get("minecraft:ocelot_spawn_egg"); } - ; - static get OchreFroglight() { return ItemTypes.get("minecraft:ochre_froglight"); } - ; - static get OrangeCandle() { return ItemTypes.get("minecraft:orange_candle"); } - ; - static get OrangeCarpet() { return ItemTypes.get("minecraft:orange_carpet"); } - ; - static get OrangeConcrete() { return ItemTypes.get("minecraft:orange_concrete"); } - ; - static get OrangeConcretePowder() { return ItemTypes.get("minecraft:orange_concrete_powder"); } - ; - static get OrangeDye() { return ItemTypes.get("minecraft:orange_dye"); } - ; - static get OrangeGlazedTerracotta() { return ItemTypes.get("minecraft:orange_glazed_terracotta"); } - ; - static get OrangeShulkerBox() { return ItemTypes.get("minecraft:orange_shulker_box"); } - ; - static get OrangeStainedGlass() { return ItemTypes.get("minecraft:orange_stained_glass"); } - ; - static get OrangeStainedGlassPane() { return ItemTypes.get("minecraft:orange_stained_glass_pane"); } - ; - static get OrangeTerracotta() { return ItemTypes.get("minecraft:orange_terracotta"); } - ; - static get OrangeWool() { return ItemTypes.get("minecraft:orange_wool"); } - ; - static get OxidizedCopper() { return ItemTypes.get("minecraft:oxidized_copper"); } - ; - static get OxidizedCutCopper() { return ItemTypes.get("minecraft:oxidized_cut_copper"); } - ; - static get OxidizedCutCopperSlab() { return ItemTypes.get("minecraft:oxidized_cut_copper_slab"); } - ; - static get OxidizedCutCopperStairs() { return ItemTypes.get("minecraft:oxidized_cut_copper_stairs"); } - ; - static get PackedIce() { return ItemTypes.get("minecraft:packed_ice"); } - ; - static get PackedMud() { return ItemTypes.get("minecraft:packed_mud"); } - ; - static get Painting() { return ItemTypes.get("minecraft:painting"); } - ; - static get PandaSpawnEgg() { return ItemTypes.get("minecraft:panda_spawn_egg"); } - ; - static get Paper() { return ItemTypes.get("minecraft:paper"); } - ; - static get ParrotSpawnEgg() { return ItemTypes.get("minecraft:parrot_spawn_egg"); } - ; - static get PearlescentFroglight() { return ItemTypes.get("minecraft:pearlescent_froglight"); } - ; - static get PhantomMembrane() { return ItemTypes.get("minecraft:phantom_membrane"); } - ; - static get PhantomSpawnEgg() { return ItemTypes.get("minecraft:phantom_spawn_egg"); } - ; - static get PigSpawnEgg() { return ItemTypes.get("minecraft:pig_spawn_egg"); } - ; - static get PiglinBannerPattern() { return ItemTypes.get("minecraft:piglin_banner_pattern"); } - ; - static get PiglinBruteSpawnEgg() { return ItemTypes.get("minecraft:piglin_brute_spawn_egg"); } - ; - static get PiglinSpawnEgg() { return ItemTypes.get("minecraft:piglin_spawn_egg"); } - ; - static get PillagerSpawnEgg() { return ItemTypes.get("minecraft:pillager_spawn_egg"); } - ; - static get PinkCandle() { return ItemTypes.get("minecraft:pink_candle"); } - ; - static get PinkCarpet() { return ItemTypes.get("minecraft:pink_carpet"); } - ; - static get PinkConcrete() { return ItemTypes.get("minecraft:pink_concrete"); } - ; - static get PinkConcretePowder() { return ItemTypes.get("minecraft:pink_concrete_powder"); } - ; - static get PinkDye() { return ItemTypes.get("minecraft:pink_dye"); } - ; - static get PinkGlazedTerracotta() { return ItemTypes.get("minecraft:pink_glazed_terracotta"); } - ; - static get PinkPetals() { return ItemTypes.get("minecraft:pink_petals"); } - ; - static get PinkShulkerBox() { return ItemTypes.get("minecraft:pink_shulker_box"); } - ; - static get PinkStainedGlass() { return ItemTypes.get("minecraft:pink_stained_glass"); } - ; - static get PinkStainedGlassPane() { return ItemTypes.get("minecraft:pink_stained_glass_pane"); } - ; - static get PinkTerracotta() { return ItemTypes.get("minecraft:pink_terracotta"); } - ; - static get PinkWool() { return ItemTypes.get("minecraft:pink_wool"); } - ; - static get Piston() { return ItemTypes.get("minecraft:piston"); } - ; - static get PitcherPlant() { return ItemTypes.get("minecraft:pitcher_plant"); } - ; - static get PitcherPod() { return ItemTypes.get("minecraft:pitcher_pod"); } - ; - static get Planks() { return ItemTypes.get("minecraft:planks"); } - ; - static get PlentyPotterySherd() { return ItemTypes.get("minecraft:plenty_pottery_sherd"); } - ; - static get Podzol() { return ItemTypes.get("minecraft:podzol"); } - ; - static get PointedDripstone() { return ItemTypes.get("minecraft:pointed_dripstone"); } - ; - static get PoisonousPotato() { return ItemTypes.get("minecraft:poisonous_potato"); } - ; - static get PolarBearSpawnEgg() { return ItemTypes.get("minecraft:polar_bear_spawn_egg"); } - ; - static get PolishedAndesiteStairs() { return ItemTypes.get("minecraft:polished_andesite_stairs"); } - ; - static get PolishedBasalt() { return ItemTypes.get("minecraft:polished_basalt"); } - ; - static get PolishedBlackstone() { return ItemTypes.get("minecraft:polished_blackstone"); } - ; - static get PolishedBlackstoneBrickSlab() { return ItemTypes.get("minecraft:polished_blackstone_brick_slab"); } - ; - static get PolishedBlackstoneBrickStairs() { return ItemTypes.get("minecraft:polished_blackstone_brick_stairs"); } - ; - static get PolishedBlackstoneBrickWall() { return ItemTypes.get("minecraft:polished_blackstone_brick_wall"); } - ; - static get PolishedBlackstoneBricks() { return ItemTypes.get("minecraft:polished_blackstone_bricks"); } - ; - static get PolishedBlackstoneButton() { return ItemTypes.get("minecraft:polished_blackstone_button"); } - ; - static get PolishedBlackstonePressurePlate() { return ItemTypes.get("minecraft:polished_blackstone_pressure_plate"); } - ; - static get PolishedBlackstoneSlab() { return ItemTypes.get("minecraft:polished_blackstone_slab"); } - ; - static get PolishedBlackstoneStairs() { return ItemTypes.get("minecraft:polished_blackstone_stairs"); } - ; - static get PolishedBlackstoneWall() { return ItemTypes.get("minecraft:polished_blackstone_wall"); } - ; - static get PolishedDeepslate() { return ItemTypes.get("minecraft:polished_deepslate"); } - ; - static get PolishedDeepslateSlab() { return ItemTypes.get("minecraft:polished_deepslate_slab"); } - ; - static get PolishedDeepslateStairs() { return ItemTypes.get("minecraft:polished_deepslate_stairs"); } - ; - static get PolishedDeepslateWall() { return ItemTypes.get("minecraft:polished_deepslate_wall"); } - ; - static get PolishedDioriteStairs() { return ItemTypes.get("minecraft:polished_diorite_stairs"); } - ; - static get PolishedGraniteStairs() { return ItemTypes.get("minecraft:polished_granite_stairs"); } - ; - static get PoppedChorusFruit() { return ItemTypes.get("minecraft:popped_chorus_fruit"); } - ; - static get Porkchop() { return ItemTypes.get("minecraft:porkchop"); } - ; - static get Potato() { return ItemTypes.get("minecraft:potato"); } - ; - static get Potion() { return ItemTypes.get("minecraft:potion"); } - ; - static get PowderSnowBucket() { return ItemTypes.get("minecraft:powder_snow_bucket"); } - ; - static get Prismarine() { return ItemTypes.get("minecraft:prismarine"); } - ; - static get PrismarineBricksStairs() { return ItemTypes.get("minecraft:prismarine_bricks_stairs"); } - ; - static get PrismarineCrystals() { return ItemTypes.get("minecraft:prismarine_crystals"); } - ; - static get PrismarineShard() { return ItemTypes.get("minecraft:prismarine_shard"); } - ; - static get PrismarineStairs() { return ItemTypes.get("minecraft:prismarine_stairs"); } - ; - static get PrizePotterySherd() { return ItemTypes.get("minecraft:prize_pottery_sherd"); } - ; - static get Pufferfish() { return ItemTypes.get("minecraft:pufferfish"); } - ; - static get PufferfishBucket() { return ItemTypes.get("minecraft:pufferfish_bucket"); } - ; - static get PufferfishSpawnEgg() { return ItemTypes.get("minecraft:pufferfish_spawn_egg"); } - ; - static get Pumpkin() { return ItemTypes.get("minecraft:pumpkin"); } - ; - static get PumpkinPie() { return ItemTypes.get("minecraft:pumpkin_pie"); } - ; - static get PumpkinSeeds() { return ItemTypes.get("minecraft:pumpkin_seeds"); } - ; - static get PurpleCandle() { return ItemTypes.get("minecraft:purple_candle"); } - ; - static get PurpleCarpet() { return ItemTypes.get("minecraft:purple_carpet"); } - ; - static get PurpleConcrete() { return ItemTypes.get("minecraft:purple_concrete"); } - ; - static get PurpleConcretePowder() { return ItemTypes.get("minecraft:purple_concrete_powder"); } - ; - static get PurpleDye() { return ItemTypes.get("minecraft:purple_dye"); } - ; - static get PurpleGlazedTerracotta() { return ItemTypes.get("minecraft:purple_glazed_terracotta"); } - ; - static get PurpleShulkerBox() { return ItemTypes.get("minecraft:purple_shulker_box"); } - ; - static get PurpleStainedGlass() { return ItemTypes.get("minecraft:purple_stained_glass"); } - ; - static get PurpleStainedGlassPane() { return ItemTypes.get("minecraft:purple_stained_glass_pane"); } - ; - static get PurpleTerracotta() { return ItemTypes.get("minecraft:purple_terracotta"); } - ; - static get PurpleWool() { return ItemTypes.get("minecraft:purple_wool"); } - ; - static get PurpurBlock() { return ItemTypes.get("minecraft:purpur_block"); } - ; - static get PurpurStairs() { return ItemTypes.get("minecraft:purpur_stairs"); } - ; - static get Quartz() { return ItemTypes.get("minecraft:quartz"); } - ; - static get QuartzBlock() { return ItemTypes.get("minecraft:quartz_block"); } - ; - static get QuartzBricks() { return ItemTypes.get("minecraft:quartz_bricks"); } - ; - static get QuartzOre() { return ItemTypes.get("minecraft:quartz_ore"); } - ; - static get QuartzStairs() { return ItemTypes.get("minecraft:quartz_stairs"); } - ; - static get Rabbit() { return ItemTypes.get("minecraft:rabbit"); } - ; - static get RabbitFoot() { return ItemTypes.get("minecraft:rabbit_foot"); } - ; - static get RabbitHide() { return ItemTypes.get("minecraft:rabbit_hide"); } - ; - static get RabbitSpawnEgg() { return ItemTypes.get("minecraft:rabbit_spawn_egg"); } - ; - static get RabbitStew() { return ItemTypes.get("minecraft:rabbit_stew"); } - ; - static get Rail() { return ItemTypes.get("minecraft:rail"); } - ; - static get RaiserArmorTrimSmithingTemplate() { return ItemTypes.get("minecraft:raiser_armor_trim_smithing_template"); } - ; - static get RavagerSpawnEgg() { return ItemTypes.get("minecraft:ravager_spawn_egg"); } - ; - static get RawCopper() { return ItemTypes.get("minecraft:raw_copper"); } - ; - static get RawCopperBlock() { return ItemTypes.get("minecraft:raw_copper_block"); } - ; - static get RawGold() { return ItemTypes.get("minecraft:raw_gold"); } - ; - static get RawGoldBlock() { return ItemTypes.get("minecraft:raw_gold_block"); } - ; - static get RawIron() { return ItemTypes.get("minecraft:raw_iron"); } - ; - static get RawIronBlock() { return ItemTypes.get("minecraft:raw_iron_block"); } - ; - static get RecoveryCompass() { return ItemTypes.get("minecraft:recovery_compass"); } - ; - static get RedCandle() { return ItemTypes.get("minecraft:red_candle"); } - ; - static get RedCarpet() { return ItemTypes.get("minecraft:red_carpet"); } - ; - static get RedConcrete() { return ItemTypes.get("minecraft:red_concrete"); } - ; - static get RedConcretePowder() { return ItemTypes.get("minecraft:red_concrete_powder"); } - ; - static get RedDye() { return ItemTypes.get("minecraft:red_dye"); } - ; - static get RedFlower() { return ItemTypes.get("minecraft:red_flower"); } - ; - static get RedGlazedTerracotta() { return ItemTypes.get("minecraft:red_glazed_terracotta"); } - ; - static get RedMushroom() { return ItemTypes.get("minecraft:red_mushroom"); } - ; - static get RedMushroomBlock() { return ItemTypes.get("minecraft:red_mushroom_block"); } - ; - static get RedNetherBrick() { return ItemTypes.get("minecraft:red_nether_brick"); } - ; - static get RedNetherBrickStairs() { return ItemTypes.get("minecraft:red_nether_brick_stairs"); } - ; - static get RedSandstone() { return ItemTypes.get("minecraft:red_sandstone"); } - ; - static get RedSandstoneStairs() { return ItemTypes.get("minecraft:red_sandstone_stairs"); } - ; - static get RedShulkerBox() { return ItemTypes.get("minecraft:red_shulker_box"); } - ; - static get RedStainedGlass() { return ItemTypes.get("minecraft:red_stained_glass"); } - ; - static get RedStainedGlassPane() { return ItemTypes.get("minecraft:red_stained_glass_pane"); } - ; - static get RedTerracotta() { return ItemTypes.get("minecraft:red_terracotta"); } - ; - static get RedWool() { return ItemTypes.get("minecraft:red_wool"); } - ; - static get Redstone() { return ItemTypes.get("minecraft:redstone"); } - ; - static get RedstoneBlock() { return ItemTypes.get("minecraft:redstone_block"); } - ; - static get RedstoneLamp() { return ItemTypes.get("minecraft:redstone_lamp"); } - ; - static get RedstoneOre() { return ItemTypes.get("minecraft:redstone_ore"); } - ; - static get RedstoneTorch() { return ItemTypes.get("minecraft:redstone_torch"); } - ; - static get ReinforcedDeepslate() { return ItemTypes.get("minecraft:reinforced_deepslate"); } - ; - static get Repeater() { return ItemTypes.get("minecraft:repeater"); } - ; - static get RepeatingCommandBlock() { return ItemTypes.get("minecraft:repeating_command_block"); } - ; - static get RespawnAnchor() { return ItemTypes.get("minecraft:respawn_anchor"); } - ; - static get RibArmorTrimSmithingTemplate() { return ItemTypes.get("minecraft:rib_armor_trim_smithing_template"); } - ; - static get RottenFlesh() { return ItemTypes.get("minecraft:rotten_flesh"); } - ; - static get Saddle() { return ItemTypes.get("minecraft:saddle"); } - ; - static get Salmon() { return ItemTypes.get("minecraft:salmon"); } - ; - static get SalmonBucket() { return ItemTypes.get("minecraft:salmon_bucket"); } - ; - static get SalmonSpawnEgg() { return ItemTypes.get("minecraft:salmon_spawn_egg"); } - ; - static get Sand() { return ItemTypes.get("minecraft:sand"); } - ; - static get Sandstone() { return ItemTypes.get("minecraft:sandstone"); } - ; - static get SandstoneStairs() { return ItemTypes.get("minecraft:sandstone_stairs"); } - ; - static get Sapling() { return ItemTypes.get("minecraft:sapling"); } - ; - static get Scaffolding() { return ItemTypes.get("minecraft:scaffolding"); } - ; - static get Sculk() { return ItemTypes.get("minecraft:sculk"); } - ; - static get SculkCatalyst() { return ItemTypes.get("minecraft:sculk_catalyst"); } - ; - static get SculkSensor() { return ItemTypes.get("minecraft:sculk_sensor"); } - ; - static get SculkShrieker() { return ItemTypes.get("minecraft:sculk_shrieker"); } - ; - static get SculkVein() { return ItemTypes.get("minecraft:sculk_vein"); } - ; - static get Scute() { return ItemTypes.get("minecraft:scute"); } - ; - static get SeaLantern() { return ItemTypes.get("minecraft:sea_lantern"); } - ; - static get SeaPickle() { return ItemTypes.get("minecraft:sea_pickle"); } - ; - static get Seagrass() { return ItemTypes.get("minecraft:seagrass"); } - ; - static get SentryArmorTrimSmithingTemplate() { return ItemTypes.get("minecraft:sentry_armor_trim_smithing_template"); } - ; - static get ShaperArmorTrimSmithingTemplate() { return ItemTypes.get("minecraft:shaper_armor_trim_smithing_template"); } - ; - static get SheafPotterySherd() { return ItemTypes.get("minecraft:sheaf_pottery_sherd"); } - ; - static get Shears() { return ItemTypes.get("minecraft:shears"); } - ; - static get SheepSpawnEgg() { return ItemTypes.get("minecraft:sheep_spawn_egg"); } - ; - static get ShelterPotterySherd() { return ItemTypes.get("minecraft:shelter_pottery_sherd"); } - ; - static get Shield() { return ItemTypes.get("minecraft:shield"); } - ; - static get Shroomlight() { return ItemTypes.get("minecraft:shroomlight"); } - ; - static get ShulkerBox() { return ItemTypes.get("minecraft:shulker_box"); } - ; - static get ShulkerShell() { return ItemTypes.get("minecraft:shulker_shell"); } - ; - static get ShulkerSpawnEgg() { return ItemTypes.get("minecraft:shulker_spawn_egg"); } - ; - static get SilenceArmorTrimSmithingTemplate() { return ItemTypes.get("minecraft:silence_armor_trim_smithing_template"); } - ; - static get SilverGlazedTerracotta() { return ItemTypes.get("minecraft:silver_glazed_terracotta"); } - ; - static get SilverfishSpawnEgg() { return ItemTypes.get("minecraft:silverfish_spawn_egg"); } - ; - static get SkeletonHorseSpawnEgg() { return ItemTypes.get("minecraft:skeleton_horse_spawn_egg"); } - ; - static get SkeletonSpawnEgg() { return ItemTypes.get("minecraft:skeleton_spawn_egg"); } - ; - static get Skull() { return ItemTypes.get("minecraft:skull"); } - ; - static get SkullBannerPattern() { return ItemTypes.get("minecraft:skull_banner_pattern"); } - ; - static get SkullPotterySherd() { return ItemTypes.get("minecraft:skull_pottery_sherd"); } - ; - static get Slime() { return ItemTypes.get("minecraft:slime"); } - ; - static get SlimeBall() { return ItemTypes.get("minecraft:slime_ball"); } - ; - static get SlimeSpawnEgg() { return ItemTypes.get("minecraft:slime_spawn_egg"); } - ; - static get SmallAmethystBud() { return ItemTypes.get("minecraft:small_amethyst_bud"); } - ; - static get SmallDripleafBlock() { return ItemTypes.get("minecraft:small_dripleaf_block"); } - ; - static get SmithingTable() { return ItemTypes.get("minecraft:smithing_table"); } - ; - static get Smoker() { return ItemTypes.get("minecraft:smoker"); } - ; - static get SmoothBasalt() { return ItemTypes.get("minecraft:smooth_basalt"); } - ; - static get SmoothQuartzStairs() { return ItemTypes.get("minecraft:smooth_quartz_stairs"); } - ; - static get SmoothRedSandstoneStairs() { return ItemTypes.get("minecraft:smooth_red_sandstone_stairs"); } - ; - static get SmoothSandstoneStairs() { return ItemTypes.get("minecraft:smooth_sandstone_stairs"); } - ; - static get SmoothStone() { return ItemTypes.get("minecraft:smooth_stone"); } - ; - static get SnifferEgg() { return ItemTypes.get("minecraft:sniffer_egg"); } - ; - static get SnifferSpawnEgg() { return ItemTypes.get("minecraft:sniffer_spawn_egg"); } - ; - static get SnortPotterySherd() { return ItemTypes.get("minecraft:snort_pottery_sherd"); } - ; - static get SnoutArmorTrimSmithingTemplate() { return ItemTypes.get("minecraft:snout_armor_trim_smithing_template"); } - ; - static get Snow() { return ItemTypes.get("minecraft:snow"); } - ; - static get SnowGolemSpawnEgg() { return ItemTypes.get("minecraft:snow_golem_spawn_egg"); } - ; - static get SnowLayer() { return ItemTypes.get("minecraft:snow_layer"); } - ; - static get Snowball() { return ItemTypes.get("minecraft:snowball"); } - ; - static get SoulCampfire() { return ItemTypes.get("minecraft:soul_campfire"); } - ; - static get SoulLantern() { return ItemTypes.get("minecraft:soul_lantern"); } - ; - static get SoulSand() { return ItemTypes.get("minecraft:soul_sand"); } - ; - static get SoulSoil() { return ItemTypes.get("minecraft:soul_soil"); } - ; - static get SoulTorch() { return ItemTypes.get("minecraft:soul_torch"); } - ; - static get SpawnEgg() { return ItemTypes.get("minecraft:spawn_egg"); } - ; - static get SpiderEye() { return ItemTypes.get("minecraft:spider_eye"); } - ; - static get SpiderSpawnEgg() { return ItemTypes.get("minecraft:spider_spawn_egg"); } - ; - static get SpireArmorTrimSmithingTemplate() { return ItemTypes.get("minecraft:spire_armor_trim_smithing_template"); } - ; - static get SplashPotion() { return ItemTypes.get("minecraft:splash_potion"); } - ; - static get Sponge() { return ItemTypes.get("minecraft:sponge"); } - ; - static get SporeBlossom() { return ItemTypes.get("minecraft:spore_blossom"); } - ; - static get SpruceBoat() { return ItemTypes.get("minecraft:spruce_boat"); } - ; - static get SpruceButton() { return ItemTypes.get("minecraft:spruce_button"); } - ; - static get SpruceChestBoat() { return ItemTypes.get("minecraft:spruce_chest_boat"); } - ; - static get SpruceDoor() { return ItemTypes.get("minecraft:spruce_door"); } - ; - static get SpruceFence() { return ItemTypes.get("minecraft:spruce_fence"); } - ; - static get SpruceFenceGate() { return ItemTypes.get("minecraft:spruce_fence_gate"); } - ; - static get SpruceHangingSign() { return ItemTypes.get("minecraft:spruce_hanging_sign"); } - ; - static get SpruceLog() { return ItemTypes.get("minecraft:spruce_log"); } - ; - static get SprucePressurePlate() { return ItemTypes.get("minecraft:spruce_pressure_plate"); } - ; - static get SpruceSign() { return ItemTypes.get("minecraft:spruce_sign"); } - ; - static get SpruceStairs() { return ItemTypes.get("minecraft:spruce_stairs"); } - ; - static get SpruceTrapdoor() { return ItemTypes.get("minecraft:spruce_trapdoor"); } - ; - static get Spyglass() { return ItemTypes.get("minecraft:spyglass"); } - ; - static get SquidSpawnEgg() { return ItemTypes.get("minecraft:squid_spawn_egg"); } - ; - static get StainedGlass() { return ItemTypes.get("minecraft:stained_glass"); } - ; - static get StainedGlassPane() { return ItemTypes.get("minecraft:stained_glass_pane"); } - ; - static get StainedHardenedClay() { return ItemTypes.get("minecraft:stained_hardened_clay"); } - ; - static get Stick() { return ItemTypes.get("minecraft:stick"); } - ; - static get StickyPiston() { return ItemTypes.get("minecraft:sticky_piston"); } - ; - static get Stone() { return ItemTypes.get("minecraft:stone"); } - ; - static get StoneAxe() { return ItemTypes.get("minecraft:stone_axe"); } - ; - static get StoneBlockSlab() { return ItemTypes.get("minecraft:stone_block_slab"); } - ; - static get StoneBlockSlab2() { return ItemTypes.get("minecraft:stone_block_slab2"); } - ; - static get StoneBlockSlab3() { return ItemTypes.get("minecraft:stone_block_slab3"); } - ; - static get StoneBlockSlab4() { return ItemTypes.get("minecraft:stone_block_slab4"); } - ; - static get StoneBrickStairs() { return ItemTypes.get("minecraft:stone_brick_stairs"); } - ; - static get StoneButton() { return ItemTypes.get("minecraft:stone_button"); } - ; - static get StoneHoe() { return ItemTypes.get("minecraft:stone_hoe"); } - ; - static get StonePickaxe() { return ItemTypes.get("minecraft:stone_pickaxe"); } - ; - static get StonePressurePlate() { return ItemTypes.get("minecraft:stone_pressure_plate"); } - ; - static get StoneShovel() { return ItemTypes.get("minecraft:stone_shovel"); } - ; - static get StoneStairs() { return ItemTypes.get("minecraft:stone_stairs"); } - ; - static get StoneSword() { return ItemTypes.get("minecraft:stone_sword"); } - ; - static get Stonebrick() { return ItemTypes.get("minecraft:stonebrick"); } - ; - static get StonecutterBlock() { return ItemTypes.get("minecraft:stonecutter_block"); } - ; - static get StraySpawnEgg() { return ItemTypes.get("minecraft:stray_spawn_egg"); } - ; - static get StriderSpawnEgg() { return ItemTypes.get("minecraft:strider_spawn_egg"); } - ; - static get String() { return ItemTypes.get("minecraft:string"); } - ; - static get StrippedAcaciaLog() { return ItemTypes.get("minecraft:stripped_acacia_log"); } - ; - static get StrippedBambooBlock() { return ItemTypes.get("minecraft:stripped_bamboo_block"); } - ; - static get StrippedBirchLog() { return ItemTypes.get("minecraft:stripped_birch_log"); } - ; - static get StrippedCherryLog() { return ItemTypes.get("minecraft:stripped_cherry_log"); } - ; - static get StrippedCherryWood() { return ItemTypes.get("minecraft:stripped_cherry_wood"); } - ; - static get StrippedCrimsonHyphae() { return ItemTypes.get("minecraft:stripped_crimson_hyphae"); } - ; - static get StrippedCrimsonStem() { return ItemTypes.get("minecraft:stripped_crimson_stem"); } - ; - static get StrippedDarkOakLog() { return ItemTypes.get("minecraft:stripped_dark_oak_log"); } - ; - static get StrippedJungleLog() { return ItemTypes.get("minecraft:stripped_jungle_log"); } - ; - static get StrippedMangroveLog() { return ItemTypes.get("minecraft:stripped_mangrove_log"); } - ; - static get StrippedMangroveWood() { return ItemTypes.get("minecraft:stripped_mangrove_wood"); } - ; - static get StrippedOakLog() { return ItemTypes.get("minecraft:stripped_oak_log"); } - ; - static get StrippedSpruceLog() { return ItemTypes.get("minecraft:stripped_spruce_log"); } - ; - static get StrippedWarpedHyphae() { return ItemTypes.get("minecraft:stripped_warped_hyphae"); } - ; - static get StrippedWarpedStem() { return ItemTypes.get("minecraft:stripped_warped_stem"); } - ; - static get StructureBlock() { return ItemTypes.get("minecraft:structure_block"); } - ; - static get StructureVoid() { return ItemTypes.get("minecraft:structure_void"); } - ; - static get Sugar() { return ItemTypes.get("minecraft:sugar"); } - ; - static get SugarCane() { return ItemTypes.get("minecraft:sugar_cane"); } - ; - static get SuspiciousGravel() { return ItemTypes.get("minecraft:suspicious_gravel"); } - ; - static get SuspiciousSand() { return ItemTypes.get("minecraft:suspicious_sand"); } - ; - static get SuspiciousStew() { return ItemTypes.get("minecraft:suspicious_stew"); } - ; - static get SweetBerries() { return ItemTypes.get("minecraft:sweet_berries"); } - ; - static get TadpoleBucket() { return ItemTypes.get("minecraft:tadpole_bucket"); } - ; - static get TadpoleSpawnEgg() { return ItemTypes.get("minecraft:tadpole_spawn_egg"); } - ; - static get Tallgrass() { return ItemTypes.get("minecraft:tallgrass"); } - ; - static get Target() { return ItemTypes.get("minecraft:target"); } - ; - static get TideArmorTrimSmithingTemplate() { return ItemTypes.get("minecraft:tide_armor_trim_smithing_template"); } - ; - static get TintedGlass() { return ItemTypes.get("minecraft:tinted_glass"); } - ; - static get Tnt() { return ItemTypes.get("minecraft:tnt"); } - ; - static get TntMinecart() { return ItemTypes.get("minecraft:tnt_minecart"); } - ; - static get Torch() { return ItemTypes.get("minecraft:torch"); } - ; - static get Torchflower() { return ItemTypes.get("minecraft:torchflower"); } - ; - static get TorchflowerSeeds() { return ItemTypes.get("minecraft:torchflower_seeds"); } - ; - static get TotemOfUndying() { return ItemTypes.get("minecraft:totem_of_undying"); } - ; - static get TraderLlamaSpawnEgg() { return ItemTypes.get("minecraft:trader_llama_spawn_egg"); } - ; - static get Trapdoor() { return ItemTypes.get("minecraft:trapdoor"); } - ; - static get TrappedChest() { return ItemTypes.get("minecraft:trapped_chest"); } - ; - static get Trident() { return ItemTypes.get("minecraft:trident"); } - ; - static get TripwireHook() { return ItemTypes.get("minecraft:tripwire_hook"); } - ; - static get TropicalFish() { return ItemTypes.get("minecraft:tropical_fish"); } - ; - static get TropicalFishBucket() { return ItemTypes.get("minecraft:tropical_fish_bucket"); } - ; - static get TropicalFishSpawnEgg() { return ItemTypes.get("minecraft:tropical_fish_spawn_egg"); } - ; - static get TubeCoral() { return ItemTypes.get("minecraft:tube_coral"); } - ; - static get Tuff() { return ItemTypes.get("minecraft:tuff"); } - ; - static get TurtleEgg() { return ItemTypes.get("minecraft:turtle_egg"); } - ; - static get TurtleHelmet() { return ItemTypes.get("minecraft:turtle_helmet"); } - ; - static get TurtleSpawnEgg() { return ItemTypes.get("minecraft:turtle_spawn_egg"); } - ; - static get TwistingVines() { return ItemTypes.get("minecraft:twisting_vines"); } - ; - static get UndyedShulkerBox() { return ItemTypes.get("minecraft:undyed_shulker_box"); } - ; - static get VerdantFroglight() { return ItemTypes.get("minecraft:verdant_froglight"); } - ; - static get VexArmorTrimSmithingTemplate() { return ItemTypes.get("minecraft:vex_armor_trim_smithing_template"); } - ; - static get VexSpawnEgg() { return ItemTypes.get("minecraft:vex_spawn_egg"); } - ; - static get VillagerSpawnEgg() { return ItemTypes.get("minecraft:villager_spawn_egg"); } - ; - static get VindicatorSpawnEgg() { return ItemTypes.get("minecraft:vindicator_spawn_egg"); } - ; - static get Vine() { return ItemTypes.get("minecraft:vine"); } - ; - static get WanderingTraderSpawnEgg() { return ItemTypes.get("minecraft:wandering_trader_spawn_egg"); } - ; - static get WardArmorTrimSmithingTemplate() { return ItemTypes.get("minecraft:ward_armor_trim_smithing_template"); } - ; - static get WardenSpawnEgg() { return ItemTypes.get("minecraft:warden_spawn_egg"); } - ; - static get WarpedButton() { return ItemTypes.get("minecraft:warped_button"); } - ; - static get WarpedDoor() { return ItemTypes.get("minecraft:warped_door"); } - ; - static get WarpedFence() { return ItemTypes.get("minecraft:warped_fence"); } - ; - static get WarpedFenceGate() { return ItemTypes.get("minecraft:warped_fence_gate"); } - ; - static get WarpedFungus() { return ItemTypes.get("minecraft:warped_fungus"); } - ; - static get WarpedFungusOnAStick() { return ItemTypes.get("minecraft:warped_fungus_on_a_stick"); } - ; - static get WarpedHangingSign() { return ItemTypes.get("minecraft:warped_hanging_sign"); } - ; - static get WarpedHyphae() { return ItemTypes.get("minecraft:warped_hyphae"); } - ; - static get WarpedNylium() { return ItemTypes.get("minecraft:warped_nylium"); } - ; - static get WarpedPlanks() { return ItemTypes.get("minecraft:warped_planks"); } - ; - static get WarpedPressurePlate() { return ItemTypes.get("minecraft:warped_pressure_plate"); } - ; - static get WarpedRoots() { return ItemTypes.get("minecraft:warped_roots"); } - ; - static get WarpedSign() { return ItemTypes.get("minecraft:warped_sign"); } - ; - static get WarpedSlab() { return ItemTypes.get("minecraft:warped_slab"); } - ; - static get WarpedStairs() { return ItemTypes.get("minecraft:warped_stairs"); } - ; - static get WarpedStem() { return ItemTypes.get("minecraft:warped_stem"); } - ; - static get WarpedTrapdoor() { return ItemTypes.get("minecraft:warped_trapdoor"); } - ; - static get WarpedWartBlock() { return ItemTypes.get("minecraft:warped_wart_block"); } - ; - static get WaterBucket() { return ItemTypes.get("minecraft:water_bucket"); } - ; - static get Waterlily() { return ItemTypes.get("minecraft:waterlily"); } - ; - static get WaxedCopper() { return ItemTypes.get("minecraft:waxed_copper"); } - ; - static get WaxedCutCopper() { return ItemTypes.get("minecraft:waxed_cut_copper"); } - ; - static get WaxedCutCopperSlab() { return ItemTypes.get("minecraft:waxed_cut_copper_slab"); } - ; - static get WaxedCutCopperStairs() { return ItemTypes.get("minecraft:waxed_cut_copper_stairs"); } - ; - static get WaxedExposedCopper() { return ItemTypes.get("minecraft:waxed_exposed_copper"); } - ; - static get WaxedExposedCutCopper() { return ItemTypes.get("minecraft:waxed_exposed_cut_copper"); } - ; - static get WaxedExposedCutCopperSlab() { return ItemTypes.get("minecraft:waxed_exposed_cut_copper_slab"); } - ; - static get WaxedExposedCutCopperStairs() { return ItemTypes.get("minecraft:waxed_exposed_cut_copper_stairs"); } - ; - static get WaxedOxidizedCopper() { return ItemTypes.get("minecraft:waxed_oxidized_copper"); } - ; - static get WaxedOxidizedCutCopper() { return ItemTypes.get("minecraft:waxed_oxidized_cut_copper"); } - ; - static get WaxedOxidizedCutCopperSlab() { return ItemTypes.get("minecraft:waxed_oxidized_cut_copper_slab"); } - ; - static get WaxedOxidizedCutCopperStairs() { return ItemTypes.get("minecraft:waxed_oxidized_cut_copper_stairs"); } - ; - static get WaxedWeatheredCopper() { return ItemTypes.get("minecraft:waxed_weathered_copper"); } - ; - static get WaxedWeatheredCutCopper() { return ItemTypes.get("minecraft:waxed_weathered_cut_copper"); } - ; - static get WaxedWeatheredCutCopperSlab() { return ItemTypes.get("minecraft:waxed_weathered_cut_copper_slab"); } - ; - static get WaxedWeatheredCutCopperStairs() { return ItemTypes.get("minecraft:waxed_weathered_cut_copper_stairs"); } - ; - static get WayfinderArmorTrimSmithingTemplate() { return ItemTypes.get("minecraft:wayfinder_armor_trim_smithing_template"); } - ; - static get WeatheredCopper() { return ItemTypes.get("minecraft:weathered_copper"); } - ; - static get WeatheredCutCopper() { return ItemTypes.get("minecraft:weathered_cut_copper"); } - ; - static get WeatheredCutCopperSlab() { return ItemTypes.get("minecraft:weathered_cut_copper_slab"); } - ; - static get WeatheredCutCopperStairs() { return ItemTypes.get("minecraft:weathered_cut_copper_stairs"); } - ; - static get Web() { return ItemTypes.get("minecraft:web"); } - ; - static get WeepingVines() { return ItemTypes.get("minecraft:weeping_vines"); } - ; - static get Wheat() { return ItemTypes.get("minecraft:wheat"); } - ; - static get WheatSeeds() { return ItemTypes.get("minecraft:wheat_seeds"); } - ; - static get WhiteCandle() { return ItemTypes.get("minecraft:white_candle"); } - ; - static get WhiteCarpet() { return ItemTypes.get("minecraft:white_carpet"); } - ; - static get WhiteConcrete() { return ItemTypes.get("minecraft:white_concrete"); } - ; - static get WhiteConcretePowder() { return ItemTypes.get("minecraft:white_concrete_powder"); } - ; - static get WhiteDye() { return ItemTypes.get("minecraft:white_dye"); } - ; - static get WhiteGlazedTerracotta() { return ItemTypes.get("minecraft:white_glazed_terracotta"); } - ; - static get WhiteShulkerBox() { return ItemTypes.get("minecraft:white_shulker_box"); } - ; - static get WhiteStainedGlass() { return ItemTypes.get("minecraft:white_stained_glass"); } - ; - static get WhiteStainedGlassPane() { return ItemTypes.get("minecraft:white_stained_glass_pane"); } - ; - static get WhiteTerracotta() { return ItemTypes.get("minecraft:white_terracotta"); } - ; - static get WhiteWool() { return ItemTypes.get("minecraft:white_wool"); } - ; - static get WildArmorTrimSmithingTemplate() { return ItemTypes.get("minecraft:wild_armor_trim_smithing_template"); } - ; - static get WitchSpawnEgg() { return ItemTypes.get("minecraft:witch_spawn_egg"); } - ; - static get WitherRose() { return ItemTypes.get("minecraft:wither_rose"); } - ; - static get WitherSkeletonSpawnEgg() { return ItemTypes.get("minecraft:wither_skeleton_spawn_egg"); } - ; - static get WitherSpawnEgg() { return ItemTypes.get("minecraft:wither_spawn_egg"); } - ; - static get WolfSpawnEgg() { return ItemTypes.get("minecraft:wolf_spawn_egg"); } - ; - static get Wood() { return ItemTypes.get("minecraft:wood"); } - ; - static get WoodenAxe() { return ItemTypes.get("minecraft:wooden_axe"); } - ; - static get WoodenButton() { return ItemTypes.get("minecraft:wooden_button"); } - ; - static get WoodenDoor() { return ItemTypes.get("minecraft:wooden_door"); } - ; - static get WoodenHoe() { return ItemTypes.get("minecraft:wooden_hoe"); } - ; - static get WoodenPickaxe() { return ItemTypes.get("minecraft:wooden_pickaxe"); } - ; - static get WoodenPressurePlate() { return ItemTypes.get("minecraft:wooden_pressure_plate"); } - ; - static get WoodenShovel() { return ItemTypes.get("minecraft:wooden_shovel"); } - ; - static get WoodenSlab() { return ItemTypes.get("minecraft:wooden_slab"); } - ; - static get WoodenSword() { return ItemTypes.get("minecraft:wooden_sword"); } - ; - static get Wool() { return ItemTypes.get("minecraft:wool"); } - ; - static get WritableBook() { return ItemTypes.get("minecraft:writable_book"); } - ; - static get YellowCandle() { return ItemTypes.get("minecraft:yellow_candle"); } - ; - static get YellowCarpet() { return ItemTypes.get("minecraft:yellow_carpet"); } - ; - static get YellowConcrete() { return ItemTypes.get("minecraft:yellow_concrete"); } - ; - static get YellowConcretePowder() { return ItemTypes.get("minecraft:yellow_concrete_powder"); } - ; - static get YellowDye() { return ItemTypes.get("minecraft:yellow_dye"); } - ; - static get YellowFlower() { return ItemTypes.get("minecraft:yellow_flower"); } - ; - static get YellowGlazedTerracotta() { return ItemTypes.get("minecraft:yellow_glazed_terracotta"); } - ; - static get YellowShulkerBox() { return ItemTypes.get("minecraft:yellow_shulker_box"); } - ; - static get YellowStainedGlass() { return ItemTypes.get("minecraft:yellow_stained_glass"); } - ; - static get YellowStainedGlassPane() { return ItemTypes.get("minecraft:yellow_stained_glass_pane"); } - ; - static get YellowTerracotta() { return ItemTypes.get("minecraft:yellow_terracotta"); } - ; - static get YellowWool() { return ItemTypes.get("minecraft:yellow_wool"); } - ; - static get ZoglinSpawnEgg() { return ItemTypes.get("minecraft:zoglin_spawn_egg"); } - ; - static get ZombieHorseSpawnEgg() { return ItemTypes.get("minecraft:zombie_horse_spawn_egg"); } - ; - static get ZombiePigmanSpawnEgg() { return ItemTypes.get("minecraft:zombie_pigman_spawn_egg"); } - ; - static get ZombieSpawnEgg() { return ItemTypes.get("minecraft:zombie_spawn_egg"); } - ; - static get ZombieVillagerSpawnEgg() { return ItemTypes.get("minecraft:zombie_villager_spawn_egg"); } - ; -} diff --git a/scripts/vanilla-types/mojang-item.ts b/scripts/vanilla-types/mojang-item.ts deleted file mode 100644 index 9bb4e0f2..00000000 --- a/scripts/vanilla-types/mojang-item.ts +++ /dev/null @@ -1,1113 +0,0 @@ -import { ItemTypes } from "@minecraft/server" - -/** - * All possible MinecraftItemTypes - */ -export class MinecraftItemTypes implements ItemTypes { - static get AcaciaBoat() { return ItemTypes.get("minecraft:acacia_boat") }; - static get AcaciaButton() { return ItemTypes.get("minecraft:acacia_button") }; - static get AcaciaChestBoat() { return ItemTypes.get("minecraft:acacia_chest_boat") }; - static get AcaciaDoor() { return ItemTypes.get("minecraft:acacia_door") }; - static get AcaciaFence() { return ItemTypes.get("minecraft:acacia_fence") }; - static get AcaciaFenceGate() { return ItemTypes.get("minecraft:acacia_fence_gate") }; - static get AcaciaHangingSign() { return ItemTypes.get("minecraft:acacia_hanging_sign") }; - static get AcaciaLog() { return ItemTypes.get("minecraft:acacia_log") }; - static get AcaciaPressurePlate() { return ItemTypes.get("minecraft:acacia_pressure_plate") }; - static get AcaciaSign() { return ItemTypes.get("minecraft:acacia_sign") }; - static get AcaciaStairs() { return ItemTypes.get("minecraft:acacia_stairs") }; - static get AcaciaTrapdoor() { return ItemTypes.get("minecraft:acacia_trapdoor") }; - static get ActivatorRail() { return ItemTypes.get("minecraft:activator_rail") }; - static get AllaySpawnEgg() { return ItemTypes.get("minecraft:allay_spawn_egg") }; - static get Allow() { return ItemTypes.get("minecraft:allow") }; - static get AmethystBlock() { return ItemTypes.get("minecraft:amethyst_block") }; - static get AmethystCluster() { return ItemTypes.get("minecraft:amethyst_cluster") }; - static get AmethystShard() { return ItemTypes.get("minecraft:amethyst_shard") }; - static get AncientDebris() { return ItemTypes.get("minecraft:ancient_debris") }; - static get AndesiteStairs() { return ItemTypes.get("minecraft:andesite_stairs") }; - static get AnglerPotterySherd() { return ItemTypes.get("minecraft:angler_pottery_sherd") }; - static get Anvil() { return ItemTypes.get("minecraft:anvil") }; - static get Apple() { return ItemTypes.get("minecraft:apple") }; - static get ArcherPotterySherd() { return ItemTypes.get("minecraft:archer_pottery_sherd") }; - static get ArmorStand() { return ItemTypes.get("minecraft:armor_stand") }; - static get ArmsUpPotterySherd() { return ItemTypes.get("minecraft:arms_up_pottery_sherd") }; - static get Arrow() { return ItemTypes.get("minecraft:arrow") }; - static get AxolotlBucket() { return ItemTypes.get("minecraft:axolotl_bucket") }; - static get AxolotlSpawnEgg() { return ItemTypes.get("minecraft:axolotl_spawn_egg") }; - static get Azalea() { return ItemTypes.get("minecraft:azalea") }; - static get AzaleaLeaves() { return ItemTypes.get("minecraft:azalea_leaves") }; - static get AzaleaLeavesFlowered() { return ItemTypes.get("minecraft:azalea_leaves_flowered") }; - static get BakedPotato() { return ItemTypes.get("minecraft:baked_potato") }; - static get Bamboo() { return ItemTypes.get("minecraft:bamboo") }; - static get BambooBlock() { return ItemTypes.get("minecraft:bamboo_block") }; - static get BambooButton() { return ItemTypes.get("minecraft:bamboo_button") }; - static get BambooChestRaft() { return ItemTypes.get("minecraft:bamboo_chest_raft") }; - static get BambooDoor() { return ItemTypes.get("minecraft:bamboo_door") }; - static get BambooFence() { return ItemTypes.get("minecraft:bamboo_fence") }; - static get BambooFenceGate() { return ItemTypes.get("minecraft:bamboo_fence_gate") }; - static get BambooHangingSign() { return ItemTypes.get("minecraft:bamboo_hanging_sign") }; - static get BambooMosaic() { return ItemTypes.get("minecraft:bamboo_mosaic") }; - static get BambooMosaicSlab() { return ItemTypes.get("minecraft:bamboo_mosaic_slab") }; - static get BambooMosaicStairs() { return ItemTypes.get("minecraft:bamboo_mosaic_stairs") }; - static get BambooPlanks() { return ItemTypes.get("minecraft:bamboo_planks") }; - static get BambooPressurePlate() { return ItemTypes.get("minecraft:bamboo_pressure_plate") }; - static get BambooRaft() { return ItemTypes.get("minecraft:bamboo_raft") }; - static get BambooSign() { return ItemTypes.get("minecraft:bamboo_sign") }; - static get BambooSlab() { return ItemTypes.get("minecraft:bamboo_slab") }; - static get BambooStairs() { return ItemTypes.get("minecraft:bamboo_stairs") }; - static get BambooTrapdoor() { return ItemTypes.get("minecraft:bamboo_trapdoor") }; - static get Banner() { return ItemTypes.get("minecraft:banner") }; - static get BannerPattern() { return ItemTypes.get("minecraft:banner_pattern") }; - static get Barrel() { return ItemTypes.get("minecraft:barrel") }; - static get Barrier() { return ItemTypes.get("minecraft:barrier") }; - static get Basalt() { return ItemTypes.get("minecraft:basalt") }; - static get BatSpawnEgg() { return ItemTypes.get("minecraft:bat_spawn_egg") }; - static get Beacon() { return ItemTypes.get("minecraft:beacon") }; - static get Bed() { return ItemTypes.get("minecraft:bed") }; - static get Bedrock() { return ItemTypes.get("minecraft:bedrock") }; - static get BeeNest() { return ItemTypes.get("minecraft:bee_nest") }; - static get BeeSpawnEgg() { return ItemTypes.get("minecraft:bee_spawn_egg") }; - static get Beef() { return ItemTypes.get("minecraft:beef") }; - static get Beehive() { return ItemTypes.get("minecraft:beehive") }; - static get Beetroot() { return ItemTypes.get("minecraft:beetroot") }; - static get BeetrootSeeds() { return ItemTypes.get("minecraft:beetroot_seeds") }; - static get BeetrootSoup() { return ItemTypes.get("minecraft:beetroot_soup") }; - static get Bell() { return ItemTypes.get("minecraft:bell") }; - static get BigDripleaf() { return ItemTypes.get("minecraft:big_dripleaf") }; - static get BirchBoat() { return ItemTypes.get("minecraft:birch_boat") }; - static get BirchButton() { return ItemTypes.get("minecraft:birch_button") }; - static get BirchChestBoat() { return ItemTypes.get("minecraft:birch_chest_boat") }; - static get BirchDoor() { return ItemTypes.get("minecraft:birch_door") }; - static get BirchFence() { return ItemTypes.get("minecraft:birch_fence") }; - static get BirchFenceGate() { return ItemTypes.get("minecraft:birch_fence_gate") }; - static get BirchHangingSign() { return ItemTypes.get("minecraft:birch_hanging_sign") }; - static get BirchLog() { return ItemTypes.get("minecraft:birch_log") }; - static get BirchPressurePlate() { return ItemTypes.get("minecraft:birch_pressure_plate") }; - static get BirchSign() { return ItemTypes.get("minecraft:birch_sign") }; - static get BirchStairs() { return ItemTypes.get("minecraft:birch_stairs") }; - static get BirchTrapdoor() { return ItemTypes.get("minecraft:birch_trapdoor") }; - static get BlackCandle() { return ItemTypes.get("minecraft:black_candle") }; - static get BlackCarpet() { return ItemTypes.get("minecraft:black_carpet") }; - static get BlackConcrete() { return ItemTypes.get("minecraft:black_concrete") }; - static get BlackConcretePowder() { return ItemTypes.get("minecraft:black_concrete_powder") }; - static get BlackDye() { return ItemTypes.get("minecraft:black_dye") }; - static get BlackGlazedTerracotta() { return ItemTypes.get("minecraft:black_glazed_terracotta") }; - static get BlackShulkerBox() { return ItemTypes.get("minecraft:black_shulker_box") }; - static get BlackStainedGlass() { return ItemTypes.get("minecraft:black_stained_glass") }; - static get BlackStainedGlassPane() { return ItemTypes.get("minecraft:black_stained_glass_pane") }; - static get BlackTerracotta() { return ItemTypes.get("minecraft:black_terracotta") }; - static get BlackWool() { return ItemTypes.get("minecraft:black_wool") }; - static get Blackstone() { return ItemTypes.get("minecraft:blackstone") }; - static get BlackstoneSlab() { return ItemTypes.get("minecraft:blackstone_slab") }; - static get BlackstoneStairs() { return ItemTypes.get("minecraft:blackstone_stairs") }; - static get BlackstoneWall() { return ItemTypes.get("minecraft:blackstone_wall") }; - static get BladePotterySherd() { return ItemTypes.get("minecraft:blade_pottery_sherd") }; - static get BlastFurnace() { return ItemTypes.get("minecraft:blast_furnace") }; - static get BlazePowder() { return ItemTypes.get("minecraft:blaze_powder") }; - static get BlazeRod() { return ItemTypes.get("minecraft:blaze_rod") }; - static get BlazeSpawnEgg() { return ItemTypes.get("minecraft:blaze_spawn_egg") }; - static get BlueCandle() { return ItemTypes.get("minecraft:blue_candle") }; - static get BlueCarpet() { return ItemTypes.get("minecraft:blue_carpet") }; - static get BlueConcrete() { return ItemTypes.get("minecraft:blue_concrete") }; - static get BlueConcretePowder() { return ItemTypes.get("minecraft:blue_concrete_powder") }; - static get BlueDye() { return ItemTypes.get("minecraft:blue_dye") }; - static get BlueGlazedTerracotta() { return ItemTypes.get("minecraft:blue_glazed_terracotta") }; - static get BlueIce() { return ItemTypes.get("minecraft:blue_ice") }; - static get BlueShulkerBox() { return ItemTypes.get("minecraft:blue_shulker_box") }; - static get BlueStainedGlass() { return ItemTypes.get("minecraft:blue_stained_glass") }; - static get BlueStainedGlassPane() { return ItemTypes.get("minecraft:blue_stained_glass_pane") }; - static get BlueTerracotta() { return ItemTypes.get("minecraft:blue_terracotta") }; - static get BlueWool() { return ItemTypes.get("minecraft:blue_wool") }; - static get Boat() { return ItemTypes.get("minecraft:boat") }; - static get Bone() { return ItemTypes.get("minecraft:bone") }; - static get BoneBlock() { return ItemTypes.get("minecraft:bone_block") }; - static get BoneMeal() { return ItemTypes.get("minecraft:bone_meal") }; - static get Book() { return ItemTypes.get("minecraft:book") }; - static get Bookshelf() { return ItemTypes.get("minecraft:bookshelf") }; - static get BorderBlock() { return ItemTypes.get("minecraft:border_block") }; - static get BordureIndentedBannerPattern() { return ItemTypes.get("minecraft:bordure_indented_banner_pattern") }; - static get Bow() { return ItemTypes.get("minecraft:bow") }; - static get Bowl() { return ItemTypes.get("minecraft:bowl") }; - static get BrainCoral() { return ItemTypes.get("minecraft:brain_coral") }; - static get Bread() { return ItemTypes.get("minecraft:bread") }; - static get BrewerPotterySherd() { return ItemTypes.get("minecraft:brewer_pottery_sherd") }; - static get BrewingStand() { return ItemTypes.get("minecraft:brewing_stand") }; - static get Brick() { return ItemTypes.get("minecraft:brick") }; - static get BrickBlock() { return ItemTypes.get("minecraft:brick_block") }; - static get BrickStairs() { return ItemTypes.get("minecraft:brick_stairs") }; - static get BrownCandle() { return ItemTypes.get("minecraft:brown_candle") }; - static get BrownCarpet() { return ItemTypes.get("minecraft:brown_carpet") }; - static get BrownConcrete() { return ItemTypes.get("minecraft:brown_concrete") }; - static get BrownConcretePowder() { return ItemTypes.get("minecraft:brown_concrete_powder") }; - static get BrownDye() { return ItemTypes.get("minecraft:brown_dye") }; - static get BrownGlazedTerracotta() { return ItemTypes.get("minecraft:brown_glazed_terracotta") }; - static get BrownMushroom() { return ItemTypes.get("minecraft:brown_mushroom") }; - static get BrownMushroomBlock() { return ItemTypes.get("minecraft:brown_mushroom_block") }; - static get BrownShulkerBox() { return ItemTypes.get("minecraft:brown_shulker_box") }; - static get BrownStainedGlass() { return ItemTypes.get("minecraft:brown_stained_glass") }; - static get BrownStainedGlassPane() { return ItemTypes.get("minecraft:brown_stained_glass_pane") }; - static get BrownTerracotta() { return ItemTypes.get("minecraft:brown_terracotta") }; - static get BrownWool() { return ItemTypes.get("minecraft:brown_wool") }; - static get Brush() { return ItemTypes.get("minecraft:brush") }; - static get BubbleCoral() { return ItemTypes.get("minecraft:bubble_coral") }; - static get Bucket() { return ItemTypes.get("minecraft:bucket") }; - static get BuddingAmethyst() { return ItemTypes.get("minecraft:budding_amethyst") }; - static get BurnPotterySherd() { return ItemTypes.get("minecraft:burn_pottery_sherd") }; - static get Cactus() { return ItemTypes.get("minecraft:cactus") }; - static get Cake() { return ItemTypes.get("minecraft:cake") }; - static get Calcite() { return ItemTypes.get("minecraft:calcite") }; - static get CalibratedSculkSensor() { return ItemTypes.get("minecraft:calibrated_sculk_sensor") }; - static get CamelSpawnEgg() { return ItemTypes.get("minecraft:camel_spawn_egg") }; - static get Campfire() { return ItemTypes.get("minecraft:campfire") }; - static get Candle() { return ItemTypes.get("minecraft:candle") }; - static get Carpet() { return ItemTypes.get("minecraft:carpet") }; - static get Carrot() { return ItemTypes.get("minecraft:carrot") }; - static get CarrotOnAStick() { return ItemTypes.get("minecraft:carrot_on_a_stick") }; - static get CartographyTable() { return ItemTypes.get("minecraft:cartography_table") }; - static get CarvedPumpkin() { return ItemTypes.get("minecraft:carved_pumpkin") }; - static get CatSpawnEgg() { return ItemTypes.get("minecraft:cat_spawn_egg") }; - static get Cauldron() { return ItemTypes.get("minecraft:cauldron") }; - static get CaveSpiderSpawnEgg() { return ItemTypes.get("minecraft:cave_spider_spawn_egg") }; - static get Chain() { return ItemTypes.get("minecraft:chain") }; - static get ChainCommandBlock() { return ItemTypes.get("minecraft:chain_command_block") }; - static get ChainmailBoots() { return ItemTypes.get("minecraft:chainmail_boots") }; - static get ChainmailChestplate() { return ItemTypes.get("minecraft:chainmail_chestplate") }; - static get ChainmailHelmet() { return ItemTypes.get("minecraft:chainmail_helmet") }; - static get ChainmailLeggings() { return ItemTypes.get("minecraft:chainmail_leggings") }; - static get Charcoal() { return ItemTypes.get("minecraft:charcoal") }; - static get CherryBoat() { return ItemTypes.get("minecraft:cherry_boat") }; - static get CherryButton() { return ItemTypes.get("minecraft:cherry_button") }; - static get CherryChestBoat() { return ItemTypes.get("minecraft:cherry_chest_boat") }; - static get CherryDoor() { return ItemTypes.get("minecraft:cherry_door") }; - static get CherryFence() { return ItemTypes.get("minecraft:cherry_fence") }; - static get CherryFenceGate() { return ItemTypes.get("minecraft:cherry_fence_gate") }; - static get CherryHangingSign() { return ItemTypes.get("minecraft:cherry_hanging_sign") }; - static get CherryLeaves() { return ItemTypes.get("minecraft:cherry_leaves") }; - static get CherryLog() { return ItemTypes.get("minecraft:cherry_log") }; - static get CherryPlanks() { return ItemTypes.get("minecraft:cherry_planks") }; - static get CherryPressurePlate() { return ItemTypes.get("minecraft:cherry_pressure_plate") }; - static get CherrySapling() { return ItemTypes.get("minecraft:cherry_sapling") }; - static get CherrySign() { return ItemTypes.get("minecraft:cherry_sign") }; - static get CherrySlab() { return ItemTypes.get("minecraft:cherry_slab") }; - static get CherryStairs() { return ItemTypes.get("minecraft:cherry_stairs") }; - static get CherryTrapdoor() { return ItemTypes.get("minecraft:cherry_trapdoor") }; - static get CherryWood() { return ItemTypes.get("minecraft:cherry_wood") }; - static get Chest() { return ItemTypes.get("minecraft:chest") }; - static get ChestBoat() { return ItemTypes.get("minecraft:chest_boat") }; - static get ChestMinecart() { return ItemTypes.get("minecraft:chest_minecart") }; - static get Chicken() { return ItemTypes.get("minecraft:chicken") }; - static get ChickenSpawnEgg() { return ItemTypes.get("minecraft:chicken_spawn_egg") }; - static get ChiseledBookshelf() { return ItemTypes.get("minecraft:chiseled_bookshelf") }; - static get ChiseledDeepslate() { return ItemTypes.get("minecraft:chiseled_deepslate") }; - static get ChiseledNetherBricks() { return ItemTypes.get("minecraft:chiseled_nether_bricks") }; - static get ChiseledPolishedBlackstone() { return ItemTypes.get("minecraft:chiseled_polished_blackstone") }; - static get ChorusFlower() { return ItemTypes.get("minecraft:chorus_flower") }; - static get ChorusFruit() { return ItemTypes.get("minecraft:chorus_fruit") }; - static get ChorusPlant() { return ItemTypes.get("minecraft:chorus_plant") }; - static get Clay() { return ItemTypes.get("minecraft:clay") }; - static get ClayBall() { return ItemTypes.get("minecraft:clay_ball") }; - static get Clock() { return ItemTypes.get("minecraft:clock") }; - static get Coal() { return ItemTypes.get("minecraft:coal") }; - static get CoalBlock() { return ItemTypes.get("minecraft:coal_block") }; - static get CoalOre() { return ItemTypes.get("minecraft:coal_ore") }; - static get CoastArmorTrimSmithingTemplate() { return ItemTypes.get("minecraft:coast_armor_trim_smithing_template") }; - static get CobbledDeepslate() { return ItemTypes.get("minecraft:cobbled_deepslate") }; - static get CobbledDeepslateSlab() { return ItemTypes.get("minecraft:cobbled_deepslate_slab") }; - static get CobbledDeepslateStairs() { return ItemTypes.get("minecraft:cobbled_deepslate_stairs") }; - static get CobbledDeepslateWall() { return ItemTypes.get("minecraft:cobbled_deepslate_wall") }; - static get Cobblestone() { return ItemTypes.get("minecraft:cobblestone") }; - static get CobblestoneWall() { return ItemTypes.get("minecraft:cobblestone_wall") }; - static get CocoaBeans() { return ItemTypes.get("minecraft:cocoa_beans") }; - static get Cod() { return ItemTypes.get("minecraft:cod") }; - static get CodBucket() { return ItemTypes.get("minecraft:cod_bucket") }; - static get CodSpawnEgg() { return ItemTypes.get("minecraft:cod_spawn_egg") }; - static get CommandBlock() { return ItemTypes.get("minecraft:command_block") }; - static get CommandBlockMinecart() { return ItemTypes.get("minecraft:command_block_minecart") }; - static get Comparator() { return ItemTypes.get("minecraft:comparator") }; - static get Compass() { return ItemTypes.get("minecraft:compass") }; - static get Composter() { return ItemTypes.get("minecraft:composter") }; - static get Concrete() { return ItemTypes.get("minecraft:concrete") }; - static get ConcretePowder() { return ItemTypes.get("minecraft:concrete_powder") }; - static get Conduit() { return ItemTypes.get("minecraft:conduit") }; - static get CookedBeef() { return ItemTypes.get("minecraft:cooked_beef") }; - static get CookedChicken() { return ItemTypes.get("minecraft:cooked_chicken") }; - static get CookedCod() { return ItemTypes.get("minecraft:cooked_cod") }; - static get CookedMutton() { return ItemTypes.get("minecraft:cooked_mutton") }; - static get CookedPorkchop() { return ItemTypes.get("minecraft:cooked_porkchop") }; - static get CookedRabbit() { return ItemTypes.get("minecraft:cooked_rabbit") }; - static get CookedSalmon() { return ItemTypes.get("minecraft:cooked_salmon") }; - static get Cookie() { return ItemTypes.get("minecraft:cookie") }; - static get CopperBlock() { return ItemTypes.get("minecraft:copper_block") }; - static get CopperIngot() { return ItemTypes.get("minecraft:copper_ingot") }; - static get CopperOre() { return ItemTypes.get("minecraft:copper_ore") }; - static get Coral() { return ItemTypes.get("minecraft:coral") }; - static get CoralBlock() { return ItemTypes.get("minecraft:coral_block") }; - static get CoralFan() { return ItemTypes.get("minecraft:coral_fan") }; - static get CoralFanDead() { return ItemTypes.get("minecraft:coral_fan_dead") }; - static get CowSpawnEgg() { return ItemTypes.get("minecraft:cow_spawn_egg") }; - static get CrackedDeepslateBricks() { return ItemTypes.get("minecraft:cracked_deepslate_bricks") }; - static get CrackedDeepslateTiles() { return ItemTypes.get("minecraft:cracked_deepslate_tiles") }; - static get CrackedNetherBricks() { return ItemTypes.get("minecraft:cracked_nether_bricks") }; - static get CrackedPolishedBlackstoneBricks() { return ItemTypes.get("minecraft:cracked_polished_blackstone_bricks") }; - static get CraftingTable() { return ItemTypes.get("minecraft:crafting_table") }; - static get CreeperBannerPattern() { return ItemTypes.get("minecraft:creeper_banner_pattern") }; - static get CreeperSpawnEgg() { return ItemTypes.get("minecraft:creeper_spawn_egg") }; - static get CrimsonButton() { return ItemTypes.get("minecraft:crimson_button") }; - static get CrimsonDoor() { return ItemTypes.get("minecraft:crimson_door") }; - static get CrimsonFence() { return ItemTypes.get("minecraft:crimson_fence") }; - static get CrimsonFenceGate() { return ItemTypes.get("minecraft:crimson_fence_gate") }; - static get CrimsonFungus() { return ItemTypes.get("minecraft:crimson_fungus") }; - static get CrimsonHangingSign() { return ItemTypes.get("minecraft:crimson_hanging_sign") }; - static get CrimsonHyphae() { return ItemTypes.get("minecraft:crimson_hyphae") }; - static get CrimsonNylium() { return ItemTypes.get("minecraft:crimson_nylium") }; - static get CrimsonPlanks() { return ItemTypes.get("minecraft:crimson_planks") }; - static get CrimsonPressurePlate() { return ItemTypes.get("minecraft:crimson_pressure_plate") }; - static get CrimsonRoots() { return ItemTypes.get("minecraft:crimson_roots") }; - static get CrimsonSign() { return ItemTypes.get("minecraft:crimson_sign") }; - static get CrimsonSlab() { return ItemTypes.get("minecraft:crimson_slab") }; - static get CrimsonStairs() { return ItemTypes.get("minecraft:crimson_stairs") }; - static get CrimsonStem() { return ItemTypes.get("minecraft:crimson_stem") }; - static get CrimsonTrapdoor() { return ItemTypes.get("minecraft:crimson_trapdoor") }; - static get Crossbow() { return ItemTypes.get("minecraft:crossbow") }; - static get CryingObsidian() { return ItemTypes.get("minecraft:crying_obsidian") }; - static get CutCopper() { return ItemTypes.get("minecraft:cut_copper") }; - static get CutCopperSlab() { return ItemTypes.get("minecraft:cut_copper_slab") }; - static get CutCopperStairs() { return ItemTypes.get("minecraft:cut_copper_stairs") }; - static get CyanCandle() { return ItemTypes.get("minecraft:cyan_candle") }; - static get CyanCarpet() { return ItemTypes.get("minecraft:cyan_carpet") }; - static get CyanConcrete() { return ItemTypes.get("minecraft:cyan_concrete") }; - static get CyanConcretePowder() { return ItemTypes.get("minecraft:cyan_concrete_powder") }; - static get CyanDye() { return ItemTypes.get("minecraft:cyan_dye") }; - static get CyanGlazedTerracotta() { return ItemTypes.get("minecraft:cyan_glazed_terracotta") }; - static get CyanShulkerBox() { return ItemTypes.get("minecraft:cyan_shulker_box") }; - static get CyanStainedGlass() { return ItemTypes.get("minecraft:cyan_stained_glass") }; - static get CyanStainedGlassPane() { return ItemTypes.get("minecraft:cyan_stained_glass_pane") }; - static get CyanTerracotta() { return ItemTypes.get("minecraft:cyan_terracotta") }; - static get CyanWool() { return ItemTypes.get("minecraft:cyan_wool") }; - static get DangerPotterySherd() { return ItemTypes.get("minecraft:danger_pottery_sherd") }; - static get DarkOakBoat() { return ItemTypes.get("minecraft:dark_oak_boat") }; - static get DarkOakButton() { return ItemTypes.get("minecraft:dark_oak_button") }; - static get DarkOakChestBoat() { return ItemTypes.get("minecraft:dark_oak_chest_boat") }; - static get DarkOakDoor() { return ItemTypes.get("minecraft:dark_oak_door") }; - static get DarkOakFence() { return ItemTypes.get("minecraft:dark_oak_fence") }; - static get DarkOakFenceGate() { return ItemTypes.get("minecraft:dark_oak_fence_gate") }; - static get DarkOakHangingSign() { return ItemTypes.get("minecraft:dark_oak_hanging_sign") }; - static get DarkOakLog() { return ItemTypes.get("minecraft:dark_oak_log") }; - static get DarkOakPressurePlate() { return ItemTypes.get("minecraft:dark_oak_pressure_plate") }; - static get DarkOakSign() { return ItemTypes.get("minecraft:dark_oak_sign") }; - static get DarkOakStairs() { return ItemTypes.get("minecraft:dark_oak_stairs") }; - static get DarkOakTrapdoor() { return ItemTypes.get("minecraft:dark_oak_trapdoor") }; - static get DarkPrismarineStairs() { return ItemTypes.get("minecraft:dark_prismarine_stairs") }; - static get DaylightDetector() { return ItemTypes.get("minecraft:daylight_detector") }; - static get DeadBrainCoral() { return ItemTypes.get("minecraft:dead_brain_coral") }; - static get DeadBubbleCoral() { return ItemTypes.get("minecraft:dead_bubble_coral") }; - static get DeadFireCoral() { return ItemTypes.get("minecraft:dead_fire_coral") }; - static get DeadHornCoral() { return ItemTypes.get("minecraft:dead_horn_coral") }; - static get DeadTubeCoral() { return ItemTypes.get("minecraft:dead_tube_coral") }; - static get Deadbush() { return ItemTypes.get("minecraft:deadbush") }; - static get DecoratedPot() { return ItemTypes.get("minecraft:decorated_pot") }; - static get Deepslate() { return ItemTypes.get("minecraft:deepslate") }; - static get DeepslateBrickSlab() { return ItemTypes.get("minecraft:deepslate_brick_slab") }; - static get DeepslateBrickStairs() { return ItemTypes.get("minecraft:deepslate_brick_stairs") }; - static get DeepslateBrickWall() { return ItemTypes.get("minecraft:deepslate_brick_wall") }; - static get DeepslateBricks() { return ItemTypes.get("minecraft:deepslate_bricks") }; - static get DeepslateCoalOre() { return ItemTypes.get("minecraft:deepslate_coal_ore") }; - static get DeepslateCopperOre() { return ItemTypes.get("minecraft:deepslate_copper_ore") }; - static get DeepslateDiamondOre() { return ItemTypes.get("minecraft:deepslate_diamond_ore") }; - static get DeepslateEmeraldOre() { return ItemTypes.get("minecraft:deepslate_emerald_ore") }; - static get DeepslateGoldOre() { return ItemTypes.get("minecraft:deepslate_gold_ore") }; - static get DeepslateIronOre() { return ItemTypes.get("minecraft:deepslate_iron_ore") }; - static get DeepslateLapisOre() { return ItemTypes.get("minecraft:deepslate_lapis_ore") }; - static get DeepslateRedstoneOre() { return ItemTypes.get("minecraft:deepslate_redstone_ore") }; - static get DeepslateTileSlab() { return ItemTypes.get("minecraft:deepslate_tile_slab") }; - static get DeepslateTileStairs() { return ItemTypes.get("minecraft:deepslate_tile_stairs") }; - static get DeepslateTileWall() { return ItemTypes.get("minecraft:deepslate_tile_wall") }; - static get DeepslateTiles() { return ItemTypes.get("minecraft:deepslate_tiles") }; - static get Deny() { return ItemTypes.get("minecraft:deny") }; - static get DetectorRail() { return ItemTypes.get("minecraft:detector_rail") }; - static get Diamond() { return ItemTypes.get("minecraft:diamond") }; - static get DiamondAxe() { return ItemTypes.get("minecraft:diamond_axe") }; - static get DiamondBlock() { return ItemTypes.get("minecraft:diamond_block") }; - static get DiamondBoots() { return ItemTypes.get("minecraft:diamond_boots") }; - static get DiamondChestplate() { return ItemTypes.get("minecraft:diamond_chestplate") }; - static get DiamondHelmet() { return ItemTypes.get("minecraft:diamond_helmet") }; - static get DiamondHoe() { return ItemTypes.get("minecraft:diamond_hoe") }; - static get DiamondHorseArmor() { return ItemTypes.get("minecraft:diamond_horse_armor") }; - static get DiamondLeggings() { return ItemTypes.get("minecraft:diamond_leggings") }; - static get DiamondOre() { return ItemTypes.get("minecraft:diamond_ore") }; - static get DiamondPickaxe() { return ItemTypes.get("minecraft:diamond_pickaxe") }; - static get DiamondShovel() { return ItemTypes.get("minecraft:diamond_shovel") }; - static get DiamondSword() { return ItemTypes.get("minecraft:diamond_sword") }; - static get DioriteStairs() { return ItemTypes.get("minecraft:diorite_stairs") }; - static get Dirt() { return ItemTypes.get("minecraft:dirt") }; - static get DirtWithRoots() { return ItemTypes.get("minecraft:dirt_with_roots") }; - static get DiscFragment5() { return ItemTypes.get("minecraft:disc_fragment_5") }; - static get Dispenser() { return ItemTypes.get("minecraft:dispenser") }; - static get DolphinSpawnEgg() { return ItemTypes.get("minecraft:dolphin_spawn_egg") }; - static get DonkeySpawnEgg() { return ItemTypes.get("minecraft:donkey_spawn_egg") }; - static get DoublePlant() { return ItemTypes.get("minecraft:double_plant") }; - static get DragonBreath() { return ItemTypes.get("minecraft:dragon_breath") }; - static get DragonEgg() { return ItemTypes.get("minecraft:dragon_egg") }; - static get DriedKelp() { return ItemTypes.get("minecraft:dried_kelp") }; - static get DriedKelpBlock() { return ItemTypes.get("minecraft:dried_kelp_block") }; - static get DripstoneBlock() { return ItemTypes.get("minecraft:dripstone_block") }; - static get Dropper() { return ItemTypes.get("minecraft:dropper") }; - static get DrownedSpawnEgg() { return ItemTypes.get("minecraft:drowned_spawn_egg") }; - static get DuneArmorTrimSmithingTemplate() { return ItemTypes.get("minecraft:dune_armor_trim_smithing_template") }; - static get Dye() { return ItemTypes.get("minecraft:dye") }; - static get EchoShard() { return ItemTypes.get("minecraft:echo_shard") }; - static get Egg() { return ItemTypes.get("minecraft:egg") }; - static get ElderGuardianSpawnEgg() { return ItemTypes.get("minecraft:elder_guardian_spawn_egg") }; - static get Elytra() { return ItemTypes.get("minecraft:elytra") }; - static get Emerald() { return ItemTypes.get("minecraft:emerald") }; - static get EmeraldBlock() { return ItemTypes.get("minecraft:emerald_block") }; - static get EmeraldOre() { return ItemTypes.get("minecraft:emerald_ore") }; - static get EmptyMap() { return ItemTypes.get("minecraft:empty_map") }; - static get EnchantedBook() { return ItemTypes.get("minecraft:enchanted_book") }; - static get EnchantedGoldenApple() { return ItemTypes.get("minecraft:enchanted_golden_apple") }; - static get EnchantingTable() { return ItemTypes.get("minecraft:enchanting_table") }; - static get EndBrickStairs() { return ItemTypes.get("minecraft:end_brick_stairs") }; - static get EndBricks() { return ItemTypes.get("minecraft:end_bricks") }; - static get EndCrystal() { return ItemTypes.get("minecraft:end_crystal") }; - static get EndPortalFrame() { return ItemTypes.get("minecraft:end_portal_frame") }; - static get EndRod() { return ItemTypes.get("minecraft:end_rod") }; - static get EndStone() { return ItemTypes.get("minecraft:end_stone") }; - static get EnderChest() { return ItemTypes.get("minecraft:ender_chest") }; - static get EnderDragonSpawnEgg() { return ItemTypes.get("minecraft:ender_dragon_spawn_egg") }; - static get EnderEye() { return ItemTypes.get("minecraft:ender_eye") }; - static get EnderPearl() { return ItemTypes.get("minecraft:ender_pearl") }; - static get EndermanSpawnEgg() { return ItemTypes.get("minecraft:enderman_spawn_egg") }; - static get EndermiteSpawnEgg() { return ItemTypes.get("minecraft:endermite_spawn_egg") }; - static get EvokerSpawnEgg() { return ItemTypes.get("minecraft:evoker_spawn_egg") }; - static get ExperienceBottle() { return ItemTypes.get("minecraft:experience_bottle") }; - static get ExplorerPotterySherd() { return ItemTypes.get("minecraft:explorer_pottery_sherd") }; - static get ExposedCopper() { return ItemTypes.get("minecraft:exposed_copper") }; - static get ExposedCutCopper() { return ItemTypes.get("minecraft:exposed_cut_copper") }; - static get ExposedCutCopperSlab() { return ItemTypes.get("minecraft:exposed_cut_copper_slab") }; - static get ExposedCutCopperStairs() { return ItemTypes.get("minecraft:exposed_cut_copper_stairs") }; - static get EyeArmorTrimSmithingTemplate() { return ItemTypes.get("minecraft:eye_armor_trim_smithing_template") }; - static get Farmland() { return ItemTypes.get("minecraft:farmland") }; - static get Feather() { return ItemTypes.get("minecraft:feather") }; - static get Fence() { return ItemTypes.get("minecraft:fence") }; - static get FenceGate() { return ItemTypes.get("minecraft:fence_gate") }; - static get FermentedSpiderEye() { return ItemTypes.get("minecraft:fermented_spider_eye") }; - static get FieldMasonedBannerPattern() { return ItemTypes.get("minecraft:field_masoned_banner_pattern") }; - static get FilledMap() { return ItemTypes.get("minecraft:filled_map") }; - static get FireCharge() { return ItemTypes.get("minecraft:fire_charge") }; - static get FireCoral() { return ItemTypes.get("minecraft:fire_coral") }; - static get FireworkRocket() { return ItemTypes.get("minecraft:firework_rocket") }; - static get FireworkStar() { return ItemTypes.get("minecraft:firework_star") }; - static get FishingRod() { return ItemTypes.get("minecraft:fishing_rod") }; - static get FletchingTable() { return ItemTypes.get("minecraft:fletching_table") }; - static get Flint() { return ItemTypes.get("minecraft:flint") }; - static get FlintAndSteel() { return ItemTypes.get("minecraft:flint_and_steel") }; - static get FlowerBannerPattern() { return ItemTypes.get("minecraft:flower_banner_pattern") }; - static get FlowerPot() { return ItemTypes.get("minecraft:flower_pot") }; - static get FloweringAzalea() { return ItemTypes.get("minecraft:flowering_azalea") }; - static get FoxSpawnEgg() { return ItemTypes.get("minecraft:fox_spawn_egg") }; - static get Frame() { return ItemTypes.get("minecraft:frame") }; - static get FriendPotterySherd() { return ItemTypes.get("minecraft:friend_pottery_sherd") }; - static get FrogSpawn() { return ItemTypes.get("minecraft:frog_spawn") }; - static get FrogSpawnEgg() { return ItemTypes.get("minecraft:frog_spawn_egg") }; - static get FrostedIce() { return ItemTypes.get("minecraft:frosted_ice") }; - static get Furnace() { return ItemTypes.get("minecraft:furnace") }; - static get GhastSpawnEgg() { return ItemTypes.get("minecraft:ghast_spawn_egg") }; - static get GhastTear() { return ItemTypes.get("minecraft:ghast_tear") }; - static get GildedBlackstone() { return ItemTypes.get("minecraft:gilded_blackstone") }; - static get Glass() { return ItemTypes.get("minecraft:glass") }; - static get GlassBottle() { return ItemTypes.get("minecraft:glass_bottle") }; - static get GlassPane() { return ItemTypes.get("minecraft:glass_pane") }; - static get GlisteringMelonSlice() { return ItemTypes.get("minecraft:glistering_melon_slice") }; - static get GlobeBannerPattern() { return ItemTypes.get("minecraft:globe_banner_pattern") }; - static get GlowBerries() { return ItemTypes.get("minecraft:glow_berries") }; - static get GlowFrame() { return ItemTypes.get("minecraft:glow_frame") }; - static get GlowInkSac() { return ItemTypes.get("minecraft:glow_ink_sac") }; - static get GlowLichen() { return ItemTypes.get("minecraft:glow_lichen") }; - static get GlowSquidSpawnEgg() { return ItemTypes.get("minecraft:glow_squid_spawn_egg") }; - static get Glowstone() { return ItemTypes.get("minecraft:glowstone") }; - static get GlowstoneDust() { return ItemTypes.get("minecraft:glowstone_dust") }; - static get GoatHorn() { return ItemTypes.get("minecraft:goat_horn") }; - static get GoatSpawnEgg() { return ItemTypes.get("minecraft:goat_spawn_egg") }; - static get GoldBlock() { return ItemTypes.get("minecraft:gold_block") }; - static get GoldIngot() { return ItemTypes.get("minecraft:gold_ingot") }; - static get GoldNugget() { return ItemTypes.get("minecraft:gold_nugget") }; - static get GoldOre() { return ItemTypes.get("minecraft:gold_ore") }; - static get GoldenApple() { return ItemTypes.get("minecraft:golden_apple") }; - static get GoldenAxe() { return ItemTypes.get("minecraft:golden_axe") }; - static get GoldenBoots() { return ItemTypes.get("minecraft:golden_boots") }; - static get GoldenCarrot() { return ItemTypes.get("minecraft:golden_carrot") }; - static get GoldenChestplate() { return ItemTypes.get("minecraft:golden_chestplate") }; - static get GoldenHelmet() { return ItemTypes.get("minecraft:golden_helmet") }; - static get GoldenHoe() { return ItemTypes.get("minecraft:golden_hoe") }; - static get GoldenHorseArmor() { return ItemTypes.get("minecraft:golden_horse_armor") }; - static get GoldenLeggings() { return ItemTypes.get("minecraft:golden_leggings") }; - static get GoldenPickaxe() { return ItemTypes.get("minecraft:golden_pickaxe") }; - static get GoldenRail() { return ItemTypes.get("minecraft:golden_rail") }; - static get GoldenShovel() { return ItemTypes.get("minecraft:golden_shovel") }; - static get GoldenSword() { return ItemTypes.get("minecraft:golden_sword") }; - static get GraniteStairs() { return ItemTypes.get("minecraft:granite_stairs") }; - static get Grass() { return ItemTypes.get("minecraft:grass") }; - static get GrassPath() { return ItemTypes.get("minecraft:grass_path") }; - static get Gravel() { return ItemTypes.get("minecraft:gravel") }; - static get GrayCandle() { return ItemTypes.get("minecraft:gray_candle") }; - static get GrayCarpet() { return ItemTypes.get("minecraft:gray_carpet") }; - static get GrayConcrete() { return ItemTypes.get("minecraft:gray_concrete") }; - static get GrayConcretePowder() { return ItemTypes.get("minecraft:gray_concrete_powder") }; - static get GrayDye() { return ItemTypes.get("minecraft:gray_dye") }; - static get GrayGlazedTerracotta() { return ItemTypes.get("minecraft:gray_glazed_terracotta") }; - static get GrayShulkerBox() { return ItemTypes.get("minecraft:gray_shulker_box") }; - static get GrayStainedGlass() { return ItemTypes.get("minecraft:gray_stained_glass") }; - static get GrayStainedGlassPane() { return ItemTypes.get("minecraft:gray_stained_glass_pane") }; - static get GrayTerracotta() { return ItemTypes.get("minecraft:gray_terracotta") }; - static get GrayWool() { return ItemTypes.get("minecraft:gray_wool") }; - static get GreenCandle() { return ItemTypes.get("minecraft:green_candle") }; - static get GreenCarpet() { return ItemTypes.get("minecraft:green_carpet") }; - static get GreenConcrete() { return ItemTypes.get("minecraft:green_concrete") }; - static get GreenConcretePowder() { return ItemTypes.get("minecraft:green_concrete_powder") }; - static get GreenDye() { return ItemTypes.get("minecraft:green_dye") }; - static get GreenGlazedTerracotta() { return ItemTypes.get("minecraft:green_glazed_terracotta") }; - static get GreenShulkerBox() { return ItemTypes.get("minecraft:green_shulker_box") }; - static get GreenStainedGlass() { return ItemTypes.get("minecraft:green_stained_glass") }; - static get GreenStainedGlassPane() { return ItemTypes.get("minecraft:green_stained_glass_pane") }; - static get GreenTerracotta() { return ItemTypes.get("minecraft:green_terracotta") }; - static get GreenWool() { return ItemTypes.get("minecraft:green_wool") }; - static get Grindstone() { return ItemTypes.get("minecraft:grindstone") }; - static get GuardianSpawnEgg() { return ItemTypes.get("minecraft:guardian_spawn_egg") }; - static get Gunpowder() { return ItemTypes.get("minecraft:gunpowder") }; - static get HangingRoots() { return ItemTypes.get("minecraft:hanging_roots") }; - static get HardenedClay() { return ItemTypes.get("minecraft:hardened_clay") }; - static get HayBlock() { return ItemTypes.get("minecraft:hay_block") }; - static get HeartOfTheSea() { return ItemTypes.get("minecraft:heart_of_the_sea") }; - static get HeartPotterySherd() { return ItemTypes.get("minecraft:heart_pottery_sherd") }; - static get HeartbreakPotterySherd() { return ItemTypes.get("minecraft:heartbreak_pottery_sherd") }; - static get HeavyWeightedPressurePlate() { return ItemTypes.get("minecraft:heavy_weighted_pressure_plate") }; - static get HoglinSpawnEgg() { return ItemTypes.get("minecraft:hoglin_spawn_egg") }; - static get HoneyBlock() { return ItemTypes.get("minecraft:honey_block") }; - static get HoneyBottle() { return ItemTypes.get("minecraft:honey_bottle") }; - static get Honeycomb() { return ItemTypes.get("minecraft:honeycomb") }; - static get HoneycombBlock() { return ItemTypes.get("minecraft:honeycomb_block") }; - static get Hopper() { return ItemTypes.get("minecraft:hopper") }; - static get HopperMinecart() { return ItemTypes.get("minecraft:hopper_minecart") }; - static get HornCoral() { return ItemTypes.get("minecraft:horn_coral") }; - static get HorseSpawnEgg() { return ItemTypes.get("minecraft:horse_spawn_egg") }; - static get HostArmorTrimSmithingTemplate() { return ItemTypes.get("minecraft:host_armor_trim_smithing_template") }; - static get HowlPotterySherd() { return ItemTypes.get("minecraft:howl_pottery_sherd") }; - static get HuskSpawnEgg() { return ItemTypes.get("minecraft:husk_spawn_egg") }; - static get Ice() { return ItemTypes.get("minecraft:ice") }; - static get InfestedDeepslate() { return ItemTypes.get("minecraft:infested_deepslate") }; - static get InkSac() { return ItemTypes.get("minecraft:ink_sac") }; - static get IronAxe() { return ItemTypes.get("minecraft:iron_axe") }; - static get IronBars() { return ItemTypes.get("minecraft:iron_bars") }; - static get IronBlock() { return ItemTypes.get("minecraft:iron_block") }; - static get IronBoots() { return ItemTypes.get("minecraft:iron_boots") }; - static get IronChestplate() { return ItemTypes.get("minecraft:iron_chestplate") }; - static get IronDoor() { return ItemTypes.get("minecraft:iron_door") }; - static get IronGolemSpawnEgg() { return ItemTypes.get("minecraft:iron_golem_spawn_egg") }; - static get IronHelmet() { return ItemTypes.get("minecraft:iron_helmet") }; - static get IronHoe() { return ItemTypes.get("minecraft:iron_hoe") }; - static get IronHorseArmor() { return ItemTypes.get("minecraft:iron_horse_armor") }; - static get IronIngot() { return ItemTypes.get("minecraft:iron_ingot") }; - static get IronLeggings() { return ItemTypes.get("minecraft:iron_leggings") }; - static get IronNugget() { return ItemTypes.get("minecraft:iron_nugget") }; - static get IronOre() { return ItemTypes.get("minecraft:iron_ore") }; - static get IronPickaxe() { return ItemTypes.get("minecraft:iron_pickaxe") }; - static get IronShovel() { return ItemTypes.get("minecraft:iron_shovel") }; - static get IronSword() { return ItemTypes.get("minecraft:iron_sword") }; - static get IronTrapdoor() { return ItemTypes.get("minecraft:iron_trapdoor") }; - static get Jigsaw() { return ItemTypes.get("minecraft:jigsaw") }; - static get Jukebox() { return ItemTypes.get("minecraft:jukebox") }; - static get JungleBoat() { return ItemTypes.get("minecraft:jungle_boat") }; - static get JungleButton() { return ItemTypes.get("minecraft:jungle_button") }; - static get JungleChestBoat() { return ItemTypes.get("minecraft:jungle_chest_boat") }; - static get JungleDoor() { return ItemTypes.get("minecraft:jungle_door") }; - static get JungleFence() { return ItemTypes.get("minecraft:jungle_fence") }; - static get JungleFenceGate() { return ItemTypes.get("minecraft:jungle_fence_gate") }; - static get JungleHangingSign() { return ItemTypes.get("minecraft:jungle_hanging_sign") }; - static get JungleLog() { return ItemTypes.get("minecraft:jungle_log") }; - static get JunglePressurePlate() { return ItemTypes.get("minecraft:jungle_pressure_plate") }; - static get JungleSign() { return ItemTypes.get("minecraft:jungle_sign") }; - static get JungleStairs() { return ItemTypes.get("minecraft:jungle_stairs") }; - static get JungleTrapdoor() { return ItemTypes.get("minecraft:jungle_trapdoor") }; - static get Kelp() { return ItemTypes.get("minecraft:kelp") }; - static get Ladder() { return ItemTypes.get("minecraft:ladder") }; - static get Lantern() { return ItemTypes.get("minecraft:lantern") }; - static get LapisBlock() { return ItemTypes.get("minecraft:lapis_block") }; - static get LapisLazuli() { return ItemTypes.get("minecraft:lapis_lazuli") }; - static get LapisOre() { return ItemTypes.get("minecraft:lapis_ore") }; - static get LargeAmethystBud() { return ItemTypes.get("minecraft:large_amethyst_bud") }; - static get LavaBucket() { return ItemTypes.get("minecraft:lava_bucket") }; - static get Lead() { return ItemTypes.get("minecraft:lead") }; - static get Leather() { return ItemTypes.get("minecraft:leather") }; - static get LeatherBoots() { return ItemTypes.get("minecraft:leather_boots") }; - static get LeatherChestplate() { return ItemTypes.get("minecraft:leather_chestplate") }; - static get LeatherHelmet() { return ItemTypes.get("minecraft:leather_helmet") }; - static get LeatherHorseArmor() { return ItemTypes.get("minecraft:leather_horse_armor") }; - static get LeatherLeggings() { return ItemTypes.get("minecraft:leather_leggings") }; - static get Leaves() { return ItemTypes.get("minecraft:leaves") }; - static get Leaves2() { return ItemTypes.get("minecraft:leaves2") }; - static get Lectern() { return ItemTypes.get("minecraft:lectern") }; - static get Lever() { return ItemTypes.get("minecraft:lever") }; - static get LightBlock() { return ItemTypes.get("minecraft:light_block") }; - static get LightBlueCandle() { return ItemTypes.get("minecraft:light_blue_candle") }; - static get LightBlueCarpet() { return ItemTypes.get("minecraft:light_blue_carpet") }; - static get LightBlueConcrete() { return ItemTypes.get("minecraft:light_blue_concrete") }; - static get LightBlueConcretePowder() { return ItemTypes.get("minecraft:light_blue_concrete_powder") }; - static get LightBlueDye() { return ItemTypes.get("minecraft:light_blue_dye") }; - static get LightBlueGlazedTerracotta() { return ItemTypes.get("minecraft:light_blue_glazed_terracotta") }; - static get LightBlueShulkerBox() { return ItemTypes.get("minecraft:light_blue_shulker_box") }; - static get LightBlueStainedGlass() { return ItemTypes.get("minecraft:light_blue_stained_glass") }; - static get LightBlueStainedGlassPane() { return ItemTypes.get("minecraft:light_blue_stained_glass_pane") }; - static get LightBlueTerracotta() { return ItemTypes.get("minecraft:light_blue_terracotta") }; - static get LightBlueWool() { return ItemTypes.get("minecraft:light_blue_wool") }; - static get LightGrayCandle() { return ItemTypes.get("minecraft:light_gray_candle") }; - static get LightGrayCarpet() { return ItemTypes.get("minecraft:light_gray_carpet") }; - static get LightGrayConcrete() { return ItemTypes.get("minecraft:light_gray_concrete") }; - static get LightGrayConcretePowder() { return ItemTypes.get("minecraft:light_gray_concrete_powder") }; - static get LightGrayDye() { return ItemTypes.get("minecraft:light_gray_dye") }; - static get LightGrayShulkerBox() { return ItemTypes.get("minecraft:light_gray_shulker_box") }; - static get LightGrayStainedGlass() { return ItemTypes.get("minecraft:light_gray_stained_glass") }; - static get LightGrayStainedGlassPane() { return ItemTypes.get("minecraft:light_gray_stained_glass_pane") }; - static get LightGrayTerracotta() { return ItemTypes.get("minecraft:light_gray_terracotta") }; - static get LightGrayWool() { return ItemTypes.get("minecraft:light_gray_wool") }; - static get LightWeightedPressurePlate() { return ItemTypes.get("minecraft:light_weighted_pressure_plate") }; - static get LightningRod() { return ItemTypes.get("minecraft:lightning_rod") }; - static get LimeCandle() { return ItemTypes.get("minecraft:lime_candle") }; - static get LimeCarpet() { return ItemTypes.get("minecraft:lime_carpet") }; - static get LimeConcrete() { return ItemTypes.get("minecraft:lime_concrete") }; - static get LimeConcretePowder() { return ItemTypes.get("minecraft:lime_concrete_powder") }; - static get LimeDye() { return ItemTypes.get("minecraft:lime_dye") }; - static get LimeGlazedTerracotta() { return ItemTypes.get("minecraft:lime_glazed_terracotta") }; - static get LimeShulkerBox() { return ItemTypes.get("minecraft:lime_shulker_box") }; - static get LimeStainedGlass() { return ItemTypes.get("minecraft:lime_stained_glass") }; - static get LimeStainedGlassPane() { return ItemTypes.get("minecraft:lime_stained_glass_pane") }; - static get LimeTerracotta() { return ItemTypes.get("minecraft:lime_terracotta") }; - static get LimeWool() { return ItemTypes.get("minecraft:lime_wool") }; - static get LingeringPotion() { return ItemTypes.get("minecraft:lingering_potion") }; - static get LitPumpkin() { return ItemTypes.get("minecraft:lit_pumpkin") }; - static get LlamaSpawnEgg() { return ItemTypes.get("minecraft:llama_spawn_egg") }; - static get Lodestone() { return ItemTypes.get("minecraft:lodestone") }; - static get LodestoneCompass() { return ItemTypes.get("minecraft:lodestone_compass") }; - static get Log() { return ItemTypes.get("minecraft:log") }; - static get Log2() { return ItemTypes.get("minecraft:log2") }; - static get Loom() { return ItemTypes.get("minecraft:loom") }; - static get MagentaCandle() { return ItemTypes.get("minecraft:magenta_candle") }; - static get MagentaCarpet() { return ItemTypes.get("minecraft:magenta_carpet") }; - static get MagentaConcrete() { return ItemTypes.get("minecraft:magenta_concrete") }; - static get MagentaConcretePowder() { return ItemTypes.get("minecraft:magenta_concrete_powder") }; - static get MagentaDye() { return ItemTypes.get("minecraft:magenta_dye") }; - static get MagentaGlazedTerracotta() { return ItemTypes.get("minecraft:magenta_glazed_terracotta") }; - static get MagentaShulkerBox() { return ItemTypes.get("minecraft:magenta_shulker_box") }; - static get MagentaStainedGlass() { return ItemTypes.get("minecraft:magenta_stained_glass") }; - static get MagentaStainedGlassPane() { return ItemTypes.get("minecraft:magenta_stained_glass_pane") }; - static get MagentaTerracotta() { return ItemTypes.get("minecraft:magenta_terracotta") }; - static get MagentaWool() { return ItemTypes.get("minecraft:magenta_wool") }; - static get Magma() { return ItemTypes.get("minecraft:magma") }; - static get MagmaCream() { return ItemTypes.get("minecraft:magma_cream") }; - static get MagmaCubeSpawnEgg() { return ItemTypes.get("minecraft:magma_cube_spawn_egg") }; - static get MangroveBoat() { return ItemTypes.get("minecraft:mangrove_boat") }; - static get MangroveButton() { return ItemTypes.get("minecraft:mangrove_button") }; - static get MangroveChestBoat() { return ItemTypes.get("minecraft:mangrove_chest_boat") }; - static get MangroveDoor() { return ItemTypes.get("minecraft:mangrove_door") }; - static get MangroveFence() { return ItemTypes.get("minecraft:mangrove_fence") }; - static get MangroveFenceGate() { return ItemTypes.get("minecraft:mangrove_fence_gate") }; - static get MangroveHangingSign() { return ItemTypes.get("minecraft:mangrove_hanging_sign") }; - static get MangroveLeaves() { return ItemTypes.get("minecraft:mangrove_leaves") }; - static get MangroveLog() { return ItemTypes.get("minecraft:mangrove_log") }; - static get MangrovePlanks() { return ItemTypes.get("minecraft:mangrove_planks") }; - static get MangrovePressurePlate() { return ItemTypes.get("minecraft:mangrove_pressure_plate") }; - static get MangrovePropagule() { return ItemTypes.get("minecraft:mangrove_propagule") }; - static get MangroveRoots() { return ItemTypes.get("minecraft:mangrove_roots") }; - static get MangroveSign() { return ItemTypes.get("minecraft:mangrove_sign") }; - static get MangroveSlab() { return ItemTypes.get("minecraft:mangrove_slab") }; - static get MangroveStairs() { return ItemTypes.get("minecraft:mangrove_stairs") }; - static get MangroveTrapdoor() { return ItemTypes.get("minecraft:mangrove_trapdoor") }; - static get MangroveWood() { return ItemTypes.get("minecraft:mangrove_wood") }; - static get MediumAmethystBud() { return ItemTypes.get("minecraft:medium_amethyst_bud") }; - static get MelonBlock() { return ItemTypes.get("minecraft:melon_block") }; - static get MelonSeeds() { return ItemTypes.get("minecraft:melon_seeds") }; - static get MelonSlice() { return ItemTypes.get("minecraft:melon_slice") }; - static get MilkBucket() { return ItemTypes.get("minecraft:milk_bucket") }; - static get Minecart() { return ItemTypes.get("minecraft:minecart") }; - static get MinerPotterySherd() { return ItemTypes.get("minecraft:miner_pottery_sherd") }; - static get MobSpawner() { return ItemTypes.get("minecraft:mob_spawner") }; - static get MojangBannerPattern() { return ItemTypes.get("minecraft:mojang_banner_pattern") }; - static get MonsterEgg() { return ItemTypes.get("minecraft:monster_egg") }; - static get MooshroomSpawnEgg() { return ItemTypes.get("minecraft:mooshroom_spawn_egg") }; - static get MossBlock() { return ItemTypes.get("minecraft:moss_block") }; - static get MossCarpet() { return ItemTypes.get("minecraft:moss_carpet") }; - static get MossyCobblestone() { return ItemTypes.get("minecraft:mossy_cobblestone") }; - static get MossyCobblestoneStairs() { return ItemTypes.get("minecraft:mossy_cobblestone_stairs") }; - static get MossyStoneBrickStairs() { return ItemTypes.get("minecraft:mossy_stone_brick_stairs") }; - static get MournerPotterySherd() { return ItemTypes.get("minecraft:mourner_pottery_sherd") }; - static get Mud() { return ItemTypes.get("minecraft:mud") }; - static get MudBrickSlab() { return ItemTypes.get("minecraft:mud_brick_slab") }; - static get MudBrickStairs() { return ItemTypes.get("minecraft:mud_brick_stairs") }; - static get MudBrickWall() { return ItemTypes.get("minecraft:mud_brick_wall") }; - static get MudBricks() { return ItemTypes.get("minecraft:mud_bricks") }; - static get MuddyMangroveRoots() { return ItemTypes.get("minecraft:muddy_mangrove_roots") }; - static get MuleSpawnEgg() { return ItemTypes.get("minecraft:mule_spawn_egg") }; - static get MushroomStew() { return ItemTypes.get("minecraft:mushroom_stew") }; - static get MusicDisc11() { return ItemTypes.get("minecraft:music_disc_11") }; - static get MusicDisc13() { return ItemTypes.get("minecraft:music_disc_13") }; - static get MusicDisc5() { return ItemTypes.get("minecraft:music_disc_5") }; - static get MusicDiscBlocks() { return ItemTypes.get("minecraft:music_disc_blocks") }; - static get MusicDiscCat() { return ItemTypes.get("minecraft:music_disc_cat") }; - static get MusicDiscChirp() { return ItemTypes.get("minecraft:music_disc_chirp") }; - static get MusicDiscFar() { return ItemTypes.get("minecraft:music_disc_far") }; - static get MusicDiscMall() { return ItemTypes.get("minecraft:music_disc_mall") }; - static get MusicDiscMellohi() { return ItemTypes.get("minecraft:music_disc_mellohi") }; - static get MusicDiscOtherside() { return ItemTypes.get("minecraft:music_disc_otherside") }; - static get MusicDiscPigstep() { return ItemTypes.get("minecraft:music_disc_pigstep") }; - static get MusicDiscRelic() { return ItemTypes.get("minecraft:music_disc_relic") }; - static get MusicDiscStal() { return ItemTypes.get("minecraft:music_disc_stal") }; - static get MusicDiscStrad() { return ItemTypes.get("minecraft:music_disc_strad") }; - static get MusicDiscWait() { return ItemTypes.get("minecraft:music_disc_wait") }; - static get MusicDiscWard() { return ItemTypes.get("minecraft:music_disc_ward") }; - static get Mutton() { return ItemTypes.get("minecraft:mutton") }; - static get Mycelium() { return ItemTypes.get("minecraft:mycelium") }; - static get NameTag() { return ItemTypes.get("minecraft:name_tag") }; - static get NautilusShell() { return ItemTypes.get("minecraft:nautilus_shell") }; - static get NetherBrick() { return ItemTypes.get("minecraft:nether_brick") }; - static get NetherBrickFence() { return ItemTypes.get("minecraft:nether_brick_fence") }; - static get NetherBrickStairs() { return ItemTypes.get("minecraft:nether_brick_stairs") }; - static get NetherGoldOre() { return ItemTypes.get("minecraft:nether_gold_ore") }; - static get NetherSprouts() { return ItemTypes.get("minecraft:nether_sprouts") }; - static get NetherStar() { return ItemTypes.get("minecraft:nether_star") }; - static get NetherWart() { return ItemTypes.get("minecraft:nether_wart") }; - static get NetherWartBlock() { return ItemTypes.get("minecraft:nether_wart_block") }; - static get Netherbrick() { return ItemTypes.get("minecraft:netherbrick") }; - static get NetheriteAxe() { return ItemTypes.get("minecraft:netherite_axe") }; - static get NetheriteBlock() { return ItemTypes.get("minecraft:netherite_block") }; - static get NetheriteBoots() { return ItemTypes.get("minecraft:netherite_boots") }; - static get NetheriteChestplate() { return ItemTypes.get("minecraft:netherite_chestplate") }; - static get NetheriteHelmet() { return ItemTypes.get("minecraft:netherite_helmet") }; - static get NetheriteHoe() { return ItemTypes.get("minecraft:netherite_hoe") }; - static get NetheriteIngot() { return ItemTypes.get("minecraft:netherite_ingot") }; - static get NetheriteLeggings() { return ItemTypes.get("minecraft:netherite_leggings") }; - static get NetheritePickaxe() { return ItemTypes.get("minecraft:netherite_pickaxe") }; - static get NetheriteScrap() { return ItemTypes.get("minecraft:netherite_scrap") }; - static get NetheriteShovel() { return ItemTypes.get("minecraft:netherite_shovel") }; - static get NetheriteSword() { return ItemTypes.get("minecraft:netherite_sword") }; - static get NetheriteUpgradeSmithingTemplate() { return ItemTypes.get("minecraft:netherite_upgrade_smithing_template") }; - static get Netherrack() { return ItemTypes.get("minecraft:netherrack") }; - static get NormalStoneStairs() { return ItemTypes.get("minecraft:normal_stone_stairs") }; - static get Noteblock() { return ItemTypes.get("minecraft:noteblock") }; - static get OakBoat() { return ItemTypes.get("minecraft:oak_boat") }; - static get OakChestBoat() { return ItemTypes.get("minecraft:oak_chest_boat") }; - static get OakFence() { return ItemTypes.get("minecraft:oak_fence") }; - static get OakHangingSign() { return ItemTypes.get("minecraft:oak_hanging_sign") }; - static get OakLog() { return ItemTypes.get("minecraft:oak_log") }; - static get OakSign() { return ItemTypes.get("minecraft:oak_sign") }; - static get OakStairs() { return ItemTypes.get("minecraft:oak_stairs") }; - static get Observer() { return ItemTypes.get("minecraft:observer") }; - static get Obsidian() { return ItemTypes.get("minecraft:obsidian") }; - static get OcelotSpawnEgg() { return ItemTypes.get("minecraft:ocelot_spawn_egg") }; - static get OchreFroglight() { return ItemTypes.get("minecraft:ochre_froglight") }; - static get OrangeCandle() { return ItemTypes.get("minecraft:orange_candle") }; - static get OrangeCarpet() { return ItemTypes.get("minecraft:orange_carpet") }; - static get OrangeConcrete() { return ItemTypes.get("minecraft:orange_concrete") }; - static get OrangeConcretePowder() { return ItemTypes.get("minecraft:orange_concrete_powder") }; - static get OrangeDye() { return ItemTypes.get("minecraft:orange_dye") }; - static get OrangeGlazedTerracotta() { return ItemTypes.get("minecraft:orange_glazed_terracotta") }; - static get OrangeShulkerBox() { return ItemTypes.get("minecraft:orange_shulker_box") }; - static get OrangeStainedGlass() { return ItemTypes.get("minecraft:orange_stained_glass") }; - static get OrangeStainedGlassPane() { return ItemTypes.get("minecraft:orange_stained_glass_pane") }; - static get OrangeTerracotta() { return ItemTypes.get("minecraft:orange_terracotta") }; - static get OrangeWool() { return ItemTypes.get("minecraft:orange_wool") }; - static get OxidizedCopper() { return ItemTypes.get("minecraft:oxidized_copper") }; - static get OxidizedCutCopper() { return ItemTypes.get("minecraft:oxidized_cut_copper") }; - static get OxidizedCutCopperSlab() { return ItemTypes.get("minecraft:oxidized_cut_copper_slab") }; - static get OxidizedCutCopperStairs() { return ItemTypes.get("minecraft:oxidized_cut_copper_stairs") }; - static get PackedIce() { return ItemTypes.get("minecraft:packed_ice") }; - static get PackedMud() { return ItemTypes.get("minecraft:packed_mud") }; - static get Painting() { return ItemTypes.get("minecraft:painting") }; - static get PandaSpawnEgg() { return ItemTypes.get("minecraft:panda_spawn_egg") }; - static get Paper() { return ItemTypes.get("minecraft:paper") }; - static get ParrotSpawnEgg() { return ItemTypes.get("minecraft:parrot_spawn_egg") }; - static get PearlescentFroglight() { return ItemTypes.get("minecraft:pearlescent_froglight") }; - static get PhantomMembrane() { return ItemTypes.get("minecraft:phantom_membrane") }; - static get PhantomSpawnEgg() { return ItemTypes.get("minecraft:phantom_spawn_egg") }; - static get PigSpawnEgg() { return ItemTypes.get("minecraft:pig_spawn_egg") }; - static get PiglinBannerPattern() { return ItemTypes.get("minecraft:piglin_banner_pattern") }; - static get PiglinBruteSpawnEgg() { return ItemTypes.get("minecraft:piglin_brute_spawn_egg") }; - static get PiglinSpawnEgg() { return ItemTypes.get("minecraft:piglin_spawn_egg") }; - static get PillagerSpawnEgg() { return ItemTypes.get("minecraft:pillager_spawn_egg") }; - static get PinkCandle() { return ItemTypes.get("minecraft:pink_candle") }; - static get PinkCarpet() { return ItemTypes.get("minecraft:pink_carpet") }; - static get PinkConcrete() { return ItemTypes.get("minecraft:pink_concrete") }; - static get PinkConcretePowder() { return ItemTypes.get("minecraft:pink_concrete_powder") }; - static get PinkDye() { return ItemTypes.get("minecraft:pink_dye") }; - static get PinkGlazedTerracotta() { return ItemTypes.get("minecraft:pink_glazed_terracotta") }; - static get PinkPetals() { return ItemTypes.get("minecraft:pink_petals") }; - static get PinkShulkerBox() { return ItemTypes.get("minecraft:pink_shulker_box") }; - static get PinkStainedGlass() { return ItemTypes.get("minecraft:pink_stained_glass") }; - static get PinkStainedGlassPane() { return ItemTypes.get("minecraft:pink_stained_glass_pane") }; - static get PinkTerracotta() { return ItemTypes.get("minecraft:pink_terracotta") }; - static get PinkWool() { return ItemTypes.get("minecraft:pink_wool") }; - static get Piston() { return ItemTypes.get("minecraft:piston") }; - static get PitcherPlant() { return ItemTypes.get("minecraft:pitcher_plant") }; - static get PitcherPod() { return ItemTypes.get("minecraft:pitcher_pod") }; - static get Planks() { return ItemTypes.get("minecraft:planks") }; - static get PlentyPotterySherd() { return ItemTypes.get("minecraft:plenty_pottery_sherd") }; - static get Podzol() { return ItemTypes.get("minecraft:podzol") }; - static get PointedDripstone() { return ItemTypes.get("minecraft:pointed_dripstone") }; - static get PoisonousPotato() { return ItemTypes.get("minecraft:poisonous_potato") }; - static get PolarBearSpawnEgg() { return ItemTypes.get("minecraft:polar_bear_spawn_egg") }; - static get PolishedAndesiteStairs() { return ItemTypes.get("minecraft:polished_andesite_stairs") }; - static get PolishedBasalt() { return ItemTypes.get("minecraft:polished_basalt") }; - static get PolishedBlackstone() { return ItemTypes.get("minecraft:polished_blackstone") }; - static get PolishedBlackstoneBrickSlab() { return ItemTypes.get("minecraft:polished_blackstone_brick_slab") }; - static get PolishedBlackstoneBrickStairs() { return ItemTypes.get("minecraft:polished_blackstone_brick_stairs") }; - static get PolishedBlackstoneBrickWall() { return ItemTypes.get("minecraft:polished_blackstone_brick_wall") }; - static get PolishedBlackstoneBricks() { return ItemTypes.get("minecraft:polished_blackstone_bricks") }; - static get PolishedBlackstoneButton() { return ItemTypes.get("minecraft:polished_blackstone_button") }; - static get PolishedBlackstonePressurePlate() { return ItemTypes.get("minecraft:polished_blackstone_pressure_plate") }; - static get PolishedBlackstoneSlab() { return ItemTypes.get("minecraft:polished_blackstone_slab") }; - static get PolishedBlackstoneStairs() { return ItemTypes.get("minecraft:polished_blackstone_stairs") }; - static get PolishedBlackstoneWall() { return ItemTypes.get("minecraft:polished_blackstone_wall") }; - static get PolishedDeepslate() { return ItemTypes.get("minecraft:polished_deepslate") }; - static get PolishedDeepslateSlab() { return ItemTypes.get("minecraft:polished_deepslate_slab") }; - static get PolishedDeepslateStairs() { return ItemTypes.get("minecraft:polished_deepslate_stairs") }; - static get PolishedDeepslateWall() { return ItemTypes.get("minecraft:polished_deepslate_wall") }; - static get PolishedDioriteStairs() { return ItemTypes.get("minecraft:polished_diorite_stairs") }; - static get PolishedGraniteStairs() { return ItemTypes.get("minecraft:polished_granite_stairs") }; - static get PoppedChorusFruit() { return ItemTypes.get("minecraft:popped_chorus_fruit") }; - static get Porkchop() { return ItemTypes.get("minecraft:porkchop") }; - static get Potato() { return ItemTypes.get("minecraft:potato") }; - static get Potion() { return ItemTypes.get("minecraft:potion") }; - static get PowderSnowBucket() { return ItemTypes.get("minecraft:powder_snow_bucket") }; - static get Prismarine() { return ItemTypes.get("minecraft:prismarine") }; - static get PrismarineBricksStairs() { return ItemTypes.get("minecraft:prismarine_bricks_stairs") }; - static get PrismarineCrystals() { return ItemTypes.get("minecraft:prismarine_crystals") }; - static get PrismarineShard() { return ItemTypes.get("minecraft:prismarine_shard") }; - static get PrismarineStairs() { return ItemTypes.get("minecraft:prismarine_stairs") }; - static get PrizePotterySherd() { return ItemTypes.get("minecraft:prize_pottery_sherd") }; - static get Pufferfish() { return ItemTypes.get("minecraft:pufferfish") }; - static get PufferfishBucket() { return ItemTypes.get("minecraft:pufferfish_bucket") }; - static get PufferfishSpawnEgg() { return ItemTypes.get("minecraft:pufferfish_spawn_egg") }; - static get Pumpkin() { return ItemTypes.get("minecraft:pumpkin") }; - static get PumpkinPie() { return ItemTypes.get("minecraft:pumpkin_pie") }; - static get PumpkinSeeds() { return ItemTypes.get("minecraft:pumpkin_seeds") }; - static get PurpleCandle() { return ItemTypes.get("minecraft:purple_candle") }; - static get PurpleCarpet() { return ItemTypes.get("minecraft:purple_carpet") }; - static get PurpleConcrete() { return ItemTypes.get("minecraft:purple_concrete") }; - static get PurpleConcretePowder() { return ItemTypes.get("minecraft:purple_concrete_powder") }; - static get PurpleDye() { return ItemTypes.get("minecraft:purple_dye") }; - static get PurpleGlazedTerracotta() { return ItemTypes.get("minecraft:purple_glazed_terracotta") }; - static get PurpleShulkerBox() { return ItemTypes.get("minecraft:purple_shulker_box") }; - static get PurpleStainedGlass() { return ItemTypes.get("minecraft:purple_stained_glass") }; - static get PurpleStainedGlassPane() { return ItemTypes.get("minecraft:purple_stained_glass_pane") }; - static get PurpleTerracotta() { return ItemTypes.get("minecraft:purple_terracotta") }; - static get PurpleWool() { return ItemTypes.get("minecraft:purple_wool") }; - static get PurpurBlock() { return ItemTypes.get("minecraft:purpur_block") }; - static get PurpurStairs() { return ItemTypes.get("minecraft:purpur_stairs") }; - static get Quartz() { return ItemTypes.get("minecraft:quartz") }; - static get QuartzBlock() { return ItemTypes.get("minecraft:quartz_block") }; - static get QuartzBricks() { return ItemTypes.get("minecraft:quartz_bricks") }; - static get QuartzOre() { return ItemTypes.get("minecraft:quartz_ore") }; - static get QuartzStairs() { return ItemTypes.get("minecraft:quartz_stairs") }; - static get Rabbit() { return ItemTypes.get("minecraft:rabbit") }; - static get RabbitFoot() { return ItemTypes.get("minecraft:rabbit_foot") }; - static get RabbitHide() { return ItemTypes.get("minecraft:rabbit_hide") }; - static get RabbitSpawnEgg() { return ItemTypes.get("minecraft:rabbit_spawn_egg") }; - static get RabbitStew() { return ItemTypes.get("minecraft:rabbit_stew") }; - static get Rail() { return ItemTypes.get("minecraft:rail") }; - static get RaiserArmorTrimSmithingTemplate() { return ItemTypes.get("minecraft:raiser_armor_trim_smithing_template") }; - static get RavagerSpawnEgg() { return ItemTypes.get("minecraft:ravager_spawn_egg") }; - static get RawCopper() { return ItemTypes.get("minecraft:raw_copper") }; - static get RawCopperBlock() { return ItemTypes.get("minecraft:raw_copper_block") }; - static get RawGold() { return ItemTypes.get("minecraft:raw_gold") }; - static get RawGoldBlock() { return ItemTypes.get("minecraft:raw_gold_block") }; - static get RawIron() { return ItemTypes.get("minecraft:raw_iron") }; - static get RawIronBlock() { return ItemTypes.get("minecraft:raw_iron_block") }; - static get RecoveryCompass() { return ItemTypes.get("minecraft:recovery_compass") }; - static get RedCandle() { return ItemTypes.get("minecraft:red_candle") }; - static get RedCarpet() { return ItemTypes.get("minecraft:red_carpet") }; - static get RedConcrete() { return ItemTypes.get("minecraft:red_concrete") }; - static get RedConcretePowder() { return ItemTypes.get("minecraft:red_concrete_powder") }; - static get RedDye() { return ItemTypes.get("minecraft:red_dye") }; - static get RedFlower() { return ItemTypes.get("minecraft:red_flower") }; - static get RedGlazedTerracotta() { return ItemTypes.get("minecraft:red_glazed_terracotta") }; - static get RedMushroom() { return ItemTypes.get("minecraft:red_mushroom") }; - static get RedMushroomBlock() { return ItemTypes.get("minecraft:red_mushroom_block") }; - static get RedNetherBrick() { return ItemTypes.get("minecraft:red_nether_brick") }; - static get RedNetherBrickStairs() { return ItemTypes.get("minecraft:red_nether_brick_stairs") }; - static get RedSandstone() { return ItemTypes.get("minecraft:red_sandstone") }; - static get RedSandstoneStairs() { return ItemTypes.get("minecraft:red_sandstone_stairs") }; - static get RedShulkerBox() { return ItemTypes.get("minecraft:red_shulker_box") }; - static get RedStainedGlass() { return ItemTypes.get("minecraft:red_stained_glass") }; - static get RedStainedGlassPane() { return ItemTypes.get("minecraft:red_stained_glass_pane") }; - static get RedTerracotta() { return ItemTypes.get("minecraft:red_terracotta") }; - static get RedWool() { return ItemTypes.get("minecraft:red_wool") }; - static get Redstone() { return ItemTypes.get("minecraft:redstone") }; - static get RedstoneBlock() { return ItemTypes.get("minecraft:redstone_block") }; - static get RedstoneLamp() { return ItemTypes.get("minecraft:redstone_lamp") }; - static get RedstoneOre() { return ItemTypes.get("minecraft:redstone_ore") }; - static get RedstoneTorch() { return ItemTypes.get("minecraft:redstone_torch") }; - static get ReinforcedDeepslate() { return ItemTypes.get("minecraft:reinforced_deepslate") }; - static get Repeater() { return ItemTypes.get("minecraft:repeater") }; - static get RepeatingCommandBlock() { return ItemTypes.get("minecraft:repeating_command_block") }; - static get RespawnAnchor() { return ItemTypes.get("minecraft:respawn_anchor") }; - static get RibArmorTrimSmithingTemplate() { return ItemTypes.get("minecraft:rib_armor_trim_smithing_template") }; - static get RottenFlesh() { return ItemTypes.get("minecraft:rotten_flesh") }; - static get Saddle() { return ItemTypes.get("minecraft:saddle") }; - static get Salmon() { return ItemTypes.get("minecraft:salmon") }; - static get SalmonBucket() { return ItemTypes.get("minecraft:salmon_bucket") }; - static get SalmonSpawnEgg() { return ItemTypes.get("minecraft:salmon_spawn_egg") }; - static get Sand() { return ItemTypes.get("minecraft:sand") }; - static get Sandstone() { return ItemTypes.get("minecraft:sandstone") }; - static get SandstoneStairs() { return ItemTypes.get("minecraft:sandstone_stairs") }; - static get Sapling() { return ItemTypes.get("minecraft:sapling") }; - static get Scaffolding() { return ItemTypes.get("minecraft:scaffolding") }; - static get Sculk() { return ItemTypes.get("minecraft:sculk") }; - static get SculkCatalyst() { return ItemTypes.get("minecraft:sculk_catalyst") }; - static get SculkSensor() { return ItemTypes.get("minecraft:sculk_sensor") }; - static get SculkShrieker() { return ItemTypes.get("minecraft:sculk_shrieker") }; - static get SculkVein() { return ItemTypes.get("minecraft:sculk_vein") }; - static get Scute() { return ItemTypes.get("minecraft:scute") }; - static get SeaLantern() { return ItemTypes.get("minecraft:sea_lantern") }; - static get SeaPickle() { return ItemTypes.get("minecraft:sea_pickle") }; - static get Seagrass() { return ItemTypes.get("minecraft:seagrass") }; - static get SentryArmorTrimSmithingTemplate() { return ItemTypes.get("minecraft:sentry_armor_trim_smithing_template") }; - static get ShaperArmorTrimSmithingTemplate() { return ItemTypes.get("minecraft:shaper_armor_trim_smithing_template") }; - static get SheafPotterySherd() { return ItemTypes.get("minecraft:sheaf_pottery_sherd") }; - static get Shears() { return ItemTypes.get("minecraft:shears") }; - static get SheepSpawnEgg() { return ItemTypes.get("minecraft:sheep_spawn_egg") }; - static get ShelterPotterySherd() { return ItemTypes.get("minecraft:shelter_pottery_sherd") }; - static get Shield() { return ItemTypes.get("minecraft:shield") }; - static get Shroomlight() { return ItemTypes.get("minecraft:shroomlight") }; - static get ShulkerBox() { return ItemTypes.get("minecraft:shulker_box") }; - static get ShulkerShell() { return ItemTypes.get("minecraft:shulker_shell") }; - static get ShulkerSpawnEgg() { return ItemTypes.get("minecraft:shulker_spawn_egg") }; - static get SilenceArmorTrimSmithingTemplate() { return ItemTypes.get("minecraft:silence_armor_trim_smithing_template") }; - static get SilverGlazedTerracotta() { return ItemTypes.get("minecraft:silver_glazed_terracotta") }; - static get SilverfishSpawnEgg() { return ItemTypes.get("minecraft:silverfish_spawn_egg") }; - static get SkeletonHorseSpawnEgg() { return ItemTypes.get("minecraft:skeleton_horse_spawn_egg") }; - static get SkeletonSpawnEgg() { return ItemTypes.get("minecraft:skeleton_spawn_egg") }; - static get Skull() { return ItemTypes.get("minecraft:skull") }; - static get SkullBannerPattern() { return ItemTypes.get("minecraft:skull_banner_pattern") }; - static get SkullPotterySherd() { return ItemTypes.get("minecraft:skull_pottery_sherd") }; - static get Slime() { return ItemTypes.get("minecraft:slime") }; - static get SlimeBall() { return ItemTypes.get("minecraft:slime_ball") }; - static get SlimeSpawnEgg() { return ItemTypes.get("minecraft:slime_spawn_egg") }; - static get SmallAmethystBud() { return ItemTypes.get("minecraft:small_amethyst_bud") }; - static get SmallDripleafBlock() { return ItemTypes.get("minecraft:small_dripleaf_block") }; - static get SmithingTable() { return ItemTypes.get("minecraft:smithing_table") }; - static get Smoker() { return ItemTypes.get("minecraft:smoker") }; - static get SmoothBasalt() { return ItemTypes.get("minecraft:smooth_basalt") }; - static get SmoothQuartzStairs() { return ItemTypes.get("minecraft:smooth_quartz_stairs") }; - static get SmoothRedSandstoneStairs() { return ItemTypes.get("minecraft:smooth_red_sandstone_stairs") }; - static get SmoothSandstoneStairs() { return ItemTypes.get("minecraft:smooth_sandstone_stairs") }; - static get SmoothStone() { return ItemTypes.get("minecraft:smooth_stone") }; - static get SnifferEgg() { return ItemTypes.get("minecraft:sniffer_egg") }; - static get SnifferSpawnEgg() { return ItemTypes.get("minecraft:sniffer_spawn_egg") }; - static get SnortPotterySherd() { return ItemTypes.get("minecraft:snort_pottery_sherd") }; - static get SnoutArmorTrimSmithingTemplate() { return ItemTypes.get("minecraft:snout_armor_trim_smithing_template") }; - static get Snow() { return ItemTypes.get("minecraft:snow") }; - static get SnowGolemSpawnEgg() { return ItemTypes.get("minecraft:snow_golem_spawn_egg") }; - static get SnowLayer() { return ItemTypes.get("minecraft:snow_layer") }; - static get Snowball() { return ItemTypes.get("minecraft:snowball") }; - static get SoulCampfire() { return ItemTypes.get("minecraft:soul_campfire") }; - static get SoulLantern() { return ItemTypes.get("minecraft:soul_lantern") }; - static get SoulSand() { return ItemTypes.get("minecraft:soul_sand") }; - static get SoulSoil() { return ItemTypes.get("minecraft:soul_soil") }; - static get SoulTorch() { return ItemTypes.get("minecraft:soul_torch") }; - static get SpawnEgg() { return ItemTypes.get("minecraft:spawn_egg") }; - static get SpiderEye() { return ItemTypes.get("minecraft:spider_eye") }; - static get SpiderSpawnEgg() { return ItemTypes.get("minecraft:spider_spawn_egg") }; - static get SpireArmorTrimSmithingTemplate() { return ItemTypes.get("minecraft:spire_armor_trim_smithing_template") }; - static get SplashPotion() { return ItemTypes.get("minecraft:splash_potion") }; - static get Sponge() { return ItemTypes.get("minecraft:sponge") }; - static get SporeBlossom() { return ItemTypes.get("minecraft:spore_blossom") }; - static get SpruceBoat() { return ItemTypes.get("minecraft:spruce_boat") }; - static get SpruceButton() { return ItemTypes.get("minecraft:spruce_button") }; - static get SpruceChestBoat() { return ItemTypes.get("minecraft:spruce_chest_boat") }; - static get SpruceDoor() { return ItemTypes.get("minecraft:spruce_door") }; - static get SpruceFence() { return ItemTypes.get("minecraft:spruce_fence") }; - static get SpruceFenceGate() { return ItemTypes.get("minecraft:spruce_fence_gate") }; - static get SpruceHangingSign() { return ItemTypes.get("minecraft:spruce_hanging_sign") }; - static get SpruceLog() { return ItemTypes.get("minecraft:spruce_log") }; - static get SprucePressurePlate() { return ItemTypes.get("minecraft:spruce_pressure_plate") }; - static get SpruceSign() { return ItemTypes.get("minecraft:spruce_sign") }; - static get SpruceStairs() { return ItemTypes.get("minecraft:spruce_stairs") }; - static get SpruceTrapdoor() { return ItemTypes.get("minecraft:spruce_trapdoor") }; - static get Spyglass() { return ItemTypes.get("minecraft:spyglass") }; - static get SquidSpawnEgg() { return ItemTypes.get("minecraft:squid_spawn_egg") }; - static get StainedGlass() { return ItemTypes.get("minecraft:stained_glass") }; - static get StainedGlassPane() { return ItemTypes.get("minecraft:stained_glass_pane") }; - static get StainedHardenedClay() { return ItemTypes.get("minecraft:stained_hardened_clay") }; - static get Stick() { return ItemTypes.get("minecraft:stick") }; - static get StickyPiston() { return ItemTypes.get("minecraft:sticky_piston") }; - static get Stone() { return ItemTypes.get("minecraft:stone") }; - static get StoneAxe() { return ItemTypes.get("minecraft:stone_axe") }; - static get StoneBlockSlab() { return ItemTypes.get("minecraft:stone_block_slab") }; - static get StoneBlockSlab2() { return ItemTypes.get("minecraft:stone_block_slab2") }; - static get StoneBlockSlab3() { return ItemTypes.get("minecraft:stone_block_slab3") }; - static get StoneBlockSlab4() { return ItemTypes.get("minecraft:stone_block_slab4") }; - static get StoneBrickStairs() { return ItemTypes.get("minecraft:stone_brick_stairs") }; - static get StoneButton() { return ItemTypes.get("minecraft:stone_button") }; - static get StoneHoe() { return ItemTypes.get("minecraft:stone_hoe") }; - static get StonePickaxe() { return ItemTypes.get("minecraft:stone_pickaxe") }; - static get StonePressurePlate() { return ItemTypes.get("minecraft:stone_pressure_plate") }; - static get StoneShovel() { return ItemTypes.get("minecraft:stone_shovel") }; - static get StoneStairs() { return ItemTypes.get("minecraft:stone_stairs") }; - static get StoneSword() { return ItemTypes.get("minecraft:stone_sword") }; - static get Stonebrick() { return ItemTypes.get("minecraft:stonebrick") }; - static get StonecutterBlock() { return ItemTypes.get("minecraft:stonecutter_block") }; - static get StraySpawnEgg() { return ItemTypes.get("minecraft:stray_spawn_egg") }; - static get StriderSpawnEgg() { return ItemTypes.get("minecraft:strider_spawn_egg") }; - static get String() { return ItemTypes.get("minecraft:string") }; - static get StrippedAcaciaLog() { return ItemTypes.get("minecraft:stripped_acacia_log") }; - static get StrippedBambooBlock() { return ItemTypes.get("minecraft:stripped_bamboo_block") }; - static get StrippedBirchLog() { return ItemTypes.get("minecraft:stripped_birch_log") }; - static get StrippedCherryLog() { return ItemTypes.get("minecraft:stripped_cherry_log") }; - static get StrippedCherryWood() { return ItemTypes.get("minecraft:stripped_cherry_wood") }; - static get StrippedCrimsonHyphae() { return ItemTypes.get("minecraft:stripped_crimson_hyphae") }; - static get StrippedCrimsonStem() { return ItemTypes.get("minecraft:stripped_crimson_stem") }; - static get StrippedDarkOakLog() { return ItemTypes.get("minecraft:stripped_dark_oak_log") }; - static get StrippedJungleLog() { return ItemTypes.get("minecraft:stripped_jungle_log") }; - static get StrippedMangroveLog() { return ItemTypes.get("minecraft:stripped_mangrove_log") }; - static get StrippedMangroveWood() { return ItemTypes.get("minecraft:stripped_mangrove_wood") }; - static get StrippedOakLog() { return ItemTypes.get("minecraft:stripped_oak_log") }; - static get StrippedSpruceLog() { return ItemTypes.get("minecraft:stripped_spruce_log") }; - static get StrippedWarpedHyphae() { return ItemTypes.get("minecraft:stripped_warped_hyphae") }; - static get StrippedWarpedStem() { return ItemTypes.get("minecraft:stripped_warped_stem") }; - static get StructureBlock() { return ItemTypes.get("minecraft:structure_block") }; - static get StructureVoid() { return ItemTypes.get("minecraft:structure_void") }; - static get Sugar() { return ItemTypes.get("minecraft:sugar") }; - static get SugarCane() { return ItemTypes.get("minecraft:sugar_cane") }; - static get SuspiciousGravel() { return ItemTypes.get("minecraft:suspicious_gravel") }; - static get SuspiciousSand() { return ItemTypes.get("minecraft:suspicious_sand") }; - static get SuspiciousStew() { return ItemTypes.get("minecraft:suspicious_stew") }; - static get SweetBerries() { return ItemTypes.get("minecraft:sweet_berries") }; - static get TadpoleBucket() { return ItemTypes.get("minecraft:tadpole_bucket") }; - static get TadpoleSpawnEgg() { return ItemTypes.get("minecraft:tadpole_spawn_egg") }; - static get Tallgrass() { return ItemTypes.get("minecraft:tallgrass") }; - static get Target() { return ItemTypes.get("minecraft:target") }; - static get TideArmorTrimSmithingTemplate() { return ItemTypes.get("minecraft:tide_armor_trim_smithing_template") }; - static get TintedGlass() { return ItemTypes.get("minecraft:tinted_glass") }; - static get Tnt() { return ItemTypes.get("minecraft:tnt") }; - static get TntMinecart() { return ItemTypes.get("minecraft:tnt_minecart") }; - static get Torch() { return ItemTypes.get("minecraft:torch") }; - static get Torchflower() { return ItemTypes.get("minecraft:torchflower") }; - static get TorchflowerSeeds() { return ItemTypes.get("minecraft:torchflower_seeds") }; - static get TotemOfUndying() { return ItemTypes.get("minecraft:totem_of_undying") }; - static get TraderLlamaSpawnEgg() { return ItemTypes.get("minecraft:trader_llama_spawn_egg") }; - static get Trapdoor() { return ItemTypes.get("minecraft:trapdoor") }; - static get TrappedChest() { return ItemTypes.get("minecraft:trapped_chest") }; - static get Trident() { return ItemTypes.get("minecraft:trident") }; - static get TripwireHook() { return ItemTypes.get("minecraft:tripwire_hook") }; - static get TropicalFish() { return ItemTypes.get("minecraft:tropical_fish") }; - static get TropicalFishBucket() { return ItemTypes.get("minecraft:tropical_fish_bucket") }; - static get TropicalFishSpawnEgg() { return ItemTypes.get("minecraft:tropical_fish_spawn_egg") }; - static get TubeCoral() { return ItemTypes.get("minecraft:tube_coral") }; - static get Tuff() { return ItemTypes.get("minecraft:tuff") }; - static get TurtleEgg() { return ItemTypes.get("minecraft:turtle_egg") }; - static get TurtleHelmet() { return ItemTypes.get("minecraft:turtle_helmet") }; - static get TurtleSpawnEgg() { return ItemTypes.get("minecraft:turtle_spawn_egg") }; - static get TwistingVines() { return ItemTypes.get("minecraft:twisting_vines") }; - static get UndyedShulkerBox() { return ItemTypes.get("minecraft:undyed_shulker_box") }; - static get VerdantFroglight() { return ItemTypes.get("minecraft:verdant_froglight") }; - static get VexArmorTrimSmithingTemplate() { return ItemTypes.get("minecraft:vex_armor_trim_smithing_template") }; - static get VexSpawnEgg() { return ItemTypes.get("minecraft:vex_spawn_egg") }; - static get VillagerSpawnEgg() { return ItemTypes.get("minecraft:villager_spawn_egg") }; - static get VindicatorSpawnEgg() { return ItemTypes.get("minecraft:vindicator_spawn_egg") }; - static get Vine() { return ItemTypes.get("minecraft:vine") }; - static get WanderingTraderSpawnEgg() { return ItemTypes.get("minecraft:wandering_trader_spawn_egg") }; - static get WardArmorTrimSmithingTemplate() { return ItemTypes.get("minecraft:ward_armor_trim_smithing_template") }; - static get WardenSpawnEgg() { return ItemTypes.get("minecraft:warden_spawn_egg") }; - static get WarpedButton() { return ItemTypes.get("minecraft:warped_button") }; - static get WarpedDoor() { return ItemTypes.get("minecraft:warped_door") }; - static get WarpedFence() { return ItemTypes.get("minecraft:warped_fence") }; - static get WarpedFenceGate() { return ItemTypes.get("minecraft:warped_fence_gate") }; - static get WarpedFungus() { return ItemTypes.get("minecraft:warped_fungus") }; - static get WarpedFungusOnAStick() { return ItemTypes.get("minecraft:warped_fungus_on_a_stick") }; - static get WarpedHangingSign() { return ItemTypes.get("minecraft:warped_hanging_sign") }; - static get WarpedHyphae() { return ItemTypes.get("minecraft:warped_hyphae") }; - static get WarpedNylium() { return ItemTypes.get("minecraft:warped_nylium") }; - static get WarpedPlanks() { return ItemTypes.get("minecraft:warped_planks") }; - static get WarpedPressurePlate() { return ItemTypes.get("minecraft:warped_pressure_plate") }; - static get WarpedRoots() { return ItemTypes.get("minecraft:warped_roots") }; - static get WarpedSign() { return ItemTypes.get("minecraft:warped_sign") }; - static get WarpedSlab() { return ItemTypes.get("minecraft:warped_slab") }; - static get WarpedStairs() { return ItemTypes.get("minecraft:warped_stairs") }; - static get WarpedStem() { return ItemTypes.get("minecraft:warped_stem") }; - static get WarpedTrapdoor() { return ItemTypes.get("minecraft:warped_trapdoor") }; - static get WarpedWartBlock() { return ItemTypes.get("minecraft:warped_wart_block") }; - static get WaterBucket() { return ItemTypes.get("minecraft:water_bucket") }; - static get Waterlily() { return ItemTypes.get("minecraft:waterlily") }; - static get WaxedCopper() { return ItemTypes.get("minecraft:waxed_copper") }; - static get WaxedCutCopper() { return ItemTypes.get("minecraft:waxed_cut_copper") }; - static get WaxedCutCopperSlab() { return ItemTypes.get("minecraft:waxed_cut_copper_slab") }; - static get WaxedCutCopperStairs() { return ItemTypes.get("minecraft:waxed_cut_copper_stairs") }; - static get WaxedExposedCopper() { return ItemTypes.get("minecraft:waxed_exposed_copper") }; - static get WaxedExposedCutCopper() { return ItemTypes.get("minecraft:waxed_exposed_cut_copper") }; - static get WaxedExposedCutCopperSlab() { return ItemTypes.get("minecraft:waxed_exposed_cut_copper_slab") }; - static get WaxedExposedCutCopperStairs() { return ItemTypes.get("minecraft:waxed_exposed_cut_copper_stairs") }; - static get WaxedOxidizedCopper() { return ItemTypes.get("minecraft:waxed_oxidized_copper") }; - static get WaxedOxidizedCutCopper() { return ItemTypes.get("minecraft:waxed_oxidized_cut_copper") }; - static get WaxedOxidizedCutCopperSlab() { return ItemTypes.get("minecraft:waxed_oxidized_cut_copper_slab") }; - static get WaxedOxidizedCutCopperStairs() { return ItemTypes.get("minecraft:waxed_oxidized_cut_copper_stairs") }; - static get WaxedWeatheredCopper() { return ItemTypes.get("minecraft:waxed_weathered_copper") }; - static get WaxedWeatheredCutCopper() { return ItemTypes.get("minecraft:waxed_weathered_cut_copper") }; - static get WaxedWeatheredCutCopperSlab() { return ItemTypes.get("minecraft:waxed_weathered_cut_copper_slab") }; - static get WaxedWeatheredCutCopperStairs() { return ItemTypes.get("minecraft:waxed_weathered_cut_copper_stairs") }; - static get WayfinderArmorTrimSmithingTemplate() { return ItemTypes.get("minecraft:wayfinder_armor_trim_smithing_template") }; - static get WeatheredCopper() { return ItemTypes.get("minecraft:weathered_copper") }; - static get WeatheredCutCopper() { return ItemTypes.get("minecraft:weathered_cut_copper") }; - static get WeatheredCutCopperSlab() { return ItemTypes.get("minecraft:weathered_cut_copper_slab") }; - static get WeatheredCutCopperStairs() { return ItemTypes.get("minecraft:weathered_cut_copper_stairs") }; - static get Web() { return ItemTypes.get("minecraft:web") }; - static get WeepingVines() { return ItemTypes.get("minecraft:weeping_vines") }; - static get Wheat() { return ItemTypes.get("minecraft:wheat") }; - static get WheatSeeds() { return ItemTypes.get("minecraft:wheat_seeds") }; - static get WhiteCandle() { return ItemTypes.get("minecraft:white_candle") }; - static get WhiteCarpet() { return ItemTypes.get("minecraft:white_carpet") }; - static get WhiteConcrete() { return ItemTypes.get("minecraft:white_concrete") }; - static get WhiteConcretePowder() { return ItemTypes.get("minecraft:white_concrete_powder") }; - static get WhiteDye() { return ItemTypes.get("minecraft:white_dye") }; - static get WhiteGlazedTerracotta() { return ItemTypes.get("minecraft:white_glazed_terracotta") }; - static get WhiteShulkerBox() { return ItemTypes.get("minecraft:white_shulker_box") }; - static get WhiteStainedGlass() { return ItemTypes.get("minecraft:white_stained_glass") }; - static get WhiteStainedGlassPane() { return ItemTypes.get("minecraft:white_stained_glass_pane") }; - static get WhiteTerracotta() { return ItemTypes.get("minecraft:white_terracotta") }; - static get WhiteWool() { return ItemTypes.get("minecraft:white_wool") }; - static get WildArmorTrimSmithingTemplate() { return ItemTypes.get("minecraft:wild_armor_trim_smithing_template") }; - static get WitchSpawnEgg() { return ItemTypes.get("minecraft:witch_spawn_egg") }; - static get WitherRose() { return ItemTypes.get("minecraft:wither_rose") }; - static get WitherSkeletonSpawnEgg() { return ItemTypes.get("minecraft:wither_skeleton_spawn_egg") }; - static get WitherSpawnEgg() { return ItemTypes.get("minecraft:wither_spawn_egg") }; - static get WolfSpawnEgg() { return ItemTypes.get("minecraft:wolf_spawn_egg") }; - static get Wood() { return ItemTypes.get("minecraft:wood") }; - static get WoodenAxe() { return ItemTypes.get("minecraft:wooden_axe") }; - static get WoodenButton() { return ItemTypes.get("minecraft:wooden_button") }; - static get WoodenDoor() { return ItemTypes.get("minecraft:wooden_door") }; - static get WoodenHoe() { return ItemTypes.get("minecraft:wooden_hoe") }; - static get WoodenPickaxe() { return ItemTypes.get("minecraft:wooden_pickaxe") }; - static get WoodenPressurePlate() { return ItemTypes.get("minecraft:wooden_pressure_plate") }; - static get WoodenShovel() { return ItemTypes.get("minecraft:wooden_shovel") }; - static get WoodenSlab() { return ItemTypes.get("minecraft:wooden_slab") }; - static get WoodenSword() { return ItemTypes.get("minecraft:wooden_sword") }; - static get Wool() { return ItemTypes.get("minecraft:wool") }; - static get WritableBook() { return ItemTypes.get("minecraft:writable_book") }; - static get YellowCandle() { return ItemTypes.get("minecraft:yellow_candle") }; - static get YellowCarpet() { return ItemTypes.get("minecraft:yellow_carpet") }; - static get YellowConcrete() { return ItemTypes.get("minecraft:yellow_concrete") }; - static get YellowConcretePowder() { return ItemTypes.get("minecraft:yellow_concrete_powder") }; - static get YellowDye() { return ItemTypes.get("minecraft:yellow_dye") }; - static get YellowFlower() { return ItemTypes.get("minecraft:yellow_flower") }; - static get YellowGlazedTerracotta() { return ItemTypes.get("minecraft:yellow_glazed_terracotta") }; - static get YellowShulkerBox() { return ItemTypes.get("minecraft:yellow_shulker_box") }; - static get YellowStainedGlass() { return ItemTypes.get("minecraft:yellow_stained_glass") }; - static get YellowStainedGlassPane() { return ItemTypes.get("minecraft:yellow_stained_glass_pane") }; - static get YellowTerracotta() { return ItemTypes.get("minecraft:yellow_terracotta") }; - static get YellowWool() { return ItemTypes.get("minecraft:yellow_wool") }; - static get ZoglinSpawnEgg() { return ItemTypes.get("minecraft:zoglin_spawn_egg") }; - static get ZombieHorseSpawnEgg() { return ItemTypes.get("minecraft:zombie_horse_spawn_egg") }; - static get ZombiePigmanSpawnEgg() { return ItemTypes.get("minecraft:zombie_pigman_spawn_egg") }; - static get ZombieSpawnEgg() { return ItemTypes.get("minecraft:zombie_spawn_egg") }; - static get ZombieVillagerSpawnEgg() { return ItemTypes.get("minecraft:zombie_villager_spawn_egg") }; -} -/** - * Union type equivalent of the MinecraftItemTypes enum. - */ -export type MinecraftItemTypesUnion = keyof typeof MinecraftItemTypes; diff --git a/scripts/vanilla-types/webpack.config.js b/scripts/vanilla-types/webpack.config.js deleted file mode 100644 index 5fb3f226..00000000 --- a/scripts/vanilla-types/webpack.config.js +++ /dev/null @@ -1,26 +0,0 @@ -// webpack.config.js -// @ts-nocheck -const path = require('path'); - -const config = { - entry: './index.js', - output: { - path: __dirname, - filename: 'index.min.js', - library: { - type: 'module' - }, - - }, - mode: "production", - experiments: { - outputModule: true, - }, - externalsType: "module", - externals: { - "@minecraft/server": '@minecraft/server', - } - -}; - -module.exports = config; diff --git a/scripts/vector-polyfill/tests.js b/scripts/vector-polyfill/tests.js index 50c92986..776bb4a0 100644 --- a/scripts/vector-polyfill/tests.js +++ b/scripts/vector-polyfill/tests.js @@ -1,7 +1,6 @@ 'use strict'; import { Vector } from "vector-polyfill/index"; import 'json-stringify/index'; -import * as mc from '@minecraft/server'; function polyfill() { const startTime = Date.now(); @@ -59,63 +58,7 @@ vector.normalized() - ${JSON.stringify(vector.normalized())}`); return time; } -function native() { - const startTime = Date.now(); - - const back = mc.Vector.back; - const down = mc.Vector.down; - const forward = mc.Vector.forward; - const left = mc.Vector.left; - const one = mc.Vector.one; - const right = mc.Vector.right; - const up = mc.Vector.up; - const zero = mc.Vector.zero; - const add = mc.Vector.add(mc.Vector.left, mc.Vector.right); - const cross = mc.Vector.cross(new mc.Vector(6, 4, 8), new mc.Vector(7, 5, -3)); - const distance = mc.Vector.distance(new mc.Vector(3, 4, 5), new mc.Vector(6, 7, 8)); - const divide = mc.Vector.divide(new mc.Vector(5, 5, 5), new mc.Vector(2, 3, 4)); - const divide2 = mc.Vector.divide(new mc.Vector(5, 5, 5), 4); - const lerp = mc.Vector.lerp(new mc.Vector(5, 5, 5), new mc.Vector(5, 5, 15), 1); - const max = mc.Vector.max(new mc.Vector(5, 5, 5), new mc.Vector(4, 5, 5)); - const min = mc.Vector.min(new mc.Vector(4, 5, 5), new mc.Vector(5, 5, 5)); - const multiply = mc.Vector.multiply(new mc.Vector(5, 5, 5), new mc.Vector(2, 3, 4)); - const multiply2 = mc.Vector.multiply(new mc.Vector(5, 5, 5), 5); - const slerp = mc.Vector.slerp(new mc.Vector(1, 0, 0), new mc.Vector(0, 1, 1), 0.5); - const subtract = mc.Vector.subtract(new mc.Vector(5, 5, 5), new mc.Vector(5, 5, 5)); - const vector = new mc.Vector(10, 10, 10); - - const endTime = Date.now(); - const time = endTime - startTime; - - console.warn(`Vector3 Test Results (native): - back - ${JSON.stringify(back)} - down - ${JSON.stringify(down)} - forward - ${JSON.stringify(forward)} - left - ${JSON.stringify(left)} - one - ${JSON.stringify(one)} - right - ${JSON.stringify(right)} - up - ${JSON.stringify(up)} - zero - ${JSON.stringify(zero)} - add - ${JSON.stringify(add)} - cross - ${JSON.stringify(cross)} - distance - ${JSON.stringify(distance)} - divide - ${JSON.stringify(divide)} - divide2 - ${JSON.stringify(divide2)} - lerp - ${JSON.stringify(lerp)} - max - ${JSON.stringify(max)} - min - ${JSON.stringify(min)} - multiply - ${JSON.stringify(multiply)} - multiply2 - ${JSON.stringify(multiply2)} - slerp - ${JSON.stringify(slerp)} - subtract - ${JSON.stringify(subtract)} - vector.length() - ${JSON.stringify(vector.length())} - vector.lengthSquared() - ${JSON.stringify(vector.lengthSquared())} - vector.normalized() - ${JSON.stringify(vector.normalized())}`); - - return time; -} const polyfillTime = polyfill(); -const nativeTime = native(); -console.warn(`Polyfill time: ${polyfillTime}, Native time: ${nativeTime}`); \ No newline at end of file +console.warn(`Polyfill time: ${polyfillTime}`); \ No newline at end of file diff --git a/tsconfig.json b/tsconfig.json index 47a37bce..c870cafe 100644 --- a/tsconfig.json +++ b/tsconfig.json @@ -4,8 +4,6 @@ "references": [ { "path": "tools/tsconfig.json" }, { "path": "scripts/tsconfig.json" }, - { "path": "scripts/jsconfig.json" }, - { "path": "editorExtensions/tsconfig.json" }, - { "path": "editorExtensions/jsconfig.json" } + { "path": "scripts/jsconfig.json" } ] } \ No newline at end of file From f1d5058cf7c63e8432e744c8cf2377a6a47af5e1 Mon Sep 17 00:00:00 2001 From: Jayly <65847850+JaylyDev@users.noreply.github.com> Date: Tue, 5 Dec 2023 19:57:26 +0000 Subject: [PATCH 14/20] using 1.20.50 stable dependencies --- package-lock.json | 46 +++++++++++++++++++++++----------------------- package.json | 9 ++------- 2 files changed, 25 insertions(+), 30 deletions(-) diff --git a/package-lock.json b/package-lock.json index a487b040..cbf63fca 100644 --- a/package-lock.json +++ b/package-lock.json @@ -9,9 +9,9 @@ "version": "1.0.0", "license": "MIT", "dependencies": { - "@minecraft/server": "^1.7.0-rc.1.20.50-preview.21", + "@minecraft/server": "^1.7.0", "@minecraft/server-ui": "^1.1.0", - "@minecraft/vanilla-data": "^1.20.50-preview.21" + "@minecraft/vanilla-data": "^1.20.50" }, "devDependencies": { "@npm/types": "^1.0.2", @@ -29,16 +29,16 @@ "license": "MIT" }, "node_modules/@minecraft/common": { - "version": "1.1.0-rc.1.20.50-preview.21", - "resolved": "https://registry.npmjs.org/@minecraft/common/-/common-1.1.0-rc.1.20.50-preview.21.tgz", - "integrity": "sha512-iz6/bw2e4i51YyvyV2NN+Sn9FTNJNbGMNJI9IZ/565zv8IYNpjgJBMAZ5JQZT9LP3Zex8XfBhVU8NkocHetN9w==" + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/@minecraft/common/-/common-1.1.0.tgz", + "integrity": "sha512-stbUtINCXbcLNRlGNVX68xRC6ZYq3k3CYmfptwrCcPBEUjVOpVkSj3H4Y0qiSYB+1rVWv7DgiP7Uf9++50Ne5g==" }, "node_modules/@minecraft/server": { - "version": "1.7.0-rc.1.20.50-preview.21", - "resolved": "https://registry.npmjs.org/@minecraft/server/-/server-1.7.0-rc.1.20.50-preview.21.tgz", - "integrity": "sha512-Oubddz8HgMYcqbMRjgG1O8FawdncgbhJA4VoOUbaORgI+GlN1RkH+JLgzk5k+2p+ZsKJLQbG+A4eOZIY2FK3ZA==", + "version": "1.7.0", + "resolved": "https://registry.npmjs.org/@minecraft/server/-/server-1.7.0.tgz", + "integrity": "sha512-4q9N3vdLZMAUxPo//bovimPbPLuPbHbQC507ZB2h++dqOGWUGnCcTXTNRg2zkBwMonAzWHONkUsVr5tsi9BHcg==", "dependencies": { - "@minecraft/common": "^1.1.0-rc.1.20.50-preview.21" + "@minecraft/common": "^1.1.0" } }, "node_modules/@minecraft/server-ui": { @@ -50,9 +50,9 @@ } }, "node_modules/@minecraft/vanilla-data": { - "version": "1.20.50-preview.21", - "resolved": "https://registry.npmjs.org/@minecraft/vanilla-data/-/vanilla-data-1.20.50-preview.21.tgz", - "integrity": "sha512-2tAwlJ1zKJronmI2ecXymg76pflDADv2xyVRe/IYslhqWlS/UH7RDArphix7jHWhsfyrRllDUHWygCkCApBibw==" + "version": "1.20.50", + "resolved": "https://registry.npmjs.org/@minecraft/vanilla-data/-/vanilla-data-1.20.50.tgz", + "integrity": "sha512-LMnx1iuP7iKLh3ypQEOOh00wAS2r3dGXpMnxzAHpAnHbNq5339sO/gz++bjGw4acG3EXSP7IujCgF3q2/BR+nA==" }, "node_modules/@npm/types": { "version": "1.0.2", @@ -193,16 +193,16 @@ }, "dependencies": { "@minecraft/common": { - "version": "1.1.0-rc.1.20.50-preview.21", - "resolved": "https://registry.npmjs.org/@minecraft/common/-/common-1.1.0-rc.1.20.50-preview.21.tgz", - "integrity": "sha512-iz6/bw2e4i51YyvyV2NN+Sn9FTNJNbGMNJI9IZ/565zv8IYNpjgJBMAZ5JQZT9LP3Zex8XfBhVU8NkocHetN9w==" + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/@minecraft/common/-/common-1.1.0.tgz", + "integrity": "sha512-stbUtINCXbcLNRlGNVX68xRC6ZYq3k3CYmfptwrCcPBEUjVOpVkSj3H4Y0qiSYB+1rVWv7DgiP7Uf9++50Ne5g==" }, "@minecraft/server": { - "version": "1.7.0-rc.1.20.50-preview.21", - "resolved": "https://registry.npmjs.org/@minecraft/server/-/server-1.7.0-rc.1.20.50-preview.21.tgz", - "integrity": "sha512-Oubddz8HgMYcqbMRjgG1O8FawdncgbhJA4VoOUbaORgI+GlN1RkH+JLgzk5k+2p+ZsKJLQbG+A4eOZIY2FK3ZA==", + "version": "1.7.0", + "resolved": "https://registry.npmjs.org/@minecraft/server/-/server-1.7.0.tgz", + "integrity": "sha512-4q9N3vdLZMAUxPo//bovimPbPLuPbHbQC507ZB2h++dqOGWUGnCcTXTNRg2zkBwMonAzWHONkUsVr5tsi9BHcg==", "requires": { - "@minecraft/common": "^1.1.0-rc.1.20.50-preview.21" + "@minecraft/common": "^1.1.0" } }, "@minecraft/server-ui": { @@ -210,13 +210,13 @@ "resolved": "https://registry.npmjs.org/@minecraft/server-ui/-/server-ui-1.1.0.tgz", "integrity": "sha512-Gnf+GHjjT4VFoXEt7qjrfDRipDgc93YcXbgTmdPTQ5Og3DIRD003ahH97tGMZmeNdsB+ymvAquf+o2o9W2pDjw==", "requires": { - "@minecraft/server": "^1.7.0-rc.1.20.50-preview.21" + "@minecraft/server": "^1.2.0" } }, "@minecraft/vanilla-data": { - "version": "1.20.50-preview.21", - "resolved": "https://registry.npmjs.org/@minecraft/vanilla-data/-/vanilla-data-1.20.50-preview.21.tgz", - "integrity": "sha512-2tAwlJ1zKJronmI2ecXymg76pflDADv2xyVRe/IYslhqWlS/UH7RDArphix7jHWhsfyrRllDUHWygCkCApBibw==" + "version": "1.20.50", + "resolved": "https://registry.npmjs.org/@minecraft/vanilla-data/-/vanilla-data-1.20.50.tgz", + "integrity": "sha512-LMnx1iuP7iKLh3ypQEOOh00wAS2r3dGXpMnxzAHpAnHbNq5339sO/gz++bjGw4acG3EXSP7IujCgF3q2/BR+nA==" }, "@npm/types": { "version": "1.0.2", diff --git a/package.json b/package.json index 2507401b..1efefc50 100644 --- a/package.json +++ b/package.json @@ -19,14 +19,9 @@ }, "homepage": "https://github.com/JaylyDev/ScriptAPI#readme", "dependencies": { - "@minecraft/server": "^1.7.0-rc.1.20.50-preview.21", + "@minecraft/server": "^1.7.0", "@minecraft/server-ui": "^1.1.0", - "@minecraft/vanilla-data": "^1.20.50-preview.21" - }, - "overrides": { - "@minecraft/server": "^1.7.0-rc.1.20.50-preview.21", - "@minecraft/server-ui": "^1.1.0", - "@minecraft/vanilla-data": "^1.20.50-preview.21" + "@minecraft/vanilla-data": "^1.20.50" }, "devDependencies": { "@npm/types": "^1.0.2", From 3f765e5a2265f6dd3adf7d525d8b480783cdbaa0 Mon Sep 17 00:00:00 2001 From: Jayly <65847850+JaylyDev@users.noreply.github.com> Date: Thu, 4 Jan 2024 11:15:17 +0800 Subject: [PATCH 15/20] Delete readme.md --- scripts/structures/readme.md | 7 ------- 1 file changed, 7 deletions(-) delete mode 100644 scripts/structures/readme.md diff --git a/scripts/structures/readme.md b/scripts/structures/readme.md deleted file mode 100644 index d6de167d..00000000 --- a/scripts/structures/readme.md +++ /dev/null @@ -1,7 +0,0 @@ -# structures - -## Description -Includes vanilla structures path and vanilla structure size. Mirror from [DarkGamerYT/Bedrock-Editor-Extension](https://github.com/DarkGamerYT/Bedrock-Editor-Extension). - -## Credits -These scripts were written by [xKingDark](https://github.com/DarkGamerYT), [JaylyDev](https://github.com/JaylyDev), [Mojang](https://github.com/Mojang), [SmokeyStack](https://github.com/SmokeyStack) From 459c4f37b1e62f4b1459184ac588c547b1854791 Mon Sep 17 00:00:00 2001 From: Jayly <65847850+JaylyDev@users.noreply.github.com> Date: Thu, 4 Jan 2024 11:17:36 +0800 Subject: [PATCH 16/20] Revert "Delete readme.md" This reverts commit 3f765e5a2265f6dd3adf7d525d8b480783cdbaa0. --- scripts/structures/readme.md | 7 +++++++ 1 file changed, 7 insertions(+) create mode 100644 scripts/structures/readme.md diff --git a/scripts/structures/readme.md b/scripts/structures/readme.md new file mode 100644 index 00000000..d6de167d --- /dev/null +++ b/scripts/structures/readme.md @@ -0,0 +1,7 @@ +# structures + +## Description +Includes vanilla structures path and vanilla structure size. Mirror from [DarkGamerYT/Bedrock-Editor-Extension](https://github.com/DarkGamerYT/Bedrock-Editor-Extension). + +## Credits +These scripts were written by [xKingDark](https://github.com/DarkGamerYT), [JaylyDev](https://github.com/JaylyDev), [Mojang](https://github.com/Mojang), [SmokeyStack](https://github.com/SmokeyStack) From 2e7d5acb372ae4211e3832b1d2255b0d42b4d10c Mon Sep 17 00:00:00 2001 From: Jayly <65847850+JaylyDev@users.noreply.github.com> Date: Sun, 4 Feb 2024 20:22:41 +0000 Subject: [PATCH 17/20] Delete readme.md --- scripts/structures/readme.md | 7 ------- 1 file changed, 7 deletions(-) delete mode 100644 scripts/structures/readme.md diff --git a/scripts/structures/readme.md b/scripts/structures/readme.md deleted file mode 100644 index d6de167d..00000000 --- a/scripts/structures/readme.md +++ /dev/null @@ -1,7 +0,0 @@ -# structures - -## Description -Includes vanilla structures path and vanilla structure size. Mirror from [DarkGamerYT/Bedrock-Editor-Extension](https://github.com/DarkGamerYT/Bedrock-Editor-Extension). - -## Credits -These scripts were written by [xKingDark](https://github.com/DarkGamerYT), [JaylyDev](https://github.com/JaylyDev), [Mojang](https://github.com/Mojang), [SmokeyStack](https://github.com/SmokeyStack) From 796ff1e203aff528b34574941e3d62542bf1ecc0 Mon Sep 17 00:00:00 2001 From: Jayly <65847850+JaylyDev@users.noreply.github.com> Date: Sun, 4 Feb 2024 20:36:11 +0000 Subject: [PATCH 18/20] update --- .github/dependabot.yml | 7 +- .github/workflows/cl.yml | 29 ----- .github/workflows/dependency-update.yml | 50 -------- scripts/jsconfig.json | 11 -- scripts/spawn-simulated-player/LICENSE | 21 ---- scripts/spawn-simulated-player/README.md | 17 --- scripts/spawn-simulated-player/index.d.ts | 13 -- scripts/spawn-simulated-player/index.js | 31 ----- scripts/spawn-simulated-player/index.ts | 42 ------- scripts/spawn-simulated-player/tests.d.ts | 1 - scripts/spawn-simulated-player/tests.js | 14 --- scripts/spawn-simulated-player/tests.ts | 20 --- scripts/spawn-simulated-player/tsconfig.json | 10 -- scripts/tsconfig.json | 8 -- tools/dependency.ts | 67 ---------- tools/header-parser.ts | 119 ------------------ tools/headerChecks.ts | 125 ------------------- tools/index.ts | 39 ------ tools/packageCheck.ts | 124 ------------------ tools/packageReadme.ts | 83 ------------ tools/testScriptChecks.ts | 36 ------ tools/tsconfig.json | 17 --- tools/utils.ts | 17 --- tsconfig-base.json | 14 --- tsconfig.json | 25 ++-- 25 files changed, 24 insertions(+), 916 deletions(-) delete mode 100644 .github/workflows/dependency-update.yml delete mode 100644 scripts/jsconfig.json delete mode 100644 scripts/spawn-simulated-player/LICENSE delete mode 100644 scripts/spawn-simulated-player/README.md delete mode 100644 scripts/spawn-simulated-player/index.d.ts delete mode 100644 scripts/spawn-simulated-player/index.js delete mode 100644 scripts/spawn-simulated-player/index.ts delete mode 100644 scripts/spawn-simulated-player/tests.d.ts delete mode 100644 scripts/spawn-simulated-player/tests.js delete mode 100644 scripts/spawn-simulated-player/tests.ts delete mode 100644 scripts/spawn-simulated-player/tsconfig.json delete mode 100644 scripts/tsconfig.json delete mode 100644 tools/dependency.ts delete mode 100644 tools/header-parser.ts delete mode 100644 tools/headerChecks.ts delete mode 100644 tools/index.ts delete mode 100644 tools/packageCheck.ts delete mode 100644 tools/packageReadme.ts delete mode 100644 tools/testScriptChecks.ts delete mode 100644 tools/tsconfig.json delete mode 100644 tools/utils.ts delete mode 100644 tsconfig-base.json diff --git a/.github/dependabot.yml b/.github/dependabot.yml index 0262a341..7391b095 100644 --- a/.github/dependabot.yml +++ b/.github/dependabot.yml @@ -5,8 +5,13 @@ version: 2 updates: - - package-ecosystem: github-actions + - package-ecosystem: "github-actions" directory: / target-branch: "main" schedule: interval: monthly + + - package-ecosystem: "npm" + directory: "/" + schedule: + interval: "daily" diff --git a/.github/workflows/cl.yml b/.github/workflows/cl.yml index 5d8c605d..9a000b65 100644 --- a/.github/workflows/cl.yml +++ b/.github/workflows/cl.yml @@ -25,32 +25,3 @@ jobs: - name: Type Check run: tsc --build - - - name: Format Check - run: node ./dist/tools/index.js - env: - event_name: ${{ github.event_name }} - - - name: Create Pull Request - if: ${{ github.event_name == 'schedule' }} - id: cpr - uses: peter-evans/create-pull-request@v5 - with: - token: ${{ secrets.JAYLYBOT_TOKEN }} - push-to-fork: jayly-bot/ScriptAPI - commit-message: Upload generated files - title: Upload generated files for scripts - body: Transpiled TypeScript files and created README files, please review. - branch: scripts/update - base: main - author: jayly-bot <121162959+jayly-bot@users.noreply.github.com> - - - name: Check outputs - if: ${{ steps.cpr.outputs.pull-request-number }} - run: | - echo "Pull Request Number - ${{ steps.cpr.outputs.pull-request-number }}" - echo "Pull Request URL - ${{ steps.cpr.outputs.pull-request-url }}" - gh pr edit ${{ steps.cpr.outputs.pull-request-number }} --add-label "scripts" - env: - GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} - PULL_REQUEST: ${{ steps.cpr.outputs.pull-request-url }} diff --git a/.github/workflows/dependency-update.yml b/.github/workflows/dependency-update.yml deleted file mode 100644 index 428ea5d2..00000000 --- a/.github/workflows/dependency-update.yml +++ /dev/null @@ -1,50 +0,0 @@ -name: Dependencies - -on: - workflow_dispatch: - schedule: - - cron: "00 20 * * *" - -jobs: - checks: - name: 'Update' - runs-on: ubuntu-latest - - steps: - - name: Checkout - uses: actions/checkout@v3 - - - name: npm install - run: | - npm install - npm list - - - name: tsc build - run: npm run tools - - - name: Update dependency - id: update - run: node ./dist/tools/dependency.js - - - name: Create Pull Request - id: cpr - uses: peter-evans/create-pull-request@v5 - with: - token: ${{ secrets.JAYLYBOT_TOKEN }} - push-to-fork: jayly-bot/ScriptAPI - commit-message: Update package.json and package-lock.json - title: Update npm packages - body: Updated NPM packages in package.json, please review. - branch: dependency/update - base: main - author: jayly-bot <121162959+jayly-bot@users.noreply.github.com> - - - name: Check outputs - if: ${{ steps.cpr.outputs.pull-request-number }} - run: | - echo "Pull Request Number - ${{ steps.cpr.outputs.pull-request-number }}" - echo "Pull Request URL - ${{ steps.cpr.outputs.pull-request-url }}" - gh pr edit ${{ steps.cpr.outputs.pull-request-number }} --add-label "dependencies" - env: - GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} - PULL_REQUEST: ${{ steps.cpr.outputs.pull-request-url }} diff --git a/scripts/jsconfig.json b/scripts/jsconfig.json deleted file mode 100644 index 48758431..00000000 --- a/scripts/jsconfig.json +++ /dev/null @@ -1,11 +0,0 @@ -{ - "extends": "../tsconfig-base.json", - "compilerOptions": { - "baseUrl": "./", - "allowJs": true, - "checkJs": true, - "noEmit": true - }, - "include": ["**/*.ts", "**/*.js"], - "exclude": [] -} \ No newline at end of file diff --git a/scripts/spawn-simulated-player/LICENSE b/scripts/spawn-simulated-player/LICENSE deleted file mode 100644 index 14747b4d..00000000 --- a/scripts/spawn-simulated-player/LICENSE +++ /dev/null @@ -1,21 +0,0 @@ -MIT License - -Copyright (c) 2022 JaylyDev - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. diff --git a/scripts/spawn-simulated-player/README.md b/scripts/spawn-simulated-player/README.md deleted file mode 100644 index 25c17c7a..00000000 --- a/scripts/spawn-simulated-player/README.md +++ /dev/null @@ -1,17 +0,0 @@ -A function that spawns simulated player - -# index.d.ts - -```ts -import * as server from "@minecraft/server"; -import { SimulatedPlayer } from "../simulated-player/SimulatedPlayer.js"; -/** - * Spawns a simulated player - * @param target The player the simulated player is going to spawn at - * @param callback Implementation of the simulated player - */ -export function SpawnSimulatedPlayer( - target: server.Player, - callback: (player: SimulatedPlayer) => void -): void; -``` diff --git a/scripts/spawn-simulated-player/index.d.ts b/scripts/spawn-simulated-player/index.d.ts deleted file mode 100644 index a0b8ec1f..00000000 --- a/scripts/spawn-simulated-player/index.d.ts +++ /dev/null @@ -1,13 +0,0 @@ -/** - * @license MIT - * @author JaylyMC - * @project https://github.com/JaylyDev/GametestDB/ - */ -import * as MinecraftServer from "@minecraft/server"; -import { SimulatedPlayer } from "../simulated-player/index"; -/** - * Spawns a simulated player - * @param target The player the simulated player is going to spawn at - * @param callback Implementation of the simulated player - */ -export declare function SpawnSimulatedPlayer(target: MinecraftServer.Player, callback: (player: SimulatedPlayer) => void): void; diff --git a/scripts/spawn-simulated-player/index.js b/scripts/spawn-simulated-player/index.js deleted file mode 100644 index d9da71aa..00000000 --- a/scripts/spawn-simulated-player/index.js +++ /dev/null @@ -1,31 +0,0 @@ -// Script example for ScriptAPI -// Author: Jayly -// Project: https://github.com/JaylyDev/ScriptAPI -/** - * @license MIT - * @author JaylyMC - * @project https://github.com/JaylyDev/GametestDB/ - */ -import * as MinecraftServer from "@minecraft/server"; -import * as GameTest from "@minecraft/server-gametest"; -; -/** - * Spawns a simulated player - * @param target The player the simulated player is going to spawn at - * @param callback Implementation of the simulated player - */ -export function SpawnSimulatedPlayer(target, callback) { - const testClassName = "Jayly"; - const testName = "SpawnSimulatedPlayer"; - if (!(target instanceof MinecraftServer.Player)) - throw new TypeError("Native type conversion failed."); - GameTest.registerAsync(testClassName, testName, async function (test) { - let simulatedplayer = test.spawnSimulatedPlayer({ x: 0, y: 1, z: 0, }); - simulatedplayer.despawn = () => test.removeSimulatedPlayer(simulatedplayer); - callback(simulatedplayer); - }) - .structureName("DebugTests:always_succeed") - .tag(GameTest.Tags.suiteDefault) - .maxTicks(0x7fffffff); - target.runCommandAsync(`gametest run ${testClassName}:${testName}`); -} diff --git a/scripts/spawn-simulated-player/index.ts b/scripts/spawn-simulated-player/index.ts deleted file mode 100644 index 9cafd038..00000000 --- a/scripts/spawn-simulated-player/index.ts +++ /dev/null @@ -1,42 +0,0 @@ -// Script example for ScriptAPI -// Author: Jayly -// Project: https://github.com/JaylyDev/ScriptAPI -/** - * @license MIT - * @author JaylyMC - * @project https://github.com/JaylyDev/GametestDB/ - */ -import * as MinecraftServer from "@minecraft/server"; -import * as GameTest from "@minecraft/server-gametest"; - -declare module "@minecraft/server-gametest" { - interface SimulatedPlayer { - /** - * Despawn the simulated player - */ - despawn(): void; - } -}; - -/** - * Spawns a simulated player - * @param target The player the simulated player is going to spawn at - * @param callback Implementation of the simulated player - */ -export function SpawnSimulatedPlayer (target: MinecraftServer.Player, callback: (player: GameTest.SimulatedPlayer) => void) { - const testClassName = "Jayly"; - const testName = "SpawnSimulatedPlayer"; - - if (!(target instanceof MinecraftServer.Player)) throw new TypeError("Native type conversion failed."); - - GameTest.registerAsync(testClassName, testName, async function (test) { - let simulatedplayer = test.spawnSimulatedPlayer({ x: 0, y: 1, z: 0, }); - simulatedplayer.despawn = () => test.removeSimulatedPlayer(simulatedplayer); - callback(simulatedplayer); - }) - .structureName("DebugTests:always_succeed") - .tag(GameTest.Tags.suiteDefault) - .maxTicks(0x7fffffff); - - target.runCommandAsync(`gametest run ${testClassName}:${testName}`); -} diff --git a/scripts/spawn-simulated-player/tests.d.ts b/scripts/spawn-simulated-player/tests.d.ts deleted file mode 100644 index cb0ff5c3..00000000 --- a/scripts/spawn-simulated-player/tests.d.ts +++ /dev/null @@ -1 +0,0 @@ -export {}; diff --git a/scripts/spawn-simulated-player/tests.js b/scripts/spawn-simulated-player/tests.js deleted file mode 100644 index 8b60d1f9..00000000 --- a/scripts/spawn-simulated-player/tests.js +++ /dev/null @@ -1,14 +0,0 @@ -import { world, ItemStack, } from "@minecraft/server"; -import { MinecraftEffectTypes } from "@minecraft/vanilla-data"; -import { SpawnSimulatedPlayer } from "./index.js"; -let host = [...world.getPlayers()][0]; -const money = world.scoreboard.getObjective("money") ?? world.scoreboard.addObjective("money", "money"); -SpawnSimulatedPlayer(host, function (simulatedPlayer) { - simulatedPlayer.addEffect(MinecraftEffectTypes.Absorption, 1); - simulatedPlayer.attack(); - simulatedPlayer.dimension.createExplosion(simulatedPlayer.location, 5); - simulatedPlayer.giveItem(new ItemStack("minecraft:acacia_boat")); - money.addScore(simulatedPlayer, 1); - simulatedPlayer.teleport({ x: 0, y: 0, z: 0 }, { dimension: simulatedPlayer.dimension, rotation: { x: 0, y: 0 } }); - simulatedPlayer.despawn(); -}); diff --git a/scripts/spawn-simulated-player/tests.ts b/scripts/spawn-simulated-player/tests.ts deleted file mode 100644 index af7e14eb..00000000 --- a/scripts/spawn-simulated-player/tests.ts +++ /dev/null @@ -1,20 +0,0 @@ -import { - world, - ItemStack, -} from "@minecraft/server"; -import { MinecraftEffectTypes } from "@minecraft/vanilla-data"; -import { SpawnSimulatedPlayer } from "./index.js"; - -let host = [...world.getPlayers()][0]; - -const money = world.scoreboard.getObjective("money") ?? world.scoreboard.addObjective("money", "money"); - -SpawnSimulatedPlayer(host, function (simulatedPlayer) { - simulatedPlayer.addEffect(MinecraftEffectTypes.Absorption, 1); - simulatedPlayer.attack(); - simulatedPlayer.dimension.createExplosion(simulatedPlayer.location, 5); - simulatedPlayer.giveItem(new ItemStack("minecraft:acacia_boat")); - money.addScore(simulatedPlayer, 1); - simulatedPlayer.teleport({ x: 0, y: 0, z: 0 }, { dimension: simulatedPlayer.dimension, rotation: { x: 0, y: 0 }}); - simulatedPlayer.despawn(); -}); diff --git a/scripts/spawn-simulated-player/tsconfig.json b/scripts/spawn-simulated-player/tsconfig.json deleted file mode 100644 index 8c39f504..00000000 --- a/scripts/spawn-simulated-player/tsconfig.json +++ /dev/null @@ -1,10 +0,0 @@ -{ - "compilerOptions": { - "declaration": true - }, - "files": [ - "index.ts", - "tests.ts" - ], - "extends": "../tsconfig.json" -} \ No newline at end of file diff --git a/scripts/tsconfig.json b/scripts/tsconfig.json deleted file mode 100644 index 724f512c..00000000 --- a/scripts/tsconfig.json +++ /dev/null @@ -1,8 +0,0 @@ -{ - "extends": "../tsconfig-base.json", - "compilerOptions": { - "baseUrl": "./", - }, - "include": ["**/*.ts", "**/*.js"], - "exclude": [] -} \ No newline at end of file diff --git a/tools/dependency.ts b/tools/dependency.ts deleted file mode 100644 index e3ef563b..00000000 --- a/tools/dependency.ts +++ /dev/null @@ -1,67 +0,0 @@ -import axios from "axios"; -import * as fs from 'fs'; -import type * as npm from "@npm/types"; -import packageJson from "../package.json"; -import { execSync } from "child_process"; - -// packument stuff -const REGISTRY = 'https://registry.npmjs.org/'; -const ignoredKeys = [ 'created', 'modified' ]; - -// script api modules -const MinecraftChannel: "stable" | "preview" = "preview"; -// sapi version format. Undefined means stable (ie. 1.0.0) -const preReleaseChannel: undefined | "rc" | "internal" | "beta" = "beta"; - -export async function getVersion(module: string): Promise { - const response = await axios.get(REGISTRY + module); - const packument = response.data as npm.Packument; - const { time } = packument; - - for (const key of ignoredKeys) { - delete time[key]; - }; - - const sorted = Object.keys(time).sort(function(a,b){ - // Turn your strings into dates, and then subtract them - // to get a value that is either negative, positive, or zero. - return new Date(time[a]).getTime() - new Date(time[b]).getTime(); - }).reverse(); - - const latestPreview = sorted.find((v) => { - if (module.startsWith("@minecraft/server")) return v.includes(MinecraftChannel) && v.includes('-' + preReleaseChannel); - else if (module.startsWith("@minecraft/vanilla")) return v.includes('-' + MinecraftChannel); - else return v; - }); - - if (!latestPreview) throw "Cannot fetch latest preview version of " + module; - - console.log(`Latest preview version for ${module}: ${latestPreview}`); - - return latestPreview; -}; - -async function main() { - // we have specified that packages in dependencies section must only have script api modules only, - // for other node modules, please save them as development. - for (const moduleName in packageJson.dependencies) { - const latestPreview = await getVersion(moduleName); - - packageJson.dependencies[moduleName as (keyof typeof import("../package.json")["dependencies"])] = latestPreview; - } - - fs.writeFileSync('./package.json', JSON.stringify(packageJson, null, 2)); - - // for actual node modules, update them to the latest version - for (const moduleName in packageJson.devDependencies) { - const cmd = `npm install ${moduleName}@latest --save-dev`; - - console.log( - "\n" + "======================================================", - "\n" + cmd, - "\n" + execSync(cmd).toString(), - ); - } -}; - -main().catch(console.error); \ No newline at end of file diff --git a/tools/header-parser.ts b/tools/header-parser.ts deleted file mode 100644 index d0234ead..00000000 --- a/tools/header-parser.ts +++ /dev/null @@ -1,119 +0,0 @@ -// Uses @definitelytyped/header-parser -import pm from "parsimmon"; - -/* - - # Example header format # - - // Script example for ScriptAPI - // Author: My Self , Some Other Guy - // Project: https://github.com/JaylyDev/ScriptAPI - -*/ - -export interface Header { - readonly nonNpm: boolean; - readonly contributors: readonly Author[]; -} - -export interface Author { - readonly name: string; - readonly url: string; - readonly githubUsername: string | undefined; -} - -export interface ParseError { - readonly index: number; - readonly line: number; - readonly column: number; - readonly expected: readonly string[]; -} - -export function parseHeaderOrFail(mainFileContent: string): Header { - const header = parseHeader(mainFileContent); - if (isParseError(header)) { - throw new Error(renderParseError(header)); - } - return header; -} - -export function validate(mainFileContent: string): ParseError | undefined { - const h = parseHeader(mainFileContent); - return isParseError(h) ? h : undefined; -} - -export function renderExpected(expected: readonly string[]): string { - return expected.length === 1 ? expected[0] : `one of\n\t${expected.join("\n\t")}`; -} - -export function renderParseError({ line, column, expected }: ParseError): string { - return `At ${line}:${column} : Expected ${renderExpected(expected)}`; -} - -function isParseError(x: {}): x is ParseError { - // tslint:disable-next-line strict-type-predicates - return (x as ParseError).expected !== undefined; -} - -/** @param strict If true, we allow fewer things to be parsed. Turned on by linting. */ -export function parseHeader(text: string): Header | ParseError { - const res = headerParser().parse(text); - return res.status - ? res.value - : { index: res.index.offset, line: res.index.line, column: res.index.column, expected: res.expected }; -} - -function headerParser(): pm.Parser
{ - return pm.seqMap( - pm.regex(/\/\/ Script example for ScriptAPI/), - pm.regexp(/\r?\n\/\/ Author: /), - contributorsParser(), - projectParser, - pm.all, // Don't care about the rest of the file - // tslint:disable-next-line:variable-name - (str, _defsBy, contributors, _project) => ({ - nonNpm: str.endsWith("non-npm package "), - contributors, - }) - ); -} - - -/* -Allow any of the following: - -Use `\s\s+` to ensure at least 2 spaces, to disambiguate from the next line being `// Author:`. -*/ -const separator: pm.Parser = pm.regexp(/(, )|(,?\r?\n\/\/\s\s+)/); - -function contributorsParser(): pm.Parser { - const contributor: pm.Parser = // In non-strict mode, allows arbitrary URL, and trailing whitespace. - pm.seqMap(pm.regexp(/([^<]+) /, 1), pm.regexp(/<([^>]+)> */, 1), (name, url) => { - const rgx = /^https\:\/\/github.com\/([a-zA-Z\d\-]+)\/?$/; - const match = rgx.exec(url); - const githubUsername = match === null ? undefined : match[1]; - // tslint:disable-next-line no-null-keyword - return { name, url: githubUsername ? `https://github.com/${githubUsername}` : url, githubUsername }; - }); - return pm.sepBy1(contributor, separator); -} - -const projectParser = pm.regexp(/\r?\n\/\/ Project: https:\/\/[^\r\n]+/); - -declare module "parsimmon" { - // tslint:disable-next-line no-unnecessary-qualifier - type Pr = pm.Parser; // https://github.com/Microsoft/TypeScript/issues/14121 - export function seqMap( - p1: Pr, - p2: Pr, - p3: Pr, - p4: Pr, - p5: Pr, - p6: Pr, - p7: Pr, - p8: Pr, - p9: Pr, - cb: (a1: T, a2: U, a3: V, a4: W, a5: X, a6: Y, a7: Z, a8: A, a9: B) => C - ): Pr; -} - diff --git a/tools/headerChecks.ts b/tools/headerChecks.ts deleted file mode 100644 index fd28a4a7..00000000 --- a/tools/headerChecks.ts +++ /dev/null @@ -1,125 +0,0 @@ -import { renderParseError, validate } from "./header-parser"; -import * as path from "path"; -import * as fs from "fs"; -import { scripts, scriptsPath, editorExtensions, editorExtensionsPath, scriptFileExtensions, mainFilenames, printFilePath } from "./utils"; - -function checkScripts () { - const errorMessages: string[] = []; - let packagesHaveError = 0; - - for (const script of scripts) { - const scriptPath = path.resolve(scriptsPath, script); - const scriptFiles = fs.readdirSync(scriptPath).filter(name => scriptFileExtensions.includes(path.extname(name))); - const mainFiles = scriptFiles.filter(x => mainFilenames.includes(x)); - let hasError = false; - - if (mainFiles.length < 1) { - errorMessages.push(`${printFilePath(scriptPath)} does not have one of the following files: ${mainFilenames.join(', ')}`); - hasError = true; - packagesHaveError++; - continue; - }; - - for (const file of mainFiles) { - const fullpath = path.resolve(scriptPath, file); - const content = fs.readFileSync(fullpath, 'utf8'); - const parseError = validate(content); - const tsSourceFilename = 'index.ts'; - const isEmittedFile = path.extname(fullpath) === '.js' && fs.existsSync(path.resolve(scriptPath, tsSourceFilename)); - - if (!!parseError && !isEmittedFile) { - errorMessages.push(`${printFilePath(fullpath)} ${renderParseError(parseError)}`); - hasError = true; - } - else if (!!parseError && isEmittedFile) { - errorMessages.push(`${printFilePath(fullpath)} ${renderParseError(parseError)}. Adding header from index.ts to ${file}`); - const fullTspath = path.resolve(scriptPath, tsSourceFilename); - const tsFile = fs.readFileSync(fullTspath, 'utf8'); - - const lines = tsFile.split(/\n|\r\n/); - const jsEmittedFileLines = content.split(/\n|\r\n/); - const startOfHeader = lines.findIndex((value) => /\/\/ Script example for ScriptAPI/.test(value)); - const endOfHeader = lines.findIndex((value) => /\r?\n\/\/ Project: https:\/\/[^\r\n]+/.test('\n' + value)); - const header = lines.slice(startOfHeader, endOfHeader - startOfHeader + 1); - jsEmittedFileLines.splice(0, 0, ...header); - - fs.writeFileSync(fullpath, jsEmittedFileLines.join('\n')); - hasError = false; - }; - }; - hasError ? packagesHaveError++ : null; - }; - - return { errorMessages, packagesHaveError }; -}; - -function checkEditorExtensions () { - const errorMessages: string[] = []; - let packagesHaveError = 0; - - for (const editorExtension of editorExtensions) { - const editorExtensionPath = path.resolve(editorExtensionsPath, editorExtension); - const editorExtensionFiles = fs.readdirSync(editorExtensionPath).filter(name => scriptFileExtensions.includes(path.extname(name))); - const mainFiles = editorExtensionFiles.filter(x => mainFilenames.includes(x)); - let hasError = false; - - if (mainFiles.length < 1) { - errorMessages.push(`${printFilePath(editorExtensionPath)} does not have one of the following files: ${mainFilenames.join(', ')}`); - hasError = true; - packagesHaveError++; - continue; - }; - - for (const file of mainFiles) { - const fullpath = path.resolve(editorExtensionPath, file); - const content = fs.readFileSync(fullpath, 'utf8'); - const parseError = validate(content); - const tsSourceFilename = 'index.ts'; - const isEmittedFile = path.extname(fullpath) === '.js' && fs.existsSync(path.resolve(editorExtensionPath, tsSourceFilename)); - - if (!!parseError && !isEmittedFile) { - errorMessages.push(`${printFilePath(fullpath)} ${renderParseError(parseError)}`); - hasError = true; - } - else if (!!parseError && isEmittedFile) { - errorMessages.push(`${printFilePath(fullpath)} ${renderParseError(parseError)}. Adding header from index.ts to ${file}`); - const fullTspath = path.resolve(editorExtensionPath, tsSourceFilename); - const tsFile = fs.readFileSync(fullTspath, 'utf8'); - - const lines = tsFile.split(/\n|\r\n/); - const jsEmittedFileLines = content.split(/\n|\r\n/); - const startOfHeader = lines.findIndex((value) => /\/\/ editorExtension example for editorExtensionAPI/.test(value)); - const endOfHeader = lines.findIndex((value) => /\r?\n\/\/ Project: https:\/\/[^\r\n]+/.test('\n' + value)); - const header = lines.slice(startOfHeader, endOfHeader - startOfHeader + 1); - jsEmittedFileLines.splice(0, 0, ...header); - - fs.writeFileSync(fullpath, jsEmittedFileLines.join('\n')); - hasError = false; - }; - }; - hasError ? packagesHaveError++ : null; - }; - - return { errorMessages, packagesHaveError }; -}; - -function printMessages (messages: string[], packagesHaveError: number) { - console.log(`Found ${messages.length} errors in ${packagesHaveError} scripts.`); - - for (const message of messages) { - console.error(message); - } -}; - -// main entry -export function execute () { - const results = checkScripts(); - const results2 = checkEditorExtensions(); - const statusCode = results.packagesHaveError + results2.packagesHaveError > 0 ? 1 : 0; - - printMessages(results.errorMessages, results.packagesHaveError); - printMessages(results2.errorMessages, results2.packagesHaveError); - console.log('Exit task with code', statusCode); - - return statusCode; -}; diff --git a/tools/index.ts b/tools/index.ts deleted file mode 100644 index 6e54c6b0..00000000 --- a/tools/index.ts +++ /dev/null @@ -1,39 +0,0 @@ -import * as headerChecks from "./headerChecks"; -import * as packageCheck from "./packageCheck"; -import * as testScriptChecks from "./testScriptChecks"; -import * as readme from "./packageReadme"; - -function log (...args: string[]) { - console.log(''); - console.log(...args, '\n'); -}; - -interface Task { - message: string; - execute: () => 0 | 1; -}; - -function runTasks (tasks: Task[]): number { - const taskStatus: number[] = []; - - for (const task of tasks) { - log(task.message + '...'); - const statusCode = task.execute(); - taskStatus.push(statusCode); - }; - - console.log(taskStatus.map((status, index) => `Task: ${tasks[index].message}, Status: ${status}`)); - - if (taskStatus.length <= 0) return 1; - else if (taskStatus.filter(status => status !== 0).length > 0) return 1; - else return 0; -}; - -const exitCode = runTasks([ - { message: "Checking script file headers", execute: headerChecks.execute }, - { message: "Checking script names", execute: packageCheck.execute }, - { message: "Looking for test files in packages", execute: testScriptChecks.execute }, - { message: "Adding README for packages", execute: readme.execute }, -]); - -process.exit(exitCode); \ No newline at end of file diff --git a/tools/packageCheck.ts b/tools/packageCheck.ts deleted file mode 100644 index 11cec58b..00000000 --- a/tools/packageCheck.ts +++ /dev/null @@ -1,124 +0,0 @@ -// Using validate-npm-package-name -import path from "path"; -import { printFilePath, scripts, scriptsPath } from "./utils"; -const regexValidate = /^(?:@[a-z0-9-*~][a-z0-9-*._~]*\/)?[a-z0-9-~][a-z0-9-._~]*$/gm; -const builtinModules = [ - "@minecraft/server", - "@minecraft/server-ui", - "@minecraft/server-net", - "@minecraft/server-gametest", - "@minecraft/server-admin", - "@minecraft/server-editor", - "mojang-minecraft", - "mojang-minecraft-ui" -]; -var scopedPackagePattern = new RegExp('^(?:@([^/]+?)[/])?([^/]+?)$'); -interface ErrorPack { - warnings: string[], - errors: string[], - path: string; -}; - -const errorPacks: ErrorPack[] = []; -var blacklist = [ - 'node_modules', - 'favicon.ico', -]; - -function validate (name: string) { - var warnings: string[] = [] - var errors: string[] = [] - - if (name === null) { - errors.push('name cannot be null'); - return { warnings, errors }; - }; - if (name === undefined) { - errors.push('name cannot be undefined'); - return { warnings, errors }; - }; - if (typeof name !== 'string') { - errors.push('name must be a string') - return { warnings, errors }; - }; - - if (!name.length) errors.push('name length must be greater than zero') - if (name.match(/^\./)) errors.push('name cannot start with a period') - if (name.match(/^_/)) errors.push('name cannot start with an underscore') - if (name.trim() !== name) errors.push('name cannot contain leading or trailing spaces') - - // No funny business - blacklist.forEach(function (blacklistedName) { - if (name.toLowerCase() === blacklistedName) { - errors.push(blacklistedName + ' is a blacklisted name') - } - }) - - // Generate warnings for stuff that used to be allowed - - // core module names like http, events, util, etc - builtinModules.forEach(function (builtin) { - if (name.toLowerCase() === builtin) { - warnings.push(builtin + ' is a core module name') - } - }) - - if (name.length > 214) warnings.push('name can no longer contain more than 214 characters'); - - // mIxeD CaSe nAMEs - if (name.toLowerCase() !== name) warnings.push('name can no longer contain capital letters') - - if (/[~'!()*]/.test(name.split('/').slice(-1)[0])) warnings.push('name can no longer contain special characters ("~\'!()*")') - - if (encodeURIComponent(name) !== name) { - // Maybe it's a scoped package name, like @user/package - var nameMatch = name.match(scopedPackagePattern) - if (nameMatch) { - var user = nameMatch[1] - var pkg = nameMatch[2] - if (encodeURIComponent(user) === user && encodeURIComponent(pkg) === pkg) { - return { warnings, errors }; - } - } - - errors.push('name can only contain URL-friendly characters') - } - - return { warnings, errors }; -} - -export function execute () { - let errorsLength = 0; - let warningsLength = 0; - - for (const scriptName of scripts) { - const scriptPath = path.resolve(scriptsPath, scriptName); - const { warnings, errors } = validate(scriptName); - - if (warnings.length <= 0 && errors.length <= 0) continue; - - errorPacks.push({ - warnings, - errors, - path: scriptPath - }); - - errorsLength += errors.length; - warningsLength += warnings.length; - }; - - console.log(`Found ${errorsLength} errors and ${warningsLength} warnings.`); - - for (const errorPack of errorPacks) { - const filepathDisplay = printFilePath(errorPack.path); - - for (const error of errorPack.errors) { - console.error(filepathDisplay + ':', error); - }; - for (const warn of errorPack.warnings) { - console.warn(filepathDisplay + ':', warn); - }; - } - const statusCode = errorPacks.length > 0 ? 1 : 0; - return statusCode; -} diff --git a/tools/packageReadme.ts b/tools/packageReadme.ts deleted file mode 100644 index fceeb8c9..00000000 --- a/tools/packageReadme.ts +++ /dev/null @@ -1,83 +0,0 @@ -import { existsSync, readdirSync, readFileSync, writeFileSync } from "fs"; -import path from "path"; -import { parseHeader } from "./header-parser"; -import { readmeFilenames, scripts, scriptsPath } from "./utils"; - -function isValidHttpUrl(string: string) { - let url; - try { - url = new URL(string); - } catch (_) { - return false; - } - return url.protocol === "http:" || url.protocol === "https:"; -} - -function makeReadme (script: string) { - const indexJs = path.resolve(scriptsPath, script, 'index.js'); - const indexTs = path.resolve(scriptsPath, script, 'index.ts'); - const readmePath = path.resolve(scriptsPath, script, 'README.md'); - const readmeDefault = [ - '# ' + script, - '', - '## Description', - '> This README is auto generated, Edit the README so that users know what this package does.', - '', - '## Credits', - '', - '' - ]; - if (!existsSync(indexJs) && !existsSync(indexTs)) { - console.error(script, "missing index.js and index.ts"); - writeFileSync(readmePath, readmeDefault.join('\n')); - return; - }; - - const indexfile = existsSync(indexTs) ? indexTs : indexJs; - - /** - * header - */ - const header = parseHeader(readFileSync(indexfile).toString()); - if ('contributors' in header) { - const credits = "These scripts were written by " + header.contributors.map((v) => { - if (isValidHttpUrl(v.url)) return `[${v.name}](${v.url})`; - else return `${v.name} on ${v.url}`; - }).join(', '); - - const creditsSubheadingIndex = readmeDefault.findIndex((v) => v.startsWith('## Credits')); - readmeDefault[creditsSubheadingIndex + 1] = credits; - - writeFileSync(readmePath, readmeDefault.join('\n')); - } - else { - console.error(script, "doesn't have header in index file"); - writeFileSync(readmePath, readmeDefault.join('\n')); - } -} - -export function execute (): 0 | 1 { - const scriptsChanged: string[] = []; - - for (const script of scripts) { - const files = readdirSync(path.resolve(scriptsPath, script)); - - // check if readme is in directory - let hasReadme = false; - for (const readmeFile of readmeFilenames) { - if (files.map(v => v.toLowerCase()).includes(readmeFile)) hasReadme = true; - }; - - if (hasReadme) continue; - console.log(`Script '${script}' does not have README. Adding one automatically.`); - makeReadme(script); - scriptsChanged.push(script); - } - - // attempt to commit - if (scriptsChanged.length > 0 && process.env.event_name === 'schedule') console.warn(`Add README to ${scriptsChanged.length} packages.`); - else if (scriptsChanged.length > 0) console.error(`There are ${scriptsChanged.length} packages don't have README. Add a README to your package so that users know how to get started.`); - else console.log("All script packages have a README file."); - - return 0; -} diff --git a/tools/testScriptChecks.ts b/tools/testScriptChecks.ts deleted file mode 100644 index 7a90644d..00000000 --- a/tools/testScriptChecks.ts +++ /dev/null @@ -1,36 +0,0 @@ -import { readdirSync, readFileSync, statSync } from "fs"; -import * as path from "path"; -import { printFilePath, scripts, scriptsPath } from "./utils"; - -const testFilenames = ['tests', 'tests.js', 'tests.ts']; - -export function execute (): 0 { - const noTestScripts: string[] = []; - - for (const scriptName of scripts) { - const scriptPath = path.resolve(scriptsPath, scriptName); - const files = readdirSync(scriptPath); - const testFiles = files.filter(x => testFilenames.includes(x) && !statSync(path.resolve(scriptPath, x)).isDirectory()); - - if (testFiles.length <= 0) noTestScripts.push(scriptPath); - else { - for (const file of testFiles) { - const filepath = path.resolve(scriptPath, file) - if (!path.extname(file) && !statSync(filepath).isDirectory()) { - console.warn(`${printFilePath(filepath)} is not a directory. Do you mean 'tests.js' or 'tests.ts'?`); - } - else if (!!path.extname(file) && statSync(filepath).isDirectory()) { - console.warn(`${printFilePath(filepath)} is not a file.`); - } - else { - const content = readFileSync(filepath).toString(); - if (!/^[A-Za-z0-9]*/.test(content) || content.length <= 0) console.warn(`${printFilePath(filepath)} has no content.`); - }; - } - } - }; - - if (noTestScripts.length > 0) console.warn(`There are ${noTestScripts.length} package(s) do not have any unit test scripts:\n${noTestScripts.map(script => printFilePath(script)).join(', ')} `); - - return 0; -} diff --git a/tools/tsconfig.json b/tools/tsconfig.json deleted file mode 100644 index b56f7180..00000000 --- a/tools/tsconfig.json +++ /dev/null @@ -1,17 +0,0 @@ -{ - "compilerOptions": { - "target": "es2019", - "module": "commonjs", - "strict": true, - "esModuleInterop": true, - "forceConsistentCasingInFileNames": true, - "noImplicitReturns": true, - "noFallthroughCasesInSwitch": true, - "allowUnreachableCode": false, - "resolveJsonModule": true, - "composite": false, - "types": ["node"], - "lib": ["es2022"], - "outDir": "../dist" - } -} \ No newline at end of file diff --git a/tools/utils.ts b/tools/utils.ts deleted file mode 100644 index 12442f42..00000000 --- a/tools/utils.ts +++ /dev/null @@ -1,17 +0,0 @@ -import * as path from "path"; -import * as fs from "fs"; -// Basically a better way to say that those packages are so bad that no one uses it -// The list should not be modify by other people -import * as legacyPackages from "../legacyPackages.json"; - -export const scriptsPath = path.resolve(process.cwd(), 'scripts'); // readdirSync(path.resolve(cwd, 'scripts')).map(name => name.replaceAll(path.win32.sep, path.posix.sep)); -export const scriptsAll = fs.readdirSync(scriptsPath).filter(file => fs.statSync(path.resolve(scriptsPath, file)).isDirectory()); -export const scripts = scriptsAll.filter(script => !legacyPackages.packages.includes(script)); - -export const editorExtensionsPath = path.resolve(process.cwd(), 'editorExtensions'); // readdirSync(path.resolve(cwd, 'scripts')).map(name => name.replaceAll(path.win32.sep, path.posix.sep)); -export const editorExtensions = fs.readdirSync(editorExtensionsPath).filter(file => fs.statSync(path.resolve(editorExtensionsPath, file)).isDirectory()); - -export const mainFilenames = ["index.ts", "index.js"]; -export const readmeFilenames = ["readme.md", "readme.txt", "readme"]; -export const scriptFileExtensions = ['.js', '.ts']; -export const printFilePath = (filePath: string) => filePath.replace(process.cwd() + path.sep, '').replaceAll(path.win32.sep, path.posix.sep); diff --git a/tsconfig-base.json b/tsconfig-base.json deleted file mode 100644 index 3a6a4c18..00000000 --- a/tsconfig-base.json +++ /dev/null @@ -1,14 +0,0 @@ -{ - "compilerOptions": { - "module": "es2020", - "target": "es2021", - "moduleResolution": "classic", - "allowSyntheticDefaultImports": true, - "types": [ - "@minecraft/server", - "@minecraft/server-ui", - "@minecraft/vanilla-data" - ], - "typeRoots": ["./node_modules/"], - } -} \ No newline at end of file diff --git a/tsconfig.json b/tsconfig.json index c870cafe..2b92739a 100644 --- a/tsconfig.json +++ b/tsconfig.json @@ -1,9 +1,20 @@ { - "files": [], - "exclude": [ "docs" ], - "references": [ - { "path": "tools/tsconfig.json" }, - { "path": "scripts/tsconfig.json" }, - { "path": "scripts/jsconfig.json" } - ] + "compilerOptions": { + "module": "es2020", + "target": "es2021", + "moduleResolution": "classic", + "allowSyntheticDefaultImports": true, + "allowJs": true, + "checkJs": true, + "noEmit": true, + "baseUrl": "scripts", + "types": [ + "@minecraft/server", + "@minecraft/server-ui", + "@minecraft/vanilla-data" + ], + "typeRoots": ["./node_modules/"], + }, + "exclude": ["docs"], + "include": ["scripts/**/*.js", "scripts/**/*.ts"] } \ No newline at end of file From 7ba59bf87d6e793abcf23571d959e014c904c6b8 Mon Sep 17 00:00:00 2001 From: Jayly <65847850+JaylyDev@users.noreply.github.com> Date: Thu, 9 May 2024 16:30:07 +0100 Subject: [PATCH 19/20] update to latest modules --- package-lock.json | 202 +----- package.json | 5 +- .../@minecraft/server-editor-bindings.d.ts | 149 ---- .../@minecraft/server-editor.d.ts | 657 ------------------ packages/minecraft-editor/LICENSE.txt | 21 - packages/minecraft-editor/README.md | 38 - .../minecraft-editor/ThirdPartyNotice.txt | 123 ---- packages/minecraft-editor/index.d.ts | 5 - packages/minecraft-editor/package-lock.json | 28 - packages/minecraft-editor/package.json | 20 - packages/minecraft-editor/tsconfig.json | 13 - scripts/anti-32k-event/index.ts | 2 +- scripts/anti-32k/index.ts | 4 +- 13 files changed, 39 insertions(+), 1228 deletions(-) delete mode 100644 packages/minecraft-editor/@minecraft/server-editor-bindings.d.ts delete mode 100644 packages/minecraft-editor/@minecraft/server-editor.d.ts delete mode 100644 packages/minecraft-editor/LICENSE.txt delete mode 100644 packages/minecraft-editor/README.md delete mode 100644 packages/minecraft-editor/ThirdPartyNotice.txt delete mode 100644 packages/minecraft-editor/index.d.ts delete mode 100644 packages/minecraft-editor/package-lock.json delete mode 100644 packages/minecraft-editor/package.json delete mode 100644 packages/minecraft-editor/tsconfig.json diff --git a/package-lock.json b/package-lock.json index 56ed04e0..e7dbcd51 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,7 +1,7 @@ { "name": "script-api", "version": "1.0.0", - "lockfileVersion": 2, + "lockfileVersion": 3, "requires": true, "packages": { "": { @@ -9,7 +9,8 @@ "version": "1.0.0", "license": "MIT", "dependencies": { - "@minecraft/server": "^1.7.0", + "@minecraft/math": "^1.3.5", + "@minecraft/server": "^1.10.0", "@minecraft/server-ui": "^1.1.0", "@minecraft/vanilla-data": "^1.20.50" }, @@ -19,24 +20,26 @@ "@types/parsimmon": "^1.10.9", "axios": "^1.6.2", "parsimmon": "^1.18.1", - "typescript": "^5.3.3" + "typescript": "^5.4.5" } }, - "lib": { - "name": "minecraft-editor", - "version": "0.3.6", - "extraneous": true, - "license": "MIT" - }, "node_modules/@minecraft/common": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/@minecraft/common/-/common-1.1.0.tgz", - "integrity": "sha512-stbUtINCXbcLNRlGNVX68xRC6ZYq3k3CYmfptwrCcPBEUjVOpVkSj3H4Y0qiSYB+1rVWv7DgiP7Uf9++50Ne5g==" + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/@minecraft/common/-/common-1.2.0.tgz", + "integrity": "sha512-JdmEq4P3Z/FtoBzhLijFgMSVFnFRrUoLwY8DHHrgtFo0mfLTOLTB1RErYjLMsA6b7BGVNxkX/pfFRiH7QZ0XwQ==" + }, + "node_modules/@minecraft/math": { + "version": "1.3.5", + "resolved": "https://registry.npmjs.org/@minecraft/math/-/math-1.3.5.tgz", + "integrity": "sha512-5fKzTOTNZMOYJSHDGHOmP+/d5xsUV7BJsJ8pUQ7vGzEjy1dRf75JAKL7FN1VT0SVy6ioK1i4vjHIUWO+QRR7qw==", + "peerDependencies": { + "@minecraft/server": "^1.6.0" + } }, "node_modules/@minecraft/server": { - "version": "1.7.0", - "resolved": "https://registry.npmjs.org/@minecraft/server/-/server-1.7.0.tgz", - "integrity": "sha512-4q9N3vdLZMAUxPo//bovimPbPLuPbHbQC507ZB2h++dqOGWUGnCcTXTNRg2zkBwMonAzWHONkUsVr5tsi9BHcg==", + "version": "1.10.0", + "resolved": "https://registry.npmjs.org/@minecraft/server/-/server-1.10.0.tgz", + "integrity": "sha512-liBalm1XKMtf7LPyKZ4VcuwxAbprKcAHnG6b0VUdULezOz/RFj2gqmfyA0qE8azMMa8KVPmnl7hYq4KjoGZmmA==", "dependencies": { "@minecraft/common": "^1.1.0" } @@ -50,9 +53,9 @@ } }, "node_modules/@minecraft/vanilla-data": { - "version": "1.20.50", - "resolved": "https://registry.npmjs.org/@minecraft/vanilla-data/-/vanilla-data-1.20.50.tgz", - "integrity": "sha512-LMnx1iuP7iKLh3ypQEOOh00wAS2r3dGXpMnxzAHpAnHbNq5339sO/gz++bjGw4acG3EXSP7IujCgF3q2/BR+nA==" + "version": "1.20.80", + "resolved": "https://registry.npmjs.org/@minecraft/vanilla-data/-/vanilla-data-1.20.80.tgz", + "integrity": "sha512-eQUBaDy1RtZxcu74Gpv4k5uEGzDseB+QruuokXgfcC/dHaZkpD4KCNFSsbDbISBpJ+6BbnidTQLVQai8OCkxpg==" }, "node_modules/@npm/types": { "version": "1.0.2", @@ -61,9 +64,9 @@ "dev": true }, "node_modules/@types/node": { - "version": "20.10.4", - "resolved": "https://registry.npmjs.org/@types/node/-/node-20.10.4.tgz", - "integrity": "sha512-D08YG6rr8X90YB56tSIuBaddy/UXAA9RKJoFvrsnogAum/0pmjkgi4+2nx96A330FmioegBWmEYQ+syqCFaveg==", + "version": "20.12.11", + "resolved": "https://registry.npmjs.org/@types/node/-/node-20.12.11.tgz", + "integrity": "sha512-vDg9PZ/zi+Nqp6boSOT7plNuthRugEKixDv5sFTIpkE89MmNtEArAShI4mxuX2+UrLEe9pxC1vm2cjm9YlWbJw==", "dev": true, "dependencies": { "undici-types": "~5.26.4" @@ -82,12 +85,12 @@ "dev": true }, "node_modules/axios": { - "version": "1.6.2", - "resolved": "https://registry.npmjs.org/axios/-/axios-1.6.2.tgz", - "integrity": "sha512-7i24Ri4pmDRfJTR7LDBhsOTtcm+9kjX5WiY1X3wIisx6G9So3pfMkEiU7emUBe46oceVImccTEM3k6C5dbVW8A==", + "version": "1.6.8", + "resolved": "https://registry.npmjs.org/axios/-/axios-1.6.8.tgz", + "integrity": "sha512-v/ZHtJDU39mDpyBoFVkETcd/uNdxrWRrg3bKpOKzXFA6Bvqopts6ALSMU3y6ijYxbw2B+wPrIv46egTzJXCLGQ==", "dev": true, "dependencies": { - "follow-redirects": "^1.15.0", + "follow-redirects": "^1.15.6", "form-data": "^4.0.0", "proxy-from-env": "^1.1.0" } @@ -114,9 +117,9 @@ } }, "node_modules/follow-redirects": { - "version": "1.15.4", - "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.15.4.tgz", - "integrity": "sha512-Cr4D/5wlrb0z9dgERpUL3LrmPKVDsETIJhaCMeDfuFYcqa5bldGV6wBsAN6X/vxlXQtFBMrXdXxdL8CbDTGniw==", + "version": "1.15.6", + "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.15.6.tgz", + "integrity": "sha512-wWN62YITEaOpSK584EZXJafH1AGpO8RVgElfkuXbTOrPX4fIfOyEpW/CsiNd8JdYrAoOvafRTOEnvsO++qCqFA==", "dev": true, "funding": [ { @@ -181,9 +184,9 @@ "dev": true }, "node_modules/typescript": { - "version": "5.3.3", - "resolved": "https://registry.npmjs.org/typescript/-/typescript-5.3.3.tgz", - "integrity": "sha512-pXWcraxM0uxAS+tN0AG/BF2TyqmHO014Z070UsJ+pFvYuRSq8KH8DmWpnbXe0pEPDHXZV3FcAbJkijJ5oNEnWw==", + "version": "5.4.5", + "resolved": "https://registry.npmjs.org/typescript/-/typescript-5.4.5.tgz", + "integrity": "sha512-vcI4UpRgg81oIRUFwR0WSIHKt11nJ7SAVlYNIu+QpqeyXP+gpQJy/Z4+F0aGxSE4MqwjyXvW/TzgkLAx2AGHwQ==", "dev": true, "bin": { "tsc": "bin/tsc", @@ -199,142 +202,5 @@ "integrity": "sha512-JlCMO+ehdEIKqlFxk6IfVoAUVmgz7cU7zD/h9XZ0qzeosSHmUJVOzSQvvYSYWXkFXC+IfLKSIffhv0sVZup6pA==", "dev": true } - }, - "dependencies": { - "@minecraft/common": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/@minecraft/common/-/common-1.1.0.tgz", - "integrity": "sha512-stbUtINCXbcLNRlGNVX68xRC6ZYq3k3CYmfptwrCcPBEUjVOpVkSj3H4Y0qiSYB+1rVWv7DgiP7Uf9++50Ne5g==" - }, - "@minecraft/server": { - "version": "1.7.0", - "resolved": "https://registry.npmjs.org/@minecraft/server/-/server-1.7.0.tgz", - "integrity": "sha512-4q9N3vdLZMAUxPo//bovimPbPLuPbHbQC507ZB2h++dqOGWUGnCcTXTNRg2zkBwMonAzWHONkUsVr5tsi9BHcg==", - "requires": { - "@minecraft/common": "^1.1.0" - } - }, - "@minecraft/server-ui": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/@minecraft/server-ui/-/server-ui-1.1.0.tgz", - "integrity": "sha512-Gnf+GHjjT4VFoXEt7qjrfDRipDgc93YcXbgTmdPTQ5Og3DIRD003ahH97tGMZmeNdsB+ymvAquf+o2o9W2pDjw==", - "requires": { - "@minecraft/server": "^1.2.0" - } - }, - "@minecraft/vanilla-data": { - "version": "1.20.50", - "resolved": "https://registry.npmjs.org/@minecraft/vanilla-data/-/vanilla-data-1.20.50.tgz", - "integrity": "sha512-LMnx1iuP7iKLh3ypQEOOh00wAS2r3dGXpMnxzAHpAnHbNq5339sO/gz++bjGw4acG3EXSP7IujCgF3q2/BR+nA==" - }, - "@npm/types": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/@npm/types/-/types-1.0.2.tgz", - "integrity": "sha512-KXZccTDEnWqNrrx6JjpJKU/wJvNeg9BDgjS0XhmlZab7br921HtyVbsYzJr4L+xIvjdJ20Wh9dgxgCI2a5CEQw==", - "dev": true - }, - "@types/node": { - "version": "20.10.4", - "resolved": "https://registry.npmjs.org/@types/node/-/node-20.10.4.tgz", - "integrity": "sha512-D08YG6rr8X90YB56tSIuBaddy/UXAA9RKJoFvrsnogAum/0pmjkgi4+2nx96A330FmioegBWmEYQ+syqCFaveg==", - "dev": true, - "requires": { - "undici-types": "~5.26.4" - } - }, - "@types/parsimmon": { - "version": "1.10.9", - "resolved": "https://registry.npmjs.org/@types/parsimmon/-/parsimmon-1.10.9.tgz", - "integrity": "sha512-O2M2x1w+m7gWLen8i5DOy6tWRnbRcsW6Pke3j3HAsJUrPb4g0MgjksIUm2aqUtCYxy7Qjr3CzjjwQBzhiGn46A==", - "dev": true - }, - "asynckit": { - "version": "0.4.0", - "resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz", - "integrity": "sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q==", - "dev": true - }, - "axios": { - "version": "1.6.2", - "resolved": "https://registry.npmjs.org/axios/-/axios-1.6.2.tgz", - "integrity": "sha512-7i24Ri4pmDRfJTR7LDBhsOTtcm+9kjX5WiY1X3wIisx6G9So3pfMkEiU7emUBe46oceVImccTEM3k6C5dbVW8A==", - "dev": true, - "requires": { - "follow-redirects": "^1.15.0", - "form-data": "^4.0.0", - "proxy-from-env": "^1.1.0" - } - }, - "combined-stream": { - "version": "1.0.8", - "resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.8.tgz", - "integrity": "sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==", - "dev": true, - "requires": { - "delayed-stream": "~1.0.0" - } - }, - "delayed-stream": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz", - "integrity": "sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ==", - "dev": true - }, - "follow-redirects": { - "version": "1.15.4", - "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.15.4.tgz", - "integrity": "sha512-Cr4D/5wlrb0z9dgERpUL3LrmPKVDsETIJhaCMeDfuFYcqa5bldGV6wBsAN6X/vxlXQtFBMrXdXxdL8CbDTGniw==", - "dev": true - }, - "form-data": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/form-data/-/form-data-4.0.0.tgz", - "integrity": "sha512-ETEklSGi5t0QMZuiXoA/Q6vcnxcLQP5vdugSpuAyi6SVGi2clPPp+xgEhuMaHC+zGgn31Kd235W35f7Hykkaww==", - "dev": true, - "requires": { - "asynckit": "^0.4.0", - "combined-stream": "^1.0.8", - "mime-types": "^2.1.12" - } - }, - "mime-db": { - "version": "1.52.0", - "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.52.0.tgz", - "integrity": "sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==", - "dev": true - }, - "mime-types": { - "version": "2.1.35", - "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.35.tgz", - "integrity": "sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==", - "dev": true, - "requires": { - "mime-db": "1.52.0" - } - }, - "parsimmon": { - "version": "1.18.1", - "resolved": "https://registry.npmjs.org/parsimmon/-/parsimmon-1.18.1.tgz", - "integrity": "sha512-u7p959wLfGAhJpSDJVYXoyMCXWYwHia78HhRBWqk7AIbxdmlrfdp5wX0l3xv/iTSH5HvhN9K7o26hwwpgS5Nmw==", - "dev": true - }, - "proxy-from-env": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/proxy-from-env/-/proxy-from-env-1.1.0.tgz", - "integrity": "sha512-D+zkORCbA9f1tdWRK0RaCR3GPv50cMxcrz4X8k5LTSUD1Dkw47mKJEZQNunItRTkWwgtaUSo1RVFRIG9ZXiFYg==", - "dev": true - }, - "typescript": { - "version": "5.3.3", - "resolved": "https://registry.npmjs.org/typescript/-/typescript-5.3.3.tgz", - "integrity": "sha512-pXWcraxM0uxAS+tN0AG/BF2TyqmHO014Z070UsJ+pFvYuRSq8KH8DmWpnbXe0pEPDHXZV3FcAbJkijJ5oNEnWw==", - "dev": true - }, - "undici-types": { - "version": "5.26.5", - "resolved": "https://registry.npmjs.org/undici-types/-/undici-types-5.26.5.tgz", - "integrity": "sha512-JlCMO+ehdEIKqlFxk6IfVoAUVmgz7cU7zD/h9XZ0qzeosSHmUJVOzSQvvYSYWXkFXC+IfLKSIffhv0sVZup6pA==", - "dev": true - } } } diff --git a/package.json b/package.json index e31a83dd..3a972b82 100644 --- a/package.json +++ b/package.json @@ -19,7 +19,8 @@ }, "homepage": "https://github.com/JaylyDev/ScriptAPI#readme", "dependencies": { - "@minecraft/server": "^1.7.0", + "@minecraft/math": "^1.3.5", + "@minecraft/server": "^1.10.0", "@minecraft/server-ui": "^1.1.0", "@minecraft/vanilla-data": "^1.20.50" }, @@ -29,6 +30,6 @@ "@types/parsimmon": "^1.10.9", "axios": "^1.6.2", "parsimmon": "^1.18.1", - "typescript": "^5.3.3" + "typescript": "^5.4.5" } } diff --git a/packages/minecraft-editor/@minecraft/server-editor-bindings.d.ts b/packages/minecraft-editor/@minecraft/server-editor-bindings.d.ts deleted file mode 100644 index cbd896be..00000000 --- a/packages/minecraft-editor/@minecraft/server-editor-bindings.d.ts +++ /dev/null @@ -1,149 +0,0 @@ -/** - * Type definition for @minecraft/server-editor-bindings 0.3 - * - * Manifest details - * ```json - * { - * "module_name": "@minecraft/server-editor-bindings", - * "version": "0.1.0-beta" - * } - * ``` - */ -declare module '@minecraft/server-editor-bindings' { - import { BlockLocationIterator, BlockVolume, BoundingBox, Color, CompoundBlockVolumeAction, Player, Vector3, } from '@minecraft/server'; - export class ClipboardItem { - private constructor(); - readFromSelection(selection: Selection): void; - readFromWorld(a: Vector3, b: Vector3): any; - writeToWorld(location: Vector3, options: ClipboardWriteOptions): void; - getPredictedWriteAsSelection(location: Vector3, options: ClipboardWriteOptions): Selection; - clear(): void; - size: Vector3; - isEmpty: boolean; - } - export class ClipboardManager { - private constructor(); - create(): ClipboardItem; - clipboard: ClipboardItem; - } - export enum ClipboardMirrorAxis { - none = "none", - X = "X", - Z = "Z", - XZ = "XZ" - } - export enum ClipboardRotation { - none = "none", - Rotate90 = "Rotate90", - Rotate180 = "Rotate180", - Rotate270 = "Rotate270" - } - export class ClipboardWriteOptions { - anchor: Vector3; - offset: Vector3; - mirror: ClipboardMirrorAxis; - rotation: ClipboardRotation; - } - export interface CursorProperties { - outlineColor: Color; - controlMode: CursorControlMode; - targetMode: CursorTargetMode; - visible: boolean; - fixedModeDistance?: number; - } - export class Cursor { - getProperties(): CursorProperties; - setProperties(properties: CursorProperties): void; - getPosition(): Vector3; - moveBy(vector: Vector3): void; - resetToDefaultState(): void; - show(): void; - hide(): void; - faceDirection: number; - isVisible: boolean; - } - export enum CursorControlMode { - Keyboard = 0, - Mouse = 1, - KeyboardAndMouse = 2, - Fixed = 3 - } - export enum CursorTargetMode { - Block = 0, - Face = 1 - } - export class Extension { - private constructor(); - } - export class ExtensionContext { - private constructor(); - extensionName: string; - player: Player; - selectionManager: SelectionManager; - transactionManager: TransactionManager; - clipboardManager: ClipboardManager; - cursor: Cursor; - } - export interface LogProperties { - tags: string[]; - player: Player; - } - export class Logger { - info(message: string, properties?: LogProperties): void; - warning(message: string, properties?: LogProperties): void; - error(message: string, properties?: LogProperties): void; - debug(message: string, properties?: LogProperties): void; - } - export class MinecraftEditor { - private constructor(); - registerExtension_Internal(extensionName: string, activationFunction: (context: ExtensionContext) => void, shutdownFunction: (context: ExtensionContext) => void, optionalParameters?: ExtensionOptionalParameters): Extension; - readonly log: Logger; - } - export interface PushVolumeOptions { - action: CompoundBlockVolumeAction; - volume: BlockVolume; - } - export class Selection { - private constructor(); - clear(): void; - pushVolume(options: PushVolumeOptions): void; - popVolume(): void; - copyFrom(selection: Selection): void; - getBlockLocationIterator(): BlockLocationIterator; - getBoundingBox(): BoundingBox; - moveBy(vector: Vector3): void; - moveTo(vector: Vector3): void; - peekLastVolume(): PushVolumeOptions | undefined; - getFillColor(): Color; - getOutlineColor(): Color; - setFillColor(color: Color): void; - setOutlineColor(color: Color): void; - isEmpty: boolean; - visible: boolean; - } - export class SelectionManager { - private constructor(); - create(): Selection; - selection: Selection; - } - export class TransactionManager { - private constructor(); - undo(): void; - redo(): void; - undoSize(): number; - redoSize(): number; - trackBlockChangeList(list: Vector3[]): any; - trackBlockChangeArea(min: Vector3, max: Vector3): void; - trackBlockChangeSelection(selection: Selection): void; - commitTrackedChanges(): void; - discardTrackedChanges(): void; - openTransaction(transaction: string): void; - commitOpenTransaction(): void; - discardOpenTransaction(): void; - } - export const editor: MinecraftEditor; - export interface ExtensionOptionalParameters { - description?: string; - notes?: string; - } -} diff --git a/packages/minecraft-editor/@minecraft/server-editor.d.ts b/packages/minecraft-editor/@minecraft/server-editor.d.ts deleted file mode 100644 index 0bc39c91..00000000 --- a/packages/minecraft-editor/@minecraft/server-editor.d.ts +++ /dev/null @@ -1,657 +0,0 @@ -/** - * Type definition for @minecraft/server-editor 0.3 - * - * Manifest details - * ```json - * { - * "module_name": "@minecraft/server-editor", - * "version": "0.1.0-beta" - * } - * ``` - */ -declare module "@minecraft/server-editor" { - import { WorldAfterEvents, BlockType, Player, System, Vector3 } from "@minecraft/server"; - import { Extension, ExtensionContext, Selection, ExtensionOptionalParameters, Logger } from "@minecraft/server-editor-bindings"; - export * from "@minecraft/server-editor-bindings"; - class BaseControl { - private _visible: boolean; - private _enabled: boolean; - private _disposed: boolean; - get visible(): boolean; - get enabled(): boolean; - hide(): void; - show(): void; - get disposed(): boolean; - set disposed(value: boolean); - dispose(): void; - update(force: boolean): void; - } - export interface ToolParams { - name?: string; - displayAltText?: string; - displayStringId?: string; - icon?: string; - tooltipAltText?: string; - tooltipStringId?: string; - } - class EventToken { - constructor(_event: K); - unsubscribe(): void; - } - export interface EventSinkImplArgument { - isActiveTool: boolean; - } - /** - * Implementation of a simple event sink. Takes a handler with a payload T and provides - * a mechanism to subscribe from the public interface. Holding a reference to the class - * provides the mechanism for triggering listeners. Super simple at the moment, can be - * expanded to support notifications on listeners being added, unsubscribe all, or targeted - * events if needed. - * - * @internal - */ - class EventSinkImpl { - subscribe(handler: (eventArgs: EventSinkImplArgument) => void): EventToken; - unsubscribe(token: EventToken): void; - trigger(eventArgs: EventSinkImplArgument): void; - } - /** - * Centralized host for all events from server to a player client. Provides a structured and type safe way - * for a consumer to send events since the raw contract between client and server is purely stringified - * JSON. - * - * There must be a client event dispatcher per player. - * - * @internal - */ - class ClientEventDispatcher { - constructor(_system: System, _logger: Logger); - private _system: System; - private _logger: Logger; - initialize(): Player; - /** - * Dispatches and event of type T with the appropriate payload. See ServerEventPayloadMapping for the - * correct mapping of payload to server event type - */ - dispatchEvent(type: EditorServerEventType, payload: any, replacer?: (this: any, key: string, value: any) => any | (number | string)[]): void; - /** - * Fires off all payloads in event queue and removes any tick registration - */ - flush(): void; - } - class ModalToolContainer extends BaseControl { - private _eventDispatcher: ClientEventDispatcher; - private _actionManager: ActionManagerImpl; - private _currentTools: ModalTool[]; - private _selectedToolId?: string; - get id(): "editorUI:toolRail"; - get currentTools(): ModalTool[]; - get selectedOptionId(): string | undefined; - setSelectedOptionId(value: string, update: boolean): void; - addTool(prams: ToolParams): ModalTool; - removeTool(id: string): void; - private _sendUpdateMessage(): void; - private _sendDestroyMessage(): void; - } - class ContextInputManager extends BaseInputManager { - constructor(eventDispatcher: ClientEventDispatcher, inputContext: EditorInputContext); - registerMouseWheelBinding(action: EditorInputContext, inputMappingId: InputModifier): void; - registerMouseButtonBinding(action: EditorInputContext, inputMappingId: InputModifier): void; - registerMouseDragBinding(action: EditorInputContext, inputMappingId: InputModifier): void; - registerKeyBinding(action: EditorInputContext, button: Action, modifier: KeyboardKey, inputMappingId: InputModifier): void; - unregisterBindings(): void; - } - /** - * @beta - */ - class ModalTool extends BaseControl { - constructor(_eventDispatcher: ClientEventDispatcher, parent: ModalToolContainer, params: Menu); - private _eventDispatcher: ClientEventDispatcher; - onModalToolActivation: EventSinkImpl; - private _id: string; - private _parent: ModalToolContainer; - private _panesBound: PropertyPane[]; - private _modalToolParams: Menu; - private _inputManager: ContextInputManager; - get id(): string; - hide(): void; - show(): void; - dispose(): void; - bindPropertyPane(pane: PropertyPane): void; - registerMouseButtonBinding(action: Action): void; - registerMouseWheelBinding(action: Action): void; - registerMouseDragBinding(action: Action): void; - registerKeyBinding(action: Action, button: KeyboardKey, modifier: InputModifier): void; - unregisterInputBindings(): void; - } - export interface MenuProps { - name?: string; - displayStringId?: string; - } - class Menu extends BaseControl { - constructor(props: any, _dispatcher: any, _actionId: any, _parent: any); - private _dispatcher: ClientEventDispatcher; - private _actionId: string; - private _parent; - private _id: string; - private _submenu: Menu[]; - private _displayStringLocId: string; - private _name: string; - get id(): string; - get submenu(): Menu[]; - get displayStringId(): string; - get name(): string; - set name(value: string); - dispose(): void; - get disposed(): boolean; - set disposed(value: boolean); - addItem(params: MenuProps, action?: Action): Menu; - replaceAction(action: Action): void; - addSeparator(): void; - private _sendUpdateMessage(): void; - private _sendDestroyMessage(): void; - private _removeChild(value: Menu): void; - } - class PropertyItem { - action: Action; - private _id: string; - private _paneId: string; - private _obj: object; - private _property: any; - private _typeName: string; - private _propertyItemOptions: any; - private _enable: boolean; - set enable(value: boolean); - private _visible: boolean; - set visible(value: boolean); - private _value: any; - sendPropertyUpdate(): void; - dispose(): void; - } - interface PropertyUXDispatcher { - dispatchUXEvent(payload: any): void; - } - class PropertyPane extends BaseControl { - private onPropertyPaneVisibilityUpdated: EventSinkImpl; - private setPropertyItemValue(propertyName: string, newValue: any): void; - private _id: string; - private _parentPaneId: string; - private _propertyItems: PropertyItem[]; - private _titleStringId: string; - set titleStringId(value: string); - private _titleAltText: string; - set titleAltText(value: string); - private _width: number; - private _propertyUXDispatcher: PropertyUXDispatcher; - findProperty(propertyName: string): PropertyItem; - findPropertyRecursive(propertyName: string): PropertyItem; - createPropertyPane(options: PaneOptions): PropertyPane; - removePropertyPane(paneToRemove: PropertyPane): boolean; - hide(): void; - show(): void; - addString & Record>(obj: T, property: K, options: PaneOptions): PropertyItem; - addBool & Record>(obj: T, property: K, options: BoolPaneOptions): PropertyItem; - addNumber & Record>(obj: T, property: K, options: NumberPaneOptions): PropertyItem; - addBlockPicker & Record>(obj: T, property: K, options: BlockPickerPaneOptions): PropertyItem; - addButton(action: Action, options: ButtonPaneOptions): PropertyItem; - addDropdown & Record>(obj: H, property: K, options: DropdownPaneOptions): PropertyItem; - addDivider(): PropertyItem; - addVector3 & Record>(obj: T, property: K, options: Vec3PaneOptions): PropertyItem; - } - class StatusBarItem extends BaseControl { - private _id: string; - private _text: string; - set text(value: string); - } - export interface MouseRay { - direction: Vector3; - location: Vector3; - cursorBlockLocation: Vector3; - rayHit: boolean; - } - export interface MouseProps { - mouseAction: MouseActionType; - modifiers: { - shift: boolean; - ctrl: boolean; - alt: boolean; - }; - inputType: MouseInputType; - } - export interface ActionPayload { - [ActionTypes.NoArgsAction]: () => void; - [ActionTypes.MouseRayCastAction]: (mouseRay: MouseRay, mouseProps: MouseProps) => void; - } - export interface CreateActionOptions { - actionType: T; - onExecute: ActionPayload[T]; - } - export interface Action { - id: string; - actionType: T; - onExecute: ActionPayload[T]; - } - /** - * @internal - */ - class ClientEventListener { - } - /** - * Implementation of the ActionManager - */ - class ActionManagerImpl { - eventDispatcher: ClientEventDispatcher; - eventListener: ClientEventListener; - player: Player; - createAction(options: CreateActionOptions): Action; - teardown(): void; - } - /** - * @beta - */ - class BaseInputManager { - eventDispatcher: ClientEventDispatcher; - unregisterAllBindings(): void; - } - /** - * @beta - */ - export class GlobalInputManager extends BaseInputManager { - registerKeyBinding(inputContextId: EditorInputContext, action: Action, button: KeyboardKey, modifier: InputModifier): void; - } - class BuiltInUIManagerImpl { - /** - * Updates the visibility of the log panel - */ - updateLogPanelVisibility(visibility: boolean): void; - /** - * Updates the visibility of the control demo - */ - updateUISettingsPanelVisibility(visibility: boolean): void; - /** - * Updates the visibility of the welcome panel - */ - updateWelcomePanelVisibility(visibility: boolean): void; - /** - * Navigates to the pause screen - */ - navigateToPauseScreen(): void; - /** - * Navigates to the documentation site - */ - navigateToDocumentation(): void; - /** - * Navigates to the feedback site - */ - navigateToFeedback(): void; - } - export interface DropdownItem { - displayAltText: string; - displayStringId?: string; - value: T; - } - export interface PaneOptions { - titleStringId?: string; - titleAltText?: string; - enable?: boolean; - visible?: boolean; - width?: number; - } - export interface BoolPaneOptions extends PaneOptions { - onChange?: (_obj: T, _property: K, _oldValue: boolean, _newValue: boolean) => void; - } - export interface BlockPickerPaneOptions extends PaneOptions { - allowedBlocks?: string[]; - } - export interface ButtonPaneOptions extends PaneOptions { - variant?: string; - } - export interface DropdownPaneOptions extends PaneOptions { - onChange?: (_obj: H, _property: K, _oldValue: T, _newValue: T) => void; - dropdownItems: DropdownItem[]; - } - export interface NumberPaneOptions extends PaneOptions { - min?: number; - max?: number; - showSlider?: boolean; - onChange?: (_obj: T, _property: K, _oldValue: number, _newValue: number) => void; - } - export interface Vec3PaneOptions extends PaneOptions { - minX: number; - minY: number; - minZ: number; - maxX?: number; - maxY?: number; - maxZ?: number; - onChange?: (_obj: object, _property: string, _oldValue: Vector3, _newValue: Vector3) => void; - } - /** - * Represents a UI session for a given player - * @internal - */ - class PlayerUISession{ - private _builtInUIManager: BuiltInUIManagerImpl; - private _actionManager: ActionManagerImpl; - private _modalToolContainer: ModalToolContainer; - private _clientUXListenerUnregister(): void; - private _extensionContext: ExtensionContext; - private _clientEventDispatcher: ClientEventDispatcher; - private _propertyPanes: Map; - private _eventSubscriptionCache: BedrockEventSubscriptionCache; - private _inputManager: GlobalInputManager; - private _logger: Logger; - private createPropertyPaneInternal(options: PaneOptions, parentPaneId: string): PropertyPane; - scratchStorage?: T; - teardown(): void; - get toolRail(): ModalToolContainer; - createMenu(props: MenuProps): Menu; - createPropertyPane(options: PaneOptions): PropertyPane; - createStatusBarItem(alignment: any, size: any): StatusBarItem; - get actionManager(): ActionManagerImpl; - get inputManager(): ContextInputManager; - get log(): Logger; - get extensionContext(): ExtensionContext; - get builtInUIManager(): BuiltInUIManagerImpl; - get eventSubscriptionCache(): BedrockEventSubscriptionCache; - } - /** - * The types of actions that are supported. This type corresponds to the expected arguments - * passed by the onExecute handler of an action. - * @beta - */ - export enum ActionTypes { - NoArgsAction = "NoArgsAction", - MouseRayCastAction = "MouseRayCastAction" - } - /** - * A cache for bedrock event subscriptions. Stores off a subscription by event key, and upon - * teardown unregisters all subscriptions. - * @beta - */ - export class BedrockEventSubscriptionCache { - constructor(mEvents: WorldAfterEvents); - /** - * Subcribes to a bedrock event using the key of the desired event. When subscribed, the event handler - * is both returned, but also cached internally for unsubscription. This means the caller of the subscription - * does not need to worry about unsubscription since the cache will automatically unsubscribe handlers - * on overall teardown. - * - * @param event - The event on the bedrock APIs to which to subscribe - * @param params - The parameters to the subscription method for the event. Auto complete will display this for you - */ - subscribeToBedrockEvent(event: T, ...params: Parameters): ReturnType; - teardown(): void; - private mEvents: WorldAfterEvents; - private subscribedEvents: object; - } - /** - * Type of item that can be added to the property pane - * @beta - */ - export enum EDITOR_PANE_PROPERTY_ITEM_TYPE { - Number = "editorUI:Number", - String = "editorUI:String", - Boolean = "editorUI:Boolean", - BlockPicker = "editorUI:BlockPicker", - Dropdown = "editorUI:Dropdown", - Divider = "editorUI:Divider", - SubPane = "editorUI:SubPane", - Action = "editorUI:Action", - Vec3 = "editorUI:Vec3" - } - /** - * @beta Global editor input contexts - */ - export enum EditorInputContext { - GlobalEditor = "global.editor", - GlobalToolMode = "global.toolMode", - Viewport = "local.toolMode.viewport" - } - /** - * Types of events that may be sent by the server to the client side UX. These events each have their own - * independent set of payloads in the message that may have a wide set of types of operations. This allows messages to - * be sent with an EventType and Payload, but with easy type safe deduction of the payload type leveraging - * discriminated unions and type fields. - * @internal - */ - export enum EditorServerEventType { - ServerActionEvents = "Editor::ServerActionEvents", - ServerInputBindingEvents = "Editor::ServerInputBindingEvents", - ServerUXEvents = "Editor::ServerUXEvents" - } - /** - * @beta - */ - export enum EditorStatusBarAlignment { - Right = 0, - Left = 1 - } - /** - * Input modifier flags to create chorded bindings - * @beta - */ - export enum InputModifier { - Unused = 0, - None = 1, - Alt = 2, - Control = 4, - Shift = 8, - Any = 15 - } - /** - * Keyboard Key Actions - * @beta - */ - export enum KeyInputType { - Press = 1, - Release = 2 - } - /** - * Keyboard key - Reference: https://developer.mozilla.org/en-US/docs/Web/API/KeyboardEvent/keyCode#constants_for_keycode_value - * @beta - */ - export enum KeyboardKey { - BACKSPACE = 8, - TAB = 9, - ENTER = 13, - SHIFT = 16, - CTRL = 17, - ALT = 18, - CAPS_LOCK = 20, - ESCAPE = 27, - SPACE = 32, - PAGE_UP = 33, - PAGE_DOWN = 34, - END = 35, - HOME = 36, - LEFT = 37, - UP = 38, - RIGHT = 39, - DOWN = 40, - PRINT_SCREEN = 44, - INSERT = 45, - DELETE = 46, - KEY_0 = 48, - KEY_1 = 49, - KEY_2 = 50, - KEY_3 = 51, - KEY_4 = 52, - KEY_5 = 53, - KEY_6 = 54, - KEY_7 = 55, - KEY_8 = 56, - KEY_9 = 57, - KEY_A = 65, - KEY_B = 66, - KEY_C = 67, - KEY_D = 68, - KEY_E = 69, - KEY_F = 70, - KEY_G = 71, - KEY_H = 72, - KEY_I = 73, - KEY_J = 74, - KEY_K = 75, - KEY_L = 76, - KEY_M = 77, - KEY_N = 78, - KEY_O = 79, - KEY_P = 80, - KEY_Q = 81, - KEY_R = 82, - KEY_S = 83, - KEY_T = 84, - KEY_U = 85, - KEY_V = 86, - KEY_W = 87, - KEY_X = 88, - KEY_Y = 89, - KEY_Z = 90, - NUMPAD_0 = 96, - NUMPAD_1 = 97, - NUMPAD_2 = 98, - NUMPAD_3 = 99, - NUMPAD_4 = 100, - NUMPAD_5 = 101, - NUMPAD_6 = 102, - NUMPAD_7 = 103, - NUMPAD_8 = 104, - NUMPAD_9 = 105, - NUMPAD_MULTIPLY = 106, - NUMPAD_ADD = 107, - NUMPAD_SEPARATOR = 108, - NUMPAD_SUBTRACT = 109, - NUMPAD_DECIMAL = 110, - NUMPAD_DIVIDE = 111, - F1 = 112, - F2 = 113, - F3 = 114, - F4 = 115, - F5 = 116, - F6 = 117, - F7 = 118, - F8 = 119, - F9 = 120, - F10 = 121, - F11 = 122, - F12 = 123, - COMMA = 188, - PERIOD = 190, - SLASH = 191, - BACK_QUOTE = 192, - BRACKET_OPEN = 219, - BACK_SLASH = 220, - BRACKET_CLOSE = 221, - QUOTE = 222 - } - /** - * Mouse device action categories - * @beta - */ - export enum MouseActionCategory { - Button = 1, - Wheel = 2, - Drag = 3 - } - /** - * Detailed mouse device actions - * @beta - */ - export enum MouseActionType { - LeftButton = 1, - MiddleButton = 2, - RightButton = 3, - Wheel = 4 - } - /** - * Input event information about mouse actions - * @beta - */ - export enum MouseInputType { - ButtonDown = 1, - ButtonUp = 2, - WheelIn = 3, - WheelOut = 4, - DragStart = 5, - Drag = 6, - DragEnd = 7 - } - /** - * The set of events that may be sent by the server side UI pertaining to actions - * @internal - */ - export enum ServerUXEventType { - UpdatePropertyPane = 1, - DestroyPropertyPane = 2, - UpdateMenu = 3, - DestroyMenu = 4, - UpdateStatusBarItem = 5, - DestroyStatusBarItem = 6, - UpdateModalToolOption = 7, - DestroyModalToolOption = 8, - UpdateModalToolContainer = 9, - DestroyModalToolContainer = 10, - BindActionToControl = 11, - RemoveActionBindingFromControl = 12, - UpdatePropertyItem = 13, - DestroyPropertyItem = 14, - OnNavigateFromEditor = 15, - UpdateControlDemoVisibility_deprecated = 16, - UpdateWelcomePanelVisibility_deprecated = 17, - UpdateClientPanelVisibility = 18 - } - /** - * Takes the input object and bind it to the pane. - * @beta - */ - export function bindDataSource(propertyPane: PropertyPane, target: T): T; - /** - * Executes an operation over a selection via chunks to allow splitting operation over multiple game ticks - * @param selection - the selection to iterator over - * @param operation - the operation to apply over each block location - * @beta - */ - export function executeLargeOperation(selection: Selection, operation: (blockLocation: Vector3) => void): Promise; - /** - * Adds the resource pack editor prefix and returns the full localization ID - * @beta - */ - export function getLocalizationId(locId: string): string; - /** - * Registers an editor extension into Minecraft. This function calls underlying functionality to register an extension but provides - * helpful and contextual wrappers for individual client lifetimes. The onActivation function is called whenever a client - * joins a session, while the shutdown is called when a client leaves. There may be other circumstances in which these are - * called as well based on client state that is an implementation detail of the system. - * - * The generic type parameter exists as a mechanism for provide generic player contextual storage of data on the IPlayerUISession - * object returned during activation. See IPlayerUISession for more information. - * - * @beta - */ - export function registerEditorExtension(extensionName: string, activationFunction?: (uiSession: PlayerUISession) => void, shutdownFunction?: (uiSession: PlayerUISession) => void, optionalParameters?: ExtensionOptionalParameters): Extension; - /** - * Interface for internal PlayerUISession class - */ - export interface IPlayerUISession extends PlayerUISession { - } - /** - * Interface for internal ModalTool class - */ - export interface IModalTool extends ModalTool { - } - /** - * Interface for internal PropertyPane class - */ - export interface IPropertyPane extends PropertyPane { - } - /** - * Interface for internal PropertyItem class - */ - export interface IPropertyItem extends PropertyItem { - } - /** - * Interface for internal Menu class - */ - export interface IMenu extends Menu { - } -} diff --git a/packages/minecraft-editor/LICENSE.txt b/packages/minecraft-editor/LICENSE.txt deleted file mode 100644 index 57036a0d..00000000 --- a/packages/minecraft-editor/LICENSE.txt +++ /dev/null @@ -1,21 +0,0 @@ -MIT License - -Copyright (c) Jayly. - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. \ No newline at end of file diff --git a/packages/minecraft-editor/README.md b/packages/minecraft-editor/README.md deleted file mode 100644 index 39719215..00000000 --- a/packages/minecraft-editor/README.md +++ /dev/null @@ -1,38 +0,0 @@ -# Minecraft Editor APIs - -Unofficial Minecraft: Bedrock Editor API modules type definitions. - -The type definition files are still work in progress. Until v0.4 releases along with official type definitions, this module will be used for type checking scripts that uses editor APIs in the [ScriptAPI](https://github.com/JaylyDev/ScriptAPI) GitHub repository. - -## Usage - -Install `@jayly/minecraft-editor` package in NPM, this installs type definition for all editor API modules. - -``` -npm install @jayly/minecraft-editor -``` - -Then you must include the following in TSConfig. This allows the editor API modules to be included without importing `@jayly/minecraft-editor` package. - -```json -{ - "compilerOptions": { - "types": ["minecraft-editor"], - "typeRoots": ["./node_modules/@jayly"], - }, -} -``` - -To test if this works, you can go on VSCode and type some variable names to see if auto complete will detect variable from modules: - -- `@minecraft/server-editor` - -![server_editor](https://media.discordapp.net/attachments/867015810312962063/1089631037010739220/image.png) - -- `@minecraft/server-editor-bindings` - -![server_editor_bindings](https://media.discordapp.net/attachments/867015810312962063/1089631135623028798/image.png) - -## Versioning - -Major to patch versions (`x.x.x`) represents Minecraft Editor API versions, revision version represents changes to type definitions in specific Minecraft editor version. diff --git a/packages/minecraft-editor/ThirdPartyNotice.txt b/packages/minecraft-editor/ThirdPartyNotice.txt deleted file mode 100644 index f93ee250..00000000 --- a/packages/minecraft-editor/ThirdPartyNotice.txt +++ /dev/null @@ -1,123 +0,0 @@ -------------------- unofficial-server-editor -------------------- -Creative Commons Legal Code - -CC0 1.0 Universal - - CREATIVE COMMONS CORPORATION IS NOT A LAW FIRM AND DOES NOT PROVIDE - LEGAL SERVICES. DISTRIBUTION OF THIS DOCUMENT DOES NOT CREATE AN - ATTORNEY-CLIENT RELATIONSHIP. CREATIVE COMMONS PROVIDES THIS - INFORMATION ON AN "AS-IS" BASIS. CREATIVE COMMONS MAKES NO WARRANTIES - REGARDING THE USE OF THIS DOCUMENT OR THE INFORMATION OR WORKS - PROVIDED HEREUNDER, AND DISCLAIMS LIABILITY FOR DAMAGES RESULTING FROM - THE USE OF THIS DOCUMENT OR THE INFORMATION OR WORKS PROVIDED - HEREUNDER. - -Statement of Purpose - -The laws of most jurisdictions throughout the world automatically confer -exclusive Copyright and Related Rights (defined below) upon the creator -and subsequent owner(s) (each and all, an "owner") of an original work of -authorship and/or a database (each, a "Work"). - -Certain owners wish to permanently relinquish those rights to a Work for -the purpose of contributing to a commons of creative, cultural and -scientific works ("Commons") that the public can reliably and without fear -of later claims of infringement build upon, modify, incorporate in other -works, reuse and redistribute as freely as possible in any form whatsoever -and for any purposes, including without limitation commercial purposes. -These owners may contribute to the Commons to promote the ideal of a free -culture and the further production of creative, cultural and scientific -works, or to gain reputation or greater distribution for their Work in -part through the use and efforts of others. - -For these and/or other purposes and motivations, and without any -expectation of additional consideration or compensation, the person -associating CC0 with a Work (the "Affirmer"), to the extent that he or she -is an owner of Copyright and Related Rights in the Work, voluntarily -elects to apply CC0 to the Work and publicly distribute the Work under its -terms, with knowledge of his or her Copyright and Related Rights in the -Work and the meaning and intended legal effect of CC0 on those rights. - -1. Copyright and Related Rights. A Work made available under CC0 may be -protected by copyright and related or neighboring rights ("Copyright and -Related Rights"). Copyright and Related Rights include, but are not -limited to, the following: - - i. the right to reproduce, adapt, distribute, perform, display, - communicate, and translate a Work; - ii. moral rights retained by the original author(s) and/or performer(s); -iii. publicity and privacy rights pertaining to a person's image or - likeness depicted in a Work; - iv. rights protecting against unfair competition in regards to a Work, - subject to the limitations in paragraph 4(a), below; - v. rights protecting the extraction, dissemination, use and reuse of data - in a Work; - vi. database rights (such as those arising under Directive 96/9/EC of the - European Parliament and of the Council of 11 March 1996 on the legal - protection of databases, and under any national implementation - thereof, including any amended or successor version of such - directive); and -vii. other similar, equivalent or corresponding rights throughout the - world based on applicable law or treaty, and any national - implementations thereof. - -2. Waiver. To the greatest extent permitted by, but not in contravention -of, applicable law, Affirmer hereby overtly, fully, permanently, -irrevocably and unconditionally waives, abandons, and surrenders all of -Affirmer's Copyright and Related Rights and associated claims and causes -of action, whether now known or unknown (including existing as well as -future claims and causes of action), in the Work (i) in all territories -worldwide, (ii) for the maximum duration provided by applicable law or -treaty (including future time extensions), (iii) in any current or future -medium and for any number of copies, and (iv) for any purpose whatsoever, -including without limitation commercial, advertising or promotional -purposes (the "Waiver"). Affirmer makes the Waiver for the benefit of each -member of the public at large and to the detriment of Affirmer's heirs and -successors, fully intending that such Waiver shall not be subject to -revocation, rescission, cancellation, termination, or any other legal or -equitable action to disrupt the quiet enjoyment of the Work by the public -as contemplated by Affirmer's express Statement of Purpose. - -3. Public License Fallback. Should any part of the Waiver for any reason -be judged legally invalid or ineffective under applicable law, then the -Waiver shall be preserved to the maximum extent permitted taking into -account Affirmer's express Statement of Purpose. In addition, to the -extent the Waiver is so judged Affirmer hereby grants to each affected -person a royalty-free, non transferable, non sublicensable, non exclusive, -irrevocable and unconditional license to exercise Affirmer's Copyright and -Related Rights in the Work (i) in all territories worldwide, (ii) for the -maximum duration provided by applicable law or treaty (including future -time extensions), (iii) in any current or future medium and for any number -of copies, and (iv) for any purpose whatsoever, including without -limitation commercial, advertising or promotional purposes (the -"License"). The License shall be deemed effective as of the date CC0 was -applied by Affirmer to the Work. Should any part of the License for any -reason be judged legally invalid or ineffective under applicable law, such -partial invalidity or ineffectiveness shall not invalidate the remainder -of the License, and in such case Affirmer hereby affirms that he or she -will not (i) exercise any of his or her remaining Copyright and Related -Rights in the Work or (ii) assert any associated claims and causes of -action with respect to the Work, in either case contrary to Affirmer's -express Statement of Purpose. - -4. Limitations and Disclaimers. - - a. No trademark or patent rights held by Affirmer are waived, abandoned, - surrendered, licensed or otherwise affected by this document. - b. Affirmer offers the Work as-is and makes no representations or - warranties of any kind concerning the Work, express, implied, - statutory or otherwise, including without limitation warranties of - title, merchantability, fitness for a particular purpose, non - infringement, or the absence of latent or other defects, accuracy, or - the present or absence of errors, whether or not discoverable, all to - the greatest extent permissible under applicable law. - c. Affirmer disclaims responsibility for clearing rights of other persons - that may apply to the Work or any use thereof, including without - limitation any person's Copyright and Related Rights in the Work. - Further, Affirmer disclaims responsibility for obtaining any necessary - consents, permissions or other rights required for any use of the - Work. - d. Affirmer understands and acknowledges that Creative Commons is not a - party to this document and has no duty or obligation with respect to - this CC0 or use of the Work. -------------------------------------------------------------------------------------- \ No newline at end of file diff --git a/packages/minecraft-editor/index.d.ts b/packages/minecraft-editor/index.d.ts deleted file mode 100644 index 7f197df5..00000000 --- a/packages/minecraft-editor/index.d.ts +++ /dev/null @@ -1,5 +0,0 @@ -// Type definitions for Minecraft Bedrock Edition editor APIs 0.3 -// Project: https://github.com/JaylyDev/ScriptAPI -// Definitions by: Jayly -/// -/// diff --git a/packages/minecraft-editor/package-lock.json b/packages/minecraft-editor/package-lock.json deleted file mode 100644 index 378a8863..00000000 --- a/packages/minecraft-editor/package-lock.json +++ /dev/null @@ -1,28 +0,0 @@ -{ - "name": "@jayly/minecraft-editor", - "version": "0.3.7-0", - "lockfileVersion": 2, - "requires": true, - "packages": { - "": { - "name": "@jayly/minecraft-editor", - "version": "0.3.7-0", - "license": "MIT", - "dependencies": { - "@minecraft/server": "1.4.0-beta.1.20.10-preview.23" - } - }, - "node_modules/@minecraft/server": { - "version": "1.4.0-beta.1.20.10-preview.23", - "resolved": "https://registry.npmjs.org/@minecraft/server/-/server-1.4.0-beta.1.20.10-preview.23.tgz", - "integrity": "sha512-FWVpE1L4t9JJnV17xzd1epA7eYBJHjaSaYVwAuSwcdU2Bo/EKjRP0V4lDpzvM1LvFvtZDccfJg2Z3ononrfmEQ==" - } - }, - "dependencies": { - "@minecraft/server": { - "version": "1.4.0-beta.1.20.10-preview.23", - "resolved": "https://registry.npmjs.org/@minecraft/server/-/server-1.4.0-beta.1.20.10-preview.23.tgz", - "integrity": "sha512-FWVpE1L4t9JJnV17xzd1epA7eYBJHjaSaYVwAuSwcdU2Bo/EKjRP0V4lDpzvM1LvFvtZDccfJg2Z3ononrfmEQ==" - } - } -} diff --git a/packages/minecraft-editor/package.json b/packages/minecraft-editor/package.json deleted file mode 100644 index 69b7d189..00000000 --- a/packages/minecraft-editor/package.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "name": "@jayly/minecraft-editor", - "version": "0.3.7-0", - "description": "Unofficial Minecraft Bedrock Editor API modules type definitions.", - "types": "index.d.ts", - "main": "", - "repository": { - "type": "git", - "url": "git+https://github.com/JaylyDev/ScriptAPI.git" - }, - "author": "Jayly", - "license": "MIT", - "bugs": { - "url": "https://github.com/JaylyDev/ScriptAPI/issues" - }, - "homepage": "https://github.com/JaylyDev/ScriptAPI#readme", - "dependencies": { - "@minecraft/server": "1.4.0-beta.1.20.10-preview.23" - } -} diff --git a/packages/minecraft-editor/tsconfig.json b/packages/minecraft-editor/tsconfig.json deleted file mode 100644 index c9bb26e9..00000000 --- a/packages/minecraft-editor/tsconfig.json +++ /dev/null @@ -1,13 +0,0 @@ -{ - "compilerOptions": { - "module": "ES2022", - "lib": ["es6"], - "declaration": true, - "esModuleInterop": true, - "moduleResolution": "node", - "target": "esnext", - "forceConsistentCasingInFileNames": true, - "strict": true, - }, - "files": ["index.d.ts", "@minecraft/server-editor.d.ts", "@minecraft/server-editor-bindings.d.ts"] -} diff --git a/scripts/anti-32k-event/index.ts b/scripts/anti-32k-event/index.ts index 5b5854a6..76842e66 100644 --- a/scripts/anti-32k-event/index.ts +++ b/scripts/anti-32k-event/index.ts @@ -2,7 +2,7 @@ // Author: JaylyMC // Project: https://github.com/JaylyDev/ScriptAPI -import { Enchantment, Entity, EntityInventoryComponent, ItemEnchantableComponent, ItemStack, system, TicksPerSecond, world } from '@minecraft/server'; +import { Entity, EntityInventoryComponent, ItemStack, system, TicksPerSecond, world } from '@minecraft/server'; /** * Represents an event indicating incompatible enchantments on an item. diff --git a/scripts/anti-32k/index.ts b/scripts/anti-32k/index.ts index 3641b325..47363f6b 100644 --- a/scripts/anti-32k/index.ts +++ b/scripts/anti-32k/index.ts @@ -21,9 +21,7 @@ const { world, system } = mc; function onTick() { for (const player of world.getPlayers()) { - /** @type {mc.EntityInventoryComponent} */ - // @ts-ignore - const inventory = player.getComponent("minecraft:inventory"); + const inventory = player.getComponent("minecraft:inventory") as mc.EntityInventoryComponent; const { container, inventorySize } = inventory; if (container.emptySlotsCount == inventorySize) continue; for (let slot = 0; slot < inventorySize; slot++) { From 6fa5753fa9977d981a5a05acabcc3c344ddaf4cb Mon Sep 17 00:00:00 2001 From: Jayly <65847850+JaylyDev@users.noreply.github.com> Date: Thu, 9 May 2024 16:34:20 +0100 Subject: [PATCH 20/20] 1.11 --- package-lock.json | 8 ++++---- package.json | 4 +++- scripts/anti-32k-event/index.ts | 7 ++++--- scripts/anti-32k/index.ts | 2 +- 4 files changed, 12 insertions(+), 9 deletions(-) diff --git a/package-lock.json b/package-lock.json index e7dbcd51..585fc78e 100644 --- a/package-lock.json +++ b/package-lock.json @@ -10,7 +10,6 @@ "license": "MIT", "dependencies": { "@minecraft/math": "^1.3.5", - "@minecraft/server": "^1.10.0", "@minecraft/server-ui": "^1.1.0", "@minecraft/vanilla-data": "^1.20.50" }, @@ -37,9 +36,10 @@ } }, "node_modules/@minecraft/server": { - "version": "1.10.0", - "resolved": "https://registry.npmjs.org/@minecraft/server/-/server-1.10.0.tgz", - "integrity": "sha512-liBalm1XKMtf7LPyKZ4VcuwxAbprKcAHnG6b0VUdULezOz/RFj2gqmfyA0qE8azMMa8KVPmnl7hYq4KjoGZmmA==", + "version": "1.11.0-rc.1.21.0-preview.25", + "resolved": "https://registry.npmjs.org/@minecraft/server/-/server-1.11.0-rc.1.21.0-preview.25.tgz", + "integrity": "sha512-gkqNxw5vl2cjvlqmjy/JeCpc2mBPj/ER8E6W/x7Tx4hFSDRxGeg9TqOOr0bHFgeeSNFXQWtZVwpDEbYKT6acpw==", + "peer": true, "dependencies": { "@minecraft/common": "^1.1.0" } diff --git a/package.json b/package.json index 3a972b82..53f11aff 100644 --- a/package.json +++ b/package.json @@ -18,9 +18,11 @@ "url": "https://github.com/JaylyDev/ScriptAPI/issues" }, "homepage": "https://github.com/JaylyDev/ScriptAPI#readme", + "overrides": { + "@minecraft/server": "^1.11.0-rc.1.21.0-preview.25" + }, "dependencies": { "@minecraft/math": "^1.3.5", - "@minecraft/server": "^1.10.0", "@minecraft/server-ui": "^1.1.0", "@minecraft/vanilla-data": "^1.20.50" }, diff --git a/scripts/anti-32k-event/index.ts b/scripts/anti-32k-event/index.ts index 76842e66..46970a41 100644 --- a/scripts/anti-32k-event/index.ts +++ b/scripts/anti-32k-event/index.ts @@ -2,7 +2,7 @@ // Author: JaylyMC // Project: https://github.com/JaylyDev/ScriptAPI -import { Entity, EntityInventoryComponent, ItemStack, system, TicksPerSecond, world } from '@minecraft/server'; +import { Enchantment, Entity, EntityInventoryComponent, ItemEnchantableComponent, ItemStack, system, TicksPerSecond, world } from '@minecraft/server'; /** * Represents an event indicating incompatible enchantments on an item. @@ -43,12 +43,13 @@ class IncompatibleEnchantmentAlertEventSignal { subscribe(callback: (arg0: IncompatibleEnchantmentAlertEvent) => void): number { return system.runInterval(function () { for (const player of world.getAllPlayers()) { - const inventory = player.getComponent(EntityInventoryComponent.componentId); + const inventory = player.getComponent(EntityInventoryComponent.componentId) as EntityInventoryComponent; for (let index = 0; index < inventory.container.size; index++) { const item = inventory.container.getItem(index); if (!item) continue; - const enchantable = item.getComponent(ItemEnchantableComponent.componentId); + const enchantable = item.getComponent(ItemEnchantableComponent.componentId) as ItemEnchantableComponent; + if (!enchantable) continue; for (const enchantment of enchantable.getEnchantments()) { const enchantmentIsIncompatible = enchantable.canAddEnchantment(enchantment) === false; diff --git a/scripts/anti-32k/index.ts b/scripts/anti-32k/index.ts index 47363f6b..dbc0e8fc 100644 --- a/scripts/anti-32k/index.ts +++ b/scripts/anti-32k/index.ts @@ -27,7 +27,7 @@ function onTick() { for (let slot = 0; slot < inventorySize; slot++) { const item = container.getItem(slot); if (!item) continue; - const enchantable = item.getComponent("minecraft:enchantable"); + const enchantable = item.getComponent("minecraft:enchantable") as mc.ItemEnchantableComponent; if (!enchantable) continue; for (const enchantment of enchantable.getEnchantments()) { if (enchantable.canAddEnchantment(enchantment)) continue;