initial commit

This commit is contained in:
2025-06-07 13:15:42 +09:00
commit 61b94cb63e
4 changed files with 115 additions and 0 deletions

3
.gitignore vendored Normal file
View File

@@ -0,0 +1,3 @@
dist/**/*
node_modules
pnpm-lock.yaml

30
package.json Normal file
View File

@@ -0,0 +1,30 @@
{
"name": "computercraft-vs",
"version": "1.0.0",
"description": "",
"license": "ISC",
"author": "",
"type": "commonjs",
"types": "./types/index.d.ts",
"main": "./dist/main",
"files": [
"dist/**/*.lua",
"dist/**/*.d.ts"
],
"scripts": {
"build": "tstl"
},
"devDependencies": {
"@eslint/js": "^9.27.0",
"@typescript-to-lua/language-extensions": "^1.19.0",
"computercraft-ts": "latest",
"eslint": "^9.27.0",
"globals": "^16.2.0",
"luamin": "^1.0.4",
"typescript": "^5.8.3",
"typescript-eslint": "^8.33.0",
"typescript-to-lua": "^1.31.1",
"typescript-tstl-plugin": "^0.3.2"
},
"packageManager": "pnpm@10.11.0+sha512.6540583f41cc5f628eb3d9773ecee802f4f9ef9923cc45b69890fb47991d4b092964694ec3a4f738a420c918a333062c8b925d312f42e4f0c263eb603551f977"
}

20
tsconfig.json Normal file
View File

@@ -0,0 +1,20 @@
{
"$schema": "https://raw.githubusercontent.com/TypeScriptToLua/TypeScriptToLua/master/tsconfig-schema.json",
"compilerOptions": {
"target": "ESNext",
"lib": ["ESNext"],
"moduleResolution": "Node",
"types": ["computercraft-ts", "@typescript-to-lua/language-extensions"],
"strict": true,
"declaration": true,
"outDir": "dist/",
"rootDir": "src/",
"noImplicitAny": false
},
"tstl": {
"luaTarget": "JIT",
"buildMode": "library",
"noImplicitSelf": true
},
"include": ["src/**/*"]
}

62
types/index.d.ts vendored Normal file
View File

@@ -0,0 +1,62 @@
export {};
declare global {
type ShipVec3 = { x: number; y: number; z: number };
type ShipQuaternion = { x: number; y: number; z: number; w: number };
namespace ship {
function getMass(): number;
function getWorldspacePosition(): ShipVec3;
function getShipyardPosition(): ShipVec3;
function getScale(): ShipVec3;
function getQuaternion(): ShipQuaternion;
function getRoll(): number;
function getPitch(): number;
function getYaw(): number;
function getVelocity(): ShipVec3;
function getId(): number;
function getOmega(): ShipVec3;
function isStatic(): boolean;
function getSize(): ShipVec3;
function getName(): string;
function setName(name: string): void;
function applyInvariantForce(
xForce: number,
yForce: number,
zForce: number,
): void;
function applyInvariantForceAtPos(
xForce: number,
yForce: number,
zForce: number,
xPos: number,
yPos: number,
zPos: number,
): void;
function applyInvariantTorque(
xTorque: number,
yTorque: number,
zTorque: number,
): void;
function applyRotDependentForce(
xForce: number,
yForce: number,
zForce: number,
): void;
function applyRotDependentForceAtPos(
xForce: number,
yForce: number,
zForce: number,
xPos: number,
yPos: number,
zPos: number,
): void;
function applyRotDependentTorque(
xTorque: number,
yTorque: number,
zForce: number,
): void;
function setStatic(isStatic: boolean): void;
function setScale(scale: number): void;
}
}