69 lines
2.3 KiB
JavaScript
69 lines
2.3 KiB
JavaScript
console.info("[SOCIETY] fishingRodLeveling.js loaded");
|
|
|
|
let maxLureLevel = 4;
|
|
let maxLuckOfTheSeaLevel = 6;
|
|
|
|
ForgeEvents.onEvent(
|
|
"net.minecraftforge.event.entity.player.ItemFishedEvent",
|
|
(e) => {
|
|
let randCap = 40;
|
|
const player = e.getEntity();
|
|
const mainHandItem = player.getHeldItem("main_hand");
|
|
const mainHandItemId = mainHandItem.getId();
|
|
const enchantmentTags = mainHandItem.enchantmentTags;
|
|
const validRods = [
|
|
"aquaculture:iron_fishing_rod",
|
|
"aquaculture:gold_fishing_rod",
|
|
"aquaculture:diamond_fishing_rod",
|
|
"aquaculture:neptunium_fishing_rod",
|
|
"netherdepthsupgrade:lava_fishing_rod",
|
|
];
|
|
if (!validRods.includes(mainHandItemId)) return;
|
|
|
|
if (player.level.isRaining()) {
|
|
randCap = randCap - 10;
|
|
}
|
|
switch (mainHandItemId) {
|
|
case "aquaculture:gold_fishing_rod":
|
|
randCap -= 5;
|
|
break;
|
|
case "aquaculture:diamond_fishing_rod":
|
|
randCap -= 10;
|
|
break;
|
|
case "aquaculture:neptunium_fishing_rod":
|
|
randCap -= 20;
|
|
break;
|
|
default:
|
|
}
|
|
const randomNum = Math.floor(Math.random() * randCap);
|
|
if (randomNum == 0) {
|
|
const lureLevel = mainHandItem.getEnchantmentLevel("minecraft:lure");
|
|
const luckOfTheSeaLevel = mainHandItem.getEnchantmentLevel(
|
|
"minecraft:luck_of_the_sea"
|
|
);
|
|
if (lureLevel < maxLureLevel && Math.floor(Math.random() * 2) == 0) {
|
|
for (let i = 0; i < enchantmentTags.size(); i++) {
|
|
let enchantment = enchantmentTags.get(i);
|
|
if (enchantment.get("id") == "minecraft:lure") {
|
|
enchantmentTags.remove(i);
|
|
}
|
|
}
|
|
mainHandItem.enchantStack("minecraft:lure", lureLevel + 1);
|
|
player.tell(Text.translatable("society.fishing_rod.level_up.lure").gold());
|
|
} else if (luckOfTheSeaLevel < maxLuckOfTheSeaLevel) {
|
|
for (let i = 0; i < enchantmentTags.size(); i++) {
|
|
let enchantment = enchantmentTags.get(i);
|
|
if (enchantment.get("id") == "minecraft:luck_of_the_sea") {
|
|
enchantmentTags.remove(i);
|
|
}
|
|
}
|
|
mainHandItem.enchantStack(
|
|
"minecraft:luck_of_the_sea",
|
|
luckOfTheSeaLevel + 1
|
|
);
|
|
player.tell(Text.translatable("society.fishing_rod.level_up.lots").gold());
|
|
}
|
|
}
|
|
}
|
|
);
|