132 lines
4.5 KiB
JavaScript
132 lines
4.5 KiB
JavaScript
console.info("[SOCIETY] validateFishPondQuests.js loaded");
|
|
|
|
const multiplierToNatural = (mult) => {
|
|
switch (mult) {
|
|
case "shippingbin:meat_sell_multiplier":
|
|
return "Adventurer";
|
|
|
|
case "shippingbin:crop_sell_multiplier":
|
|
return "Farmer";
|
|
|
|
case "shippingbin:wood_sell_multiplier":
|
|
return "Artisan";
|
|
|
|
case "shippingbin:gem_sell_multiplier":
|
|
return "Geologist";
|
|
}
|
|
};
|
|
// Tests if quest items are valid items. Dev use only.
|
|
ItemEvents.rightClicked("functionalstorage:creative_vending_upgrade", (e) => {
|
|
const { player } = e;
|
|
let generatePriceWikiTable = false;
|
|
let generatePondTable = false;
|
|
let generatePrizeMachineTable = true;
|
|
player.server.persistentData.pigraceInProgress = false;
|
|
global.fishPondDefinitions.forEach((fish) => {
|
|
fish.quests.forEach((quest) => {
|
|
quest.requestedItems.forEach((req) => {
|
|
if (Item.of(req.item).id === "minecraft:air") player.tell(req.item);
|
|
});
|
|
});
|
|
});
|
|
if (generatePrizeMachineTable) {
|
|
player.tell(`{| class="wikitable sortable"`);
|
|
player.tell("|-");
|
|
player.tell(
|
|
`!Prize # !! Hint !! Possible Items`
|
|
);
|
|
player.tell("|-");
|
|
global.prizeMachineRewards.forEach((element, index) => {
|
|
player.tell(`|`);
|
|
player.tell(index);
|
|
player.tell(" || ")
|
|
player.tell(element.hint);
|
|
player.tell(" || ")
|
|
element.possibleOutputs.forEach((output) => {
|
|
let request = Item.of(output)
|
|
player.tell("* " + request.count);
|
|
player.tell(request.displayName);
|
|
});
|
|
player.tell("|-");
|
|
});
|
|
}
|
|
if (generatePriceWikiTable) {
|
|
// player.tell("Quests validated.");
|
|
// player.tell(`{| class="wikitable sortable"`);
|
|
// player.tell("|-");
|
|
// player.tell("! Name !! ID !! Price !! Type");
|
|
// player.tell("|-");
|
|
// Array.from(global.trades.keys()).forEach((element) => {
|
|
// let tradeData = global.trades.get(element);
|
|
// if (!element.includes("splendid_slimes"))
|
|
// player.tell(Item.of(element).displayName);
|
|
// else {
|
|
// let type = element.substring(element.lastIndexOf(":") + 1);
|
|
// if (element.includes("plort")) {
|
|
// player.tell(`Plort: ${type} `);
|
|
// } else {
|
|
// player.tell(`Slime Heart: ${type}`);
|
|
// }
|
|
// }
|
|
// player.tell(
|
|
// ` || ${
|
|
// element.includes("plort")
|
|
// ? "splendid_slimes:plort"
|
|
// : element.includes("slime_heart")
|
|
// ? "splendid_slimes:slime_heart"
|
|
// : element
|
|
// } || ${tradeData.value} || ${multiplierToNatural(tradeData.multiplier)}`
|
|
// );
|
|
// player.tell("|-");
|
|
// });
|
|
}
|
|
if (generatePondTable) {
|
|
// player.tell("Quests validated.");
|
|
// player.tell(`{| class="wikitable sortable"`);
|
|
// player.tell("|-");
|
|
// player.tell(
|
|
// `!Fish !! Population 3 !! Population 5 !! Population 7`
|
|
// );
|
|
// player.tell("|-");
|
|
// Array.from(global.fishPondDefinitions.keys()).forEach((element) => {
|
|
// let quests = global.fishPondDefinitions.get(element).quests;
|
|
// player.tell(`|`);
|
|
// player.tell(Item.of(element).displayName);
|
|
// player.tell(" || ")
|
|
// quests.forEach((quest) => {
|
|
// quest.requestedItems.forEach((request, index) => {
|
|
// player.tell("* " + request.count);
|
|
// player.tell(Item.of(request.item).displayName);
|
|
// });
|
|
// player.tell(" || ");
|
|
// });
|
|
// player.tell("|-");
|
|
// });
|
|
// IDK WHY I COMMENTED THE ABOVE NOW
|
|
// player.tell("Quests validated.");
|
|
// player.tell(`{| class="wikitable sortable"`);
|
|
// player.tell("|-");
|
|
// player.tell(`!Fish !! Items !! Min Population !! % chance`);
|
|
// player.tell("|-");
|
|
// Array.from(global.fishPondDefinitions.keys()).forEach((element) => {
|
|
// let rewards = global.fishPondDefinitions.get(element).additionalRewards;
|
|
// player.tell(`|rowspan="${rewards ? rewards.length : 1}"|`);
|
|
// player.tell(Item.of(element).displayName);
|
|
// if (rewards) {
|
|
// rewards.forEach((reward, index) => {
|
|
// player.tell("| " + reward.count);
|
|
// player.tell(Item.of(reward.item).displayName);
|
|
// player.tell("| " + reward.minPopulation);
|
|
// player.tell(`| ${Math.round(reward.chance * 100)}%`);
|
|
// player.tell("|- ");
|
|
// });
|
|
// } else {
|
|
// player.tell("|")
|
|
// player.tell("|")
|
|
// player.tell("|")
|
|
// player.tell("|-")
|
|
// }
|
|
// });
|
|
}
|
|
});
|