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));
}
}