▶️ ЗАБЕРИ СВОИ 8 ПОДАРКОВ 🎁 ПРИ СОЗДАНИИ СВОЕГО МАЙНКРАФТ СЕРВЕРА
Tyco

Tyco

Mine, sell, bank, and shop with a fully moddable coin economy.

Оцените первым
97
2

Tyco

Tyco adds a full player-driven currency system to Minecraft. It includes ore/log generators that consume coins to produce resources, a seller block that converts items into coins, a banker block for converting between coin tiers, and a shop block where players can browse and buy items using coins.

Why you'd want this: almost every mechanic in Tyco is data-driven and modular, so modpack developers can freely add, remove, or override recipes, prices, and categories through datapacks or KubeJS without touching any Java code. This makes Tyco a flexible base economy system rather than a fixed, one-size-fits-all mod.

Before downloading: Tyco ships with a working default economy (vanilla ore/log recipes, a six-tier coin system, and sample shop items) so it functions immediately with no setup. Everything described below is optional customization for modpack developers who want to change that default behavior.


Recipe Types Overview

Every recipe type below works identically whether defined as a JSON file in a datapack (data/tyco/recipe/<type>/*.json) or added through KubeJS's ServerEvents.recipes.

TypeUsed byPurpose
tyco:generatingMiner, LumberjackDefines what a generator produces from a block below it, and its coin cost
tyco:sellingSellerDefines what the Seller converts an item into (coins)
tyco:bankingBankerDefines custom currency conversions (the built-in Coal to Netherite tiers are config-driven, not recipe-driven — see the Config section below)
tyco:shop_entryShopDefines an item for sale, its price, and which category tab it belongs to
tyco:shop_categoryShopDefines a category tab's display (text or item icon)

tyco:generating (Miner / Lumberjack)

ServerEvents.recipes(event => {
  event.custom({
    type: 'tyco:generating',
    machine: 'miner',                  // 'miner' or 'lumberjack' - which block this applies to
    blocks: ['minecraft:iron_ore', 'minecraft:deepslate_iron_ore'],
    coin_input: { item: 'tyco:coal_coin' },
    coin_count: 4,
    output: { id: 'minecraft:raw_iron' },
    min_count: 1,                      // optional, default 1
    max_count: 1,                      // optional, default 1
    bonus_chance: 0.05,                // optional, default 0 - chance to override with bonus_count instead
    bonus_count: 2,                    // optional, default 0
    interval: 20                       // ticks between production cycles (20 = 1 second)
  })
})

Weighted output pool (multiple possible results, for example a "mystery ore" block)

Use outputs instead of output/min_count/max_count/bonus_chance/bonus_count. If outputs is present, it takes priority entirely:

ServerEvents.recipes(event => {
  event.custom({
    type: 'tyco:generating',
    machine: 'miner',
    blocks: ['modid:mystery_ore'],
    coin_input: { item: 'tyco:coal_coin' },
    coin_count: 6,
    outputs: [
      { item: 'minecraft:raw_iron', weight: 50, min_count: 1, max_count: 1 },
      { item: 'minecraft:raw_copper', weight: 30, min_count: 1, max_count: 2 },
      { item: 'minecraft:raw_gold', weight: 15, min_count: 1, max_count: 1 },
      { item: 'minecraft:diamond', weight: 5, min_count: 1, max_count: 1, bonus_chance: 0.05, bonus_count: 2 }
    ],
    interval: 30
  })
})

Weights are relative and do not need to sum to 100.


tyco:selling (Seller)

Direction is always item in, coins out.

ServerEvents.recipes(event => {
  event.custom({
    type: 'tyco:selling',
    input: { item: 'minecraft:iron_ingot' },
    input_count: 1,
    output: { id: 'tyco:coal_coin', count: 5 },
    interval: 20
  })
})

tyco:banking (Banker — custom currencies only)

The built-in Coal to Netherite coin tier conversion is not driven by this recipe type. It is handled directly by the Banker block using live config values (see the Config section below), so it can be adjusted instantly without a recipe reload.

Use tyco:banking only for currencies other than Tyco's own six coins, such as a modpack's own custom currency item:

ServerEvents.recipes(event => {
  event.custom({
    type: 'tyco:banking',
    direction: 'up',                  // 'up' or 'down' - which Banker mode this applies to
    input: { item: 'modid:custom_token' },
    input_count: 10,
    output: { id: 'modid:custom_token_gold' },
    interval: 20
  })
})

tyco:shop_entry (Shop)

ServerEvents.recipes(event => {
  event.custom({
    type: 'tyco:shop_entry',
    item: { id: 'minecraft:diamond', count: 1 },
    price: 50,                        // always denominated in Coal Coin value
    category: 'Ores'                  // optional, defaults to "Misc"
  })
})

Players can pay with any mix of coin tiers. The Shop automatically converts using the live Banker config ratios and gives change back in the largest denominations that fit.


tyco:shop_category (Shop tab display)

Optional. Any category referenced by a shop_entry automatically gets a plain text tab. Define this only if you want a category to show an item icon instead:

ServerEvents.recipes(event => {
  event.custom({
    type: 'tyco:shop_category',
    category: 'Ores',
    icon: 'minecraft:diamond'         // optional - omit entirely for a plain text tab
  })
})

Removing or Overriding Shipped Defaults

Every recipe Tyco ships has a predictable ID in the form tyco:<recipe_type>/<file_name>. To replace one, remove it first, then add your own version:

ServerEvents.recipes(event => {
  event.remove({ id: 'tyco:generating/iron' })

  event.custom({
    type: 'tyco:generating',
    machine: 'miner',
    blocks: ['minecraft:iron_ore', 'minecraft:deepslate_iron_ore'],
    coin_input: { item: 'tyco:coal_coin' },
    coin_count: 8,
    output: { id: 'minecraft:raw_iron', count: 2 },
    interval: 100
  })
})

Wiping an entire category of defaults

ServerEvents.recipes(event => {
  event.remove({ type: 'tyco:generating' })   // removes ALL default Miner/Lumberjack recipes
  event.remove({ type: 'tyco:selling' })      // removes ALL default Seller recipes
  event.remove({ type: 'tyco:shop_entry' })   // removes ALL default Shop items
})

tyco:banking recipes are unaffected by any of the above, since the built-in tier conversion does not use them.


Config File (config/tyco-common.toml)

Generated automatically on first launch.

[banker]
    # How many Coal Coins are needed to convert into 1 Copper Coin
    coalToCopperRatio = 10
    # How many Copper Coins are needed to convert into 1 Iron Coin
    copperToIronRatio = 10
    # How many Iron Coins are needed to convert into 1 Gold Coin
    ironToGoldRatio = 10
    # How many Gold Coins are needed to convert into 1 Diamond Coin
    goldToDiamondRatio = 10
    # How many Diamond Coins are needed to convert into 1 Netherite Coin
    diamondToNetheriteRatio = 10
    # How many ticks the Banker takes to perform one coin tier conversion (20 ticks = 1 second)
    conversionIntervalTicks = 20

The Banker ratios above are also what the Shop uses to calculate change when a player pays with a higher-tier coin than an item's price requires.


Item Tags

Coins belong to the tyco:coins tag (data/tyco/tags/item/coins.json), which controls what the Miner, Lumberjack, Seller, and Banker input slots accept. Custom currencies added by a modpack are not accepted by Tyco's own machines unless added to this tag, but they can still be used through the tyco:banking and tyco:shop_entry recipe types above, which check the specific item ID directly rather than the tag.


Full source, build instructions, and further documentation are available on GitHub.

Партнёрский материал

Как поиграть с друзьями с модом Tyco?

Мод Tyco куда интереснее в компании: поднимите сервер Майнкрафт с уже установленным модом, позовите друзей и играйте по своим правилам. Хостинг Майнкрафт для мода Tyco будет готов за пару минут - BungeeHost сделает всё за вас.

Часто задаваемые вопросы

Совместимость

Minecraft: Java Edition

1.21.x

Платформы

Поддерживаемые окружения

Клиент и сервер

Ссылки


Детали

Лицензия:
Опубликован:3 месяца назад
Обновлён:3 месяца назад
Главная