rename methods

This commit is contained in:
tresabhi committed 2026-08-30 14:26:08 -05:00
1 parent ec161addab
commit 5f737d940d
111 files changed
+563 -413

No files matched your search

+15 -10
View File
@@ -12,14 +12,19 @@ import {
} from "@blitzkit/core";
export abstract class BlitzKitAPI {
abstract skillDefinitions(): Promise<SkillDefinitions>;
abstract provisionDefinitions(): Promise<ProvisionDefinitions>;
abstract consumableDefinitions(): Promise<ConsumableDefinitions>;
abstract equipmentDefinitions(): Promise<EquipmentDefinitions>;
abstract mapDefinitions(): Promise<MapDefinitions>;
abstract modelDefinitions(): Promise<ModelDefinitions>;
abstract camouflageDefinitions(): Promise<CamouflageDefinitions>;
abstract tankDefinitions(): Promise<TankDefinitions>;
abstract gameDefinitions(): Promise<GameDefinitions>;
abstract galleryDefinitions(): Promise<Gallery>;
abstract skills(): Promise<SkillDefinitions>;
abstract provisions(): Promise<ProvisionDefinitions>;
abstract consumables(): Promise<ConsumableDefinitions>;
abstract equipments(): Promise<EquipmentDefinitions>;
abstract maps(): Promise<MapDefinitions>;
abstract models(): Promise<ModelDefinitions>;
abstract camouflages(): Promise<CamouflageDefinitions>;
abstract tanks(): Promise<TankDefinitions>;
abstract game(): Promise<GameDefinitions>;
abstract gallery(): Promise<Gallery>;
async tank(id: number) {
const tanks = await this.tanks();
return tanks.tanks[id];
}
}
+10 -10
View File
@@ -15,55 +15,55 @@ import {
import { BlitzKitAPI } from "./base";
export class ClientBlitzKitAPI extends BlitzKitAPI {
gameDefinitions() {
game() {
return fetchPB(alias("api", "/definitions/game.pb"), GameDefinitions);
}
consumableDefinitions() {
consumables() {
return fetchPB(
alias("api", "/definitions/consumables.pb"),
ConsumableDefinitions,
);
}
tankDefinitions() {
tanks() {
return fetchPB(alias("api", "/definitions/tanks.pb"), TankDefinitions);
}
camouflageDefinitions() {
camouflages() {
return fetchPB(
alias("api", "/definitions/camouflage.pb"),
CamouflageDefinitions,
);
}
provisionDefinitions() {
provisions() {
return fetchPB(
alias("api", "/definitions/provisions.pb"),
ProvisionDefinitions,
);
}
modelDefinitions() {
models() {
return fetchPB(alias("api", "/definitions/models.pb"), ModelDefinitions);
}
skillDefinitions() {
skills() {
return fetchPB(alias("api", "/definitions/skills.pb"), SkillDefinitions);
}
equipmentDefinitions() {
equipments() {
return fetchPB(
alias("api", "/definitions/equipment.pb"),
EquipmentDefinitions,
);
}
galleryDefinitions() {
gallery() {
return fetchPB(alias("api", "/definitions/gallery.pb"), Gallery);
}
mapDefinitions() {
maps() {
return fetchPB(alias("api", "/definitions/maps.pb"), MapDefinitions);
}
}
+21
View File
@@ -0,0 +1,21 @@
import { AbstractVFS, BlitzKitAPI } from "@blitzkit/core";
export async function createDynamicAPI(vfs: AbstractVFS) {
let _api: BlitzKitAPI;
if (import.meta.env.SSR) {
const { ServerBlitzKitAPI } = await import(
"@blitzkit/core/src/blitzkit/api/server/index"
);
_api = await new ServerBlitzKitAPI(vfs).init();
} else {
const { ClientBlitzKitAPI } = await import(
"@blitzkit/core/src/blitzkit/api/client"
);
_api = new ClientBlitzKitAPI();
}
return _api;
}
+4
View File
@@ -0,0 +1,4 @@
export * from "./base";
export * from "./client";
export * from "./dynamic";
export * from "./server";
@@ -27,11 +27,14 @@ import {
import { AbstractVFS } from "@blitzkit/core/src/blitzkit/vfs/abstract";
import { SUPPORTED_LOCALE_BLITZ_MAP } from "@blitzkit/i18n";
import locales from "@blitzkit/i18n/locales.json";
import type { extname, parse } from "node:path";
import { parse as parseYaml } from "yaml";
import { BlitzKitAPI } from "../base";
export abstract class ServerBlitzKitAPI0 extends BlitzKitAPI {
protected vfs: AbstractVFS;
protected parsePath?: typeof parse;
protected extname?: typeof extname;
protected nationSlugDiscriminators = {
china: "cn",
@@ -109,11 +112,18 @@ export abstract class ServerBlitzKitAPI0 extends BlitzKitAPI {
constructor(vfs: AbstractVFS) {
super();
this.vfs = vfs;
}
async init() {
console.log("Initializing virtual file system...");
const path = await import("node:path");
this.extname = path.extname;
this.parsePath = path.parse;
await this.vfs.init();
console.log("Fetching game data...");
@@ -1,12 +1,11 @@
import { Avatar, fetchGlossary, Gallery } from "@blitzkit/core";
import locales from "@blitzkit/i18n/locales.json";
import { extname } from "path";
import { Cache } from "./0_base";
import { ServerBlitzKitAPI9 } from "./9_gameDefinitions";
import { ServerBlitzKitAPI9 } from "./9_game";
export abstract class ServerBlitzKitAPI10 extends ServerBlitzKitAPI9 {
@Cache()
async galleryDefinitions() {
async gallery() {
const avatars: Record<string, { avatar: Avatar; url: string }> = {};
await Promise.all(
@@ -34,7 +33,7 @@ export abstract class ServerBlitzKitAPI10 extends ServerBlitzKitAPI9 {
avatars[key].avatar.name!.locales[supported.locale] =
glossaryEntry.title;
} else {
const extension = extname(glossaryEntry.image_url);
const extension = this.extname!(glossaryEntry.image_url);
avatars[key] = {
url: glossaryEntry.image_url,
@@ -47,7 +47,7 @@ export abstract class ServerBlitzKitAPI1 extends ServerBlitzKitAPI0 {
}
@Cache()
async tankDefinitions() {
async tanks() {
const tankDefinitions = TankDefinitions.create();
const gameModeNativeNames: Record<string, number> = {};
@@ -1,10 +1,10 @@
import { CamouflageDefinitions } from "@blitzkit/core";
import { Cache } from "./0_base";
import { ServerBlitzKitAPI1 } from "./1_tankDefinitions";
import { ServerBlitzKitAPI1 } from "./1_tanks";
export abstract class ServerBlitzKitAPI2 extends ServerBlitzKitAPI1 {
@Cache()
async camouflageDefinitions() {
async camouflages() {
const camouflageDefinitions = CamouflageDefinitions.create();
for (const camoKey in this.camouflagesXml!.root.camouflages) {
@@ -6,7 +6,6 @@ import {
EngineDefinitionsList,
GunDefinitionsList,
ModelDefinitions,
ResearchCost,
TankParameters,
toUniqueId,
TurretDefinitionsList,
@@ -15,10 +14,9 @@ import {
VehicleDefinitionList,
VehicleDefinitions,
} from "@blitzkit/core";
import { Cache } from "./0_base";
import { ServerBlitzKitAPI2 } from "./2_camouflageDefinitions";
import { parse as parsePath } from "path";
import { Vector3Tuple } from "three";
import { Cache } from "./0_base";
import { ServerBlitzKitAPI2 } from "./2_camouflages";
export abstract class ServerBlitzKitAPI3 extends ServerBlitzKitAPI2 {
private vector3TupleToBlitzkit(tuple: Vector3Tuple) {
@@ -42,7 +40,7 @@ export abstract class ServerBlitzKitAPI3 extends ServerBlitzKitAPI2 {
}
@Cache()
async modelDefinitions() {
async models() {
const modelDefinitions = ModelDefinitions.create();
for (const nation of this.nationsDir!) {
@@ -65,10 +63,6 @@ export abstract class ServerBlitzKitAPI3 extends ServerBlitzKitAPI2 {
for (const tankKey in tankList.root) {
if (this.botPattern.test(tankKey)) continue;
const gunXps = new Map<number, ResearchCost>();
const turretXps = new Map<number, ResearchCost>();
const engineXps = new Map<number, ResearchCost>();
const trackXps = new Map<number, ResearchCost>();
const tank = tankList.root[tankKey];
const tankDefinition = await this.vfs.xml<{ root: VehicleDefinitions }>(
`Data/XML/item_defs/vehicles/${nation}/${tankKey}.xml`,
@@ -181,7 +175,7 @@ export abstract class ServerBlitzKitAPI3 extends ServerBlitzKitAPI2 {
Object.keys(tankDefinition.root.turrets0).forEach((turretKey) => {
const turret = tankDefinition.root.turrets0[turretKey];
const turretModel = Number(
parsePath(turret.models.undamaged).name.split("_")[1],
this.parsePath!(turret.models.undamaged).name.split("_")[1],
);
const turretId = toUniqueId(nation, turretList.root.ids[turretKey]);
const turretYaw = (
@@ -229,12 +223,16 @@ export abstract class ServerBlitzKitAPI3 extends ServerBlitzKitAPI2 {
bounding_box: {
min: this.vector3TupleToBlitzkit(
tankParameters.collision[
parsePath(turret.hitTester.collisionModel).name.toLowerCase()
this.parsePath!(
turret.hitTester.collisionModel,
).name.toLowerCase()
].bbox.min,
),
max: this.vector3TupleToBlitzkit(
tankParameters.collision[
parsePath(turret.hitTester.collisionModel).name.toLowerCase()
this.parsePath!(
turret.hitTester.collisionModel,
).name.toLowerCase()
].bbox.max,
),
},
@@ -253,7 +251,7 @@ export abstract class ServerBlitzKitAPI3 extends ServerBlitzKitAPI2 {
.split(" ")
.map(Number) as [number, number];
const gunModel = Number(
parsePath(gun.models.undamaged).name.split("_")[1],
this.parsePath!(gun.models.undamaged).name.split("_")[1],
);
const front = gun.extraPitchLimits?.front
? gun.extraPitchLimits.front.split(" ").map(Number)
@@ -1,10 +1,10 @@
import { MapDefinitions } from "@blitzkit/core";
import { Cache } from "./0_base";
import { ServerBlitzKitAPI3 } from "./3_modelDefinitions";
import { ServerBlitzKitAPI3 } from "./3_models";
export abstract class ServerBlitzKitAPI4 extends ServerBlitzKitAPI3 {
@Cache()
async mapDefinitions() {
async maps() {
const mapDefinitions = MapDefinitions.create();
for (const key in this.mapsYaml!.maps) {
@@ -1,10 +1,10 @@
import { EquipmentDefinitions, EquipmentSlot } from "@blitzkit/core";
import { Cache } from "./0_base";
import { ServerBlitzKitAPI4 } from "./4_mapDefinitions";
import { ServerBlitzKitAPI4 } from "./4_maps";
export abstract class ServerBlitzKitAPI5 extends ServerBlitzKitAPI4 {
@Cache()
async equipmentDefinitions() {
async equipments() {
const equipmentDefinitions = EquipmentDefinitions.create();
Object.entries(this.optionalDevices!.root).forEach(
@@ -4,11 +4,11 @@ import {
ConsumableDefinitions,
} from "@blitzkit/core";
import { Cache } from "./0_base";
import { ServerBlitzKitAPI5 } from "./5_equipmentDefinitions";
import { ServerBlitzKitAPI5 } from "./5_equipments";
export abstract class ServerBlitzKitAPI6 extends ServerBlitzKitAPI5 {
@Cache()
async consumableDefinitions() {
async consumables() {
const consumableDefinitions = ConsumableDefinitions.create();
Object.entries(this.consumablesCommon).forEach(([key, consumable]) => {
@@ -4,11 +4,11 @@ import {
ProvisionDefinitions,
} from "@blitzkit/core";
import { Cache } from "./0_base";
import { ServerBlitzKitAPI6 } from "./6_consumableDefinitions";
import { ServerBlitzKitAPI6 } from "./6_consumables";
export abstract class ServerBlitzKitAPI7 extends ServerBlitzKitAPI6 {
@Cache()
async provisionDefinitions() {
async provisions() {
const provisionDefinitions = ProvisionDefinitions.create();
Object.entries(this.provisionsCommon).forEach(([, provision]) => {
@@ -1,11 +1,11 @@
import { BlitzTankClass, SkillDefinitions } from "@blitzkit/core";
import { Cache } from "./0_base";
import { ServerBlitzKitAPI7 } from "./7_provisionDefinitions";
import { ServerBlitzKitAPI7 } from "./7_provisions";
export abstract class ServerBlitzKitAPI8 extends ServerBlitzKitAPI7 {
@Cache()
async skillDefinitions() {
async skills() {
const skillDefinitions = SkillDefinitions.create();
for (const tankClass in this.tankmenAvatar!.root.skillsByClasses) {
@@ -1,11 +1,11 @@
import { AvailableNationsYaml, GameDefinitions } from "@blitzkit/core";
import { Cache } from "./0_base";
import { ServerBlitzKitAPI8 } from "./8_skillDefinitions";
import { ServerBlitzKitAPI8 } from "./8_skills";
export abstract class ServerBlitzKitAPI9 extends ServerBlitzKitAPI8 {
@Cache()
async gameDefinitions() {
async game() {
const gameDefinitions = GameDefinitions.create();
const consumableNativeNames: Record<string, number> = {};
@@ -1,3 +1,3 @@
import { ServerBlitzKitAPI10 } from "@blitzkit/core/src/blitzkit/api/server/10_galleryDefinitions";
import { ServerBlitzKitAPI10 } from "./10_avatars";
export class ServerBlitzKitAPI extends ServerBlitzKitAPI10 {}
@@ -10,7 +10,7 @@ export interface AverageDefinitionsManifest {
latest: number;
}
export async function fetchAverageDefinitions() {
export async function fetchAverage() {
return await fetchPB(staticAsset("averages.pb"), AverageDefinitions);
}
@@ -6,7 +6,7 @@ export interface DiscoveredIdsDefinitions {
count: number;
}
export async function fetchDiscoveredIdsDefinitions() {
export async function fetchDiscoveredIds() {
const response = await fetch(staticAsset("ids/manifest.json"));
return response.json() as Promise<DiscoveredIdsDefinitions>;
}
+2
View File
@@ -1,4 +1,5 @@
export * from "./alias";
export * from "./api";
export * from "./assertSecret";
export * from "./availableProvisions";
export * from "./averageDefinitions";
@@ -30,5 +31,6 @@ export * from "./tankNames";
export * from "./unionBoundingBox";
export * from "./uniqueGuns";
export * from "./unwrapBlitzkitResponse";
export * from "./vfs";
export * from "./votes";
export * from "./youtubers";
+2 -2
View File
@@ -5,8 +5,8 @@ import { I18nString } from "../protos";
export async function fetchTankNames(api: BlitzKitAPI) {
const [tankDefinitions, camouflageDefinitions] = await Promise.all([
api.tankDefinitions(),
api.camouflageDefinitions(),
api.tanks(),
api.camouflages(),
]);
const tankDefinitionsArray = Object.values(tankDefinitions.tanks);
+5
View File
@@ -0,0 +1,5 @@
export * from "./abstract";
export * from "./local";
export * from "./mixed";
export * from "./steam";
export * from "./zip";