promotional bannermobile promotional banner
premium banner
Black Horizont - Forbidden Nightfall is a technology-based progression addon that introduces custom processors, dimensional keys, lore-driven laboratory access, and a personalized currency system replacing vanilla emeralds.

Description

Overview

Black Horizont - Forbidden Nightfall is a technology-based progression addon designed to control and enhance gameplay progression through custom systems, lore integration, and modular design.

This mod introduces processors, dimensional keys, and specialized components required to unlock access to critical areas such as the Nether, The End, and restricted laboratory doors tied to the mod's lore.

Additionally, it provides a custom economy system that replaces vanilla emeralds with personalized currency, enabling deeper control over trading mechanics.

 

Important Notice

This mod is not pre-configured by default.

  • It is designed primarily as a supporting addon for the modpack:

    Black Horizont - Forbidden Nightfall

  • All items included are functional components, meaning:
    • They do not have fully standalone gameplay progression
    • They require custom configuration by the user or modpack developer

However, you are free to:

  • Use this mod in your own modpack
  • Customize recipes, progression, and systems according to your needs

Core Features

  • πŸ”§ Custom Processors & Components
    • Used for advanced crafting and progression systems
  • πŸ”‘ Dimensional Access Keys
    • Control access to:
      • The Nether
      • The End
  • πŸ§ͺ Lore-Based Laboratory System
    • Unlock restricted areas through progression
  • πŸ’° Custom Economy System
    • Replaces vanilla emeralds with custom coins
    • Fully configurable via scripting
  • Economy System (KubeJS + MoreJS)

    To enable the custom economy system, you must configure it manually using KubeJS.

    πŸ“ Setup

    1. Go to your server directory: kubejs/server_scripts/
    2. Create a new file, for example: economy.js
    3. Paste the following script:

MoreJSEvents.updateVillagerOffers(event => {
  let offers = event.getOffers();
  for (let i = offers.length - 1; i >= 0; i--) {
    let o = offers[i];
    if (o.getOutput().getId() === 'minecraft:emerald') {
      offers.splice(i, 1);
    } else {
      const a = o.getFirstInput();
      const b = o.getSecondInput();
      if (a && a.getId() === 'minecraft:emerald') {
        o.setFirstInput(Item.of('syngearaddons:coinbronze', a.getCount()));
      }
      if (b && b.getId() === 'minecraft:emerald') {
        o.setSecondInput(Item.of('syngearaddons:coinbronze', b.getCount()));
      }
    }
  }
});

MoreJSEvents.updateWandererOffers(event => {
  let offers = event.getOffers();
  for (let i = offers.length - 1; i >= 0; i--) {
    let o = offers[i];
    if (o.getOutput().getId() === 'minecraft:emerald') {
      offers.splice(i, 1);
    } else {
      const a = o.getFirstInput();
      const b = o.getSecondInput();
      if (a && a.getId() === 'minecraft:emerald') {
        o.setFirstInput(Item.of('syngearaddons:coinbronze', a.getCount()));
      }
      if (b && b.getId() === 'minecraft:emerald') {
        o.setSecondInput(Item.of('syngearaddons:coinbronze', b.getCount()));
      }
    }
  }
});

MoreJSEvents.updateAbstractVillagerOffers(event => {
  let offers = event.getOffers();
  for (let i = offers.length - 1; i >= 0; i--) {
    let o = offers[i];
    if (o.getOutput().getId() === 'minecraft:emerald') {
      offers.splice(i, 1);
    } else {
      const a = o.getFirstInput();
      const b = o.getSecondInput();
      if (a && a.getId() === 'minecraft:emerald') {
        o.setFirstInput(Item.of('syngearaddons:coinbronze', a.getCount()));
      }
      if (b && b.getId() === 'minecraft:emerald') {
        o.setSecondInput(Item.of('syngearaddons:coinbronze', b.getCount()));
      }
    }
  }
});

 

πŸ“Œ What this does

  • Removes all trades that output emeralds
  • Replaces emerald inputs with: syngearaddons:coinbronze

Applies to:

  • Villagers
  • Wandering Trader
  • Custom/abstract trades

Crafting System (CraftTweaker)

Recipes are handled via CraftTweaker using standard shaped crafting.

⚠️ Important:

  • Recipes depend on items from other mods (such as Create and others)
  • You must adapt them to your own modpack

πŸ“¦ Example Recipe

 

craftingTable.addShaped("blackhorizont_logicprocessor", <item:blackhorizont_forbiddennightfall:logicprocessor>, [
[<item:blackhorizont_forbiddennightfall:memorycardpins>, <item:blackhorizont_forbiddennightfall:memorycardpins>, <item:blackhorizont_forbiddennightfall:memorycardpins>],
[<item:blackhorizont_forbiddennightfall:memorycardpins>, <item:minecraft:gold_ingot>, <item:blackhorizont_forbiddennightfall:memorycardpins>],
[<item:blackhorizont_forbiddennightfall:memorycardpins>, <item:blackhorizont_forbiddennightfall:memorycardpins>, <item:blackhorizont_forbiddennightfall:memorycardpins>]
]);
 

πŸ”§ Modpack Integration

This mod is ideal for:

  • Custom progression systems
  • Tech-based modpacks
  • Lore-driven gameplay experiences

It is highly recommended to:

  • Customize recipes
  • Adjust progression requirements
  • Integrate with other tech mods (e.g., Create)

πŸ“Œ Final Notes

  • This mod is a framework-style addon
  • It provides tools, not a complete experience by itself
  • Full functionality depends on your configuration