Apocalypssia LuckyDrop

Quick rating

Community listing page, reviews here may not be monitored by the author.

Apocalypssia LuckyDrop

No reviews yet

Luckyblock mod for Apocalypssia (no loot)

Mod Loaders
Minecraft

About

Description

This project is a mod created with MCreator; it implements two LuckyDrop.

These LuckyDrop don't drop anything because the mod is designed for the Apocalypssia server.

You can configure the drop of these Lucky Drop s on your server via a kubjs script.

To create your Apocalypssia server : clique here and use the code TRUYTY for a 25% discount

here is an example : 

You can create your own luckydrop here: ->

BlockEvents.broken(event => {
    // --- GESTION DE LA Lucky Drop STANDARD ---
    if (event.block.id === 'luckydrop:luckydrop') {
        let rolls;
        let r = Math.random() * 100;

        // Nombre d'items par luckydrop
        if (r < 50.0) rolls = 2;         // 50%
        else if (r < 93.5) rolls = 3;    // 43.5%
        else if (r < 98.5) rolls = 4;    // 5%
        else if (r < 99.5) rolls = 5;    // 1%
        else rolls = 8;                 // 0.5%

        for (let i = 0; i < rolls; i++) {
            generateStandardLoot(event);
        }
    }
});

function generateStandardLoot(event) {
    let rand = Math.random() * 100;
    let block = event.block;

    // 1% - Lingot de Netherite
    if (rand < 1.0) {
        block.popItem('minecraft:netherite_ingot');
    }
    // 10% - Lingot de fer (1-8)
    else if (rand < 11.0) {
        block.popItem(Item.of('minecraft:iron_ingot', Math.floor(Math.random() * 8) + 1));
    }
    // 1% - Pomme de Notch
    else if (rand < 12.0) {
        block.popItem('minecraft:enchanted_golden_apple');
    }
    // 6% - Pomme d'or (2-10)
    else if (rand < 18.0) {
        block.popItem(Item.of('minecraft:golden_apple', Math.floor(Math.random() * 9) + 2));
    }
    // 1% - Pomme d'or (10-25)
    else if (rand < 19.0) {
        block.popItem(Item.of('minecraft:golden_apple', Math.floor(Math.random() * 16) + 10));
    }
    // 1% - Totem
    else if (rand < 20.0) {
        block.popItem('minecraft:totem_of_undying');
    }
    // 5% - Bloc de cuivre (1-3)
    else if (rand < 25.0) {
        block.popItem(Item.of('minecraft:copper_block', Math.floor(Math.random() * 3) + 1));
    }
    // 1% - Poudre à canon (7-15)
    else if (rand < 26.0) {
        block.popItem(Item.of('minecraft:gunpowder', Math.floor(Math.random() * 9) + 7));
    }
    // 3.99% - Poudre à canon (2-6)
    else if (rand < 29.99) {
        block.popItem(Item.of('minecraft:gunpowder', Math.floor(Math.random() * 5) + 2));
    }
    // 3% - Supplementaries Bomb (1-6)
    else if (rand < 32.99) {
        block.popItem(Item.of('supplementaries:bomb', Math.floor(Math.random() * 6) + 1));
    }
    // 1% - P320
    else if (rand < 33.99) {
        block.popItem(Item.of('tacz:modern_kinetic_gun', '{GunId:"tacz:p320",GunCurrentAmmoCount:12,GunFireMode:"SEMI"}'));
    }
    // 1% - Uzi
    else if (rand < 34.99) {
        block.popItem(Item.of('tacz:modern_kinetic_gun', '{GunId:"tacz:uzi",GunCurrentAmmoCount:32,GunFireMode:"AUTO",HasBulletInBarrel:1b}'));
    }
    // 0.5% - luckydrop Standard
    else if (rand < 35.49) {
        block.popItem('luckydrop :loot_box');
    }
    // 0.5% - luckydrop Rare
    else if (rand < 35.99) {
        block.popItem('luckydrop :loot_box_rare');
    }
    // 2% - Moss Clump (1-5)
    else if (rand < 37.99) {
        block.popItem(Item.of('immersive_weathering:enchanted_golden_moss_clump', Math.floor(Math.random() * 5) + 1));
    }
    // 10% - Money (1-3)
    else if (rand < 47.99) {
        block.popItem(Item.of('survival_instinct:money', Math.floor(Math.random() * 3) + 1));
    }
    // 1% - Money (2-6)
    else if (rand < 48.99) {
        block.popItem(Item.of('survival_instinct:money', Math.floor(Math.random() * 5) + 2));
    }
    // 0.01% - Jackpot Money (100)
    else if (rand < 49.00) {
        block.popItem(Item.of('survival_instinct:money', 100));
    }
    // 9% - Kevlar Tier I (1-5)
    else if (rand < 58.00) {
        block.popItem(Item.of('survival_instinct:tier_i_kevlar', Math.floor(Math.random() * 5) + 1));
    }
    // 5% - Kevlar Tier II (1-5)
    else if (rand < 63.00) {
        block.popItem(Item.of('survival_instinct:tier_ii_kevlar', Math.floor(Math.random() * 5) + 1));
    }
    // 1% - Kevlar Tier III (1-5)
    else if (rand < 64.00) {
        block.popItem(Item.of('survival_instinct:tier_iii_kevlar', Math.floor(Math.random() * 5) + 1));
    }
    // 10% - Energy Can (2-5)
    else if (rand < 74.00) {
        block.popItem(Item.of('survival_instinct:energy_can', Math.floor(Math.random() * 4) + 2));
    }
    // 1% - Ammo Box (Level 1)
    else if (rand < 75.00) {
        block.popItem(Item.of('tacz:ammo_box', '{Level:1}'));
    }
    // 1% - Stone Walkie Talkie (1-2)
    else if (rand < 76.00) {
        block.popItem(Item.of('walkietalkie:stone_walkietalkie', Math.floor(Math.random() * 2) + 1));
    }
    // 0.5% - Iron Walkie Talkie (1-2)
    else if (rand < 76.50) {
        block.popItem(Item.of('walkietalkie:iron_walkietalkie', Math.floor(Math.random() * 2) + 1));
    }
    // 0.5% - Spawn Egg
    else if (rand < 77.00) {
        block.popItem('undeadnights:horde_zombie_spawn_egg');
    }
    // 5% - Diamant (1-5)
    else if (rand < 82.00) {
        block.popItem(Item.of('minecraft:diamond', Math.floor(Math.random() * 5) + 1));
    }
    // 1% - Diamant (5-7)
    else if (rand < 83.00) {
        block.popItem(Item.of('minecraft:diamond', Math.floor(Math.random() * 3) + 5));
    }
    // 1% - Blaze Rod (1-3)
    else if (rand < 84.00) {
        block.popItem(Item.of('minecraft:blaze_rod', Math.floor(Math.random() * 3) + 1));
    }
    // 1% - Ender Pearl (1-3)
    else if (rand < 85.00) {
        block.popItem(Item.of('minecraft:ender_pearl', Math.floor(Math.random() * 3) + 1));
    }
    // 4% - Meat Can
    else if (rand < 89.00) {
        block.popItem('survival_instinct:meat_can');
    }
    // 2% - Riot Shield II
    else if (rand < 91.00) {
        block.popItem('extinction:riot_shieldii');
    }
    // 1% - Gold Backpack
    else if (rand < 92.00) {
        block.popItem('sophisticatedbackpacks:gold_backpack');
    }
    // 0.5% - Ender Chest
    else if (rand < 92.50) {
        block.popItem('minecraft:ender_chest');
    }
    // 1.5% - Shulker Box Aléatoire
    else if (rand < 94.00) {
        const colors = ['white', 'orange', 'magenta', 'light_blue', 'yellow', 'lime', 'pink', 'gray', 'light_gray', 'cyan', 'purple', 'blue', 'brown', 'green', 'red', 'black'];
        let color = colors[Math.floor(Math.random() * colors.length)];
        block.popItem(`minecraft:${color}_shulker_box`);
    }
    // 4% - Cuir (1-8)
    else if (rand < 98.00) {
        block.popItem(Item.of('minecraft:leather', Math.floor(Math.random() * 8) + 1));
    }
    // 2% - Bouteille XP (2-4)
    else if (rand < 100.0) {
        block.popItem(Item.of('minecraft:experience_bottle', Math.floor(Math.random() * 3) + 2));
    }
    // 4% - Rope (2-8) - Note: J'ai ajusté la fin de la table pour inclure les cordes.
    // Si rand < 100 s'arrête avant, les cordes peuvent être placées avant l'XP.
    // Voici l'ajustement final pour les cordes :
    else {
        block.popItem(Item.of('supplementaries:rope', Math.floor(Math.random() * 7) + 2));
    }
}