Infused Power 图标

Infused Power

作者:rebot | 分类:模组

价格:0 墨喵币 下载量:0 点赞:0 版本 0.9.81-b+26.2
本资源为搬运资源,原资源地址: https://modrinth.com/mod/infused-power
资源信息

Minecraft 版本: 26.2

平台: neoforge

标签: adventure equipment magic

资源介绍
# Infused Power #### Adds attributes to all armor, weapons and tools *Empower your items with **Arcane Energy**, forge your own build,
and prove it against the powerful invaders of the **Rift**.*
![Minecraft](https://img.shields.io/badge/Minecraft-1.21.1,_1.21.9,_1.21.10,_1.21.11,_26.2-62B47A?style=for-the-badge&logo=minecraft&logoColor=white) ![Fabric](https://img.shields.io/badge/Loader-Fabric-DBD0B4?style=for-the-badge) ![NeoForge](https://img.shields.io/badge/Loader-NeoForge-F16436?style=for-the-badge) ![Environment](https://img.shields.io/badge/Client%20%26%20Server-Required-8A5CF6?style=for-the-badge) ![Java](https://img.shields.io/badge/Java-21_or_25-E76F00?style=for-the-badge&logo=openjdk&logoColor=white)

ℹ️ This mod is in early beta and can still have bugs. Back up worlds you care about before adding it.


### ? **Classed Gear**
Every weapon, tool, and armor becomes a class item
### ✦ **Empower & Reforge**
Infuse your gear with Arcane Energy, then reforge it
### ⚔️ **The Rift**
A near endless gauntlet of challenge and reward
### ? **Accessories Too**
Rings, amulets, gloves, capes and charms get classes
### ⭐ **50+ Attributes**
Crit, Lifesteal, Execution, Spellsurge, Bleed, Backstab, Armor Pen and many more
### ? **No Knowledge Needed**
An in-game Codex teaches you on first join

## What Is This?
Infused Power adds attributes to all armor, weapons and tools. Become a **Battlemage**, a **Paladin**, a lethal **Assassin** or an unbreakable **Juggernaut**. Every class is built from a curated pool of **50+ attributes**.
![Loot a chest and your gear gains a class with attributes](https://cdn.modrinth.com/data/WTvrWY13/images/2a648e806b4d872c4fae1c99d4fa0dbb1b4c1a57.gif)
**Set bonuses:** wearing matching armor classes together grants bonuses
**Unique drops:** rare unique armor classes can be found in chests
**Material matters:** early-game materials roll better stats, so early gear can stay useful
| Material | Bonus to rolled values | |:---:|:---:| | **Leather** | +30% | | **Gold** | +20% | | **Iron** | +10% |
⚔️ A taste of the arsenal
| Category | Examples | |---|---| | **Combat** | Crit, Crit Damage, Super Crit, Backstab, Execution, Armor Pen, Combo, Fury | | **On-Hit** | Bleed, Poison, Wither, Ignite, Freeze, Spellsurge | | **Defense** | Dodge, Barrier, Block, Magic Resist, Thorn Armor, Frost / Flame / Decay / Venom Armor | | **Ranged** | Explosive Arrow, Lightning Arrow, Gravity Arrow, Arrow Pierce | | **Utility** | Lifesteal, Life on Hit, Heal on Kill, XP on Kill, Pack Leader, Dig Speed |
## The Forge *Where ordinary gear becomes greater.*
### Infusion Table Feed gems or essence to gather **Arcane Energy**, then infuse your item to strengthen its attributes and raise its level. ![Infusing a sword at the Infusion Table](https://cdn.modrinth.com/data/WTvrWY13/images/2790bf6ae7fad1aafff10d8a087b2f33d2a9014f.gif)
![Rerolling a stat with a Lucky Gem](https://cdn.modrinth.com/data/WTvrWY13/images/dad21fbbab68db5c4b06a4432c5f578d0bb0d4c5.gif) ### Arcane Anvil The reforge bench. **Reroll** a single stat with a **Lucky Gem**, reroll everything with a **Chaos Orb**, strip a flaw with a **Nullifying Gem**, wipe an item clean with a **Void Orb**, or reach a new level of power with a **Constellation Core**.
### Arcane Cauldron **Dissolve** the gear you don't want into **essences** and **shards**, then craft them into the materials that improve your own gear. Note : You need a heat source (such as fire) below your Arcane Cauldron to activate it. ![Dissolving an item in the Arcane Cauldron](https://cdn.modrinth.com/data/WTvrWY13/images/d835eaa004db2d57023fd6c94d05247c06adaf4c.gif)
? What powers the Infusion Table
Use **gems**, **gem blocks**, or the mod's **essences** to build Arcane Energy. Better materials give more: | Gem | Power | |:---|---:| | Lapis Lazuli | 40 | | Amethyst Shard | 50 | | Emerald | 100 | | Diamond | 600 | *With Tech Reborn or Aether installed: Red & Yellow Garnet (200), Ruby (300), Peridot & Sapphire (325), Zanite (450).* **Gem blocks give 9x** their gem's power, so a Block of Diamond is worth 5,400. Leveling up an item costs **1,500**, then **6,000**, **22,000**, and finally **40,000** Arcane Energy (the last tier needs a Constellation Core). ? Two more stations
**Arcane Furnace**, an early-game alternative to the Cauldron that slowly smelts class items into essences using ordinary fuel.
![Smelting an item in the Arcane Furnace](https://cdn.modrinth.com/data/WTvrWY13/images/735b2d0ebc5c5d670b0bbda5f54edaa1286e08ad.gif)
**Armory Crate**, a 91-slot vault that only holds class items, built for hoarding your collection.
![Armory Crate storage](https://cdn.modrinth.com/data/WTvrWY13/images/f8e4faa11787280d54cf14e68f2557b9c2fb0a41.png)

## The Rift Altar *A trial for every stage of the journey.*
Open the Rift from your earliest levels and keep coming back as you grow. Scout a level before you commit: the altar shows its boss, theme, and wave count once you have reached it, while deeper levels stay a mystery until you arrive. Chase your **best clear time** and see how far you can push.
Rift Altar showing an undiscovered level
Survive timed waves of mobs and mini-bosses, then face the boss waiting at the end. The earlier levels are easier, but the deeper levels are a true endgame **challenge**. Clearing higher level rifts gives you greater **rewards**.
![Fighting through a rift](https://cdn.modrinth.com/data/WTvrWY13/images/40cb6daf3ba82da4d3e884eb27734a80a7b8730f.gif)
| Era | Levels | The challenge | Reward key | |:---:|:---:|:---:|:---:| | **Pure** | 1 to 64 | The opening trials | Rift Key | | **Greater** | 65 to 121 | Armed foes and relentless reinforcements | Twisted Rift Key | | **Perfect** | 122+ | Amplified enemy stats and mid-fight wave bosses | Cursed Rift Key |
⚡ Inside a Rift: Beams & Bonus Chests
**⚡ Rift Beams**: while you fight, glowing beacon-beam **power-ups** rise from the arena floor to help you during the battle. Run through one to claim a temporary combat boon: | Beam | Boon | |---|---| | **Wrath** (red) | Double damage | | **Vitality** (green) | Instant heal + regeneration | | **Swiftness** (yellow) | Movement + attack speed | | **Immunity** (blue) | Brief invulnerability | | **Feast** (gold) | Restores hunger + saturation | ![Rift Beams](https://cdn.modrinth.com/data/WTvrWY13/images/1f2216a7d98018dbaaa631f0c3d761d23a7f0f0f.png) **? Rift Bonus Chests**: When you fight, you may have a chance to gain a **bonus chests** for extra loot. They come in **five styles**, each with its own glowing aura and its own leaning toward different rewards. Grab them between waves before the next one hits. ![Rift Bonus Chest](https://cdn.modrinth.com/data/WTvrWY13/images/d164cc7598f9843b86558002135d1ad4a1bf6f65.png)
## Compatibility *Right at home with your other mods.*
Mod Integration
Accessories (optional) Rings, amulets, gloves, capes and charms receive their own classes. Add the Accessories Compatibility Layer to extend this to Curios and Trinkets items too
JEI (optional) In-game recipe viewing for the Infusion Table, Arcane Furnace, Arcane Cauldron and Arcane Anvil
EMI (optional, 1.21.1 only) In-game recipe viewing for the Infusion Table, Arcane Furnace, Arcane Cauldron and Arcane Anvil
Aether, Oritech, SimplySwords Plays well alongside, with unique classes themed for their gear

## And More to Discover *Essences, shards, gems, orbs, keys, guides and more await.* ![The full Infused Power creative tab](https://cdn.modrinth.com/data/WTvrWY13/images/96d3684386ef3866a2aabd064ddc849b8950e229.png)

## Make It Yours
Infused Power is built to be reshaped, and **you do not need to know any code**. Edit a plain-text file, save, and restart the game (or your server) to apply your changes. Open the guide below to begin.
? Open the customization guide
The first time you run the mod it creates this folder: ``` .minecraft/config/infusedpower/ ``` *(On a launcher with separate instances, look inside that instance's `config` folder.)* | Inside | What it controls | |---|---| | `classes/` | **What each class is**: its name, color, rarity, where it drops, and the stats it can roll | | `class_mappings/` | **Which classes an item can roll**, plus per-item tuning | | `class_mappings/BlacklistedFromClasses.txt` | Items that should **never** get a class | > **? Good to know:** back up a file before editing it; after saving, **restart the game (or your server)** to apply changes; and remember that edits only affect items you obtain *after* the change, gear you already own keeps the stats it rolled. Pick a goal below and expand it. Each one has a **Show example** you can click for the exact code. ? Stop an item from ever getting a class
Open `class_mappings/BlacklistedFromClasses.txt` and add the item's ID on its own line. Save and restart, and that item will never roll a class. Show example ``` minecraft:netherite_hoe ``` ? Make a class drop only from chests (or only from mobs, or only by crafting)
Open the class file in `classes/` and add a **`sources`** line. The class will then appear **only** from the sources you list. | Source | When the class can appear | |---|---| | `loot_chest` | Found in generated or structure chests | | `loot_entity` | Dropped by a defeated mob | | `loot_equipment` | A mob's worn gear that drops | | `craft` | Crafted by the player | | `inventory` | Any other way it enters your inventory (trades, pickup, creative, given) | List several to allow more than one. Leave the line out entirely to allow **all** sources (the default). This is exactly how rare unique classes are kept chest-only. Show example ```json "sources": ["loot_chest"] ``` Allowing two sources: ```json "sources": ["loot_chest", "loot_entity"] ``` ? Change which classes an item can roll (and how rare each is)
Open the matching file in `class_mappings/` (for example `minecraft_swords.json`) and edit the `classes` list. Each entry's **weight** sets how likely it is (higher means more common). Add or remove lines to taste, then restart. Show example ```json "classes": { "berserker": { "weight": 100 }, "assassin": { "weight": 100 }, "paladin": { "weight": 50 }, "lichborn": { "weight": 10 } } ``` ? Make a class globally rarer or more common, or turn it off
Open the class file in `classes/`. **`rollWeight`** sets its base chance everywhere (higher means more common), and **`enabled`** set to `false` switches the class off completely without deleting the file. Show example ```json "rollWeight": 100, "enabled": true ``` ? Make an item roll stronger stats (material bonus)
In the item's `class_mappings/` file, add a multiplier applied to every rolled value. `1.3` gives 30% stronger rolls, `0.8` makes them weaker. This is how leather, gold, and iron get their material bonuses. Show example ```json "attribute_multiplier": 1.3 ``` ? Ban or retune specific stats on an item
In the item's `class_mappings/` file, **`exclude_attributes`** lists stats that will never roll on this item, and **`attribute_overrides`** changes a stat's `min`, `max`, or `weight` just for this item. Show example ```json "exclude_attributes": ["infusedpower:generic.lifesteal"], "attribute_overrides": { "infusedpower:generic.critical_rate": { "min": 0.05, "max": 0.20, "weight": 30 } } ``` ➕ Add support for an item from another mod
You can target items two ways, and you often do **not** need an exact item ID: - **By tag (easiest).** The mod reads item tags automatically, so if a modded item already belongs to a tag, one mapping covers every item that shares it. - **By item ID.** Use this only when you want to single out one specific item. **Good to know:** - You rarely need item IDs, most modded gear already carries a tag (its own, or a shared one), and tags are tracked automatically. - If an item is covered by **both** a tag mapping and an item mapping, the **item mapping wins**, because it is the more specific match. - Vanilla-style gear (anything that behaves like a sword, axe, armor piece, and so on) and any accessory from the Accessories API are detected automatically, so they roll classes even without a mapping. Show example By tag, covering a whole group at once: ```json { "tag": "farmersdelight:tools/knives", "classes": { "assassin": { "weight": 100 }, "rogue": { "weight": 100 } } } ``` By item ID, for one specific item: ```json { "item": "supermod:ruby_sword", "classes": { "warrior": { "weight": 100 } } } ``` ✨ Build a brand-new class
In `classes/`, copy an existing file (for example `berserker.json`), rename it, and edit it. Then add your new class id to any `class_mappings/` file so items can roll it (see the guide above), then restart. Show example ```json { "id": "frostknight", "displayName": "Frost Knight", "namePrefix": "Frost Knight", "color": "#55FFFF", "rollWeight": 80, "setBonus": true, "weaponPool": [ { "attribute": "infusedpower:generic.freeze_on_hit", "min": 0.05, "max": 0.15, "weight": 10 }, { "attribute": "infusedpower:generic.critical_damage", "min": 0.05, "max": 0.20, "weight": 10 } ], "armorPool": [ { "attribute": "minecraft:generic.max_health", "min": 0.5, "max": 2.0, "weight": 10 } ], "staticArmorModifiers": [ { "attribute": "infusedpower:generic.freeze_attacker", "value": 0.05, "setBonusEligible": true } ] } ``` ? Understanding values, weights and pools (read this before editing classes)
**What the `min` and `max` numbers mean** The number you write is not always a percentage. How it shows in-game depends on the stat: | Stat type | You write | The player sees | Example | |---|---|---|---| | Percentage stats (most of them) | a decimal | the value times 100, with `%` | `0.05` becomes `+5%`, `0.15` becomes `+15%` | | Attack Damage, Attack Speed, Move Speed | a decimal | a percent of the item's base | `0.04` becomes `+4%` | | Health, Armor, Armor Toughness, Thorns, XP, Arrow Pierce | the raw amount | the number as-is | `2.0` Health becomes `+2` (2 health is 1 heart) | | Dodge, Block, Armor Pen | a decimal | the value times 100, no `%` | `0.06` becomes `+6` | | Life on Hit, Heal on Hurt, Bleed, Pack Leader | the raw amount | the number with decimals | `0.5` becomes `+0.50` | > **The easy way:** do not guess at numbers. Open a class that already uses the stat you want (for example `berserker.json` has Lifesteal and Crit Damage), copy its `min` and `max`, then nudge them. The in-game **Attribute Guide** explains what every stat does, and the **Every attribute ID** list further below gives the exact IDs to type. **`operation` (you can usually ignore this)** Leave it out and the mod picks the right behavior automatically: Attack Damage, Attack Speed, and Movement Speed scale off the item's base value, while everything else adds a flat amount. Only set `operation` if you specifically want to change that. **Two kinds of weight (rarity)** Weight can appear in two places, doing two different jobs: - **`rollWeight`** in a *class* file is that class's default rarity everywhere (higher means more common). - **`weight`** inside a *mapping* overrides `rollWeight` for that one item or group. If you list a class with no weight (like `["warrior"]`), it simply uses the class's own `rollWeight`. **Weapon pool vs armor pool** A class rolls from `weaponPool` or `armorPool` depending on the item: - **Weapon pool:** swords, axes, maces, bows, crossbows, tridents, knives, and tools (pickaxe, shovel, hoe, fishing rod). - **Armor pool:** helmets, chestplates, leggings, boots, shields, and every accessory (rings, amulets, capes, and so on). If you want a class to work on both armor and weapons, fill in both pools. **Names: `namePrefix`, `nameSuffix`, and `namingMode`** A class can define a prefix, a suffix, or both. The *mapping's* `namingMode` decides which actually appear: - `"prefix"` uses only the prefix, like `Berserker Iron Sword` - `"suffix"` uses only the suffix, like `Iron Sword of the Guardian` - `"both"` (the default) allows both **Set bonuses** A set bonus needs two things to be true: the class has `"setBonus": true`, and the specific guaranteed stats are marked `"setBonusEligible": true`. Then each matching piece you wear past the first adds 20% to those stats: 2 pieces give x1.2, 3 pieces give x1.4, and so on with no cap. The tooltip shows the count, like `Paladin Set: 2`. ? Full field reference
**Class file (`classes/*.json`)** | Field | Purpose | |---|---| | `id` | Unique internal name (used in mappings) | | `displayName` | Name shown to players | | `color` | Tooltip color, either hex (`"#55FFFF"`) or a name (`"aqua"`, `"gold"`, `"red"`, and so on) | | `namePrefix` / `nameSuffix` | Text placed before or after the item name | | `enabled` | `true` or `false`, switch the class on or off | | `rollWeight` | Base rarity (higher means more common) | | `sources` | Where it can appear (see the sources guide) | | `validItems` | Restrict to specific item IDs only | | `setBonus` | `true` means wearing 2 or more pieces boosts its set stats | | `affixCountWeights` | How many stats it rolls, like `[0,65,30,5]` for mostly 2 to 3 | | `negativeAffixChance` / `maxNegativeAffixes` | Chance (0 to 1) and max number of downsides | | `weaponPool` / `armorPool` | Possible stats, entries of `{ attribute, min, max, weight }` | | `negativeWeaponPool` / `negativeArmorPool` | Possible downsides | | `staticWeaponModifiers` / `staticArmorModifiers` | Guaranteed stats, `{ attribute, value, setBonusEligible }` | **Mapping file (`class_mappings/*.json`)** | Field | Purpose | |---|---| | `tag` | Apply to a whole item group (like `"minecraft:swords"`) | | `item` | Apply to one specific item (overrides any tag) | | `classes` | Which classes can roll, plus their weights | | `namingMode` | `"prefix"`, `"suffix"`, or `"both"` (default) | | `exclude_attributes` | Stats that cannot roll on this item | | `attribute_overrides` | Change a stat's `min`, `max`, or `weight` for this item | | `attribute_multiplier` | Scale all rolled values (like `1.3`) | > Attribute IDs look like `infusedpower:generic.lifesteal` (this mod's stats) or `minecraft:generic.attack_damage` (vanilla stats). The in-game **Attribute Guide** explains what each one does; for the exact IDs to type, see **Every attribute ID** below. ? Every attribute ID (copy-paste ready)
Every stat from this mod is written as `infusedpower:generic.NAME`, using one of the names below. Vanilla stats use `minecraft:generic.NAME` instead. **Combat and damage** `critical_rate` `critical_damage` `super_crit` `double_hit` `combo_damage` `fury` `lifesteal` `backstab_damage` `execution_damage` `low_hp_damage` `armor_penetration` `magic_resist` **On-hit effects** `poison_on_hit` `wither_on_hit` `slowness_on_hit` `weakness_on_hit` `freeze_on_hit` `fire_on_hit` `disorient_on_hit` `bleed_on_hit` `spellsurge` **Damage vs creature type** `undead_damage` `arthropod_damage` `aquatic_damage` `illager_damage` `airborne_damage` **Defense** `dodge` `barrier` `block_chance` `poison_immunity` `cleanse_on_hurt` **When you are hurt** `regen_on_hurt` `resist_on_hurt` `speed_on_hurt` `heal_on_hurt` `percent_heal_on_hurt` **Reactive armor (hurts attackers)** `thorns` `freeze_attacker` `fire_attacker` `wither_attacker` `poison_attacker` **Healing and utility** `life_on_hit` `life_on_execute` `bonus_xp` `bonus_xp_mining_ore` `bonus_durability` `pack_leader` `dig_speed` **Ranged** `draw_speed` `accuracy` `arrow_velocity` `arrow_damage` `explosive_arrow` `lightning_arrow` `gravity_arrow` `pierce` **Movement and water** `swim_speed` `water_gravity` **Common vanilla stats** (use the `minecraft:generic.` prefix) `attack_damage` `attack_speed` `max_health` `armor` `armor_toughness` `movement_speed` `knockback_resistance` `attack_knockback` `luck` `max_absorption` ? Every parameter in one place
Complete reference files using every field at once. You only ever use the fields you need. A couple of notes: for affix counts you normally pick **either** `minPositiveAffixes`/`maxPositiveAffixes` **or** `affixCountWeights` (not both), and `operation` on a stat is optional (defaults are sensible). Show a class file with every field ```json { "id": "example_class", "displayName": "Example Class", "namePrefix": "Example", "nameSuffix": "of Power", "color": "#55FFFF", "enabled": true, "rollWeight": 100, "sources": ["loot_chest", "loot_entity", "loot_equipment", "craft", "inventory"], "validItems": ["minecraft:diamond_sword", "minecraft:netherite_sword"], "setBonus": true, "minPositiveAffixes": 1, "maxPositiveAffixes": 3, "affixCountWeights": [0, 65, 30, 5], "negativeAffixChance": 0.25, "maxNegativeAffixes": 2, "weaponPool": [ { "attribute": "minecraft:generic.attack_damage", "min": 0.04, "max": 0.12, "weight": 10, "operation": "add_multiplied_base" }, { "attribute": "infusedpower:generic.lifesteal", "min": 0.02, "max": 0.09, "weight": 10 } ], "armorPool": [ { "attribute": "minecraft:generic.max_health", "min": 0.5, "max": 2.0, "weight": 10 } ], "negativeWeaponPool": [ { "attribute": "minecraft:generic.attack_speed", "min": -0.06, "max": -0.02, "weight": 10 } ], "negativeArmorPool": [ { "attribute": "minecraft:generic.armor", "min": -0.6, "max": -0.2, "weight": 10 } ], "staticWeaponModifiers": [ { "attribute": "infusedpower:generic.fury", "value": 0.0135, "setBonusEligible": true } ], "staticArmorModifiers": [ { "attribute": "infusedpower:generic.fury", "min": 0.005, "max": 0.01, "operation": "add_value", "setBonusEligible": true } ] } ``` **How the trickier fields behave:** - **`affixCountWeights`** sets how many *positive* stats roll. Each slot is a count: the 1st number is the weight for 1 stat, the 2nd for 2 stats, the 3rd for 3, and so on. `[0, 65, 30, 5]` means never 1 (0%), usually 2 (65%), sometimes 3 (30%), rarely 4 (5%). Weights are relative to their total, so here, where they add up to 100, each is also a percentage. The final count can never exceed the number of stats actually in the pool. - **Pick one affix-count method.** If you set `minPositiveAffixes` and `maxPositiveAffixes`, those win and `affixCountWeights` is ignored. Set neither and the mod's default spread is used. The example lists all three only for reference, you would normally keep just one. - **`validItems`** is a whitelist gate, not an override. Leave it out (or empty) and the class rolls on anything that maps to it. Fill it in and the class can land **only** on those exact items, even if a mapping lists the class elsewhere. - **`sources`** works the same way: leave it out to allow every source, or list only the ones you want. - **`negativeAffixChance` and `maxNegativeAffixes`** only matter when the class has a negative pool. The mod tries to add a downside alongside each positive stat: `negativeAffixChance` (0 to 1) is the chance each time, and `maxNegativeAffixes` caps the total, and it never adds more negatives than positives. - **`setBonus`** only does anything if some `static...Modifiers` are marked `"setBonusEligible": true`. Show a mapping file with every field ```json { "tag": "minecraft:swords", "item": "minecraft:diamond_sword", "namingMode": "both", "classes": { "berserker": { "weight": 100 }, "lichborn": { "weight": 10 } }, "exclude_attributes": ["infusedpower:generic.draw_speed"], "attribute_overrides": { "infusedpower:generic.critical_rate": { "min": 0.05, "max": 0.20, "weight": 30 } }, "attribute_multiplier": 1.3 } ``` > A mapping uses **either** `tag` **or** `item`. Both are shown here for reference, but if you include both, the `item` match takes priority. ? For modpack makers
Tune everything to taste, then ship your edited `config/infusedpower/` folder with your pack. Players get your classes, mappings, item support, and balance automatically, with no extra setup on their end.
**Minecraft 1.21.1 & 1.21.11 · Fabric**, **Fabric API**, **Java 21** English, Français, Español, Deutsch, Português (BR) Early beta, your feedback shapes the mod. Modpacks welcome, see the license for details.
下载太慢?试试 墨喵加速站,支持 Modrinth 和外网直链高速下载! 用的人越多,下载的越快!
下载与版本
评论(0)
登录 后发表评论。

暂无评论,抢个沙发吧~

举报此资源

请登录后举报

🔥 相关推荐
End Crystal Chain Reaction

价格:0 墨喵币
下载量:0

查看详情
Wemmbu mace

价格:0 墨喵币
下载量:0

查看详情
Kaisen Cursed offical modpack

价格:0 墨喵币
下载量:0

查看详情
TecHive

价格:0 墨喵币
下载量:0

查看详情