MoreRequirement

Quick rating

MoreRequirement

No reviews yet

Added more requirements to Tetra's crafting effects and schematics.

No Theme
No Genre
Mod Addon
Gated Progression & Stages
Mod Loaders
Forge
Minecraft

Community voices

Reviews

Versions
Loading versions…
Match includes

Click once to include, again to exclude, again to clear

Rating Any
Any 0.5 1.0 1.5 2.0 2.5 3.0 3.5 4.0 4.5 5.0
Min
Max
Play Status
Reviews
Time Played
hrs+
Verified developers only
Has developer response
List view
Grid view
Compact view
Sort by
Date
Rating
Helpful
Unhelpful
Edited
Sort ascending
Delete this review?

This removes your review from the project. You can write a new review after.

Review submitted for moderation

Your review has been sent to moderators, who will check that it meets our guidelines before it appears publicly.

No reviews yet. Be the first to review this project!

Get it on

Available Platforms

About

Project Details

Type
Mod
Latest Version
MoreRequirement-1.2.3.jar
Authors

For authors

Embed Badge

If you're the author of this project, you can embed a live badge anywhere that supports HTML or Markdown. It updates automatically whenever ratings change.

Custom banner text
ModDex rating badge preview

Use HTML for any page that supports it, or Markdown for README files and Markdown-based descriptions.

Identifiers

Platform IDs

CurseForge ID

Resources

External Links

Source Issues Wiki Discord

About

Description

MoreRequirement has added the following requirements for Tetra:

Requirements


"mr:advancement"

└ advancement (Required) String
    Checks whether the player has this advancement.

Example:

"requirement":{
  "type":"mr:advancement",
  "advancement":"minecraft:end/find_end_city"
}
``` "mr:biome" 

└ biome (Required) String Checks whether the workstation is located in the specified biome.


Example:

```json
"requirement":{
  "type":"mr:biome",
  "biome":"minecraft:end_highlands"
}
``` "mr:mbd" 

├ blocks (Required) Map<String,Integer> │ Checks whether the specified number of blocks exists within a given range. ├ x (Optional) Integer │ Distance to extend along the X-axis from the workstation (both directions). ├ y (Optional) Integer │ Distance to extend along the Y-axis from the workstation (both directions). └ z (Optional) Integer Distance to extend along the Z-axis from the workstation (both directions).


Example:

```json
"requirement":{
  "type":"mr:mbd",
  "x":5,
  "y":5,
  "z":5,
  "blocks":{
    "minecraft:end_portal_frame":10,
    "minecraft:end_stone":5
  }
}
``` "mr:entities" 

├ entities (Required) Map<String,Integer> │ Checks whether the specified number of entities exists within a given range. ├ x (Optional) Integer │ Distance to extend along the X-axis from the workstation (both directions). ├ y (Optional) Integer │ Distance to extend along the Y-axis from the workstation (both directions). └ z (Optional) Integer Distance to extend along the Z-axis from the workstation (both directions).


Example:

```json
"requirement":{
  "type":"mr:entities",
  "x":5,
  "y":5,
  "z":5,
  "entities":{
    "pig":10
  }
}
``` "mr:dimension" 

└ dimension (Required) String The dimension ID to check against.


Example:

```json
"requirement":{
  "type":"mr:dimension",
  "dimension":"the_end"
}
``` "mr:height" 

├ min (Optional) Integer │ Minimum required Y-level for the workstation (default: -99). └ max (Optional) Integer Maximum required Y-level for the workstation (default: 333).


Example:

```json
"requirement":{
  "type":"mr:height",
  "min":255
}
``` "mr:moon\_phase" 

└ moonPhase (Required) Integer Moon phase, valid values are in the range [1~8].


Example:

```json
"requirement":{
  "type":"mr:moon_phase",
  "moonPhase":"1"
}
``` "mr:potion" 

├ effect (Required) String │ The ID of the potion effect to check. ├ duration (Optional) Integer │ Minimum required duration in ticks (default: 0). └ amplifier (Optional) Integer Minimum required amplifier level (0 = level I, consistent with command syntax; default: 0).


Example:

```json
"requirement":{
  "type":"mr:potion",
  "effect":"minecraft:darkness",
  "duration":200
}
``` "mr:see\_sky" 

└ No parameters required. Returns true if the workstation is exposed to the sky.


Example:

```json
"requirement":{
  "type":"mr:see_sky"
}
``` "mr:time" 

└ time (Required) String Valid options: ├ "day" – daytime └ "night" – nighttime


Example:

```json
"requirement":{
  "type":"mr:time",
  "time":"day"
}
``` "mr:other\_module" 

Redirects the requirement check to a module in the specified slot.

├ slot (Required) String │ Target slot identifier. └ requirement (Required) Requirement Another requirement to evaluate on the target module.


Example:

```json
"requirement":{
  "type":"mr:other_module",
  "slot":"sword/hilt",
  "requirement": {
    "type": "tetra:improvement",
    "improvement": "hilt_hone/damage"
  }
}
``` "mr:weather" 

└ weather (Required) String Valid options: ├ "clear" – clear weather ├ "rain" – raining └ "thunder" – thunderstorm


Example:

```json
"requirement":{
  "type":"mr:weather",
  "weather":"test"
}
``` "mr:custom" (New Version) 

This requirement does nothing by itself and always returns true.  
You can implement custom logic using KubeJS.  
It uses a "key" for identification, allowing you to define multiple custom requirements freely.  
The localization key is: `"more_requirement.holo.custom_requirement.key"` (replace "key" with the one you defined in your datapack).

```js
// In startup_scripts
let $CustomRequirement = Java.loadClass('net.yiran.morerequirement.requirements.CustomRequirement');
$CustomRequirement.registerCustomFunction("key", cxt => true);

Example:

"requirement":{
  "type":"mr:custom",
  "key":"key"
}
``` "mr:custom" (Legacy Version – Deprecated since 1.0.3) 

This requirement does nothing by itself and always returns true.  
You can implement custom logic using KubeJS.

```js
// In startup_scripts
let $CustomRequirement = Java.loadClass('net.yiran.morerequirement.requirements.CustomRequirement');
$CustomRequirement.setCustomFunction(cxt => true);

Example:

"requirement":{
  "type":"mr:custom"
}
``` "mr:group" 

[\[See below for how to define groups\]](#group)

├ key (Required) String │ Used to retrieve the specific group. └ hideExtend (Optional) Boolean Whether to hide the group's individual conditions (default: false).


Example:

```json
"requirement":{
  "type":"mr:group",
  "group":"test"
}

Group


Place group definition files in data/morerequirement/group/.

├ requirements (Required) Requirement[]
│   A list of requirements to check when this group is referenced. All must pass.
├ key (Optional) String
│   By default, the key is automatically assigned as the file path under the group folder.
│   For example, "group/test/a.json" defaults to key "test/a".
│   You may manually specify a custom key.
├ translation (Optional) String
│   Localization key. Defaults to "more_requirement.group." + key.
└ hideExtend (Optional) Boolean
    Whether to hide the group's individual conditions (default: false).

Example:

{
  "key": "test",
  "requirements": [
    {
      "type": "mr:mbd",
      "blocks": {
        "minecraft:chain": 8,
        "minecraft:birch_stairs": 12,
        "minecraft:stripped_birch_log": 9
      }
    },
    {
      "type": "mr:see_sky"
    },
    {
      "type": "mr:weather",
      "weather": "clear"
    },
    {
      "type": "mr:height",
      "min": 200
    }
  ]
}

You can also nest groups within other groups:

{
  "key": "combination_test",
  "requirements": [
    {
      "type": "mr:group",
      "key": "test1"
    },
    {
      "type": "mr:group",
      "key": "test2",
      "hideExtend": true
    }
  ]
}

Screenshots

Gallery

This project has no gallery images yet.

Versions

Files

Relations

Project Relations

More like this

Similar Mods

Suggestions use data such as tags, dependencies, dependents, descriptions, titles, and more to rank how much they overlap with this mod.

On ModDex

Community snapshot

0
Ratings
0
Followers
0
In stacks

By the numbers

Statistics

~280,000
Downloads
Last Updated
Created
Last synced
When ModDex last fetched this project from CurseForge or Modrinth. Every project is re-checked on a schedule, and any project that ships a new file is synced automatically within hours of the release.
New file updates sync automatically
How syncing works