119 lines
3.9 KiB
JavaScript
119 lines
3.9 KiB
JavaScript
console.info("[SOCIETY] lootOpening.js loaded");
|
|
|
|
ItemEvents.rightClicked("society:furniture_box", (e) => {
|
|
const { server, player, item } = e;
|
|
server.runCommandSilent(
|
|
`playsound minecraft:ui.stonecutter.take_result block @a ${player.x} ${player.y} ${player.z}`
|
|
);
|
|
|
|
const furniture = Ingredient.of("#society:loot_furniture").itemIds;
|
|
|
|
if (!player.isCreative()) item.count--;
|
|
let reward = player.level.createEntity("minecraft:item");
|
|
const rewardCount = player.stages.has("the_red_and_the_black") ? 2 : 1;
|
|
reward.x = player.x;
|
|
reward.y = player.y;
|
|
reward.z = player.z;
|
|
reward.item = Item.of(
|
|
`${rewardCount}x ${furniture[Math.floor(Math.random() * furniture.length)]}`
|
|
);
|
|
reward.spawn();
|
|
server.runCommandSilent(
|
|
`playsound stardew_fishing:complete block @a ${player.x} ${player.y} ${player.z}`
|
|
);
|
|
global.addItemCooldown(player, "society:furniture_box", 2);
|
|
});
|
|
|
|
const fantasyBoxes = [
|
|
"nordic",
|
|
"dunmer",
|
|
"venthyr",
|
|
"bone",
|
|
"royal",
|
|
"necrolord",
|
|
];
|
|
fantasyBoxes.forEach((theme) => {
|
|
ItemEvents.rightClicked(`society:fantasy_box_${theme}`, (e) => {
|
|
const { server, player, item } = e;
|
|
server.runCommandSilent(
|
|
`playsound minecraft:ui.stonecutter.take_result block @a ${player.x} ${player.y} ${player.z}`
|
|
);
|
|
|
|
let furniture = Ingredient.of(
|
|
`#society:${theme}_fantasy_furniture`
|
|
).itemIds;
|
|
furniture = furniture.concat(
|
|
Ingredient.of(`#society:decorations_fantasy_furniture`).itemIds
|
|
);
|
|
if (!player.isCreative()) item.count--;
|
|
let reward = player.level.createEntity("minecraft:item");
|
|
const rewardCount = player.stages.has("the_red_and_the_black") ? 2 : 1;
|
|
reward.x = player.x;
|
|
reward.y = player.y;
|
|
reward.z = player.z;
|
|
reward.item = Item.of(
|
|
`${rewardCount}x ${
|
|
furniture[Math.floor(Math.random() * furniture.length)]
|
|
}`
|
|
);
|
|
const itemId = reward.item.id;
|
|
if (itemId.includes("wool") || itemId.includes("carpet"))
|
|
reward.item = Item.of(`16x ${itemId}`);
|
|
if (itemId.includes("double")) reward.item = Item.of(`2x ${itemId}`);
|
|
reward.spawn();
|
|
server.runCommandSilent(
|
|
`playsound stardew_fishing:complete block @a ${player.x} ${player.y} ${player.z}`
|
|
);
|
|
global.addItemCooldown(player, `society:fantasy_box_${theme}`, 2);
|
|
});
|
|
});
|
|
|
|
ItemEvents.rightClicked("society:bouquet_bag", (e) => {
|
|
const { server, player, item } = e;
|
|
server.runCommandSilent(
|
|
`playsound minecraft:ui.stonecutter.take_result block @a ${player.x} ${player.y} ${player.z}`
|
|
);
|
|
|
|
const furniture = Ingredient.of("#society:bouquet_bag_flowers").itemIds;
|
|
|
|
if (!player.isCreative()) item.count--;
|
|
let reward = player.level.createEntity("minecraft:item");
|
|
const rewardCount = player.stages.has("the_red_and_the_black") ? 5 : 4;
|
|
reward.x = player.x;
|
|
reward.y = player.y;
|
|
reward.z = player.z;
|
|
reward.item = Item.of(
|
|
`${rewardCount}x ${furniture[Math.floor(Math.random() * furniture.length)]}`
|
|
);
|
|
reward.spawn();
|
|
server.runCommandSilent(
|
|
`playsound stardew_fishing:complete block @a ${player.x} ${player.y} ${player.z}`
|
|
);
|
|
global.addItemCooldown(player, "society:bouquet_bag", 2);
|
|
});
|
|
|
|
ItemEvents.rightClicked("society:scavenged_food_bag", (e) => {
|
|
const { server, player, item } = e;
|
|
server.runCommandSilent(
|
|
`playsound minecraft:ui.stonecutter.take_result block @a ${player.x} ${player.y} ${player.z}`
|
|
);
|
|
|
|
const furniture = Ingredient.of("#society:dish").itemIds;
|
|
|
|
if (!player.isCreative()) item.count--;
|
|
let reward = player.level.createEntity("minecraft:item");
|
|
const rewardCount = player.stages.has("the_red_and_the_black") ? 2 : 1;
|
|
reward.x = player.x;
|
|
reward.y = player.y;
|
|
reward.z = player.z;
|
|
|
|
reward.item = Item.of(
|
|
`${rewardCount}x ${furniture[Math.floor(Math.random() * furniture.length)]}`
|
|
);
|
|
reward.spawn();
|
|
server.runCommandSilent(
|
|
`playsound stardew_fishing:complete block @a ${player.x} ${player.y} ${player.z}`
|
|
);
|
|
global.addItemCooldown(player, "society:scavenged_food_bag", 2);
|
|
});
|