跳到正文

Crystal Leveling

作者:Sherfy

Assigns every entity a random “difficulty level”, makes fighting more meaningful.

收藏

介绍

中文介绍正在准备中,下面暂时显示原文。

When a entity spawns or joins the world, this mod dynamically assigns it a random “difficulty level” from 1 to 100 and then buffs its stats based on that level. The mob’s display name is then appended with a colored crystal icon that serves as a visual tier/rarity indicator of how tough it is.

So players will encounter mobs with increased:

  • Max health
  • Attack damage
  • Armor
  • Armor toughness

Scaled by that random difficulty level.
Their name gets a suffix icon with a color code representing how high the difficulty is (e.g., green for low, colorful for top tier), making it easy to spot stronger-than-normal mobs at a glance.

Example(from lowest to highest):

 

For devs

The mod defines a syncable difficulty_level attribute (0–100) and attaches it to all entities. Other mods can read that attribute and branch logic (e.g., custom drops, loot tiers, effects) based on its value.

@Mod.EventBusSubscriber
public class CustomDropOnDeathWithTiers {
    @SubscribeEvent
    public static void onLivingDeath(net.minecraftforge.event.entity.living.LivingDeathEvent event) {
        LivingEntity entity = event.getEntityLiving();
        if (entity == null)
            return;

        // Read difficulty level (default to 0 if missing)
        double difficulty = 0;
        if (entity.getAttributes().hasAttribute(CrystalLevelingModAttributes.DIFFICULTY_LEVEL.get())) {
            difficulty = entity.getAttribute(CrystalLevelingModAttributes.DIFFICULTY_LEVEL.get()).getBaseValue();
        }

        // Determine tier and give corresponding drop
        if (difficulty >= 81) {
            // Top tier (colorful): very rare reward
            entity.spawnAtLocation(new ItemStack(Items.NETHER_STAR), 0.0F);
        } else if (difficulty >= 65) {
            // Dark blue tier: rare reward
            entity.spawnAtLocation(new ItemStack(Items.DIAMOND), 0.0F);
        } else if (difficulty >= 49) {
            // Light purple tier: uncommon reward
            entity.spawnAtLocation(new ItemStack(Items.EMERALD), 0.0F);
        } else if (difficulty >= 33) {
            // Red tier: modest reward
            entity.spawnAtLocation(new ItemStack(Items.IRON_INGOT), 0.0F);
        } else if (difficulty >= 17) {
            // Yellow tier: common reward
            entity.spawnAtLocation(new ItemStack(Items.GOLD_INGOT), 0.0F);
        } else {
            // Green tier: baseline reward
            entity.spawnAtLocation(new ItemStack(Items.APPLE), 0.0F);
        }
    }
}

常见问题

Crystal Leveling 支持哪些 Minecraft 版本?

Crystal Leveling 支持 Minecraft Java 版 1.20.1,可用的加载器:Forge。下载时注意选择和你游戏版本一致的文件。

Crystal Leveling 怎么安装?

先用 PCL2 或 HMCL 启动器安装对应版本的 Forge,再把下载的 .jar 文件放进游戏目录的 mods 文件夹,重新启动游戏即可。开启了版本隔离的,mods 文件夹在 versions/版本名 下面。运行环境:客户端和服务端都要装。

评论

登录后评论和评分

Sherfy 的其他作品

查看全部 →