Skip to main content

Dimension-Based Item Filtering

Control which items can be generated based on their dimension (Overworld, Nether, End).

Overviewโ€‹

Dimension-based filtering allows you to control which items from different Minecraft dimensions can appear in random orders. This is useful for servers that want to restrict certain items or create dimension-specific order themes.

Configurationโ€‹

Enable/Disable Dimension Itemsโ€‹

items:
# Allow items from Nether dimension
allow-nether-items: true
# Allow items from End dimension
allow-end-items: true

Nether Items Listโ€‹

Configure which items are considered "Nether dimension" items:

items:
allow-nether-items: true
nether-items:
- "*NETHER*" # Matches all items with "NETHER" in name
- NETHERRACK
- SOUL_SAND
- SOUL_SOIL
- "*BASALT*" # Matches BASALT, POLISHED_BASALT, etc.
- "*BLACKSTONE*" # Matches BLACKSTONE, POLISHED_BLACKSTONE, etc.
- "*NETHER_BRICK*" # Matches NETHER_BRICK, NETHER_BRICKS, etc.
- NETHER_GOLD_ORE
- "*NETHER_QUARTZ*" # Matches NETHER_QUARTZ_ORE, QUARTZ, etc.
- ANCIENT_DEBRIS
- "*WARPED*" # Matches WARPED_PLANKS, WARPED_STEM, etc.
- "*CRIMSON*" # Matches CRIMSON_PLANKS, CRIMSON_STEM, etc.
- NETHER_SPROUTS
- "*WEEPING_VINES*"
- "*TWISTING_VINES*"
- "*NETHER_WART*"
- SHROOMLIGHT
- RESPAWN_ANCHOR
- CRYING_OBSIDIAN
- LODESTONE
- BLAZE_ROD
- BLAZE_POWDER
- GHAST_TEAR
- MAGMA_CREAM
- GLOWSTONE_DUST
- GLOWSTONE

End Items Listโ€‹

Configure which items are considered "End dimension" items:

items:
allow-end-items: true
end-items:
- "END*" # Matches all items starting with "END"
- "*CHORUS*" # Matches CHORUS_FRUIT, CHORUS_FLOWER, etc.
- "*PURPUR*" # Matches PURPUR_BLOCK, PURPUR_PILLAR, etc.
- "*SHULKER*" # Matches SHULKER_SHELL, SHULKER_BOX, etc.
- ELYTRA
- DRAGON_EGG
- DRAGON_HEAD
- DRAGON_BREATH

Wildcard Pattern Matchingโ€‹

The system supports wildcard patterns using *:

  • *NETHER* - Matches any item with "NETHER" anywhere in the name
  • END* - Matches any item starting with "END"
  • *WARPED* - Matches any item with "WARPED" in the name

Pattern Examplesโ€‹

nether-items:
- "*NETHER*" # Matches: NETHERRACK, NETHERITE_INGOT, NETHER_BRICK, etc.
- "*WARPED*" # Matches: WARPED_PLANKS, WARPED_STEM, WARPED_FUNGUS, etc.
- "*CRIMSON*" # Matches: CRIMSON_PLANKS, CRIMSON_STEM, CRIMSON_FUNGUS, etc.
- NETHERRACK # Exact match only

How It Worksโ€‹

  1. Item Selection: When selecting an item from material pools
  2. Dimension Check: System checks if item matches dimension filter lists
  3. Filtering: If dimension filtering is disabled for that dimension, matching items are excluded
  4. Fallback: If no items match after filtering, system selects from remaining items

Use Casesโ€‹

Restrict Nether Itemsโ€‹

Only allow Overworld and End items:

items:
allow-nether-items: false
allow-end-items: true

Restrict End Itemsโ€‹

Only allow Overworld and Nether items:

items:
allow-nether-items: true
allow-end-items: false

Allow All Dimensionsโ€‹

Allow items from all dimensions (default):

items:
allow-nether-items: true
allow-end-items: true

Custom Dimension Listsโ€‹

Create custom dimension-specific item lists:

items:
allow-nether-items: true
nether-items:
- NETHERRACK
- SOUL_SAND
- BLAZE_ROD
# Only these specific Nether items allowed

Best Practicesโ€‹

  1. Use Wildcards: Use wildcard patterns for item families (e.g., *NETHER* for all Nether-related items)
  2. Be Specific: For fine control, list specific items instead of wildcards
  3. Test Configuration: Test your dimension filters to ensure desired items are generated
  4. Balance Pools: Ensure material pools have enough items after dimension filtering

Configuration Validationโ€‹

The system validates dimension filtering:

  • Checks if dimension lists are properly formatted
  • Validates wildcard patterns
  • Ensures at least some items remain after filtering
  • Warns if filtering removes all items from a pool

Next Stepsโ€‹