From 1d4301682a0eea384429b19351d6f1f210b79310 Mon Sep 17 00:00:00 2001 From: Chomp Date: Sun, 11 Sep 2022 23:58:53 +0100 Subject: [PATCH] Update readme Delete unused examples --- .../JavaScript/1LogToConsole/package.json | 8 -- Outdated/JavaScript/1LogToConsole/src/mod.js | 19 ---- .../JavaScript/2EditDatabase/package.json | 8 -- Outdated/JavaScript/2EditDatabase/src/mod.js | 28 ----- .../3.0GetSptConfigFile/package.json | 8 -- .../JavaScript/3.0GetSptConfigFile/src/mod.js | 30 ----- .../4UseACustomConfigFile/config/config.json | 3 - .../4UseACustomConfigFile/package.json | 8 -- .../4UseACustomConfigFile/src/mod.js | 19 ---- .../JavaScript/5ReplaceMethod/package.json | 8 -- Outdated/JavaScript/5ReplaceMethod/src/mod.js | 24 ---- .../6ReferenceAnotherClass/package.json | 8 -- .../6ReferenceAnotherClass/src/MoreCode.js | 9 -- .../6ReferenceAnotherClass/src/mod.js | 25 ----- .../Revingly-FoodDrink-Redux/LICENSE | 31 ----- .../Revingly-FoodDrink-Redux/README.md | 2 - .../Revingly-FoodDrink-Redux/db/base.json | 85 -------------- .../Revingly-FoodDrink-Redux/package.js | 8 -- .../Revingly-FoodDrink-Redux/package.json | 8 -- .../res/FoodDrink.jpg | Bin 28968 -> 0 bytes .../Revingly-FoodDrink-Redux/src/config.json | 3 - .../Revingly-FoodDrink-Redux/src/mod.js | 106 ------------------ readme.md | 2 +- 23 files changed, 1 insertion(+), 449 deletions(-) delete mode 100644 Outdated/JavaScript/1LogToConsole/package.json delete mode 100644 Outdated/JavaScript/1LogToConsole/src/mod.js delete mode 100644 Outdated/JavaScript/2EditDatabase/package.json delete mode 100644 Outdated/JavaScript/2EditDatabase/src/mod.js delete mode 100644 Outdated/JavaScript/3.0GetSptConfigFile/package.json delete mode 100644 Outdated/JavaScript/3.0GetSptConfigFile/src/mod.js delete mode 100644 Outdated/JavaScript/4UseACustomConfigFile/config/config.json delete mode 100644 Outdated/JavaScript/4UseACustomConfigFile/package.json delete mode 100644 Outdated/JavaScript/4UseACustomConfigFile/src/mod.js delete mode 100644 Outdated/JavaScript/5ReplaceMethod/package.json delete mode 100644 Outdated/JavaScript/5ReplaceMethod/src/mod.js delete mode 100644 Outdated/JavaScript/6ReferenceAnotherClass/package.json delete mode 100644 Outdated/JavaScript/6ReferenceAnotherClass/src/MoreCode.js delete mode 100644 Outdated/JavaScript/6ReferenceAnotherClass/src/mod.js delete mode 100644 Outdated/JavaScript/Revingly-FoodDrink-Redux/LICENSE delete mode 100644 Outdated/JavaScript/Revingly-FoodDrink-Redux/README.md delete mode 100644 Outdated/JavaScript/Revingly-FoodDrink-Redux/db/base.json delete mode 100644 Outdated/JavaScript/Revingly-FoodDrink-Redux/package.js delete mode 100644 Outdated/JavaScript/Revingly-FoodDrink-Redux/package.json delete mode 100644 Outdated/JavaScript/Revingly-FoodDrink-Redux/res/FoodDrink.jpg delete mode 100644 Outdated/JavaScript/Revingly-FoodDrink-Redux/src/config.json delete mode 100644 Outdated/JavaScript/Revingly-FoodDrink-Redux/src/mod.js diff --git a/Outdated/JavaScript/1LogToConsole/package.json b/Outdated/JavaScript/1LogToConsole/package.json deleted file mode 100644 index d5a56fe..0000000 --- a/Outdated/JavaScript/1LogToConsole/package.json +++ /dev/null @@ -1,8 +0,0 @@ -{ - "name": "LogToConsole", - "version": "1.0.0", - "main": "src/mod.js", - "license": "MIT", - "author": "Chomp", - "akiVersion": "2.4.0" -} \ No newline at end of file diff --git a/Outdated/JavaScript/1LogToConsole/src/mod.js b/Outdated/JavaScript/1LogToConsole/src/mod.js deleted file mode 100644 index 77f4e89..0000000 --- a/Outdated/JavaScript/1LogToConsole/src/mod.js +++ /dev/null @@ -1,19 +0,0 @@ -class Mod -{ - // Code added here will load BEFORE the server has started loading - load(container) - { - // get the logger from the server container - const logger = container.resolve("WinstonLogger"); - - logger.info("I am logging info!"); - logger.warning("I am logging a warning!"); - logger.error("I am logging an error!"); - } - - // Code added here will be run AFTER the server has started - delayedLoad(container) - { return } -} - -module.exports = { mod: new Mod() } \ No newline at end of file diff --git a/Outdated/JavaScript/2EditDatabase/package.json b/Outdated/JavaScript/2EditDatabase/package.json deleted file mode 100644 index 067fd4d..0000000 --- a/Outdated/JavaScript/2EditDatabase/package.json +++ /dev/null @@ -1,8 +0,0 @@ -{ - "name": "EditDatabase", - "version": "1.0.0", - "main": "src/mod.js", - "license": "MIT", - "author": "Chomp", - "akiVersion": "2.4.0" -} \ No newline at end of file diff --git a/Outdated/JavaScript/2EditDatabase/src/mod.js b/Outdated/JavaScript/2EditDatabase/src/mod.js deleted file mode 100644 index f1d86ba..0000000 --- a/Outdated/JavaScript/2EditDatabase/src/mod.js +++ /dev/null @@ -1,28 +0,0 @@ -class Mod -{ - // not used for this example - load(container) - { return } - - delayedLoad(container) - { - // get database from server - const databaseServer = container.resolve("DatabaseServer"); - - // Get all the in-memory json found in /assets/database - const tables = databaseServer.getTables(); - - // find the ledx item by its Id - const ledx = tables.templates.items["5c0530ee86f774697952d952"]; - - // update one of its properties to be true - ledx._props.CanSellOnRagfair = true; - - - // example #2 - // get globals settings and set flea market min level to be 1 - tables.globals.config.RagFair.minUserLevel = 1; - } -} - -module.exports = { mod: new Mod() } \ No newline at end of file diff --git a/Outdated/JavaScript/3.0GetSptConfigFile/package.json b/Outdated/JavaScript/3.0GetSptConfigFile/package.json deleted file mode 100644 index ffa4f8d..0000000 --- a/Outdated/JavaScript/3.0GetSptConfigFile/package.json +++ /dev/null @@ -1,8 +0,0 @@ -{ - "name": "GetSptConfigFile", - "version": "1.0.0", - "main": "src/mod.js", - "license": "MIT", - "author": "Chomp", - "akiVersion": "2.4.0" -} \ No newline at end of file diff --git a/Outdated/JavaScript/3.0GetSptConfigFile/src/mod.js b/Outdated/JavaScript/3.0GetSptConfigFile/src/mod.js deleted file mode 100644 index bb5c947..0000000 --- a/Outdated/JavaScript/3.0GetSptConfigFile/src/mod.js +++ /dev/null @@ -1,30 +0,0 @@ -class Mod -{ - // not used for this example - load(container) - { return } - - delayedLoad(container) - { - // get logger - const logger = container.resolve("WinstonLogger"); - - // get the config server - const configServer = container.resolve("ConfigServer"); - - // Request bot config - // Required - ConfigTypes.BOT is the enum of the config we want, others include ConfigTypes.Airdrop - const botConfig = configServer.getConfig("aki-bot"); - - // log the original pmc difficulty - logger.info(`here is the original bot pmc difficulty: ${botConfig.pmc.difficulty}`) - - // adjust the difficulty - botConfig.pmc.difficulty = "easy"; - - // log the new pmc difficulty - logger.info(`here is the altered bot pmc difficulty: ${botConfig.pmc.difficulty}`) - } -} - -module.exports = { mod: new Mod() } \ No newline at end of file diff --git a/Outdated/JavaScript/4UseACustomConfigFile/config/config.json b/Outdated/JavaScript/4UseACustomConfigFile/config/config.json deleted file mode 100644 index 2cc3a9f..0000000 --- a/Outdated/JavaScript/4UseACustomConfigFile/config/config.json +++ /dev/null @@ -1,3 +0,0 @@ -{ - "myProperty": "wow" -} \ No newline at end of file diff --git a/Outdated/JavaScript/4UseACustomConfigFile/package.json b/Outdated/JavaScript/4UseACustomConfigFile/package.json deleted file mode 100644 index 067fd4d..0000000 --- a/Outdated/JavaScript/4UseACustomConfigFile/package.json +++ /dev/null @@ -1,8 +0,0 @@ -{ - "name": "EditDatabase", - "version": "1.0.0", - "main": "src/mod.js", - "license": "MIT", - "author": "Chomp", - "akiVersion": "2.4.0" -} \ No newline at end of file diff --git a/Outdated/JavaScript/4UseACustomConfigFile/src/mod.js b/Outdated/JavaScript/4UseACustomConfigFile/src/mod.js deleted file mode 100644 index 5215fa0..0000000 --- a/Outdated/JavaScript/4UseACustomConfigFile/src/mod.js +++ /dev/null @@ -1,19 +0,0 @@ -const modConfig = require("../config/config.json"); - -class Mod -{ - // not used for this example - load(container) - { return } - - delayedLoad(container) - { - // get logger - const logger = container.resolve("WinstonLogger"); - - // log the 'myProperty' value to the console - logger.info(`here is the value from my config: ${modConfig.myProperty}`); - } -} - -module.exports = { mod: new Mod() } \ No newline at end of file diff --git a/Outdated/JavaScript/5ReplaceMethod/package.json b/Outdated/JavaScript/5ReplaceMethod/package.json deleted file mode 100644 index a1be880..0000000 --- a/Outdated/JavaScript/5ReplaceMethod/package.json +++ /dev/null @@ -1,8 +0,0 @@ -{ - "name": "ReplaceFunction", - "version": "1.0.0", - "main": "src/mod.js", - "license": "MIT", - "author": "Chomp", - "akiVersion": "2.4.0" -} \ No newline at end of file diff --git a/Outdated/JavaScript/5ReplaceMethod/src/mod.js b/Outdated/JavaScript/5ReplaceMethod/src/mod.js deleted file mode 100644 index 7ef6426..0000000 --- a/Outdated/JavaScript/5ReplaceMethod/src/mod.js +++ /dev/null @@ -1,24 +0,0 @@ -class Mod -{ - // Perform these actions before server fully loads - load(container) - { - // get watermarkLocale class from server - const watermarkLocale = container.resolve("WatermarkLocale"); - - // Replace the getDescription() function with the one below called 'replacementFunction()' - watermarkLocale.getDescription = this.replacementFunction; - } - - // not used for this example - delayedLoad(container) - { return } - - // our new replacement function, ready to be used - replacementFunction() - { - return ["SPT AKI, WOW VERY COOL"]; - } -} - -module.exports = { mod: new Mod() } \ No newline at end of file diff --git a/Outdated/JavaScript/6ReferenceAnotherClass/package.json b/Outdated/JavaScript/6ReferenceAnotherClass/package.json deleted file mode 100644 index 067fd4d..0000000 --- a/Outdated/JavaScript/6ReferenceAnotherClass/package.json +++ /dev/null @@ -1,8 +0,0 @@ -{ - "name": "EditDatabase", - "version": "1.0.0", - "main": "src/mod.js", - "license": "MIT", - "author": "Chomp", - "akiVersion": "2.4.0" -} \ No newline at end of file diff --git a/Outdated/JavaScript/6ReferenceAnotherClass/src/MoreCode.js b/Outdated/JavaScript/6ReferenceAnotherClass/src/MoreCode.js deleted file mode 100644 index 8d92ffe..0000000 --- a/Outdated/JavaScript/6ReferenceAnotherClass/src/MoreCode.js +++ /dev/null @@ -1,9 +0,0 @@ -class MoreCode -{ - getTheWordFlub() - { - return "flub"; - } -} - -module.exports = { MoreCode: new MoreCode()} \ No newline at end of file diff --git a/Outdated/JavaScript/6ReferenceAnotherClass/src/mod.js b/Outdated/JavaScript/6ReferenceAnotherClass/src/mod.js deleted file mode 100644 index 7969451..0000000 --- a/Outdated/JavaScript/6ReferenceAnotherClass/src/mod.js +++ /dev/null @@ -1,25 +0,0 @@ -const MoreCode = require("./MoreCode"); - -class Mod -{ - // not used for this example - load(container) - { return } - - delayedLoad(container) - { - // get logger - const logger = container.resolve("WinstonLogger"); - - // Make a new instance of the 'MoreCode' class - const moreCode = new MoreCode(); - - // call the function 'getTheWordFlub()' and assign the result to 'result' - const result = moreCode.getTheWordFlub(); - - // log the 'myProperty' property to the console - logger.info(`Here is the value from my second class: ${result}`); - } -} - -module.exports = { mod: new Mod() } \ No newline at end of file diff --git a/Outdated/JavaScript/Revingly-FoodDrink-Redux/LICENSE b/Outdated/JavaScript/Revingly-FoodDrink-Redux/LICENSE deleted file mode 100644 index 9eb2465..0000000 --- a/Outdated/JavaScript/Revingly-FoodDrink-Redux/LICENSE +++ /dev/null @@ -1,31 +0,0 @@ -Copyright (c) 2022 Revingly. All rights reserved. - -Developed by: - Wulv - - Revingly - -Permission is hereby granted, free of charge, to any person -obtaining a copy of this software and associated documentation files -(the "Software"), to deal with 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: - -* Redistributions of source code must retain the above copyright notice, - this list of conditions and the following disclaimers. - -* Redistributions in binary form must reproduce the above copyright - notice, this list of conditions and the following disclaimers in the - documentation and/or other materials provided with the distribution. - -* Neither the names of Revingly, Food&Drinks-redux nor the names of its - contributors may be used to endorse or promote products derived from - this Software without specific prior written permission. - -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 -CONTRIBUTORS 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 WITH -THE SOFTWARE. \ No newline at end of file diff --git a/Outdated/JavaScript/Revingly-FoodDrink-Redux/README.md b/Outdated/JavaScript/Revingly-FoodDrink-Redux/README.md deleted file mode 100644 index 0c8873c..0000000 --- a/Outdated/JavaScript/Revingly-FoodDrink-Redux/README.md +++ /dev/null @@ -1,2 +0,0 @@ -This file should be placed into user/mods. -File name should be FoodDrink \ No newline at end of file diff --git a/Outdated/JavaScript/Revingly-FoodDrink-Redux/db/base.json b/Outdated/JavaScript/Revingly-FoodDrink-Redux/db/base.json deleted file mode 100644 index 3522616..0000000 --- a/Outdated/JavaScript/Revingly-FoodDrink-Redux/db/base.json +++ /dev/null @@ -1,85 +0,0 @@ -{ - "_id": "FoodDrink", - "working": true, - "customization_seller": false, - "name": "FoodDrink", - "surname": " ", - "nickname": "FoodDrink", - "location": "Get your food and drinks here ", - "avatar": "/files/trader/avatar/FoodDrink.jpg", - "balance_rub": 5000000, - "balance_dol": 0, - "balance_eur": 0, - "unlockedByDefault": true, - "discount": 0, - "discount_end": 0, - "buyer_up": true, - "currency": "RUB", - "nextResupply": 1615141448, - "repair": { - "availability": false, - "quality": "2", - "excluded_id_list": [], - "excluded_category": [], - "currency": "5449016a4bdc2d6f028b456f", - "currency_coefficient": 1, - "price_rate": 10 - }, - "insurance": { - "availability": false, - "min_payment": 0, - "min_return_hour": 0, - "max_return_hour": 0, - "max_storage_time": 99, - "excluded_category": [] - }, - "gridHeight": 150, - "loyaltyLevels": [ - { - "minLevel": 1, - "minSalesSum": 0, - "minStanding": 0, - "buy_price_coef": 38, - "repair_price_coef": 175, - "insurance_price_coef": 10, - "exchange_price_coef": 0, - "heal_price_coef": 0 - } - ], - "sell_category": [ - "82e7fac0b7495d72d4083356", - "ac705d3440c1407645e33579", - "dc97aee367144dc03389405d", - "7ffcc96aa06c7e90940330c5", - "e8f46e3ad74b9d862121f9dc", - "5b47574386f77428ca22b33e", - "5b47574386f77428ca22b33f", - "5b5f78dc86f77409407a7f8e", - "5b47574386f77428ca22b346", - "5b47574386f77428ca22b340", - "5b47574386f77428ca22b344", - "5b47574386f77428ca22b342", - "5b47574386f77428ca22b341", - "5b47574386f77428ca22b345", - "5b47574386f77428ca22b343", - "5b5f71b386f774093f2ecf11", - "5b5f71c186f77409407a7ec0", - "5b5f71de86f774093f2ecf13", - "5b5f724186f77447ed5636ad", - "5b5f736886f774094242f193", - "5b5f73ec86f774093e6cb4fd", - "5b5f74cc86f77447ec5d770a", - "5b5f750686f774093e6cb503", - "5b5f751486f77447ec5d770c", - "5b5f752e86f774093e6cb505", - "5b5f754a86f774094242f19b", - "5b5f755f86f77447ec5d770e", - "5b5f757486f774093e6cb507", - "5b5f75b986f77447ec5d7710", - "5b5f75c686f774094242f19f", - "5b5f75e486f77447ec5d7712", - "5b5f760586f774093e6cb509", - "5b5f761f86f774094242f1a1", - "5b5f764186f77447ec5d7714" - ] -} diff --git a/Outdated/JavaScript/Revingly-FoodDrink-Redux/package.js b/Outdated/JavaScript/Revingly-FoodDrink-Redux/package.js deleted file mode 100644 index d05b420..0000000 --- a/Outdated/JavaScript/Revingly-FoodDrink-Redux/package.js +++ /dev/null @@ -1,8 +0,0 @@ -/** - * authors: - Wulv - * - Revingly -*/ - -const { Mod } = require("./src/mod.js"); - -module.exports.mod = new Mod(); diff --git a/Outdated/JavaScript/Revingly-FoodDrink-Redux/package.json b/Outdated/JavaScript/Revingly-FoodDrink-Redux/package.json deleted file mode 100644 index 2ae758e..0000000 --- a/Outdated/JavaScript/Revingly-FoodDrink-Redux/package.json +++ /dev/null @@ -1,8 +0,0 @@ -{ - "name": "FoodDrink-Redux", - "author": "Revingly", - "version": "2.9.0", - "license": "NCSA", - "main": "package.js", - "akiVersion": "2.3.1" -} \ No newline at end of file diff --git a/Outdated/JavaScript/Revingly-FoodDrink-Redux/res/FoodDrink.jpg b/Outdated/JavaScript/Revingly-FoodDrink-Redux/res/FoodDrink.jpg deleted file mode 100644 index 3e284182ca0b9f684ba6ee7920a6fd70d298a3e7..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 28968 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

2;3A@a|SvU037?w3q#oGEquaVwTn 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 diff --git a/Outdated/JavaScript/Revingly-FoodDrink-Redux/src/config.json b/Outdated/JavaScript/Revingly-FoodDrink-Redux/src/config.json deleted file mode 100644 index 056c5a7..0000000 --- a/Outdated/JavaScript/Revingly-FoodDrink-Redux/src/config.json +++ /dev/null @@ -1,3 +0,0 @@ -{ - "original_prices": true -} \ No newline at end of file diff --git a/Outdated/JavaScript/Revingly-FoodDrink-Redux/src/mod.js b/Outdated/JavaScript/Revingly-FoodDrink-Redux/src/mod.js deleted file mode 100644 index c0e40f9..0000000 --- a/Outdated/JavaScript/Revingly-FoodDrink-Redux/src/mod.js +++ /dev/null @@ -1,106 +0,0 @@ -/** - * authors: - Wulv - * - Revingly -*/ - -"use strict"; - -class Mod { - constructor() { - this.mod = "Revingly-FoodDrink-Redux"; - this.funcptr = HttpServer.onRespond["IMAGE"]; - - Logger.info(`Loading: ${this.mod}`); - ModLoader.onLoad[this.mod] = this.load.bind(this); - HttpServer.onRespond["IMAGE"] = this.getImage.bind(this); - this.itemsToSell = {}; - } - - getImage(sessionID, req, resp, body) { - const filepath = `${ModLoader.getModPath(this.mod)}res/`; - - if (req.url.includes("/avatar/FoodDrink")) { - HttpServer.sendFile(resp, `${filepath}FoodDrink.jpg`); - return; - } - - this.funcptr(sessionID, req, resp, body); - } - - - - load() { - Logger.info(`Loading: ${this.mod}`); - - const filepath = `${ModLoader.getModPath(this.mod)}db/`; - - DatabaseServer.tables.traders.FoodDrink = { - "assort": this.createFoodAndDrinkAssortTable(), - "base": JsonUtil.deserialize(VFS.readFile(`${filepath}base.json`)) - }; - - let locales = DatabaseServer.tables.locales.global; - - for (const locale in locales) { - locales[locale].trading.FoodDrink = { - "FullName": "Food & Drink", - "FirstName": "Food & Drink", - "Nickname": "Food & Drink", - "Location": "In the food shop", - "Description": "Get your food and drink here!" - }; - } - - DatabaseServer.tables.locales.global = locales; - - // Add refresh time in seconds - const traderRefreshConfig = {"traderId": "FoodDrink","seconds": 3600} - TraderConfig["updateTime"].push(traderRefreshConfig); - } - - createFoodAndDrinkAssortTable() { - const { original_prices } = require('./config.json'); - const FOOD_ID = "5448e8d04bdc2ddf718b4569"; - const WATER_ID = "5448e8d64bdc2dce718b4568"; - const FOOD_CONTAINER_ID = "5c093db286f7740a1b2617e3"; - const SELL_AMOUNT = 10000; - const ROUBLE_ID = "5449016a4bdc2d6f028b456f"; - const items = DatabaseServer.tables.templates.items; - const prices = DatabaseServer.tables.templates.prices; - - return Object - .values(items) - .filter(item => item._parent === FOOD_ID || item._parent === WATER_ID || item._id === FOOD_CONTAINER_ID) - .map(item => { - return { - "_id": HashUtil.generate(), - "_tpl": item._id, - "parentId": "hideout", - "slotId": "hideout", - "upd": { - "UnlimitedCount": true, - "StackObjectsCount": 999999999 - } - } - }) - .reduce((acc, item) => { - acc.items.push(item); - acc.barter_scheme[item._id] = [ - [ - { - "count": original_prices ? prices[item._tpl] : SELL_AMOUNT , - "_tpl": ROUBLE_ID - } - ] - ]; - acc.loyal_level_items[item._id] = 1; - return acc; - }, - { - items: [], barter_scheme: {}, loyal_level_items: {} - } - ); - } -} - -module.exports.Mod = Mod; diff --git a/readme.md b/readme.md index 9299fb8..49e0829 100644 --- a/readme.md +++ b/readme.md @@ -1,4 +1,4 @@ -# Mod examples for 3.2.2 +# Mod examples for 3.2.3 A collection of example mods that perform typical actions in SPT