From b13a116cd4d6ac98edce9389144ba439f53d24ef Mon Sep 17 00:00:00 2001 From: Aelita4 Date: Sun, 25 Aug 2024 23:34:37 +0200 Subject: [PATCH] Move all lib-data to database --- public/images/buildings/shipyard.jpeg | Bin 0 -> 44351 bytes public/images/ships/fighter.jpeg | Bin 0 -> 30153 bytes public/images/ships/transporter.jpeg | Bin 0 -> 30849 bytes src/components/ResourceBar.astro | 9 +- src/lib/data/research.json | 144 ---------------------- src/lib/data/resources.json | 49 -------- src/lib/data/ships.json | 57 --------- src/lib/db/mongodb.ts | 10 ++ src/lib/db/planets.ts | 4 +- src/lib/db/resources.ts | 12 ++ src/lib/db/ships.ts | 12 ++ src/lib/utils/resourceManager.ts | 10 +- src/pages/api/build/createBuilding.ts | 2 +- src/pages/api/research/performResearch.ts | 24 ++-- src/pages/game/research.astro | 1 - src/pages/game/ships.astro | 139 ++++++++++++++++++--- src/types/DBResource.ts | 9 +- src/types/DBShip.ts | 20 +++ src/types/Planet.ts | 4 +- src/types/PlayerResource.ts | 6 + 20 files changed, 215 insertions(+), 297 deletions(-) create mode 100644 public/images/buildings/shipyard.jpeg create mode 100644 public/images/ships/fighter.jpeg create mode 100644 public/images/ships/transporter.jpeg delete mode 100644 src/lib/data/research.json delete mode 100644 src/lib/data/resources.json delete mode 100644 src/lib/data/ships.json create mode 100644 src/lib/db/resources.ts create mode 100644 src/lib/db/ships.ts create mode 100644 src/types/DBShip.ts create mode 100644 src/types/PlayerResource.ts diff --git a/public/images/buildings/shipyard.jpeg b/public/images/buildings/shipyard.jpeg new file mode 100644 index 0000000000000000000000000000000000000000..c14b9c84959b72b2909c997497f1e7abaa725503 GIT binary patch literal 44351 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

opT3=>WccIxl?TdDzd*sdc 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 U00b*52cy>cX<#v~@bCNo2lVVVkpKVy literal 0 HcmV?d00001 diff --git a/public/images/ships/transporter.jpeg b/public/images/ships/transporter.jpeg new file mode 100644 index 0000000000000000000000000000000000000000..a6a099d3e28b933a58af3e3ed84ca562f526bdf2 GIT binary patch literal 30849 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 {resourceArray.map(res =>

x.name === res.name)?.type ?? "solid"} + data-res-type={resourceTypes.find(x => x.id === res.name)?.type ?? "solid"} data-res-amount={res.amount} data-res-mining-rate={res.perHourMiningRate} - style={(resourceTypes.find(x => x.name === res.name)?.type ?? "solid") === "solid" ? "" : "display: none;"} + style={(resourceTypes.find(x => x.id === res.name)?.type ?? "solid") === "solid" ? "" : "display: none;"} >
- x.name === res.name)?.icon ?? "#"} alt={res.name} /> + x.id === res.name)?.icon ?? "#"} alt={res.name} />
{getName(lang, 'resources', res.name)}
diff --git a/src/lib/data/research.json b/src/lib/data/research.json deleted file mode 100644 index 991486c..0000000 --- a/src/lib/data/research.json +++ /dev/null @@ -1,144 +0,0 @@ -[ - { - "id": "basic-engine", - "requirements": { - "buildings": [ - { - "id": "research-lab", - "level": 1 - } - ], - "research": [], - "resources": { - "iron": 1000, - "gold": 500 - } - }, - "time": 60, - "multiplier": 2 - }, { - "id": "advanced-engine", - "requirements": { - "buildings": [ - { - "id": "research-lab", - "level": 5 - } - ], - "research": [ - { - "id": "basic-engine", - "level": 1 - } - ], - "resources": { - "iron": 2000, - "gold": 1000 - } - }, - "time": 120, - "multiplier": 3 - }, { - "id": "combat-utilities", - "requirements": { - "buildings": [ - { - "id": "research-lab", - "level": 1 - } - ], - "research": [], - "resources": { - "iron": 1000, - "gold": 500 - } - }, - "time": 60, - "multiplier": 2 - }, { - "id": "defensive-utilities", - "requirements": { - "buildings": [ - { - "id": "research-lab", - "level": 1 - } - ], - "research": [], - "resources": { - "iron": 1000, - "gold": 500 - } - }, - "time": 60, - "multiplier": 2 - }, { - "id": "oxygen-production", - "requirements": { - "buildings": [ - { - "id": "research-lab", - "level": 1 - } - ], - "research": [], - "resources": { - "iron": 1000, - "gold": 500 - } - }, - "time": 200, - "multiplier": 2 - }, { - "id": "terraforming", - "requirements": { - "buildings": [ - { - "id": "research-lab", - "level": 1 - } - ], - "research": [], - "resources": { - "iron": 1000, - "gold": 500 - } - }, - "time": 500, - "multiplier": 3 - }, { - "id": "advanced-technologies", - "requirements": { - "buildings": [ - { - "id": "research-lab", - "level": 6 - } - ], - "research": [], - "resources": { - "iron": 1000, - "gold": 500 - } - }, - "time": 1500, - "multiplier": 4 - }, { - "id": "nuclear-power", - "requirements": { - "buildings": [ - { - "id": "research-lab", - "level": 10 - } - ], - "research": [], - "resources": { - "iron": 1000, - "gold": 500 - } - }, - "time": 3000, - "multiplier": 5 - } -] \ No newline at end of file diff --git a/src/lib/data/resources.json b/src/lib/data/resources.json deleted file mode 100644 index 41f9e94..0000000 --- a/src/lib/data/resources.json +++ /dev/null @@ -1,49 +0,0 @@ -[ - { - "name": "coal", - "type": "solid", - "icon": "https://gamepedia.cursecdn.com/minecraft_gamepedia/5/58/Coal_JE4_BE3.png" - }, - { - "name": "iron", - "type": "solid", - "icon": "https://vignette.wikia.nocookie.net/minecraft/images/e/e8/New_Iron_IngotB.png/revision/latest?cb=20190520101024" - }, - { - "name": "gold", - "type": "solid", - "icon": "https://gamepedia.cursecdn.com/minecraft_gamepedia/5/57/Gold_Ingot_JE3_BE2.png" - }, - - { - "name": "water", - "type": "liquid", - "icon": "https://ael.ovh/uranium.png" - }, - { - "name": "sulfuricAcid", - "type": "liquid", - "icon": "https://ael.ovh/uranium.png" - }, - { - "name": "liquidNitrogen", - "type": "liquid", - "icon": "https://ael.ovh/uranium.png" - }, - - { - "name": "hydrogen", - "type": "gas", - "icon": "https://ael.ovh/uranium.png" - }, - { - "name": "oxygen", - "type": "gas", - "icon": "https://ael.ovh/uranium.png" - }, - { - "name": "helium3", - "type": "gas", - "icon": "https://ael.ovh/uranium.png" - } -] \ No newline at end of file diff --git a/src/lib/data/ships.json b/src/lib/data/ships.json deleted file mode 100644 index af942c5..0000000 --- a/src/lib/data/ships.json +++ /dev/null @@ -1,57 +0,0 @@ -[ - { - "id": "transporter", - "capacity": { - "solid": 10000, - "liquid": 10000, - "gas": 10000 - }, - "requirements": { - "buildings": [ - { - "id": "shipyard", - "level": 1 - } - ], - "research": [], - "resources": { - "iron": 1000, - "gold": 500 - } - }, - "time": 40, - "structure": { - "hitpoints": 1000, - "defense": 10, - "attack": 0 - }, - "speed": 10 - }, { - "id": "fighter", - "capacity": { - "solid": 100, - "liquid": 100, - "gas": 100 - }, - "requirements": { - "buildings": [ - { - "id": "shipyard", - "level": 1 - } - ], - "research": [], - "resources": { - "iron": 500, - "gold": 200 - } - }, - "time": 15, - "structure": { - "hitpoints": 800, - "defense": 20, - "attack": 20 - }, - "speed": 12 - } -] \ No newline at end of file diff --git a/src/lib/db/mongodb.ts b/src/lib/db/mongodb.ts index 9eb1094..6d97a5e 100644 --- a/src/lib/db/mongodb.ts +++ b/src/lib/db/mongodb.ts @@ -45,6 +45,16 @@ export const Research = async() => { return db.collection('research'); } +export const Resources = async() => { + const db = await getDB(); + return db.collection('resources'); +} + +export const Ships = async() => { + const db = await getDB(); + return db.collection('ships'); +} + export const Lang = async (language = "en") => { const db = await getDB(`${config.MONGODB_DB}_${language}`); return [ diff --git a/src/lib/db/planets.ts b/src/lib/db/planets.ts index cd45cd2..1a8b341 100644 --- a/src/lib/db/planets.ts +++ b/src/lib/db/planets.ts @@ -5,7 +5,7 @@ import type Planet from '../../types/Planet'; import { getUserById } from './users'; import type Building from '../../types/Building'; import type Ship from '../../types/Ship'; -import type DBResource from '../../types/DBResource'; +import type PlayerResource from '../../types/PlayerResource'; export const getAllPlanets = async (options?: { fetchUserPlanets: boolean }) => { const planets = await Planets(); @@ -32,7 +32,7 @@ export const createPlanet = async (options: { name: string, owner?: User, ownerI owner: user, name: options.name, fields: options.fields, - resources: new Array, + resources: new Array, buildings: new Array, ships: new Array } diff --git a/src/lib/db/resources.ts b/src/lib/db/resources.ts new file mode 100644 index 0000000..d487850 --- /dev/null +++ b/src/lib/db/resources.ts @@ -0,0 +1,12 @@ +import DBResource from '../../types/DBResource'; +import { Resources } from '../db/mongodb'; + +export const getAllResources = async () => { + return (await Resources()).find({}).toArray() as unknown as Array; +} + +export const getResourceById = async (id: string) => { + return (await Resources()).findOne({ + id + }) as unknown as DBResource; +} \ No newline at end of file diff --git a/src/lib/db/ships.ts b/src/lib/db/ships.ts new file mode 100644 index 0000000..8ead886 --- /dev/null +++ b/src/lib/db/ships.ts @@ -0,0 +1,12 @@ +import DBShip from '../../types/DBShip'; +import { Ships } from '../db/mongodb'; + +export const getAllShips = async () => { + return (await Ships()).find({}).toArray() as unknown as Array; +} + +export const getResourceById = async (id: string) => { + return (await Ships()).findOne({ + id + }) as unknown as DBShip; +} \ No newline at end of file diff --git a/src/lib/utils/resourceManager.ts b/src/lib/utils/resourceManager.ts index 8e2e002..ada3e3b 100644 --- a/src/lib/utils/resourceManager.ts +++ b/src/lib/utils/resourceManager.ts @@ -1,10 +1,10 @@ import { ObjectId } from "mongodb" import { Planets } from "../db/mongodb"; -import type DBResource from "../../types/DBResource"; +import type PlayerResource from "../../types/PlayerResource"; import { getPlanetById } from "../db/planets"; export const createInitialResources = async (planetId: ObjectId) => { - const resources: Array = [ + const resources: Array = [ { name: "coal", amount: 11, @@ -64,7 +64,7 @@ export const createInitialResources = async (planetId: ObjectId) => { updatePlanetResources(planetId, resources); } -export const getResourcesFromPlanet = async (planetId: ObjectId): Promise | null> => { +export const getResourcesFromPlanet = async (planetId: ObjectId): Promise | null> => { const planet = await getPlanetById(planetId); if(!planet) return null; @@ -72,7 +72,7 @@ export const getResourcesFromPlanet = async (planetId: ObjectId): Promise) => { +export const updatePlanetResources = async (planetId: ObjectId, resources: Array) => { const planets = await Planets(); await planets.updateOne({ _id: planetId }, { $set: { @@ -81,7 +81,7 @@ export const updatePlanetResources = async (planetId: ObjectId, resources: Array }); } -export const calculateCurrentAvailableResources = async (planetId: ObjectId): Promise> => { +export const calculateCurrentAvailableResources = async (planetId: ObjectId): Promise> => { const resources = await getResourcesFromPlanet(planetId); if(resources === null) return []; diff --git a/src/pages/api/build/createBuilding.ts b/src/pages/api/build/createBuilding.ts index 3e99696..fea9d55 100644 --- a/src/pages/api/build/createBuilding.ts +++ b/src/pages/api/build/createBuilding.ts @@ -5,7 +5,7 @@ import { getUserByAccessToken, getUserResearch } from "../../../lib/db/users"; import Planet from "../../../types/Planet"; import { createOrUpgradeBuilding, getPlanetById } from "../../../lib/db/planets"; import { ObjectId } from "mongodb"; -import DBResource from "../../../types/DBResource"; +import DBResource from "../../../types/PlayerResource"; import { getAllBuildings } from "../../../lib/db/buildings"; import DBBuilding from "../../../types/DBBuilding"; diff --git a/src/pages/api/research/performResearch.ts b/src/pages/api/research/performResearch.ts index b7fea54..be1b00d 100644 --- a/src/pages/api/research/performResearch.ts +++ b/src/pages/api/research/performResearch.ts @@ -1,13 +1,13 @@ import { type APIRoute } from "astro"; import validateAccessToken from "../../../lib/utils/validateAccessToken"; -import research from '../../../lib/data/research.json'; import { createOrUpgradeResearch, getUserByAccessToken, getUserResearch } from "../../../lib/db/users"; import { getPlanetById } from "../../../lib/db/planets"; import Planet from "../../../types/Planet"; import { ObjectId } from "mongodb"; import { calculateCurrentAvailableResources, getResourcesFromPlanet, updatePlanetResources } from "../../../lib/utils/resourceManager"; -import DBResource from "../../../types/DBResource"; +import PlayerResource from "../../../types/PlayerResource"; import calculateAvailableResources from "../../../lib/utils/calculateAvailableResources"; +import { getAllResearch, getResearchById } from "../../../lib/db/research"; export const POST: APIRoute = async({ request }) => { const response = await validateAccessToken(request); @@ -36,9 +36,11 @@ export const POST: APIRoute = async({ request }) => { ) } + const researchId = body.research; - const researchData = research.filter((element: any) => element.id === researchId)[0]; - if(!researchId || !researchData) { + const research = await getResearchById(researchId); + + if(!research) { return new Response( JSON.stringify({ code: 400, @@ -72,7 +74,7 @@ export const POST: APIRoute = async({ request }) => { // check requirements // buildings const buildings = userPlanet.buildings; - researchData.requirements.buildings.forEach((buildingReq) => { + research.requirements.buildings.forEach((buildingReq) => { if(buildings.filter((building) => building.id === buildingReq.id)[0]?.level ?? 0 < buildingReq.level) { return new Response( JSON.stringify({ @@ -86,7 +88,7 @@ export const POST: APIRoute = async({ request }) => { // research const playerResearch = await getUserResearch(user); - researchData.requirements.research.forEach((researchReq) => { + research.requirements.research.forEach((researchReq) => { if(playerResearch.filter((research) => research.id === researchReq.id)[0].level < researchReq.level) { return new Response( JSON.stringify({ @@ -113,19 +115,19 @@ export const POST: APIRoute = async({ request }) => { const level = playerCurrentResearch ? playerCurrentResearch.level : 0; const newResources = structuredClone(resources); const missingResources: Array<{}> = []; - Object.entries(researchData.requirements.resources).forEach(([key, value]) => { - const res = resources.filter((element: DBResource) => element.name === key)[0]; - const cost = playerCurrentResearch ? value * Math.pow(researchData.multiplier, level) : value; + research.requirements.resources.forEach(resource => { + const res = resources.filter((element: PlayerResource) => element.name === resource.name)[0]; + const cost = playerCurrentResearch ? resource.amount * Math.pow(research.multiplier, level) : resource.amount; if(res.amount < cost) { missingResources.push({ - name: key, + name: resource.name, required: cost, available: res.amount }); return; } - else newResources.filter((element: DBResource) => element.name === key)[0].amount -= cost; + else newResources.filter((element: PlayerResource) => element.name === resource.name)[0].amount -= cost; }); if(missingResources.length > 0) { diff --git a/src/pages/game/research.astro b/src/pages/game/research.astro index 5c867d4..5d96e87 100644 --- a/src/pages/game/research.astro +++ b/src/pages/game/research.astro @@ -8,7 +8,6 @@ import ItemCard from '../../components/ItemCard.astro'; import DBResearch from '../../types/DBResearch'; import { getAllResearch } from '../../lib/db/research'; -// const researchList = (await import('../../lib/data/research.json')).default; const researchList = await getAllResearch(); const loggedToken = Astro.cookies.get('sessionToken')?.value ?? null; diff --git a/src/pages/game/ships.astro b/src/pages/game/ships.astro index 5bc8108..2b43c7d 100644 --- a/src/pages/game/ships.astro +++ b/src/pages/game/ships.astro @@ -2,12 +2,10 @@ import Layout from '../../layouts/Layout.astro'; import NavBar from '../../components/NavBar.astro'; import { getUserByAccessToken } from '../../lib/db/users'; -import { getHighestWeightedLanguage, getLocales } from '../../lib/utils/langDriver'; +import { getHighestWeightedLanguage, getLocales, getObj } from '../../lib/utils/langDriver'; import ResourceBar from '../../components/ResourceBar.astro'; - -import ships from '../../lib/data/ships.json'; -import { getPlanetById } from '../../lib/db/planets'; -import { ObjectId } from 'mongodb'; +import { getAllShips } from '../../lib/db/ships'; +import ItemCard from '../../components/ItemCard.astro'; const loggedToken = Astro.cookies.get('sessionToken')?.value ?? null; const username = Astro.cookies.get('username')?.value ?? ""; @@ -16,24 +14,48 @@ if(loggedToken === null || username === "") return Astro.redirect('/logout'); const checkUser = await getUserByAccessToken(loggedToken); if(checkUser === null || checkUser.username !== username) return Astro.redirect('/logout'); -const planet = await getPlanetById(new ObjectId(Astro.cookies.get('planetid')?.value)); - -if(!planet) return; +const ships = await getAllShips(); const lang = await getLocales(await getHighestWeightedLanguage(Astro.request.headers.get('accept-language'))); + +const modalSet: { [key: string]: { resources: Array, research: Array, buildings: Array } } = {}; + +for(const ship of ships) { + modalSet[ship.id] = { + resources: ship.requirements.resources, + research: ship.requirements.research, + buildings: ship.requirements.buildings, + // energy: building.energy + }; +} --- - {ships.map(ship => ( -
-
- ({planet.ships.find((s => s.id === ship.id))?.amount ?? 0}) {ship.id} -
-
- ))} +
+
+

Required resources

+
None
+

Required buildings

+
None
+

Required research

+
None
+
+
+ +
+ {ships.map(ship => <> + + )} +
-