initial release: minecraft server configuration, docker infrastructure, and docs

This commit is contained in:
JaniSoto 2026-08-15 14:46:28 -04:00
commit 4dfc5d81ef
196 changed files with 31320 additions and 0 deletions

90
.gitignore vendored Normal file
View file

@ -0,0 +1,90 @@
# =====================================================================
# MINECRAFT VOLATILE RUNTIME ARTIFACTS & WORLD DATA
# =====================================================================
**/data/world/
**/data/world_backup_*
**/data/logs/
**/data/crash-reports/
*.log
*.log.gz
**/data/.cache/
**/data/.local/
**/data/libraries/
**/data/tmp_lts_build/
**/data/.forge-manifest.json
# Docker & Wrapper Environment Runtime Files
**/data/.rcon-cli.env
**/data/.rcon-cli.yaml
**/data/.run-forge.env
**/data/user_jvm_args.txt
**/data/run.sh
**/data/run.bat
**/data/eula.txt
.env
# Dynamic User & State Tracking Files
**/data/usercache.json
**/data/usernamecache.json
**/data/banned-ips.json
**/data/banned-players.json
**/data/ops.json
**/data/whitelist.json
# Backups & Archives
**/data/simplebackups/
*.zip
*.tar.gz
*.bak
# =====================================================================
# SENSITIVE CONFIGURATIONS & SERVER STATE
# =====================================================================
# Live server.properties containing sensitive credentials
**/data/server.properties
# AutoModpack generated secrets & state
**/data/automodpack/.private/
**/data/automodpack/automodpack-client.json
**/data/automodpack/host-modpack/automodpack-content.json
**/options.txt
**/servers.dat
# =====================================================================
# MOD RUNTIME DATABASES & TEMP FILES INSIDE CONFIG/
# =====================================================================
**/data/config/luckperms/libs/
**/data/config/luckperms/*.db
**/data/config/luckperms/*.mv.db
*.db
*.mv.db
*.sqlite
*.sqlite3
**/data/config/spark/tmp/
**/data/config/spark/*.jfr
*.tmp
*.jfr
# =====================================================================
# BINARY MOD FILES & BUILD ARTIFACTS (EXCLUDE ALL JARS)
# =====================================================================
*.jar
**/*.jar
*.class
# =====================================================================
# SYSTEM TEMPORARY ARTIFACTS
# =====================================================================
__pycache__/
*.py[cod]
.venv/
env/
.DS_Store
Thumbs.db
*.swp
*.swo
*~
# Player authentication & profile runtime state
**/data/config/lts_auth/players.json
**/data/config/fiw-mods-api/profiles/

38
README.md Normal file
View file

@ -0,0 +1,38 @@
# Minecraft Server Infrastructure Repository
Mono-repo containing infrastructure baselines, operational runbooks, and instance profile specifications for containerized Minecraft servers.
## Repository Architecture
```text
.
├── .gitignore
├── README.md
├── docs/
│ ├── infrastructure-base.md # Cloud VM, host OS, BBR, UFW, & Docker daemon baseline
│ └── operations-manual.md # Daily administration, RCON guide, log filtering, & clean state runbooks
└── instances/
└── forge-1.20.1-survival/ # Instance profile (Forge 1.20.1)
├── README.md # Instance spec, Compose config, JVM flags, & Mod Manifest (62 mods)
├── mod-configs.md # Mod configuration matrix & validated TOML/JSON schemas
├── patches/
│ └── lts-auth/ # LTS Auth source code & in-container build script
└── runtime/ # Active Docker runtime directory
├── docker-compose.yml # Production compose stack
└── data/ # Minecraft server data volume
```
## Quick Start (Deploying Instance)
1. Navigate to the instance runtime folder:
```bash
cd instances/forge-1.20.1-survival/runtime
```
2. Start the container:
```bash
docker compose up -d
```
3. Stream startup logs:
```bash
docker logs -f mc_forge_server
```

View file

@ -0,0 +1,79 @@
# Infrastructure & Host Baseline Setup Guide
## 1. Cloud Hardware Baseline
* **Provider**: Oracle Cloud Infrastructure (OCI)
* **Architecture**: Ampere A1 Flex (`aarch64` / ARM64)
* **Resources**: 4 OCPUs (Neoverse N1), 24 GB System RAM
* **Storage Allocation**: 200 GB Always Free Block Volume (Resized Boot Volume)
* **Memory Strategy**:
* Container JVM Heap (`-Xmx12G -Xms12G`): Allocated per instance manifest
* Host OS & Page Cache: Minimum 12 GB reserved for kernel, filesystem page cache, and Docker daemon overhead
---
## 2. Host OS & Network Optimization
### Firewall Configuration (UFW)
Allocate port ranges to support primary and secondary instances:
```bash
# Primary Instance Ports (Java + Simple Voice Chat)
sudo ufw allow 25565/tcp comment 'MC Java Port - Primary Instance'
sudo ufw allow 24454/udp comment 'Voice Chat Port - Primary Instance'
# Secondary Instance Ports
sudo ufw allow 25566/tcp comment 'MC Java Port - Secondary Instance'
sudo ufw allow 24455/udp comment 'Voice Chat Port - Secondary Instance'
sudo ufw enable
```
### Linux Kernel TCP Optimization (BBR + FQ)
Enable Bottleneck Bandwidth and RTT (BBR) congestion control to minimize network latency:
```bash
sudo modprobe tcp_bbr
sudo bash -c 'cat <<EOF > /etc/sysctl.d/99-minecraft.conf
net.core.default_qdisc=fq
net.ipv4.tcp_congestion_control=bbr
EOF'
sudo sysctl --system
```
---
## 3. Host Ownership Safeguard
Ensure host user retains ownership of container data to prevent `PermissionError (EACCES)`:
```bash
sudo chown -R $USER:$USER ./data
chmod -R u+rwX ./data
```
---
## 4. OCI Storage Volume Expansion (Always Free Tier)
Oracle Cloud allows up to 200 GB of Always Free block volume storage per tenancy. To expand the default 47 GB boot volume on Ubuntu instances without reinstalling:
### Phase 1: OCI Console Allocation
1. In OCI Console, navigate to **Compute** $\rightarrow$ **Instances** $\rightarrow$ `[Your Instance]` $\rightarrow$ **Storage** / **Boot Volume**.
2. Select **View boot volume details** $\rightarrow$ **Edit**.
3. Change volume size from `47 GB` up to `200 GB` and save.
### Phase 2: Live Kernel Rescan & Partition Growth (Ubuntu)
Execute on the host terminal to rescan the block device and resize the online `ext4` filesystem:
```bash
# 1. Force kernel rescan of resized OCI paravirtualized disk
sudo dd iflag=direct if=/dev/oracleoci/oraclevda of=/dev/null count=1
echo "1" | sudo tee /sys/class/block/`readlink /dev/oracleoci/oraclevda | cut -d'/' -f 2`/device/rescan
# 2. Grow partition 1 on /dev/sda
sudo apt-get update && sudo apt-get install -y cloud-guest-utils
sudo growpart /dev/sda 1
# 3. Resize ext4 filesystem online
sudo resize2fs /dev/sda1
# 4. Verify capacity (Target: ~190G+ available)
df -h /
```

96
docs/operations-manual.md Normal file
View file

@ -0,0 +1,96 @@
# Server Operations & Administration Manual
## 1. Instance Target Context
Set the active container target in your shell session:
```bash
export INSTANCE_NAME="mc_forge_server"
```
---
## 2. Data Preservation Reference Matrix
When performing world resets or maintenance, classify directories according to this matrix:
| Category | Directory / File Path | Purpose | Action on Reset |
| :--- | :--- | :--- | :--- |
| **Immutable** | `data/config/` | Mod configuration files (except player auth store) | **Preserve** |
| **Immutable** | `data/mods/` | Server mod JAR files | **Preserve** |
| **Immutable** | `data/automodpack/` | AutoModpack configuration & client host payload | **Preserve** |
| **Immutable** | `data/server.properties` | Generated server settings | **Preserve** |
| **Immutable** | `data/eula.txt` | EULA agreement file | **Preserve** |
| **Volatile** | `data/world/` | Dynamic terrain & player data | Delete to reset seed |
| **Volatile** | `data/config/lts_auth/players.json` | LTS Auth player account credentials | Delete on full reset |
| **Volatile** | `data/logs/` | Server console log files | Safe to purge |
| **Volatile** | `data/crash-reports/` | Crash stack traces | Safe to purge |
| **Volatile** | `data/simplebackups/` | World backup archives | Store or purge |
| **Volatile** | `data/.cache/` | Mod resource cache | Safe to purge |
| **Volatile** | `data/modernfix/` | Structure cache files | Safe to purge |
---
## 3. Lifecycle & Reset Workflows
### Clean World Reset (Preserving Configs & Mods)
```bash
docker stop $INSTANCE_NAME
mv data/world data/world_backup_$(date +%Y%m%d_%H%M%S)
docker start $INSTANCE_NAME
```
### Targeted Dimensional Wipes
```bash
docker stop $INSTANCE_NAME
rm -rf data/world/DIM-1 # Nether
rm -rf data/world/DIM1 # End
docker start $INSTANCE_NAME
```
### Full Nuclear Server Reset
```bash
docker compose down
rm -rf data/world data/logs/* data/crash-reports/* data/.cache data/modernfix/structureCacheV1 data/usercache.json data/banned-players.json data/banned-ips.json data/ops.json data/config/lts_auth/players.json
docker compose up -d
```
### Host File Ownership Recovery
```bash
sudo chown -R $USER:$USER ./data
chmod -R u+rwX ./data
```
---
## 4. Diagnostics & Telemetry
### Log Filter Pipeline (Errors & Warnings)
```bash
docker logs $INSTANCE_NAME 2>&1 | grep -iE "ERROR|WARN|Exception|Fatal|Failed|Caused by" | tail -n 60
```
### Health & Container Status Check
```bash
docker ps -f "name=$INSTANCE_NAME" --format "table {{.Names}}\t{{.Status}}\t{{.Ports}}"
```
---
## 5. Universal RCON Command Reference
> **Note**: For instance-specific mod commands (e.g., Distant Horizons pre-generation or FLAN claim reloads), refer to the specific instance's `README.md`.
### Performance Profiling (spark)
```bash
docker exec -i $INSTANCE_NAME rcon-cli "spark profiler --timeout 30"
docker exec -i $INSTANCE_NAME rcon-cli "spark healthreport"
```
### Moderation & Player Control
```bash
docker exec -i $INSTANCE_NAME rcon-cli "whitelist add <player>"
docker exec -i $INSTANCE_NAME rcon-cli "whitelist remove <player>"
docker exec -i $INSTANCE_NAME rcon-cli "tp <player1> <player2>"
docker exec -i $INSTANCE_NAME rcon-cli "gamerule keepInventory true"
docker exec -i $INSTANCE_NAME rcon-cli "op <player>"
docker exec -i $INSTANCE_NAME rcon-cli "deop <player>"
```

View file

@ -0,0 +1,226 @@
# Instance Specification: Forge 1.20.1 Survival Modpack
## 1. Overview & Compose Profile
* **Instance ID**: `forge-1.20.1-survival`
* **Container Name**: `mc_forge_server`
* **Minecraft Version**: `1.20.1`
* **Mod Loader**: Forge (`47.4.10`)
* **Java Runtime**: OpenJDK 17 (`itzg/minecraft-server:java17`)
* **Process User**: Container UID `1000` / GID `1000` (`ubuntu`)
> **JVM Flag Rule**: `-XX:+UnlockExperimentalVMOptions` must precede experimental flags in `JVM_OPTS` to avoid JVM start failure on OpenJDK 17.
### `docker-compose.yml` Reference (`runtime/docker-compose.yml`)
> **Execution Note**: Always execute compose commands from within the `runtime/` directory (`cd runtime && docker compose up -d`) to ensure `./data` correctly maps to `runtime/data`.
```yaml
services:
mc:
image: itzg/minecraft-server:java17
container_name: mc_forge_server
restart: unless-stopped
ports:
- "25565:25565"
- "24454:24454/udp"
environment:
EULA: "TRUE"
TYPE: "FORGE"
VERSION: "1.20.1"
MEMORY: "12G"
# Server Properties Mapping
VIEW_DISTANCE: "8"
SIMULATION_DISTANCE: "6"
NETWORK_COMPRESSION_THRESHOLD: "256"
MAX_TICK_TIME: "120000" # Prevents watchdog crashes during heavy worldgen
PLAYER_IDLE_TIMEOUT: "0" # Prevents auto-kicking AFK players
ALLOW_FLIGHT: "TRUE" # Prevents kicks when using Ad Astra rockets/ships
SYNC_CHUNK_WRITES: "FALSE"
ENABLE_STATUS: "TRUE"
MOTD: "MC SotoHome!"
MAX_PLAYERS: "15"
DIFFICULTY: "hard"
ONLINE_MODE: "FALSE"
ENFORCE_SECURE_PROFILE: "FALSE"
# JVM Garbage Collection & Network Flags
JVM_OPTS: >-
-XX:+UnlockExperimentalVMOptions
-XX:+UseG1GC
-XX:+ParallelRefProcEnabled
-XX:MaxGCPauseMillis=200
-XX:+DisableExplicitGC
-XX:+AlwaysPreTouch
-XX:G1NewSizePercent=30
-XX:G1MaxNewSizePercent=40
-XX:G1HeapRegionSize=8M
-XX:G1ReservePercent=15
-XX:G1HeapWastePercent=5
-XX:G1MixedGCCountTarget=4
-XX:InitiatingHeapOccupancyPercent=15
-XX:G1MixedGCLiveThresholdPercent=90
-XX:G1RSetUpdatingPauseTimePercent=5
-XX:SurvivorRatio=32
-XX:+PerfDisableSharedMem
-XX:MaxTenuringThreshold=1
volumes:
- ./data:/data
```
---
## 2. Server Mod Manifest (66 Mods)
```text
[forge]ctov-3.4.14.jar
ad_astra-forge-1.20.1-1.15.20.jar
ad_astra_extra_additions-1.20.1-1.1.1.jar
ad_astra_more_structures-1.0.1-forge.jar
alexsmobs-1.22.9.jar
antixray-forge-1.4.6+1.20.1.jar
architectury-9.2.14-forge.jar
automodpack-mc1.20.1-forge-4.0.6.jar
Botania-1.20.1-454-FORGE.jar
botarium-forge-1.20.1-2.3.4.jar
Chunky-1.3.146.jar
citadel-2.6.3-1.20.1.jar
cloth-config-11.1.136-forge.jar
Clumps-forge-1.20.1-12.0.0.4.jar
collective-1.20.1-8.39.jar
corpse-forge-1.20.1-1.0.23.jar
create-1.20.1-6.0.8.jar
create_ad_astra_recipes-1.0.0-forge-1.20.1.jar
createaddition-1.20.1-1.3.3.jar
curios-forge-5.14.1+1.20.1.jar
decocraft-3.0.4-1.20.1-slim.jar
differentdoors-forge-1.20.1-1.1.0.jar
doubledoors-1.20.1-7.2.jar
FarmersDelight-1.20.1-1.3.2.jar
ferritecore-6.0.1-forge.jar
fiw-anticheat-forge-1.20.1-2.0.2.jar
ftb-chunks-forge-2001.3.8.jar
ftb-library-forge-2001.2.13.jar
ftb-teams-forge-2001.3.2.jar
geckolib-forge-1.20.1-4.8.4.jar
ImmersiveEngineering-1.20.1-10.2.0-183.jar
improvedmobs-1.20.1-1.13.7-forge.jar
irons_lib-1.20.1-2.1.0.jar
irons_spellbooks-1.20.1-3.16.2.jar
Jade-1.20.1-Forge-11.13.3.jar
jei-1.20.1-forge-15.49.0.188.jar
journeymap-forge-1.20.1-6.0.1.jar
Krypton_Reno-forge-1.20.1-26.1.1-1.20.1.jar
lithostitched-forge-1.20.1-1.4.11.jar
locks_reforged-1.6.1.jar
lts_auth-1.0.1+mc1.20.1.jar
LuckPerms-Forge-5.4.102.jar
majrusz-library-forge-1.20.1-7.0.8.jar
majruszs-difficulty-forge-1.20.1-1.9.10.jar
minecraft-comes-alive-7.6.28-beta.10+1.20.1-universal.jar
modernfix-forge-5.27.72+mc1.20.1.jar
Nullscape_1.20.x_v1.2.8.jar
packetfixer-3.3.2-1.18-1.20.4-merged.jar
Patchouli-1.20.1-85-FORGE.jar
perspatium-1.20.1-1.2.0.jar
planets+-bv1.7.5-1.20x.jar
player-animation-lib-forge-1.0.2-rc1+1.20.jar
resourcefulconfig-forge-1.20.1-2.1.3.jar
resourcefullib-forge-1.20.1-2.1.29.jar
SimpleBackups-1.20.1-3.1.24.jar
sophisticatedbackpacks-1.20.1-3.24.63.2057.jar
sophisticatedcore-1.20.1-1.3.78.2249.jar
spark-1.10.53-forge.jar
tectonic-3.0.17-forge-1.20.1.jar
tenshilib-1.20.1-1.7.6-forge.jar
Terralith_1.20.x_v2.5.4.jar
voicechat-forge-1.20.1-2.6.22.jar
YungsApi-1.20-Forge-4.0.6.jar
YungsBetterDungeons-1.20-Forge-4.0.4.jar
YungsBetterMineshafts-1.20-Forge-4.0.4.jar
YungsBetterStrongholds-1.20-Forge-4.0.3.jar
```
---
## 3. Client Distribution Architecture (AutoModpack)
Client modpack synchronization is fully automated via **AutoModpack**. Clients do not need manual mod downloads or multi-file setup zips.
### Minimal Client Requirement
* Minecraft **1.20.1** with **Forge** loader.
* **1 Mod**: `automodpack-mc1.20.1-forge-4.0.6.jar` in `.minecraft/mods/`.
### Client-Only Host Payload (16 Mods)
Located in `runtime/data/automodpack/host-modpack/main/mods/` on the server and pushed to clients automatically:
```text
AmbientSounds_FORGE_v6.3.8_mc1.20.1.jar
BetterPingDisplay-1.20.1-1.1.jar
Connector-1.0.0-beta.49+1.20.1.jar
CreativeCore_FORGE_v2.12.39_mc1.20.1.jar
FTB-Teams-Offline-Enabler-forge-1.20.1-1.0.0.jar
PresenceFootsteps-1.20.1-1.9.1-beta.1.jar
TUTORIAL_DISABLE-1.0.0.jar
balm-forge-1.20.1-7.3.42.jar
continuity-3.0.0+1.20.1.forge.jar
embeddium-0.3.31+mc1.20.1.jar
entity_model_features-3.2.4-1.20.1-forge.jar
entity_texture_features_1.20.1-forge-7.1.jar
fabric-api-0.92.6+1.11.15+1.20.1.jar
oculus-mc1.20.1-1.8.0.jar
rubidium-extra-0.5.4.4+mc1.20.1-build.131.jar
sound-physics-remastered-forge-1.20.1-1.4.10.jar
```
### Server-Side Exclusions (8 Mods)
Explicitly excluded from syncing to clients via `syncedFiles` in `automodpack-server.json`:
`SimpleBackups`, `spark`, `antixray`, `doubledoors`, `Clumps`, `collective`, `lts_auth`, `improvedmobs`.
### Forced Client Files
Automatically written to standard client paths upon connection (`forceCopyFilesToStandardLocation`):
* `/options.txt` (Master FOV, VSync, graphics, keybinds, and active resource pack array).
* `/servers.dat` (Pre-configured server list pointing to `mc.sotohome.top`).
* `/config/**` (Mod configurations, including `oculus.properties` for BSL shaders).
---
## 4. Operational Runbooks & Administration
### Updating Client Master Defaults (`options.txt` / `servers.dat`)
From your local client instance terminal:
```bash
cd ~/.local/share/PrismLauncher/instances/<instance_name>/minecraft
scp options.txt servers.dat ubuntu@sotoserver:~/mcserver/instances/forge-1.20.1-survival/runtime/data/automodpack/host-modpack/main/
ssh sotoserver "docker restart mc_forge_server"
```
### In-House Auth Mod Patch Compilation (`patches/lts-auth/`)
To rebuild and hot-swap the custom authentication mod (`lts_auth-1.0.1+mc1.20.1.jar`) from source (`LtsAuthMod.java`, `LoginCommand.java`):
1. Ensure the container `mc_forge_server` is running.
2. Navigate to the patch directory and run the compilation script:
```bash
cd patches/lts-auth/
python3 build.py
```
3. Restart the server container to load the updated JAR:
```bash
docker restart mc_forge_server
```
### World Pre-Generation (Chunky)
```bash
docker exec -i mc_forge_server rcon-cli "chunky world minecraft:overworld"
docker exec -i mc_forge_server rcon-cli "chunky center 0 0"
docker exec -i mc_forge_server rcon-cli "chunky radius 4000"
docker exec -i mc_forge_server rcon-cli "chunky quiet 10"
docker exec -i mc_forge_server rcon-cli "chunky start"
docker exec -i mc_forge_server rcon-cli "chunky progress"
```
### Performance Profiling (spark)
```bash
docker exec -i mc_forge_server rcon-cli "spark profiler --timeout 30"
docker exec -i mc_forge_server rcon-cli "spark healthreport"
```

View file

@ -0,0 +1,171 @@
# Mod Configurations Matrix & Schemas
## Summary Matrix
> **Note on File Paths**: `runtime/data/config/...` on the host filesystem mounts directly to `/data/config/...` inside the `mc_forge_server` Docker container.
| Mod | Config File Path | Key Setting | Value | Purpose |
| :--- | :--- | :--- | :--- | :--- |
| **AutoModpack** | `runtime/data/automodpack/automodpack-server.json` | `validateSecrets` / `forceCopyFilesToStandardLocation` | `false` / `["/mods/*.jar", "/servers.dat", "/options.txt", "/config/**"]` | Dynamic modpack delivery, trusted instant join, and forced client option sync |
| **LTS Auth** | `runtime/data/config/lts_auth/messages.yml` | `timeout_kick` | Configured message | In-game auth, invulnerability lock & auto-kick (`players.json` credential store) |
| **Locks Reforged** | `runtime/data/config/locks-common.toml` | `"Enable Loot-Scaled Locks"` | `true` | Loot-value-based container lock tier selection |
| **Improved Mobs** | `runtime/data/config/improvedmobs/common.toml` | `"Breaker Chance"` / `"Stealer Chance"` | `0.0` / `0.3` | Disables block breaking; item stealing enabled (30%); JAR excluded from client sync (`!/mods/improvedmobs*.jar`) |
| **Majrusz Difficulty** | `runtime/data/config/majruszsdifficulty.json` | `is_per_player_difficulty_enabled` | `true` | Isolated per-player milestone progression (`normal`, `expert`, `master` stages) |
| **Create Addition** | `runtime/data/config/createaddition-common.toml` | `[alternator].generator_efficiency` | `0.5` | Tech power generation rebalance |
| **Sophisticated Core** | `runtime/data/config/sophisticatedcore-common.toml` | `enabledItems` | Tier 3/4 upgrades = `false` | Cap portable storage capacity |
| **AntiXray** | `runtime/data/config/antixray.toml` | `enabled` / `[overworld].engineMode` | `false` / `3` | Global default disabled (prevents space/orbit bugs); Overworld Mode 3 & Nether Mode 1 active |
| **JourneyMap** | `runtime/data/journeymap/server/6.0/` | `playerRadarEnabled` / `caveMapping` | `"false"` / `"NONE"` | Server-enforced entity radar restrictions & universe-wide cave mapping disabled |
---
## Validated Configuration Code Snippets
### 1. AutoModpack (`runtime/data/automodpack/automodpack-server.json`)
```json
{
"DO_NOT_CHANGE_IT": 2,
"modpackName": "MC SotoHome",
"modpackHost": true,
"generateModpackOnStart": true,
"syncedFiles": [
"/mods/*.jar",
"!/mods/SimpleBackups*.jar",
"/shaderpacks/*",
"!/config/luckperms/libs/**",
"!/mods/improvedmobs*.jar",
"!/mods/spark*.jar",
"!/mods/antixray*.jar",
"!/mods/doubledoors*.jar",
"!/mods/Clumps*.jar",
"!/mods/collective*.jar",
"!/config/antixray.toml",
"!/mods/lts_auth*.jar",
"/resourcepacks/*",
"/config/**",
"!/config/simplebackups-common.toml",
"!/config/spark/**"
],
"allowEditsInFiles": [
"/config/**",
"/options.txt"
],
"forceCopyFilesToStandardLocation": [
"/mods/*.jar",
"/servers.dat",
"/options.txt",
"/config/**"
],
"autoExcludeServerSideMods": true,
"autoExcludeUnnecessaryFiles": true,
"requireAutoModpackOnClient": true,
"validateSecrets": false,
"acceptedLoaders": [
"forge"
]
}
```
### 2. Locks Reforged (`runtime/data/config/locks-common.toml`)
```toml
"Lock Generation Chance" = 1.0
"Generation Enchant Chance" = 0.4
"Generated Locks" = ["locks:wood_lock", "locks:copper_lock", "locks:iron_lock", "locks:steel_lock", "locks:gold_lock", "locks:diamond_lock", "locks:netherite_lock"]
"Generated Lock Chances" = [3, 3, 3, 2, 2, 1, 1]
["Loot-Scaled Locks"]
"Enable Loot-Scaled Locks" = true
"Loot Value Tiers" = [3.0, 6.0, 10.0, 16.0, 24.0, 40.0, 60.0]
```
### 3. Improved Mobs (`runtime/data/config/improvedmobs/common.toml`)
```toml
[general]
"Enable difficulty scaling" = false
[ai]
"Breaker Chance" = 0.0
"Break BlockEntities" = false
"Stealer Chance" = 0.3
[integration]
"Use Scaling Health Mod" = "OFF"
"Use Player EX Mod" = "OFF"
"Use LevelZ Mod" = "OFF"
```
### 4. Create Addition (`runtime/data/config/createaddition-common.toml`)
```toml
[alternator]
# Alternator efficiency relative to base conversion rate
# Range: 0.01 ~ 1.0
generator_efficiency = 0.5
```
### 5. Sophisticated Core (`runtime/data/config/sophisticatedcore-common.toml`)
```toml
[common]
# Disable / enable any items here (disables their recipes)
enabledItems = [
"sophisticatedbackpacks:stack_upgrade_tier_3|false",
"sophisticatedbackpacks:stack_upgrade_tier_4|false"
]
```
### 6. Majrusz's Progressive Difficulty (`runtime/data/config/majruszsdifficulty.json`)
```json
{
"game_stages": {
"is_per_player_difficulty_enabled": true,
"list": [
{
"id": "normal",
"triggers": { "dimensions": [], "entities": [] }
},
{
"id": "expert",
"triggers": { "dimensions": ["minecraft:the_nether"] }
},
{
"id": "master",
"triggers": { "dimensions": ["minecraft:the_end"] }
}
]
}
}
```
### 7. AntiXray (`runtime/data/config/antixray.toml`)
```toml
# Global default fallback
enabled = false
[overworld]
enabled = true
engineMode = 3
maxBlockHeight = 256
updateRadius = 2
lavaObscures = false
hiddenBlocks = ["#forge:ores", "raw_copper_block", "raw_iron_block", "raw_gold_block"]
replacementBlocks = ["stone", "deepslate", "andesite", "calcite", "diorite", "dirt", "granite", "gravel", "sand", "tuff", "mossy_cobblestone", "obsidian", "clay", "infested_stone", "amethyst_block", "budding_amethyst", "chest"]
[the_nether]
enabled = true
engineMode = 1
maxBlockHeight = 128
updateRadius = 2
lavaObscures = true
hiddenBlocks = ["ancient_debris", "nether_quartz_ore", "nether_gold_ore", "gold_block", "gilded_blackstone"]
```
### 8. JourneyMap Server Enforced Radar (`runtime/data/journeymap/server/6.0/journeymap.server.global.config`)
```json
{
"surfaceMapping": "ALL",
"caveMapping": "NONE",
"radarEnabled": "ALL",
"playerRadarEnabled": "false",
"mobRadarEnabled": "false",
"animalRadarEnabled": "false",
"villagerRadarEnabled": "false"
}
```

View file

@ -0,0 +1,49 @@
package com.rtxbb.lts_auth.command;
import com.mojang.brigadier.CommandDispatcher;
import com.mojang.brigadier.arguments.StringArgumentType;
import com.mojang.brigadier.context.CommandContext;
import com.rtxbb.lts_auth.LtsAuthMod;
import com.rtxbb.lts_auth.manager.AuthManager;
import net.minecraft.commands.CommandSourceStack;
import net.minecraft.commands.Commands;
import net.minecraft.network.chat.Component;
import net.minecraft.server.level.ServerPlayer;
public class LoginCommand {
public static void register(CommandDispatcher<CommandSourceStack> dispatcher) {
dispatcher.register(
Commands.m_82127_("login")
.then(Commands.m_82129_("password", StringArgumentType.string())
.executes(LoginCommand::execute)
)
);
}
private static int execute(CommandContext<CommandSourceStack> ctx) {
try {
ServerPlayer player = ctx.getSource().m_81375_();
String password = StringArgumentType.getString(ctx, "password");
if (!AuthManager.getInstance().isRegistered(player.m_20148_())) {
ctx.getSource().m_81352_(Component.m_237113_(LtsAuthMod.messages().getColored("messages.not_registered")));
return 0;
}
if (AuthManager.getInstance().isAuthenticated(player.m_20148_())) {
ctx.getSource().m_81352_(Component.m_237113_(LtsAuthMod.messages().getColored("messages.already_logged_in")));
return 0;
}
if (AuthManager.getInstance().login(player, password)) {
player.m_6842_(false);
return 1;
} else {
ctx.getSource().m_81352_(Component.m_237113_(LtsAuthMod.messages().getColored("messages.invalid_password")));
return 0;
}
} catch (Exception e) {
return 0;
}
}
}

View file

@ -0,0 +1,165 @@
package com.rtxbb.lts_auth;
import com.rtxbb.lts_auth.command.LoginCommand;
import com.rtxbb.lts_auth.command.RegisterCommand;
import com.rtxbb.lts_auth.config.MessageManager;
import com.rtxbb.lts_auth.manager.AuthManager;
import com.mojang.logging.LogUtils;
import net.minecraft.network.chat.Component;
import net.minecraft.server.level.ServerPlayer;
import net.minecraftforge.common.MinecraftForge;
import net.minecraftforge.event.RegisterCommandsEvent;
import net.minecraftforge.event.TickEvent;
import net.minecraftforge.event.entity.item.ItemTossEvent;
import net.minecraftforge.event.entity.living.LivingAttackEvent;
import net.minecraftforge.event.entity.living.LivingHurtEvent;
import net.minecraftforge.event.entity.player.EntityItemPickupEvent;
import net.minecraftforge.event.entity.player.PlayerEvent;
import net.minecraftforge.event.entity.player.PlayerInteractEvent;
import net.minecraftforge.event.level.BlockEvent;
import net.minecraftforge.eventbus.api.SubscribeEvent;
import net.minecraftforge.fml.common.Mod;
import net.minecraftforge.fml.loading.FMLPaths;
import org.slf4j.Logger;
import java.util.HashMap;
import java.util.Map;
import java.util.UUID;
@Mod("lts_auth")
public class LtsAuthMod {
public static final String MODID = "lts_auth";
private static final Logger LOGGER = LogUtils.getLogger();
private static final MessageManager MESSAGE_MANAGER = new MessageManager(FMLPaths.CONFIGDIR.get().resolve("lts_auth").resolve("messages.yml"));
private final Map<UUID, Integer> joinTicks = new HashMap<>();
public LtsAuthMod() {
MESSAGE_MANAGER.load();
MinecraftForge.EVENT_BUS.register(this);
LOGGER.info(messages().get("messages.mod_initialized"));
}
public static MessageManager messages() {
return MESSAGE_MANAGER;
}
@SubscribeEvent
public void onRegisterCommands(RegisterCommandsEvent event) {
RegisterCommand.register(event.getDispatcher());
LoginCommand.register(event.getDispatcher());
}
@SubscribeEvent
public void onPlayerJoin(PlayerEvent.PlayerLoggedInEvent event) {
if (event.getEntity() instanceof ServerPlayer player) {
AuthManager.getInstance().logout(player.m_20148_());
joinTicks.put(player.m_20148_(), 0);
if (!AuthManager.getInstance().isAuthenticated(player.m_20148_())) {
player.m_6842_(true);
}
if (AuthManager.getInstance().isRegistered(player.m_20148_())) {
player.m_213846_(Component.m_237113_(messages().getColored("messages.login_prompt")));
} else {
player.m_213846_(Component.m_237113_(messages().getColored("messages.register_prompt")));
}
}
}
@SubscribeEvent
public void onPlayerQuit(PlayerEvent.PlayerLoggedOutEvent event) {
AuthManager.getInstance().logout(event.getEntity().m_20148_());
joinTicks.remove(event.getEntity().m_20148_());
}
@SubscribeEvent
public void onServerTick(TickEvent.ServerTickEvent event) {
if (event.phase == TickEvent.Phase.END) {
Map<UUID, Integer> ticksCopy = new HashMap<>(joinTicks);
for (UUID uuid : ticksCopy.keySet()) {
if (!AuthManager.getInstance().isAuthenticated(uuid)) {
int ticks = joinTicks.get(uuid) + 1;
joinTicks.put(uuid, ticks);
ServerPlayer player = event.getServer().m_6846_().m_11259_(uuid);
if (player != null) {
if (ticks % 100 == 0) {
if (AuthManager.getInstance().isRegistered(uuid)) {
player.m_240418_(Component.m_237113_(messages().getColored("messages.login_reminder")), true);
} else {
player.m_240418_(Component.m_237113_(messages().getColored("messages.register_reminder")), true);
}
}
if (ticks >= 36000) {
player.f_8906_.m_9942_(Component.m_237113_(messages().getColored("messages.timeout_kick")));
}
}
} else {
joinTicks.remove(uuid);
}
}
}
}
@SubscribeEvent
public void onPlayerMove(TickEvent.PlayerTickEvent event) {
if (event.phase == TickEvent.Phase.START && event.player instanceof ServerPlayer player) {
if (!AuthManager.getInstance().isAuthenticated(player.m_20148_())) {
player.m_6842_(true);
player.m_6021_(player.m_20185_(), player.m_20186_(), player.m_20189_());
}
}
}
@SubscribeEvent
public void onPlayerInteract(PlayerInteractEvent event) {
if (event.getEntity() instanceof ServerPlayer player) {
if (!AuthManager.getInstance().isAuthenticated(player.m_20148_())) {
event.setCanceled(true);
}
}
}
@SubscribeEvent
public void onLivingHurt(LivingHurtEvent event) {
if (event.getEntity() instanceof ServerPlayer player) {
if (!AuthManager.getInstance().isAuthenticated(player.m_20148_())) {
event.setCanceled(true);
}
}
}
@SubscribeEvent
public void onLivingAttack(LivingAttackEvent event) {
if (event.getEntity() instanceof ServerPlayer player) {
if (!AuthManager.getInstance().isAuthenticated(player.m_20148_())) {
event.setCanceled(true);
}
}
}
@SubscribeEvent
public void onBlockBreak(BlockEvent.BreakEvent event) {
if (event.getPlayer() instanceof ServerPlayer player) {
if (!AuthManager.getInstance().isAuthenticated(player.m_20148_())) {
event.setCanceled(true);
}
}
}
@SubscribeEvent
public void onItemPickup(EntityItemPickupEvent event) {
if (event.getEntity() instanceof ServerPlayer player) {
if (!AuthManager.getInstance().isAuthenticated(player.m_20148_())) {
event.setCanceled(true);
}
}
}
@SubscribeEvent
public void onItemToss(ItemTossEvent event) {
if (event.getPlayer() instanceof ServerPlayer player) {
if (!AuthManager.getInstance().isAuthenticated(player.m_20148_())) {
event.setCanceled(true);
}
}
}
}

View file

@ -0,0 +1,72 @@
import os, shutil, subprocess, zipfile
JAR_HOST_PATH = "../../runtime/data/mods/lts_auth-1.0.1+mc1.20.1.jar"
BAK_HOST_PATH = "../../runtime/data/mods/lts_auth-1.0.1+mc1.20.1.jar.bak"
TMP_HOST_DIR = "../../runtime/data/tmp_lts_build"
TMP_CONTAINER_DIR = "/data/tmp_lts_build"
CONTAINER_NAME = "mc_forge_server"
def run_cmd(cmd):
res = subprocess.run(cmd, shell=True, stdout=subprocess.PIPE, stderr=subprocess.PIPE, text=True)
if res.returncode != 0:
print("Command failed:", cmd)
print("Stderr:", res.stderr)
print("Stdout:", res.stdout)
return res.returncode == 0
def cleanup_tmp():
run_cmd(f"docker exec -u 0 -i {CONTAINER_NAME} rm -rf {TMP_CONTAINER_DIR}")
def prepare_tmp():
cleanup_tmp()
run_cmd(f"docker exec -u 0 -i {CONTAINER_NAME} mkdir -p {TMP_CONTAINER_DIR}")
run_cmd(f"docker exec -u 0 -i {CONTAINER_NAME} chmod -R 777 {TMP_CONTAINER_DIR}")
if os.path.exists(JAR_HOST_PATH):
if not os.path.exists(BAK_HOST_PATH):
shutil.copyfile(JAR_HOST_PATH, BAK_HOST_PATH)
prepare_tmp()
# Extract original JAR
with zipfile.ZipFile(JAR_HOST_PATH, "r") as z:
z.extractall(TMP_HOST_DIR)
# Copy local .java source files into TMP_HOST_DIR/src based on their package declaration
src_base = os.path.join(TMP_HOST_DIR, "src")
os.makedirs(src_base, exist_ok=True)
for root, _, files in os.walk("."):
for file in files:
if file.endswith(".java"):
filepath = os.path.join(root, file)
pkg = ""
with open(filepath, "r", encoding="utf-8") as f:
for line in f:
line = line.strip()
if line.startswith("package ") and line.endswith(";"):
pkg = line[8:-1].strip()
break
target_dir = os.path.join(src_base, *pkg.split(".")) if pkg else src_base
os.makedirs(target_dir, exist_ok=True)
shutil.copyfile(filepath, os.path.join(target_dir, file))
# run_cmd(f"docker exec -u 0 -i {CONTAINER_NAME} apt-get update >/dev/null 2>&1")
# run_cmd(f"docker exec -u 0 -i {CONTAINER_NAME} apt-get install -y openjdk-17-jdk-headless >/dev/null 2>&1")
run_cmd(f"docker exec -u 0 -i {CONTAINER_NAME} chmod -R 777 {TMP_CONTAINER_DIR}")
compile_cmd = f'docker exec -i {CONTAINER_NAME} bash -c \'CP=$(find /data/libraries /data/mods -name "*.jar" | tr "\\n" ":"); javac -cp "$CP:{TMP_CONTAINER_DIR}" -d {TMP_CONTAINER_DIR} {TMP_CONTAINER_DIR}/src/com/rtxbb/lts_auth/LtsAuthMod.java {TMP_CONTAINER_DIR}/src/com/rtxbb/lts_auth/command/LoginCommand.java\''
if run_cmd(compile_cmd):
print("Compilation successful! Re-zipping mod JAR...")
run_cmd(f"docker exec -u 0 -i {CONTAINER_NAME} chmod -R 777 {TMP_CONTAINER_DIR}")
run_cmd(f"docker exec -u 0 -i {CONTAINER_NAME} chmod 777 /data/mods/lts_auth-1.0.1+mc1.20.1.jar")
with zipfile.ZipFile(JAR_HOST_PATH, "w", zipfile.ZIP_DEFLATED) as zip_out:
for root, _, files in os.walk(TMP_HOST_DIR):
for file in files:
if file.endswith(".java") or "src" in root:
continue
full_path = os.path.join(root, file)
arcname = os.path.relpath(full_path, TMP_HOST_DIR)
zip_out.write(full_path, arcname)
cleanup_tmp()
print("JAR successfully updated.")

View file

@ -0,0 +1,17 @@
#!/bin/bash
CONTAINER="mc_forge_server"
SESSION="mc_console"
unset TMUX
# Clean up old session
tmux kill-session -t $SESSION 2>/dev/null
# Create top window: Live logs
tmux new-session -d -s $SESSION "docker logs -f --tail 100 $CONTAINER"
# Create bottom window: Interactive command prompt via rcon-cli
tmux split-window -v -l 3 -t $SESSION "while true; do read -e -p 'MC> ' cmd; [ -n \"\$cmd\" ] && docker exec -i $CONTAINER rcon-cli \"\$cmd\"; done"
# Open the split console
tmux attach -t $SESSION

View file

@ -0,0 +1,56 @@
{
"DO_NOT_CHANGE_IT": 2,
"modpackName": "MC SotoHome",
"modpackHost": true,
"generateModpackOnStart": true,
"syncedFiles": [
"/mods/*.jar",
"!/mods/SimpleBackups*.jar",
"/shaderpacks/*",
"!/config/luckperms/libs/**",
"!/mods/improvedmobs*.jar",
"!/mods/spark*.jar",
"!/mods/antixray*.jar",
"!/mods/doubledoors*.jar",
"!/mods/Clumps*.jar",
"!/mods/collective*.jar",
"!/config/antixray.toml",
"!/mods/lts_auth*.jar",
"/resourcepacks/*",
"/config/**",
"!/config/simplebackups-common.toml",
"!/config/spark/**"
],
"allowEditsInFiles": [
"/config/**",
"/options.txt"
],
"forceCopyFilesToStandardLocation": [
"/mods/*.jar",
"/servers.dat",
"/options.txt",
"/config/**"
],
"nonModpackFilesToDelete": {},
"autoExcludeServerSideMods": true,
"autoExcludeUnnecessaryFiles": true,
"requireAutoModpackOnClient": true,
"nagUnModdedClients": true,
"nagMessage": "This server provides dedicated modpack through AutoModpack!",
"nagClickableMessage": "Click here to get the AutoModpack!",
"nagClickableLink": "https://modrinth.com/project/automodpack",
"bindAddress": "",
"bindPort": -1,
"addressToSend": "",
"portToSend": -1,
"disableInternalTLS": false,
"requireMagicPackets": false,
"updateIpsOnEveryStart": false,
"bandwidthLimit": 0,
"validateSecrets": false,
"secretLifetime": 336,
"selfUpdater": false,
"acceptedLoaders": [
"forge"
]
}

View file

@ -0,0 +1,8 @@
#This file stores configuration options for Iris, such as the currently active shaderpack
#Sat Aug 15 16:12:38 CEST 2026
colorSpace=SRGB
disableUpdateMessage=false
enableDebugOptions=false
maxShadowRenderDistance=32
shaderPack=BSL_v10.1.3.zip
enableShaders=true

View file

@ -0,0 +1,6 @@
#Sat Aug 15 16:12:38 CEST 2026
shadowDistance=192.0
LIGHT_SHAFT=false
shadowMapResolution=1536
TAA=false
SHADOW_COLOR=false

View file

@ -0,0 +1,94 @@
filename = 'BSL_v10.1.3.zip'
name = 'BSL Shaders'
side = 'client'
x-prismlauncher-dependencies = []
x-prismlauncher-loaders = []
x-prismlauncher-mc-versions = [
'1.7.10',
'1.8',
'1.8.1',
'1.8.2',
'1.8.3',
'1.8.4',
'1.8.5',
'1.8.6',
'1.8.7',
'1.8.8',
'1.8.9',
'1.9',
'1.9.1',
'1.9.2',
'1.9.3',
'1.9.4',
'1.10',
'1.10.1',
'1.10.2',
'1.11',
'1.11.1',
'1.11.2',
'1.12',
'1.12.1',
'1.12.2',
'1.13',
'1.13.1',
'1.13.2',
'1.14',
'1.14.1',
'1.14.2',
'1.14.3',
'1.14.4',
'1.15',
'1.15.1',
'1.15.2',
'1.16',
'1.16.1',
'1.16.2',
'1.16.3',
'1.16.4',
'1.16.5',
'1.17',
'1.17.1',
'1.18',
'1.18.1',
'1.18.2',
'1.19',
'1.19.1',
'1.19.2',
'1.19.3',
'1.19.4',
'1.20',
'1.20.1',
'1.20.2',
'1.20.3',
'1.20.4',
'1.20.5',
'1.20.6',
'1.21',
'1.21.1',
'1.21.2',
'1.21.3',
'1.21.4',
'1.21.5',
'1.21.6',
'1.21.7',
'1.21.8',
'1.21.9',
'1.21.10',
'1.21.11',
'26.1',
'26.1.1',
'26.1.2',
'26.2'
]
x-prismlauncher-release-type = 'release'
x-prismlauncher-version-number = '10.1.3'
[download]
hash = '3e68c8038e38b0860cf1258e5fc84bcd98007a70fb7ba49e306186be6e905187527b630b77cb9e8cc8ee80865606c0fb398c419a22f0076b2ed5c7d73748a9ba'
hash-format = 'sha512'
mode = 'url'
url = 'https://cdn.modrinth.com/data/Q1vvjJYV/versions/hIibTfxn/BSL_v10.1.3.zip'
[update.modrinth]
mod-id = 'Q1vvjJYV'
version = 'hIibTfxn'

View file

@ -0,0 +1,77 @@
{
// Allow players to set custom flag images for their rockets.
"allowFlagImages": true,
// Allow rockets to be launched from any dimension, even if it's not considered a planet.
"launchAnywhere": false,
/*
* The random tick speed for breaking plants, torches, freezing water, etc. on planets.
* Type: Integer
*/
"planetRandomTickSpeed": 20,
// Always tick every planet chunk for things like freezing water, breaking plants, etc., regardless of whether the chunk can tick randomly or not. This has a small performance impact.
"forcePlanetTick": false,
/*
* The y level where rockets should leave the dimension and enter space.
* Type: Integer
*/
"atmosphereLeave": 600,
// A comma-separated list of planet IDs that should be hidden from the planets screen. e.g. minecraft:overworld,ad_astra:moon,ad_astra:mars,ad_astra:venus,ad_astra:mercury,ad_astra:glacio
"disabledPlanets": "",
// Disables oxygen damage.
"disableOxygen": false,
// Disables temperature damage.
"disableTemperature": false,
// Uses normal gravity for all planets.
"disableGravity": false,
// An Air Vortex is created when an oxygenated structure breaks its seal, causing every entity inside to rapidly get sucked out. This setting disables that.
"disableAirVortexes": false,
"cryoFreezer": {
// Type: Long
"ironTierMaxEnergyInOut": 100,
// Type: Long
"steelTierMaxEnergyInOut": 150,
// Type: Long
"deshTierMaxEnergyInOut": 250,
// Type: Long
"ostrumTierMaxEnergyInOut": 500,
// Type: Long
"ironTierEnergyCapacity": 10000,
// Type: Long
"steelTierEnergyCapacity": 20000,
// Type: Long
"deshTierEnergyCapacity": 50000,
// Type: Long
"ostrumTierEnergyCapacity": 100000,
// Type: Long
"steelTierFluidCapacity": 3000,
// Type: Long
"deshTierFluidCapacity": 5000,
// Type: Long
"ostrumTierFluidCapacity": 10000,
// Type: Long
"coalGeneratorEnergyGenerationPerTick": 20,
// Type: Long
"etrionicBlastFurnaceBlastingEnergyPerItem": 10,
// Type: Long
"waterPumpEnergyPerTick": 20,
// Type: Long
"waterPumpFluidGenerationPerTick": 50,
// Type: Long
"energizerEnergyCapacity": 2000000,
/*
* The maximum number of blocks that an oxygen distributor and gravity normalizer can distribute to.
* Type: Integer
*/
"maxDistributionBlocks": 6000,
/*
* The tick rate (20 ticks = 1 second) at which the oxygen distributor and gravity normalizer will recalculate the distribution area.
* Type: Integer
*/
"distributionRefreshRate": 100,
/*
* The tick rate (20 ticks = 1 second) at which cables and fluid pipes will recalculate their connections.
* Type: Integer
*/
"pipeRefreshRate": 50
}
}

View file

@ -0,0 +1,711 @@
[general]
#Whether all players should get an Animal Dictionary when joining the world for the first time.
giveBookOnStartup = true
#Lava Opacity for the Lava Vision Potion.
#Range: 0.01 ~ 1.0
lavaVisionOpacity = 0.65
#Whether to disable certain aspects of the Lava Vision Potion. Enable if issues with shaders persist.
shadersCompat = false
#Whether bananas should drop from blocks tagged with #alexsmobs:drops_bananas
bananasDropFromLeaves = true
#1 out of this number chance for leaves to drop a banana when broken. Fortune is automatically factored in
#Range: > 0
bananaChance = 200
#Whether spiders should target fly mobs.
spidersAttackFlies = true
#Whether wolves should target moose mobs.
wolvesAttackMoose = true
#Whether polar bears should target seal mobs.
polarBearsAttackSeals = true
#Whether cats, ocelots and foxes should target jerboa mobs.
catsAndFoxesAttackJerboas = true
#Whether dolphins should target flying fish mobs.
dolphinsAttackFlyingFish = true
#Whether lava can be bottled with a right click of a glass bottle.
lavaBottleEnabled = true
#Whether bone serpents are neutral or hostile.
neutralBoneSerpents = false
#Whether mimicubes spawns should be restricted solely to the end city structure or to whatever biome is specified in their respective biome config.
mimicubeSpawnInEndCity = true
#Whether mimicream can be used to duplicate items.
mimicreamRepair = true
#Blacklist for items that mimicream cannot make a copy of. Ex: "minecraft:stone_sword", "alexsmobs:blood_sprayer"
mimicreamBlacklist = ["alexsmobs:blood_sprayer", "alexsmobs:hemolymph_blaster"]
#Whether wild raccoons steal food from chests.
raccoonStealFromChests = true
#Whether wild crows steal crops from farmland.
crowsStealCrops = true
#Whether fish oil gives players a special levitation effect.
fishOilMeme = true
#Whether soul vulture spawns should be restricted solely to the nether fossil structure or to whatever biome is specified in their respective biome config.
soulVultureSpawnOnFossil = true
#Whether acacia blossoms should drop from blocks tagged with #alexsmobs:drops_acacia_blossoms
acaciaBlossomsDropFromLeaves = true
#1 out of this number chance for leaves to drop an acacia when broken. Fortune is automatically factored in
#Range: > 0
acaciaBlossomChance = 130
#Whether wandering traders offer items like acacia blossoms, mosquito larva, crocodile egg, etc.
wanderingTraderOffers = true
#0 = no mungus biome transformation. 1 = mungus changes blocks, but not chunk's biome. 2 = mungus transforms blocks and biome of chunk.
#Range: 0 ~ 2
mungusBiomeTransformationType = 2
#List of all mungus mushrooms, biome transformations and surface blocks. Each is seperated by a |. Add an entry with a block registry name, biome registry name, and block registry name(for the ground).
mungusBiomeMatches = ["minecraft:red_mushroom|minecraft:mushroom_fields|minecraft:mycelium", "minecraft:brown_mushroom|minecraft:mushroom_fields|minecraft:mycelium", "minecraft:crimson_fungus|minecraft:crimson_forest|minecraft:crimson_nylium", "minecraft:warped_fungus|minecraft:warped_forest|minecraft:warped_nylium"]
#Whether guster spawns are limited to when it is raining/thundering.
limitGusterSpawnsToWeather = true
#Whether Crimson Mosquitoes can transform into Warped Moscos if attacking a Mungus or any listed creature.
warpedMoscoTransformation = true
#List of extra(non mungus) mobs that will trigger a crimson mosquito to become a warped mosquito. Ex: "minecraft:mooshroom", "alexsmobs:warped_toad"
warpedMoscoMobTriggers = [""]
#True if straddleboard enchants are enabled.
straddleboardEnchants = true
#Whether emu should target skeletons.
emuTargetSkeletons = true
#Percent chance for emu leggings to dodge projectile attacks.
#Range: 0.0 ~ 1.0
emuPantsDodgeChance = 0.45
#Whether cachalots can destroy wood blocks if angry.
cachalotDestruction = true
#Relative volume of cachalot whales compared to other animals. Note that irl they are the loudest animal. Turn this down if you find their clicks annoying.
#Range: 0.0 ~ 10.0
cachalotVolume = 3.0
#Percent chance for fungus to grow per each leaf a leafcutter ant returns to the colony.
#Range: 0.0 ~ 1.0
leafcutterAntFungusGrowChance = 0.3
#How many feedings of leaves does a leafcutter colony need in order to regain a worker ant, if below half the max members.
#Range: 2 ~ 100000
leafcutterAntRepopulateFeedings = 25
#Max number of ant entities allowed inside a leafcutter anthill.
#Range: 2 ~ 100000
leafcutterAntColonySize = 10
#Percent chance for leafcutter ants to break leaves blocks when harvesting. Set to zero so that they can not break any blocks.
#Range: 0.0 ~ 1.0
leafcutterAntBreakLeavesChance = 0.2
#Makes eagles teleport back to their owner if they get stuck during controlled flight. Useful for when playing with the Optifine mod, since this mod is the fault of many issues with the falconry system.
falconryTeleportsBack = false
#Makes Tarantula Hawks fireproof, perfect if you also want these guys to spawn in the nether.
fireproofTarantulaHawk = false
#List of dimensions in which spawning void worms via mysterious worm items is allowed.
voidWormSpawnDimensions = ["minecraft:the_end"]
#All void worm damage is scaled to this.
#Range: 0.0 ~ 100.0
voidWormDamageModifier = 1.0
#Max Health of the void worm boss.
#Range: 0.0 ~ 1000000.0
voidWormMaxHealth = 160.0
#Whether the void worm boss is summonable or not, via the mysterious worm item.
voidWormSummonable = true
#Whether seagulls should steal food out of players' hotbar slots.
seagullStealing = true
#List of items that seagulls cannot take from players.
seagullStealingBlacklist = []
#Whether the Clinging Potion effect should flip the screen. Warning: may cause nausea.
clingingFlipEffect = false
#Percent chance of getting Pigshoes from Piglin Bartering. Set to zero to disable.
#Range: 0.0 ~ 1.0
tusklinShoesBarteringChance = 0.02500000037252903
#The visual zoom of the rainbow pattern on the rainbow glass block. Higher number = bigger pattern.
#Range: 1.0 ~ 10000.0
rainbowGlassFidelity = 16.0
#Whether Rabbits can transform into Bunfungus if fed Mungal spores.
bunfungusTransformation = true
#True if some Alex's Mobs items should spawn in loot chests.
addLootToChests = true
#List of items that cannot be put in a Transmuting Table.
transmutationBlacklist = ["minecraft:beacon"]
#True if transmutation tables should not have the ability to pick up new items to transmute, and only give options from the loot tables.
limitTransmutingToLootTables = false
#True if transmutation tables can explode when broken.
transmutingTableExplodes = true
#The experience, in levels, that each transmutation of a stack takes in the transmuting table.
#Range: 0 ~ 100000
transmutingExperienceCost = 3
#The step value multiplied by the log of the stack size when transmuting an item, used to determine its weight for appearing in future transmutation possibilities. Higher number = more likely to appear.
#Range: 1.0 ~ 10000.0
transmutingWeightAddStep = 3.0
#The step value that an item looses when selecting it as the transmutation result. Keep this number higher than the one above for balance reasons. Higher number = less likely to appear after transmuting multiple times.
#Range: 1.0 ~ 10000.0
transmutingWeightRemoveStep = 4.0
#True if skreechers can summon a new warden, when applicable.
skreechersSummonWarden = true
#The distance in blocks that will cause an underminer to dissapear when approached by a player.
#Range: 1.0 ~ 10000.0
underminerDisappearDistance = 8.0
[spawning]
#Spawn Weight, added to a pool of other mobs for each biome. Higher number = higher chance of spawning. 0 = disable spawn
#Range: 0 ~ 1000
grizzlyBearSpawnWeight = 8
#Random roll chance to enable mob spawning. Higher number = lower chance of spawning
#Range: > 0
grizzlyBearSpawnRolls = 0
#Spawn Weight, added to a pool of other mobs for each biome. Higher number = higher chance of spawning. 0 = disable spawn
#Range: 0 ~ 1000
roadrunnerSpawnWeight = 9
#Random roll chance to enable mob spawning. Higher number = lower chance of spawning
#Range: > 0
roadrunnerSpawnRolls = 1
#Spawn Weight, added to a pool of other mobs for each biome. Higher number = higher chance of spawning. 0 = disable spawn
#Range: 0 ~ 1000
boneSerpentSpawnWeight = 8
#Random roll chance to enable mob spawning. Higher number = lower chance of spawning
#Range: > 0
boneSeprentSpawnRolls = 40
#Spawn Weight, added to a pool of other mobs for each biome. Higher number = higher chance of spawning. 0 = disable spawn
#Range: 0 ~ 1000
gazelleSpawnWeight = 40
#Random roll chance to enable mob spawning. Higher number = lower chance of spawning
#Range: > 0
gazelleSpawnRolls = 0
#Spawn Weight, added to a pool of other mobs for each biome. Higher number = higher chance of spawning. 0 = disable spawn
#Range: 0 ~ 1000
crocodileSpawnWeight = 20
#Random roll chance to enable mob spawning. Higher number = lower chance of spawning
#Range: > 0
crocSpawnRolls = 1
#Spawn Weight, added to a pool of other mobs for each biome. Higher number = higher chance of spawning. 0 = disable spawn
#Range: 0 ~ 1000
flySpawnWeight = 3
#Random roll chance to enable mob spawning. Higher number = lower chance of spawning
#Range: > 0
flySpawnRolls = 1
#Spawn Weight, added to a pool of other mobs for each biome. Higher number = higher chance of spawning. 0 = disable spawn
#Range: 0 ~ 1000
hummingbirdSpawnWeight = 19
#Random roll chance to enable mob spawning. Higher number = lower chance of spawning
#Range: > 0
hummingbirdSpawnRolls = 1
#Spawn Weight, added to a pool of other mobs for each biome. Higher number = higher chance of spawning. 0 = disable spawn
#Range: 0 ~ 1000
orcaSpawnWeight = 2
#Random roll chance to enable mob spawning. Higher number = lower chance of spawning
#Range: > 0
orcaSpawnRolls = 6
#Spawn Weight, added to a pool of other mobs for each biome. Higher number = higher chance of spawning. 0 = disable spawn
#Range: 0 ~ 1000
sunbirdSpawnWeight = 5
#Random roll chance to enable mob spawning. Higher number = lower chance of spawning
#Range: > 0
sunbirdSpawnRolls = 6
#Spawn Weight, added to a pool of other mobs for each biome. Higher number = higher chance of spawning. 0 = disable spawn
#Range: 0 ~ 1000
gorillaSpawnWeight = 25
#Random roll chance to enable mob spawning. Higher number = lower chance of spawning
#Range: > 0
gorillaSpawnRolls = 0
#Spawn Weight, added to a pool of other mobs for each biome. Higher number = higher chance of spawning. 0 = disable spawn
#Range: 0 ~ 1000
crimsonMosquitoSpawnWeight = 15
#Random roll chance to enable mob spawning. Higher number = lower chance of spawning
#Range: > 0
crimsonMosquitoSpawnRolls = 0
#Spawn Weight, added to a pool of other mobs for each biome. Higher number = higher chance of spawning. 0 = disable spawn
#Range: 0 ~ 1000
rattlesnakeSpawnWeight = 12
#Random roll chance to enable mob spawning. Higher number = lower chance of spawning
#Range: > 0
rattlesnakeSpawnRolls = 0
#Spawn Weight, added to a pool of other mobs for each biome. Higher number = higher chance of spawning. 0 = disable spawn
#Range: 0 ~ 1000
endergradeSpawnWeight = 10
#Random roll chance to enable mob spawning. Higher number = lower chance of spawning
#Range: > 0
endergradeSpawnRolls = 0
#Spawn Weight, added to a pool of other mobs for each biome. Higher number = higher chance of spawning. 0 = disable spawn
#Range: 0 ~ 1000
hammerheadSharkSpawnWeight = 8
#Random roll chance to enable mob spawning. Higher number = lower chance of spawning
#Range: > 0
hammerheadSharkSpawnRolls = 1
#Spawn Weight, added to a pool of other mobs for each biome. Higher number = higher chance of spawning. 0 = disable spawn
#Range: 0 ~ 1000
lobsterSpawnWeight = 7
#Random roll chance to enable mob spawning. Higher number = lower chance of spawning
#Range: > 0
lobsterSpawnRolls = 0
#Spawn Weight, added to a pool of other mobs for each biome. Higher number = higher chance of spawning. 0 = disable spawn
#Range: 0 ~ 1000
komodoDragonSpawnWeight = 16
#Random roll chance to enable mob spawning. Higher number = lower chance of spawning
#Range: > 0
komodoDragonSpawnRolls = 1
#Spawn Weight, added to a pool of other mobs for each biome. Higher number = higher chance of spawning. 0 = disable spawn
#Range: 0 ~ 1000
capuchinMonkeySpawnWeight = 28
#Random roll chance to enable mob spawning. Higher number = lower chance of spawning
#Range: > 0
capuchinMonkeySpawnRolls = 0
#Spawn Weight, added to a pool of other mobs for each biome. Higher number = higher chance of spawning. 0 = disable spawn
#Range: 0 ~ 1000
caveCentipedeSpawnWeight = 8
#Random roll chance to enable mob spawning. Higher number = lower chance of spawning
#Range: > 0
caveCentipedeSpawnRolls = 1
#Spawn Weight, added to a pool of other mobs for each biome. Higher number = higher chance of spawning. 0 = disable spawn
#Range: 0 ~ 1000
warpedToadSpawnWeight = 30
#Random roll chance to enable mob spawning. Higher number = lower chance of spawning
#Range: > 0
warpedToadSpawnRolls = 0
#Spawn Weight, added to a pool of other mobs for each biome. Higher number = higher chance of spawning. 0 = disable spawn
#Range: 0 ~ 1000
mooseSpawnWeight = 9
#Random roll chance to enable mob spawning. Higher number = lower chance of spawning
#Range: > 0
mooseSpawnRolls = 0
#Spawn Weight, added to a pool of other mobs for each biome. Higher number = higher chance of spawning. 0 = disable spawn
#Range: 0 ~ 1000
mimicubeSpawnWeight = 40
#Random roll chance to enable mob spawning. Higher number = lower chance of spawning
#Range: > 0
mimicubeSpawnRolls = 0
#Spawn Weight, added to a pool of other mobs for each biome. Higher number = higher chance of spawning. 0 = disable spawn
#Range: 0 ~ 1000
raccoonSpawnWeight = 10
#Random roll chance to enable mob spawning. Higher number = lower chance of spawning
#Range: > 0
raccoonSpawnRolls = 0
#Spawn Weight, added to a pool of other mobs for each biome. Higher number = higher chance of spawning. 0 = disable spawn
#Range: 0 ~ 1000
blobfishSpawnWeight = 30
#Random roll chance to enable mob spawning. Higher number = lower chance of spawning
#Range: > 0
blobfishSpawnRolls = 0
#Spawn Weight, added to a pool of other mobs for each biome. Higher number = higher chance of spawning. 0 = disable spawn
#Range: 0 ~ 1000
sealSpawnWeight = 20
#Random roll chance to enable mob spawning. Higher number = lower chance of spawning
#Range: > 0
sealSpawnRolls = 0
#Spawn Weight, added to a pool of other mobs for each biome. Higher number = higher chance of spawning. 0 = disable spawn
#Range: 0 ~ 1000
cockroachSpawnWeight = 4
#Random roll chance to enable mob spawning. Higher number = lower chance of spawning
#Range: > 0
cockroachSpawnRolls = 0
#Spawn Weight, added to a pool of other mobs for each biome. Higher number = higher chance of spawning. 0 = disable spawn
#Range: 0 ~ 1000
shoebillSpawnWeight = 10
#Random roll chance to enable mob spawning. Higher number = lower chance of spawning
#Range: > 0
shoebillSpawnRolls = 0
#Spawn Weight, added to a pool of other mobs for each biome. Higher number = higher chance of spawning. 0 = disable spawn
#Range: 0 ~ 1000
elephantSpawnWeight = 30
#Random roll chance to enable mob spawning. Higher number = lower chance of spawning
#Range: > 0
elephantSpawnRolls = 0
#Spawn Weight, added to a pool of other mobs for each biome. Higher number = higher chance of spawning. 0 = disable spawn
#Range: 0 ~ 1000
soulVultureSpawnWeight = 30
#Random roll chance to enable mob spawning. Higher number = lower chance of spawning
#Range: > 0
soulVultureSpawnRolls = 0
#Spawn Weight, added to a pool of other mobs for each biome. Higher number = higher chance of spawning. 0 = disable spawn
#Range: 0 ~ 1000
snowLeopardSpawnWeight = 18
#Random roll chance to enable mob spawning. Higher number = lower chance of spawning
#Range: > 0
snowLeopardSpawnRolls = 0
#Spawn Weight, added to a pool of other mobs for each biome. Higher number = higher chance of spawning. 0 = disable spawn
#Range: 0 ~ 1000
spectreSpawnWeight = 10
#Random roll chance to enable mob spawning. Higher number = lower chance of spawning
#Range: > 0
spectreSpawnRolls = 5
#Spawn Weight, added to a pool of other mobs for each biome. Higher number = higher chance of spawning. 0 = disable spawn
#Range: 0 ~ 1000
crowSpawnWeight = 10
#Random roll chance to enable mob spawning. Higher number = lower chance of spawning
#Range: > 0
crowSpawnRolls = 0
#Spawn Weight, added to a pool of other mobs for each biome. Higher number = higher chance of spawning. 0 = disable spawn
#Range: 0 ~ 1000
alligatorSnappingTurtleSpawnWeight = 20
#Random roll chance to enable mob spawning. Higher number = lower chance of spawning
#Range: > 0
alligatorSnappingTurtleSpawnRolls = 1
#Spawn Weight, added to a pool of other mobs for each biome. Higher number = higher chance of spawning. 0 = disable spawn
#Range: 0 ~ 1000
mungusSpawnWeight = 4
#Random roll chance to enable mob spawning. Higher number = lower chance of spawning
#Range: > 0
mungusSpawnRolls = 1
#Spawn Weight, added to a pool of other mobs for each biome. Higher number = higher chance of spawning. 0 = disable spawn
#Range: 0 ~ 1000
mantisShrimpSpawnWeight = 15
#Random roll chance to enable mob spawning. Higher number = lower chance of spawning
#Range: > 0
mantisShrimpSpawnRolls = 0
#Spawn Weight, added to a pool of other mobs for each biome. Higher number = higher chance of spawning. 0 = disable spawn
#Range: 0 ~ 1000
gusterSpawnWeight = 35
#Random roll chance to enable mob spawning. Higher number = lower chance of spawning
#Range: > 0
gusterSpawnRolls = 0
#Spawn Weight, added to a pool of other mobs for each biome. Higher number = higher chance of spawning. 0 = disable spawn. NOTE: By default the warped mosco doesn't spawn in any biomes.
#Range: 0 ~ 1000
warpedMoscoSpawnWeight = 1
#Random roll chance to enable mob spawning. Higher number = lower chance of spawning
#Range: > 0
warpedMoscoSpawnRolls = 1000
#Spawn Weight, added to a pool of other mobs for each biome. Higher number = higher chance of spawning. 0 = disable spawn
#Range: 0 ~ 1000
straddlerSpawnWeight = 70
#Random roll chance to enable mob spawning. Higher number = lower chance of spawning
#Range: > 0
straddlerSpawnRolls = 0
#Spawn Weight, added to a pool of other mobs for each biome. Higher number = higher chance of spawning. 0 = disable spawn
#Range: 0 ~ 1000
stradpoleSpawnWeight = 10
#Random roll chance to enable mob spawning. Higher number = lower chance of spawning
#Range: > 0
stradpoleSpawnRolls = 3
#Spawn Weight, added to a pool of other mobs for each biome. Higher number = higher chance of spawning. 0 = disable spawn
#Range: 0 ~ 1000
emuSpawnWeight = 20
#Random roll chance to enable mob spawning. Higher number = lower chance of spawning
#Range: > 0
emuSpawnRolls = 0
#Spawn Weight, added to a pool of other mobs for each biome. Higher number = higher chance of spawning. 0 = disable spawn
#Range: 0 ~ 1000
platypusSpawnWeight = 20
#Random roll chance to enable mob spawning. Higher number = lower chance of spawning
#Range: > 0
platypusSpawnRolls = 0
#Spawn Weight, added to a pool of other mobs for each biome. Higher number = higher chance of spawning. 0 = disable spawn
#Range: 0 ~ 1000
dropbearSpawnWeight = 19
#Random roll chance to enable mob spawning. Higher number = lower chance of spawning
#Range: > 0
dropbearSpawnRolls = 1
#Spawn Weight, added to a pool of other mobs for each biome. Higher number = higher chance of spawning. 0 = disable spawn
#Range: 0 ~ 1000
tasmanianDevilSpawnWeight = 10
#Random roll chance to enable mob spawning. Higher number = lower chance of spawning
#Range: > 0
tasmanianDevilSpawnRolls = 0
#Spawn Weight, added to a pool of other mobs for each biome. Higher number = higher chance of spawning. 0 = disable spawn
#Range: 0 ~ 1000
kangarooSpawnWeight = 25
#Random roll chance to enable mob spawning. Higher number = lower chance of spawning
#Range: > 0
kangarooSpawnRolls = 0
#Spawn Weight, added to a pool of other mobs for each biome. Higher number = higher chance of spawning. 0 = disable spawn
#Range: 0 ~ 1000
cachalotWhaleSpawnWeight = 2
#Random roll chance to enable mob spawning. Higher number = lower chance of spawning
#Range: > 0
cachalotWhaleSpawnRolls = 0
#Spawn Weight, added to a pool of other mobs for each biome. Higher number = higher chance of spawning. 0 = disable spawn
#Range: 0 ~ 1000
enderiophageSpawnWeight = 4
#Random roll chance to enable mob spawning. Higher number = lower chance of spawning
#Range: > 0
enderiophageSpawnRolls = 2
#Spawn Weight, added to a pool of other mobs for each biome. Higher number = higher chance of spawning. 0 = disable spawn
#Range: 0 ~ 1000
baldEagleSpawnWeight = 15
#Random roll chance to enable mob spawning. Higher number = lower chance of spawning
#Range: > 0
baldEagleSpawnRolls = 0
#Spawn Weight, added to a pool of other mobs for each biome. Higher number = higher chance of spawning. 0 = disable spawn
#Range: 0 ~ 1000
tigerSpawnWeight = 30
#Random roll chance to enable mob spawning. Higher number = lower chance of spawning
#Range: > 0
tigerSpawnRolls = 0
#Spawn Weight, added to a pool of other mobs for each biome. Higher number = higher chance of spawning. 0 = disable spawn
#Range: 0 ~ 1000
tarantulaHawkSpawnWeight = 6
#Random roll chance to enable mob spawning. Higher number = lower chance of spawning
#Range: > 0
tarantulaHawkSpawnRolls = 1
#Spawn Weight, added to a pool of other mobs for each biome. Higher number = higher chance of spawning. 0 = disable spawn
#Range: 0 ~ 1000
voidWormSpawnWeight = 0
#Random roll chance to enable mob spawning. Higher number = lower chance of spawning
#Range: > 0
voidWormSpawnRolls = 0
#Spawn Weight, added to a pool of other mobs for each biome. Higher number = higher chance of spawning. 0 = disable spawn
#Range: 0 ~ 1000
frilledSharkSpawnWeight = 11
#Random roll chance to enable mob spawning. Higher number = lower chance of spawning
#Range: > 0
frilledSharkSpawnRolls = 0
#Spawn Weight, added to a pool of other mobs for each biome. Higher number = higher chance of spawning. 0 = disable spawn
#Range: 0 ~ 1000
mimicOctopusSpawnWeight = 9
#Random roll chance to enable mob spawning. Higher number = lower chance of spawning
#Range: > 0
mimicOctopusSpawnRolls = 0
#Spawn Weight, added to a pool of other mobs for each biome. Higher number = higher chance of spawning. 0 = disable spawn
#Range: 0 ~ 1000
seagullSpawnWeight = 21
#Random roll chance to enable mob spawning. Higher number = lower chance of spawning
#Range: > 0
seagullSpawnRolls = 0
#Spawn Weight, added to a pool of other mobs for each biome. Higher number = higher chance of spawning. 0 = disable spawn
#Range: 0 ~ 1000
froststalkerSpawnWeight = 20
#Random roll chance to enable mob spawning. Higher number = lower chance of spawning
#Range: > 0
froststalkerSpawnRolls = 0
#Spawn Weight, added to a pool of other mobs for each biome. Higher number = higher chance of spawning. 0 = disable spawn
#Range: 0 ~ 1000
tusklinSpawnWeight = 18
#Random roll chance to enable mob spawning. Higher number = lower chance of spawning
#Range: > 0
tusklinSpawnRolls = 0
#Spawn Weight, added to a pool of other mobs for each biome. Higher number = higher chance of spawning. 0 = disable spawn
#Range: 0 ~ 1000
laviathanSpawnWeight = 15
#Random roll chance to enable mob spawning. Higher number = lower chance of spawning
#Range: > 0
laviathanSpawnRolls = 1
#Spawn Weight, added to a pool of other mobs for each biome. Higher number = higher chance of spawning. 0 = disable spawn
#Range: 0 ~ 1000
cosmawSpawnWeight = 9
#Random roll chance to enable mob spawning. Higher number = lower chance of spawning
#Range: > 0
cosmawSpawnRolls = 0
#Spawn Weight, added to a pool of other mobs for each biome. Higher number = higher chance of spawning. 0 = disable spawn
#Range: 0 ~ 1000
toucanSpawnWeight = 23
#Random roll chance to enable mob spawning. Higher number = lower chance of spawning
#Range: > 0
toucanSpawnRolls = 0
#Spawn Weight, added to a pool of other mobs for each biome. Higher number = higher chance of spawning. 0 = disable spawn
#Range: 0 ~ 1000
manedWolfSpawnWeight = 8
#Random roll chance to enable mob spawning. Higher number = lower chance of spawning
#Range: > 0
manedWolfSpawnRolls = 0
#Spawn Weight, added to a pool of other mobs for each biome. Higher number = higher chance of spawning. 0 = disable spawn
#Range: 0 ~ 1000
anacondaSpawnWeight = 12
#Random roll chance to enable mob spawning. Higher number = lower chance of spawning
#Range: > 0
anacondaSpawnRolls = 0
#Spawn Weight, added to a pool of other mobs for each biome. Higher number = higher chance of spawning. 0 = disable spawn
#Range: 0 ~ 1000
anteaterSpawnWeight = 7
#Random roll chance to enable mob spawning. Higher number = lower chance of spawning
#Range: > 0
anteaterSpawnRolls = 0
#Spawn Weight, added to a pool of other mobs for each biome. Higher number = higher chance of spawning. 0 = disable spawn
#Range: 0 ~ 1000
rockyRollerSpawnWeight = 60
#Random roll chance to enable mob spawning. Higher number = lower chance of spawning
#Range: > 0
rockyRollerSpawnRolls = 0
#Spawn Weight, added to a pool of other mobs for each biome. Higher number = higher chance of spawning. 0 = disable spawn
#Range: 0 ~ 1000
flutterSpawnWeight = 13
#Random roll chance to enable mob spawning. Higher number = lower chance of spawning
#Range: > 0
flutterSpawnRolls = 0
#Random roll chance to enable mob spawning. Higher number = lower chance of spawning
#Range: > 0
geladaMonkeySpawnWeight = 5
#Random roll chance to enable mob spawning. Higher number = lower chance of spawning
#Range: > 0
geladaMonkeySpawnRolls = 0
#Spawn Weight, added to a pool of other mobs for each biome. Higher number = higher chance of spawning. 0 = disable spawn
#Range: 0 ~ 1000
jerboaSpawnWeight = 12
#Random roll chance to enable mob spawning. Higher number = lower chance of spawning
#Range: > 0
jerboaSpawnRolls = 2
#Spawn Weight, added to a pool of other mobs for each biome. Higher number = higher chance of spawning. 0 = disable spawn
#Range: 0 ~ 1000
terrapinSpawnWeight = 4
#Random roll chance to enable mob spawning. Higher number = lower chance of spawning
#Range: > 0
terrapinSpawnRolls = 0
#Spawn Weight, added to a pool of other mobs for each biome. Higher number = higher chance of spawning. 0 = disable spawn
#Range: 0 ~ 1000
combJellySpawnWeight = 5
#Random roll chance to enable mob spawning. Higher number = lower chance of spawning
#Range: > 0
combJellySpawnRolls = 1
#Spawn Weight, added to a pool of other mobs for each biome. Higher number = higher chance of spawning. 0 = disable spawn
#Range: 0 ~ 1000
cosmicCodSpawnWeight = 5
#Random roll chance to enable mob spawning. Higher number = lower chance of spawning
#Range: > 0
cosmicCodSpawnRolls = 0
#Spawn Weight, added to a pool of other mobs for each biome. Higher number = higher chance of spawning. 0 = disable spawn
#Range: 0 ~ 1000
bunfungusSpawnWeight = 3
#Random roll chance to enable mob spawning. Higher number = lower chance of spawning
#Range: > 0
bunfungusSpawnRolls = 0
#Spawn Weight, added to a pool of other mobs for each biome. Higher number = higher chance of spawning. 0 = disable spawn
#Range: 0 ~ 1000
bisonSpawnWeight = 9
#Random roll chance to enable mob spawning. Higher number = lower chance of spawning
#Range: > 0
bisonSpawnRolls = 0
#Spawn Weight, added to a pool of other mobs for each biome. Higher number = higher chance of spawning. 0 = disable spawn
#Range: 0 ~ 1000
giantSquidSpawnWeight = 3
#Random roll chance to enable mob spawning. Higher number = lower chance of spawning
#Range: > 0
giantSquidSpawnRolls = 0
#Spawn Weight, added to a pool of other mobs for each biome. Higher number = higher chance of spawning. 0 = disable spawn (NOTE: this mob spawns are restricted exclusively to one chunk, see below)
#Range: 0 ~ 1000
devilsHolePupfishSpawnWeight = 23
#Random roll chance to enable mob spawning. Higher number = lower chance of spawning (NOTE: this mob spawns are restricted exclusively to one chunk, see below)
#Range: > 0
devilsHolePupfishSpawnRolls = 0
#Spawn Weight, added to a pool of other mobs for each biome. Higher number = higher chance of spawning. 0 = disable spawn
#Range: 0 ~ 1000
catfishSpawnWeight = 4
#Random roll chance to enable mob spawning. Higher number = lower chance of spawning
#Range: > 0
catfishSpawnRolls = 2
#Spawn Weight, added to a pool of other mobs for each biome. Higher number = higher chance of spawning. 0 = disable spawn
#Range: 0 ~ 1000
flyingFishSpawnWeight = 8
#Random roll chance to enable mob spawning. Higher number = lower chance of spawning
#Range: > 0
flyingFishSpawnRolls = 0
#Spawn Weight, added to a pool of other mobs for each biome. Higher number = higher chance of spawning. 0 = disable spawn
#Range: 0 ~ 1000
skelewagSpawnWeight = 15
#Random roll chance to enable mob spawning. Higher number = lower chance of spawning
#Range: > 0
skelewagSpawnRolls = 0
#Spawn Weight, added to a pool of other mobs for each biome. Higher number = higher chance of spawning. 0 = disable spawn
#Range: 0 ~ 1000
rainFrogSpawnWeight = 10
#Random roll chance to enable mob spawning. Higher number = lower chance of spawning
#Range: > 0
rainFrogSpawnRolls = 0
#Spawn Weight, added to a pool of other mobs for each biome. Higher number = higher chance of spawning. 0 = disable spawn
#Range: 0 ~ 1000
potooSpawnWeight = 15
#Random roll chance to enable mob spawning. Higher number = lower chance of spawning
#Range: > 0
potooSpawnRolls = 0
#Spawn Weight, added to a pool of other mobs for each biome. Higher number = higher chance of spawning. 0 = disable spawn
#Range: 0 ~ 1000
mudskipperSpawnWeight = 28
#Random roll chance to enable mob spawning. Higher number = lower chance of spawning
#Range: > 0
mudskipperSpawnRolls = 0
#Spawn Weight, added to a pool of other mobs for each biome. Higher number = higher chance of spawning. 0 = disable spawn
#Range: 0 ~ 1000
rhinocerosSpawnWeight = 24
#Random roll chance to enable mob spawning. Higher number = lower chance of spawning
#Range: > 0
rhinocerosSpawnRolls = 0
#Spawn Weight, added to a pool of other mobs for each biome. Higher number = higher chance of spawning. 0 = disable spawn
#Range: 0 ~ 1000
sugarGliderSpawnWeight = 15
#Random roll chance to enable mob spawning. Higher number = lower chance of spawning
#Range: > 0
sugarGliderSpawnRolls = 0
#Spawn Weight, added to a pool of other mobs for each biome. Higher number = higher chance of spawning. 0 = disable spawn
#Range: 0 ~ 1000
farseerSpawnWeight = 30
#Random roll chance to enable mob spawning. Higher number = lower chance of spawning
#Range: > 0
farseerSpawnRolls = 0
#Spawn Weight, added to a pool of other mobs for each biome. Higher number = higher chance of spawning. 0 = disable spawn
#Range: 0 ~ 1000
skreecherSpawnWeight = 10
#Random roll chance to enable mob spawning. Higher number = lower chance of spawning
#Range: > 0
skreecherSpawnRolls = 1
#Spawn Weight, added to a pool of other mobs for each biome. Higher number = higher chance of spawning. 0 = disable spawn
#Range: 0 ~ 1000
underminerSpawnWeight = 50
#Random roll chance to enable mob spawning. Higher number = lower chance of spawning
#Range: > 0
underminerSpawnRolls = 1
#Spawn Weight, added to a pool of other mobs for each biome. Higher number = higher chance of spawning. 0 = disable spawn
#Range: 0 ~ 1000
murmurSpawnWeight = 5
#Random roll chance to enable mob spawning. Higher number = lower chance of spawning
#Range: > 0
murmurSpawnRolls = 1
#Spawn Weight, added to a pool of other mobs for each biome. Higher number = higher chance of spawning. 0 = disable spawn
#Range: 0 ~ 1000
skunkSpawnWeight = 7
#Random roll chance to enable mob spawning. Higher number = lower chance of spawning
#Range: > 0
skunkSpawnRolls = 0
#Spawn Weight, added to a pool of other mobs for each biome. Higher number = higher chance of spawning. 0 = disable spawn
#Range: 0 ~ 1000
bananaSlugSpawnWeight = 14
#Random roll chance to enable mob spawning. Higher number = lower chance of spawning
#Range: > 0
bananaSlugSpawnRolls = 0
#Spawn Weight, added to a pool of other mobs for each biome. Higher number = higher chance of spawning. 0 = disable spawn
#Range: 0 ~ 1000
blueJaySpawnWeight = 16
#Random roll chance to enable mob spawning. Higher number = lower chance of spawning
#Range: > 0
blueJaySpawnRolls = 0
#Spawn Weight, added to a pool of other mobs for each biome. Higher number = higher chance of spawning. 0 = disable spawn
#Range: 0 ~ 1000
caimanSpawnWeight = 29
#Random roll chance to enable mob spawning. Higher number = lower chance of spawning
#Range: > 0
caimanSpawnRolls = 0
#Spawn Weight, added to a pool of other mobs for each biome. Higher number = higher chance of spawning. 0 = disable spawn
#Range: 0 ~ 1000
triopsSpawnWeight = 8
#Random roll chance to enable mob spawning. Higher number = lower chance of spawning
#Range: > 0
triopsSpawnRolls = 0
[uniqueSpawning]
#Maximum world y-level that cave centipedes can spawn at
#Range: -64 ~ 320
caveCentipedeSpawnHeight = 0
#Maximum world y-level that blobfish can spawn at
#Range: -64 ~ 320
blobfishSpawnHeight = 25
#Whether to enable beached cachalot whales to spawn on beaches during thunder storms.
beachedCachalotWhales = true
#Percent chance increase for each failed attempt to spawn a beached cachalot whale. Higher value = more spawns.
#Range: 0 ~ 100
beachedCachalotWhaleSpawnChance = 5
#Delay (in ticks) between attempts to spawn beached cachalot whales. Default is a single day. Works like wandering traders.
#Range: > 0
beachedCachalotWhaleSpawnDelay = 24000
#Percent chance for leafcutter anthills to spawn as world gen in each chunk. Set to zero to disable spawning.
#Range: 0.0 ~ 1.0
leafcutterAnthillSpawnChance = 0.004999999888241291
#Minimum world y-level that gelada monkeys can spawn at
#Range: -64 ~ 320
geladaMonkeySpawnRolls = 0
#Whether to restrict all pupfish spawns to one chunk (similar to real life) or have them only obey their spawn config.
restrictPupfishSpawns = true
#The maximum distance a pupfish spawn chunk is from world spawn(0, 0) in blocks.
#Range: 2 ~ 1000000000
pupfishChunkSpawnDistance = 2000
#Whether to restrict all skelewag spawns to shipwreck structures.
restrictSkelewagSpawns = true
#Whether to restrict all farseer spawns to near the world border.
restrictFarseerSpawns = true
#Whether to restrict all underminer spawns to abandoned mineshafts.
restrictUnderminerSpawns = true
#The maximum distance a farseer can spawn from the world border.
#Range: 2 ~ 1000000000
farseerBorderSpawnDistance = 100
#Maximum world y-level that murmur can spawn at
#Range: -64 ~ 320
murmurSpawnHeight = -30
[dangerZone]
#Its been so long...
superSecretSettings = false
#How many cpu cores some mobs(elephants, leafcutter ants, bison etc) should utilize when pathing. Bigger number = less impact on TPS
#Range: 1 ~ 100
pathfindingThreads = 5

View file

@ -0,0 +1,42 @@
{
"biomes": [
[
{
"type": "BIOME_TAG",
"negate": false,
"value": "minecraft:is_overworld"
},
{
"type": "BIOME_TAG",
"negate": false,
"value": "forge:is_swamp"
},
{
"type": "REGISTRY_NAME",
"negate": true,
"value": "minecraft:mangrove_swamp"
}
],
[
{
"type": "REGISTRY_NAME",
"negate": false,
"value": "biomesoplenty:tundra_bog"
}
],
[
{
"type": "REGISTRY_NAME",
"negate": false,
"value": "terralith:ice_marsh"
}
],
[
{
"type": "REGISTRY_NAME",
"negate": false,
"value": "terralith:orchid_swamp"
}
]
]
}

View file

@ -0,0 +1,58 @@
{
"biomes": [
[
{
"type": "BIOME_TAG",
"negate": false,
"value": "minecraft:is_overworld"
},
{
"type": "BIOME_TAG",
"negate": false,
"value": "forge:is_swamp"
}
],
[
{
"type": "REGISTRY_NAME",
"negate": false,
"value": "minecraft:mangrove_swamp"
}
],
[
{
"type": "REGISTRY_NAME",
"negate": false,
"value": "terralith:ice_marsh"
}
],
[
{
"type": "REGISTRY_NAME",
"negate": false,
"value": "terralith:orchid_swamp"
}
],
[
{
"type": "REGISTRY_NAME",
"negate": false,
"value": "terralith:amethyst_rainforest"
}
],
[
{
"type": "REGISTRY_NAME",
"negate": false,
"value": "terralith:tropical_jungle"
}
],
[
{
"type": "REGISTRY_NAME",
"negate": false,
"value": "terralith:skylands_summer"
}
]
]
}

View file

@ -0,0 +1,63 @@
{
"biomes": [
[
{
"type": "BIOME_TAG",
"negate": false,
"value": "minecraft:is_overworld"
},
{
"type": "BIOME_TAG",
"negate": false,
"value": "minecraft:is_jungle"
},
{
"type": "REGISTRY_NAME",
"negate": true,
"value": "minecraft:bamboo_jungle"
}
],
[
{
"type": "REGISTRY_NAME",
"negate": false,
"value": "terralith:amethyst_canyon"
}
],
[
{
"type": "REGISTRY_NAME",
"negate": false,
"value": "terralith:amethyst_rainforest"
}
],
[
{
"type": "REGISTRY_NAME",
"negate": false,
"value": "terralith:jungle_mountains"
}
],
[
{
"type": "REGISTRY_NAME",
"negate": false,
"value": "terralith:rocky_jungle"
}
],
[
{
"type": "REGISTRY_NAME",
"negate": false,
"value": "terralith:tropical_jungle"
}
],
[
{
"type": "REGISTRY_NAME",
"negate": false,
"value": "terralith:skylands_summer"
}
]
]
}

View file

@ -0,0 +1,147 @@
{
"biomes": [
[
{
"type": "BIOME_TAG",
"negate": false,
"value": "minecraft:is_overworld"
},
{
"type": "BIOME_TAG",
"negate": false,
"value": "minecraft:is_hill"
},
{
"type": "BIOME_TAG",
"negate": false,
"value": "forge:is_coniferous"
}
],
[
{
"type": "REGISTRY_NAME",
"negate": false,
"value": "minecraft:grove"
}
],
[
{
"type": "REGISTRY_NAME",
"negate": false,
"value": "minecraft:windswept_forest"
}
],
[
{
"type": "REGISTRY_NAME",
"negate": false,
"value": "terralith:blooming_plateau"
}
],
[
{
"type": "REGISTRY_NAME",
"negate": false,
"value": "terralith:blooming_valley"
}
],
[
{
"type": "REGISTRY_NAME",
"negate": false,
"value": "terralith:bryce_canyon"
}
],
[
{
"type": "REGISTRY_NAME",
"negate": false,
"value": "terralith:skylands_autumn"
}
],
[
{
"type": "REGISTRY_NAME",
"negate": false,
"value": "terralith:skylands_spring"
}
],
[
{
"type": "REGISTRY_NAME",
"negate": false,
"value": "terralith:skylands_winter"
}
],
[
{
"type": "REGISTRY_NAME",
"negate": false,
"value": "terralith:lavender_forest"
}
],
[
{
"type": "REGISTRY_NAME",
"negate": false,
"value": "terralith:lavender_valley"
}
],
[
{
"type": "REGISTRY_NAME",
"negate": false,
"value": "terralith:moonlight_valley"
}
],
[
{
"type": "REGISTRY_NAME",
"negate": false,
"value": "terralith:moonlight_grove"
}
],
[
{
"type": "REGISTRY_NAME",
"negate": false,
"value": "terralith:sakura_grove"
}
],
[
{
"type": "REGISTRY_NAME",
"negate": false,
"value": "terralith:sakura_valley"
}
],
[
{
"type": "REGISTRY_NAME",
"negate": false,
"value": "terralith:haze_mountain"
}
],
[
{
"type": "REGISTRY_NAME",
"negate": false,
"value": "terralith:temperate_highlands"
}
],
[
{
"type": "REGISTRY_NAME",
"negate": false,
"value": "terralith:alpine_grove"
}
],
[
{
"type": "REGISTRY_NAME",
"negate": false,
"value": "biomesoplenty:jade_cliffs"
}
]
]
}

View file

@ -0,0 +1,91 @@
{
"biomes": [
[
{
"type": "REGISTRY_NAME",
"negate": false,
"value": "minecraft:old_growth_pine_taiga"
}
],
[
{
"type": "REGISTRY_NAME",
"negate": false,
"value": "minecraft:old_growth_spruce_taiga"
}
],
[
{
"type": "BIOME_TAG",
"negate": false,
"value": "minecraft:is_taiga"
},
{
"type": "BIOME_TAG",
"negate": false,
"value": "forge:is_dense/overworld"
},
{
"type": "BIOME_TAG",
"negate": false,
"value": "forge:is_rare"
}
],
[
{
"type": "REGISTRY_NAME",
"negate": false,
"value": "terralith:forested_highlands"
}
],
[
{
"type": "REGISTRY_NAME",
"negate": false,
"value": "terralith:shield"
}
],
[
{
"type": "REGISTRY_NAME",
"negate": false,
"value": "terralith:skylands_autumn"
}
],
[
{
"type": "REGISTRY_NAME",
"negate": false,
"value": "terralith:yosemite_lowlands"
}
],
[
{
"type": "REGISTRY_NAME",
"negate": false,
"value": "biomesoplenty:redwood_forest"
}
],
[
{
"type": "REGISTRY_NAME",
"negate": false,
"value": "biomesoplenty:coniferous_forest"
}
],
[
{
"type": "REGISTRY_NAME",
"negate": false,
"value": "biomesoplenty:fir_clearing"
}
],
[
{
"type": "REGISTRY_NAME",
"negate": false,
"value": "autumnity:maple_forest"
}
]
]
}

View file

@ -0,0 +1,96 @@
{
"biomes": [
[
{
"type": "BIOME_TAG",
"negate": false,
"value": "minecraft:is_overworld"
},
{
"type": "BIOME_TAG",
"negate": false,
"value": "forge:is_plains"
},
{
"type": "BIOME_TAG",
"negate": true,
"value": "minecraft:is_savanna"
},
{
"type": "BIOME_TAG",
"negate": true,
"value": "forge:is_hot/overworld"
}
],
[
{
"type": "REGISTRY_NAME",
"negate": false,
"value": "minecraft:meadow"
}
],
[
{
"type": "REGISTRY_NAME",
"negate": false,
"value": "biomesoplenty:field"
}
],
[
{
"type": "REGISTRY_NAME",
"negate": false,
"value": "biomesoplenty:forested_field"
}
],
[
{
"type": "REGISTRY_NAME",
"negate": false,
"value": "biomesoplenty:grassland"
}
],
[
{
"type": "REGISTRY_NAME",
"negate": false,
"value": "biomesoplenty:pasture"
}
],
[
{
"type": "REGISTRY_NAME",
"negate": false,
"value": "biomesoplenty:prairie"
}
],
[
{
"type": "REGISTRY_NAME",
"negate": false,
"value": "terralith:cold_shrubland"
}
],
[
{
"type": "REGISTRY_NAME",
"negate": false,
"value": "terralith:rocky_shrubland"
}
],
[
{
"type": "REGISTRY_NAME",
"negate": false,
"value": "terralith:steppe"
}
],
[
{
"type": "REGISTRY_NAME",
"negate": false,
"value": "terralith:valley_clearing"
}
]
]
}

View file

@ -0,0 +1,11 @@
{
"biomes": [
[
{
"type": "BIOME_TAG",
"negate": false,
"value": "minecraft:is_deep_ocean"
}
]
]
}

View file

@ -0,0 +1,215 @@
{
"biomes": [
[
{
"type": "BIOME_TAG",
"negate": false,
"value": "minecraft:is_overworld"
},
{
"type": "BIOME_TAG",
"negate": false,
"value": "minecraft:is_forest"
},
{
"type": "REGISTRY_NAME",
"negate": true,
"value": "minecraft:sparse_jungle"
}
],
[
{
"type": "BIOME_TAG",
"negate": false,
"value": "minecraft:is_overworld"
},
{
"type": "BIOME_TAG",
"negate": false,
"value": "minecraft:is_taiga"
}
],
[
{
"type": "REGISTRY_NAME",
"negate": false,
"value": "terralith:alpine_grove"
}
],
[
{
"type": "REGISTRY_NAME",
"negate": false,
"value": "terralith:blooming_valley"
}
],
[
{
"type": "REGISTRY_NAME",
"negate": false,
"value": "terralith:lavender_forest"
}
],
[
{
"type": "REGISTRY_NAME",
"negate": false,
"value": "terralith:lavender_valley"
}
],
[
{
"type": "REGISTRY_NAME",
"negate": false,
"value": "terralith:moonlight_grove"
}
],
[
{
"type": "REGISTRY_NAME",
"negate": false,
"value": "terralith:moonlight_valley"
}
],
[
{
"type": "REGISTRY_NAME",
"negate": false,
"value": "terralith:sakura_grove"
}
],
[
{
"type": "REGISTRY_NAME",
"negate": false,
"value": "terralith:sakura_valley"
}
],
[
{
"type": "REGISTRY_NAME",
"negate": false,
"value": "terralith:highlands"
}
],
[
{
"type": "REGISTRY_NAME",
"negate": false,
"value": "terralith:shield_clearing"
}
],
[
{
"type": "REGISTRY_NAME",
"negate": false,
"value": "terralith:valley_clearing"
}
],
[
{
"type": "REGISTRY_NAME",
"negate": false,
"value": "terralith:alpine_highlands"
}
],
[
{
"type": "REGISTRY_NAME",
"negate": false,
"value": "terralith:cloud_forest"
}
],
[
{
"type": "REGISTRY_NAME",
"negate": false,
"value": "terralith:forested_highlands"
}
],
[
{
"type": "REGISTRY_NAME",
"negate": false,
"value": "terralith:lush_valley"
}
],
[
{
"type": "REGISTRY_NAME",
"negate": false,
"value": "terralith:shield"
}
],
[
{
"type": "REGISTRY_NAME",
"negate": false,
"value": "terralith:snowy_maple_forest"
}
],
[
{
"type": "REGISTRY_NAME",
"negate": false,
"value": "terralith:snowy_shield"
}
],
[
{
"type": "REGISTRY_NAME",
"negate": false,
"value": "terralith:temperate_highlands"
}
],
[
{
"type": "REGISTRY_NAME",
"negate": false,
"value": "terralith:wintry_forest"
}
],
[
{
"type": "REGISTRY_NAME",
"negate": false,
"value": "terralith:yosemite_lowlands"
}
],
[
{
"type": "REGISTRY_NAME",
"negate": false,
"value": "terralith:bryce_canyon"
}
],
[
{
"type": "REGISTRY_NAME",
"negate": false,
"value": "terralith:skylands_autumn"
}
],
[
{
"type": "REGISTRY_NAME",
"negate": false,
"value": "biomesoplenty:redwood_forest"
}
],
[
{
"type": "REGISTRY_NAME",
"negate": false,
"value": "minecraft:cherry_grove"
}
],
[
{
"type": "REGISTRY_NAME",
"negate": false,
"value": "biomesoplenty:snowblossom_grove"
}
]
]
}

View file

@ -0,0 +1,16 @@
{
"biomes": [
[
{
"type": "BIOME_TAG",
"negate": true,
"value": "forge:no_default_monsters"
},
{
"type": "BIOME_TAG",
"negate": false,
"value": "minecraft:is_nether"
}
]
]
}

View file

@ -0,0 +1,28 @@
{
"biomes": [
[
{
"type": "BIOME_TAG",
"negate": false,
"value": "minecraft:is_overworld"
},
{
"type": "BIOME_TAG",
"negate": false,
"value": "forge:is_mushroom"
},
{
"type": "BIOME_TAG",
"negate": false,
"value": "forge:is_rare"
}
],
[
{
"type": "REGISTRY_NAME",
"negate": false,
"value": "terralith:mirage_isles"
}
]
]
}

View file

@ -0,0 +1,37 @@
{
"biomes": [
[
{
"type": "BIOME_TAG",
"negate": false,
"value": "minecraft:is_overworld"
},
{
"type": "BIOME_TAG",
"negate": false,
"value": "minecraft:is_beach"
}
],
[
{
"type": "REGISTRY_NAME",
"negate": false,
"value": "terralith:gravel_beach"
}
],
[
{
"type": "REGISTRY_NAME",
"negate": false,
"value": "biomesoplenty:dune_beach"
}
],
[
{
"type": "REGISTRY_NAME",
"negate": false,
"value": "minecraft:stony_shore"
}
]
]
}

View file

@ -0,0 +1,49 @@
{
"biomes": [
[
{
"type": "BIOME_TAG",
"negate": false,
"value": "minecraft:is_overworld"
},
{
"type": "BIOME_TAG",
"negate": false,
"value": "minecraft:is_ocean"
},
{
"type": "BIOME_TAG",
"negate": false,
"value": "forge:is_cold/overworld"
}
],
[
{
"type": "REGISTRY_NAME",
"negate": false,
"value": "minecraft:lukewarm_ocean"
}
],
[
{
"type": "REGISTRY_NAME",
"negate": false,
"value": "minecraft:deep_ocean"
}
],
[
{
"type": "REGISTRY_NAME",
"negate": false,
"value": "minecraft:deep_lukewarm_ocean"
}
],
[
{
"type": "REGISTRY_NAME",
"negate": false,
"value": "alexscaves:abyssal_chasm"
}
]
]
}

View file

@ -0,0 +1,18 @@
{
"biomes": [
[
{
"type": "REGISTRY_NAME",
"negate": false,
"value": "minecraft:mangrove_swamp"
}
],
[
{
"type": "REGISTRY_NAME",
"negate": false,
"value": "terralith:cave/underground_jungle"
}
]
]
}

View file

@ -0,0 +1,65 @@
{
"biomes": [
[
{
"type": "BIOME_TAG",
"negate": false,
"value": "minecraft:is_jungle"
},
{
"type": "REGISTRY_NAME",
"negate": true,
"value": "minecraft:bamboo_jungle"
}
],
[
{
"type": "REGISTRY_NAME",
"negate": false,
"value": "minecraft:mangrove_swamp"
}
],
[
{
"type": "REGISTRY_NAME",
"negate": false,
"value": "terralith:amethyst_canyon"
}
],
[
{
"type": "REGISTRY_NAME",
"negate": false,
"value": "terralith:amethyst_rainforest"
}
],
[
{
"type": "REGISTRY_NAME",
"negate": false,
"value": "terralith:jungle_mountains"
}
],
[
{
"type": "REGISTRY_NAME",
"negate": false,
"value": "terralith:rocky_jungle"
}
],
[
{
"type": "REGISTRY_NAME",
"negate": false,
"value": "terralith:tropical_jungle"
}
],
[
{
"type": "REGISTRY_NAME",
"negate": false,
"value": "terralith:skylands_summer"
}
]
]
}

View file

@ -0,0 +1,59 @@
{
"biomes": [
[
{
"type": "BIOME_TAG",
"negate": false,
"value": "minecraft:is_overworld"
},
{
"type": "BIOME_TAG",
"negate": false,
"value": "forge:is_swamp"
},
{
"type": "REGISTRY_NAME",
"negate": true,
"value": "minecraft:mangrove_swamp"
}
],
[
{
"type": "BIOME_TAG",
"negate": false,
"value": "minecraft:is_overworld"
},
{
"type": "BIOME_TAG",
"negate": false,
"value": "minecraft:is_river"
},
{
"type": "BIOME_TAG",
"negate": true,
"value": "forge:is_cold/overworld"
}
],
[
{
"type": "REGISTRY_NAME",
"negate": false,
"value": "terralith:orchid_swamp"
}
],
[
{
"type": "REGISTRY_NAME",
"negate": false,
"value": "terralith:ice_marsh"
}
],
[
{
"type": "REGISTRY_NAME",
"negate": false,
"value": "terralith:warm_river"
}
]
]
}

View file

@ -0,0 +1,115 @@
{
"biomes": [
[
{
"type": "BIOME_TAG",
"negate": false,
"value": "minecraft:is_overworld"
},
{
"type": "BIOME_TAG",
"negate": true,
"value": "forge:no_default_monsters"
},
{
"type": "BIOME_TAG",
"negate": true,
"value": "minecraft:is_ocean"
},
{
"type": "BIOME_TAG",
"negate": true,
"value": "forge:is_mushroom"
},
{
"type": "REGISTRY_NAME",
"negate": true,
"value": "minecraft:deep_dark"
}
],
[
{
"type": "REGISTRY_NAME",
"negate": false,
"value": "terralith:cave/andesite_caves"
}
],
[
{
"type": "REGISTRY_NAME",
"negate": false,
"value": "terralith:cave/desert_caves"
}
],
[
{
"type": "REGISTRY_NAME",
"negate": false,
"value": "terralith:cave/diorite_caves"
}
],
[
{
"type": "REGISTRY_NAME",
"negate": false,
"value": "terralith:cave/granite_caves"
}
],
[
{
"type": "REGISTRY_NAME",
"negate": false,
"value": "terralith:cave/ice_caves"
}
],
[
{
"type": "REGISTRY_NAME",
"negate": false,
"value": "terralith:cave/infested_caves"
}
],
[
{
"type": "REGISTRY_NAME",
"negate": false,
"value": "terralith:cave/thermal_caves"
}
],
[
{
"type": "REGISTRY_NAME",
"negate": false,
"value": "terralith:cave/crystal_caves"
}
],
[
{
"type": "REGISTRY_NAME",
"negate": false,
"value": "terralith:cave/frostfire_caves"
}
],
[
{
"type": "REGISTRY_NAME",
"negate": false,
"value": "terralith:cave/mantle_caves"
}
],
[
{
"type": "REGISTRY_NAME",
"negate": false,
"value": "terralith:cave/deep_caves"
}
],
[
{
"type": "REGISTRY_NAME",
"negate": false,
"value": "terralith:cave/tuff_caves"
}
]
]
}

View file

@ -0,0 +1,110 @@
{
"biomes": [
[
{
"type": "BIOME_TAG",
"negate": false,
"value": "minecraft:is_overworld"
},
{
"type": "BIOME_TAG",
"negate": true,
"value": "minecraft:is_ocean"
},
{
"type": "BIOME_TAG",
"negate": true,
"value": "forge:is_mushroom"
},
{
"type": "REGISTRY_NAME",
"negate": true,
"value": "minecraft:deep_dark"
}
],
[
{
"type": "REGISTRY_NAME",
"negate": false,
"value": "terralith:cave/andesite_caves"
}
],
[
{
"type": "REGISTRY_NAME",
"negate": false,
"value": "terralith:cave/desert_caves"
}
],
[
{
"type": "REGISTRY_NAME",
"negate": false,
"value": "terralith:cave/diorite_caves"
}
],
[
{
"type": "REGISTRY_NAME",
"negate": false,
"value": "terralith:cave/granite_caves"
}
],
[
{
"type": "REGISTRY_NAME",
"negate": false,
"value": "terralith:cave/ice_caves"
}
],
[
{
"type": "REGISTRY_NAME",
"negate": false,
"value": "terralith:cave/infested_caves"
}
],
[
{
"type": "REGISTRY_NAME",
"negate": false,
"value": "terralith:cave/thermal_caves"
}
],
[
{
"type": "REGISTRY_NAME",
"negate": false,
"value": "terralith:cave/crystal_caves"
}
],
[
{
"type": "REGISTRY_NAME",
"negate": false,
"value": "terralith:cave/frostfire_caves"
}
],
[
{
"type": "REGISTRY_NAME",
"negate": false,
"value": "terralith:cave/mantle_caves"
}
],
[
{
"type": "REGISTRY_NAME",
"negate": false,
"value": "terralith:cave/deep_caves"
}
],
[
{
"type": "REGISTRY_NAME",
"negate": false,
"value": "terralith:cave/tuff_caves"
}
]
]
}

View file

@ -0,0 +1,25 @@
{
"biomes": [
[
{
"type": "REGISTRY_NAME",
"negate": false,
"value": "minecraft:frozen_ocean"
}
],
[
{
"type": "REGISTRY_NAME",
"negate": false,
"value": "minecraft:deep_frozen_ocean"
}
],
[
{
"type": "REGISTRY_NAME",
"negate": false,
"value": "alexscaves:abyssal_chasm"
}
]
]
}

View file

@ -0,0 +1,21 @@
{
"biomes": [
[
{
"type": "BIOME_TAG",
"negate": false,
"value": "minecraft:is_end"
},
{
"type": "REGISTRY_NAME",
"negate": true,
"value": "minecraft:the_end"
},
{
"type": "REGISTRY_NAME",
"negate": true,
"value": "minecraft:small_end_islands"
}
]
]
}

View file

@ -0,0 +1,11 @@
{
"biomes": [
[
{
"type": "BIOME_TAG",
"negate": false,
"value": "minecraft:is_end"
}
]
]
}

View file

@ -0,0 +1,44 @@
{
"biomes": [
[
{
"type": "BIOME_TAG",
"negate": true,
"value": "forge:no_default_monsters"
},
{
"type": "REGISTRY_NAME",
"negate": false,
"value": "minecraft:crimson_forest"
}
],
[
{
"type": "REGISTRY_NAME",
"negate": false,
"value": "byg:crimson_gardens"
}
],
[
{
"type": "REGISTRY_NAME",
"negate": false,
"value": "biomesoplenty:visceral_heap"
}
],
[
{
"type": "REGISTRY_NAME",
"negate": false,
"value": "incendium:ash_barrens"
}
],
[
{
"type": "REGISTRY_NAME",
"negate": false,
"value": "incendium:infernal_dunes"
}
]
]
}

View file

@ -0,0 +1,58 @@
{
"biomes": [
[
{
"type": "BIOME_TAG",
"negate": false,
"value": "forge:is_swamp"
}
],
[
{
"type": "REGISTRY_NAME",
"negate": false,
"value": "minecraft:mangrove_swamp"
}
],
[
{
"type": "BIOME_TAG",
"negate": false,
"value": "minecraft:is_river"
},
{
"type": "BIOME_TAG",
"negate": true,
"value": "forge:is_cold"
}
],
[
{
"type": "REGISTRY_NAME",
"negate": false,
"value": "biomesoplenty:tropic_beach"
}
],
[
{
"type": "REGISTRY_NAME",
"negate": false,
"value": "terralith:orchid_swamp"
}
],
[
{
"type": "REGISTRY_NAME",
"negate": false,
"value": "terralith:red_oasis"
}
],
[
{
"type": "REGISTRY_NAME",
"negate": false,
"value": "terralith:warm_river"
}
]
]
}

View file

@ -0,0 +1,276 @@
{
"biomes": [
[
{
"type": "BIOME_TAG",
"negate": false,
"value": "minecraft:is_overworld"
},
{
"type": "BIOME_TAG",
"negate": true,
"value": "minecraft:is_savanna"
},
{
"type": "BIOME_TAG",
"negate": false,
"value": "forge:is_plains"
}
],
[
{
"type": "BIOME_TAG",
"negate": false,
"value": "minecraft:is_overworld"
},
{
"type": "BIOME_TAG",
"negate": false,
"value": "minecraft:is_forest"
}
],
[
{
"type": "BIOME_TAG",
"negate": false,
"value": "minecraft:is_overworld"
},
{
"type": "BIOME_TAG",
"negate": false,
"value": "minecraft:is_taiga"
}
],
[
{
"type": "REGISTRY_NAME",
"negate": false,
"value": "terralith:cold_shrubland"
}
],
[
{
"type": "REGISTRY_NAME",
"negate": false,
"value": "terralith:highlands"
}
],
[
{
"type": "REGISTRY_NAME",
"negate": false,
"value": "terralith:hot_shrubland"
}
],
[
{
"type": "REGISTRY_NAME",
"negate": false,
"value": "terralith:rocky_shrubland"
}
],
[
{
"type": "REGISTRY_NAME",
"negate": false,
"value": "terralith:shield_clearing"
}
],
[
{
"type": "REGISTRY_NAME",
"negate": false,
"value": "terralith:steppe"
}
],
[
{
"type": "REGISTRY_NAME",
"negate": false,
"value": "terralith:valley_clearing"
}
],
[
{
"type": "REGISTRY_NAME",
"negate": false,
"value": "terralith:alpine_grove"
}
],
[
{
"type": "REGISTRY_NAME",
"negate": false,
"value": "terralith:birch_taiga"
}
],
[
{
"type": "REGISTRY_NAME",
"negate": false,
"value": "terralith:blooming_valley"
}
],
[
{
"type": "REGISTRY_NAME",
"negate": false,
"value": "terralith:lavender_forest"
}
],
[
{
"type": "REGISTRY_NAME",
"negate": false,
"value": "terralith:lavender_valley"
}
],
[
{
"type": "REGISTRY_NAME",
"negate": false,
"value": "terralith:moonlight_grove"
}
],
[
{
"type": "REGISTRY_NAME",
"negate": false,
"value": "terralith:moonlight_valley"
}
],
[
{
"type": "REGISTRY_NAME",
"negate": false,
"value": "terralith:sakura_grove"
}
],
[
{
"type": "REGISTRY_NAME",
"negate": false,
"value": "terralith:sakura_valley"
}
],
[
{
"type": "REGISTRY_NAME",
"negate": false,
"value": "terralith:highlands"
}
],
[
{
"type": "REGISTRY_NAME",
"negate": false,
"value": "terralith:shield_clearing"
}
],
[
{
"type": "REGISTRY_NAME",
"negate": false,
"value": "terralith:alpine_highlands"
}
],
[
{
"type": "REGISTRY_NAME",
"negate": false,
"value": "terralith:forested_highlands"
}
],
[
{
"type": "REGISTRY_NAME",
"negate": false,
"value": "terralith:lush_valley"
}
],
[
{
"type": "REGISTRY_NAME",
"negate": false,
"value": "terralith:shield"
}
],
[
{
"type": "REGISTRY_NAME",
"negate": false,
"value": "terralith:snowy_maple_forest"
}
],
[
{
"type": "REGISTRY_NAME",
"negate": false,
"value": "terralith:temperate_highlands"
}
],
[
{
"type": "REGISTRY_NAME",
"negate": false,
"value": "terralith:wintry_forest"
}
],
[
{
"type": "REGISTRY_NAME",
"negate": false,
"value": "terralith:yosemite_lowlands"
}
],
[
{
"type": "REGISTRY_NAME",
"negate": false,
"value": "terralith:skylands_autumn"
}
],
[
{
"type": "REGISTRY_NAME",
"negate": false,
"value": "terralith:skylands_spring"
}
],
[
{
"type": "REGISTRY_NAME",
"negate": false,
"value": "terralith:skylands_winter"
}
],
[
{
"type": "REGISTRY_NAME",
"negate": false,
"value": "terralith:mirage_isles"
}
],
[
{
"type": "REGISTRY_NAME",
"negate": false,
"value": "terralith:cloud_forest"
}
],
[
{
"type": "REGISTRY_NAME",
"negate": false,
"value": "minecraft:cherry_grove"
}
],
[
{
"type": "REGISTRY_NAME",
"negate": false,
"value": "biomesoplenty:snowblossom_grove"
}
]
]
}

View file

@ -0,0 +1,11 @@
{
"biomes": [
[
{
"type": "BIOME_TAG",
"negate": false,
"value": "minecraft:is_overworld"
}
]
]
}

View file

@ -0,0 +1,23 @@
{
"biomes": [
[
{
"type": "BIOME_TAG",
"negate": true,
"value": "forge:no_default_monsters"
},
{
"type": "REGISTRY_NAME",
"negate": false,
"value": "minecraft:nether_wastes"
}
],
[
{
"type": "REGISTRY_NAME",
"negate": false,
"value": "biomesoplenty:crystalline_chasm"
}
]
]
}

View file

@ -0,0 +1,65 @@
{
"biomes": [
[
{
"type": "BIOME_TAG",
"negate": false,
"value": "minecraft:is_overworld"
},
{
"type": "BIOME_TAG",
"negate": false,
"value": "minecraft:is_savanna"
}
],
[
{
"type": "REGISTRY_NAME",
"negate": false,
"value": "terralith:arid_highlands"
}
],
[
{
"type": "REGISTRY_NAME",
"negate": false,
"value": "terralith:brushland"
}
],
[
{
"type": "REGISTRY_NAME",
"negate": false,
"value": "terralith:fractured_savanna"
}
],
[
{
"type": "REGISTRY_NAME",
"negate": false,
"value": "terralith:savanna_badlands"
}
],
[
{
"type": "REGISTRY_NAME",
"negate": false,
"value": "terralith:savanna_slopes"
}
],
[
{
"type": "REGISTRY_NAME",
"negate": false,
"value": "terralith:shrubland"
}
],
[
{
"type": "REGISTRY_NAME",
"negate": false,
"value": "terralith:red_oasis"
}
]
]
}

View file

@ -0,0 +1,91 @@
{
"biomes": [
[
{
"type": "BIOME_TAG",
"negate": false,
"value": "minecraft:is_overworld"
},
{
"type": "BIOME_TAG",
"negate": false,
"value": "minecraft:is_badlands"
}
],
[
{
"type": "BIOME_TAG",
"negate": false,
"value": "minecraft:is_overworld"
},
{
"type": "BIOME_TAG",
"negate": false,
"value": "minecraft:is_savanna"
}
],
[
{
"type": "REGISTRY_NAME",
"negate": false,
"value": "terralith:arid_highlands"
}
],
[
{
"type": "REGISTRY_NAME",
"negate": false,
"value": "terralith:brushland"
}
],
[
{
"type": "REGISTRY_NAME",
"negate": false,
"value": "terralith:fractured_savanna"
}
],
[
{
"type": "REGISTRY_NAME",
"negate": false,
"value": "terralith:savanna_badlands"
}
],
[
{
"type": "REGISTRY_NAME",
"negate": false,
"value": "terralith:savanna_slopes"
}
],
[
{
"type": "REGISTRY_NAME",
"negate": false,
"value": "terralith:warped_mesa"
}
],
[
{
"type": "REGISTRY_NAME",
"negate": false,
"value": "terralith:white_mesa"
}
],
[
{
"type": "REGISTRY_NAME",
"negate": false,
"value": "terralith:red_oasis"
}
],
[
{
"type": "REGISTRY_NAME",
"negate": false,
"value": "biomesoplenty:lush_desert"
}
]
]
}

View file

@ -0,0 +1,16 @@
{
"biomes": [
[
{
"type": "BIOME_TAG",
"negate": false,
"value": "minecraft:is_end"
},
{
"type": "REGISTRY_NAME",
"negate": true,
"value": "minecraft:the_end"
}
]
]
}

View file

@ -0,0 +1,31 @@
{
"biomes": [
[
{
"type": "BIOME_TAG",
"negate": false,
"value": "minecraft:is_end"
},
{
"type": "REGISTRY_NAME",
"negate": true,
"value": "minecraft:the_end"
},
{
"type": "REGISTRY_NAME",
"negate": true,
"value": "minecraft:end_barrens"
},
{
"type": "REGISTRY_NAME",
"negate": true,
"value": "minecraft:end_highlands"
},
{
"type": "REGISTRY_NAME",
"negate": true,
"value": "minecraft:small_end_islands"
}
]
]
}

View file

@ -0,0 +1,16 @@
{
"biomes": [
[
{
"type": "BIOME_TAG",
"negate": true,
"value": "forge:no_default_monsters"
},
{
"type": "REGISTRY_NAME",
"negate": true,
"value": "minecraft:mushroom_fields"
}
]
]
}

View file

@ -0,0 +1,11 @@
{
"biomes": [
[
{
"type": "REGISTRY_NAME",
"negate": false,
"value": "minecraft:lush_caves"
}
]
]
}

View file

@ -0,0 +1,11 @@
{
"biomes": [
[
{
"type": "BIOME_TAG",
"negate": false,
"value": "minecraft:is_overworld"
}
]
]
}

View file

@ -0,0 +1,36 @@
{
"biomes": [
[
{
"type": "BIOME_TAG",
"negate": false,
"value": "minecraft:is_overworld"
},
{
"type": "BIOME_TAG",
"negate": false,
"value": "minecraft:is_ocean"
},
{
"type": "BIOME_TAG",
"negate": true,
"value": "forge:is_cold/overworld"
},
{
"type": "BIOME_TAG",
"negate": true,
"value": "forge:is_hot/overworld"
},
{
"type": "REGISTRY_NAME",
"negate": true,
"value": "minecraft:deep_ocean"
},
{
"type": "REGISTRY_NAME",
"negate": true,
"value": "minecraft:deep_lukewarm_ocean"
}
]
]
}

View file

@ -0,0 +1,11 @@
{
"biomes": [
[
{
"type": "BIOME_TAG",
"negate": false,
"value": "minecraft:is_deep_ocean"
}
]
]
}

View file

@ -0,0 +1,53 @@
{
"biomes": [
[
{
"type": "REGISTRY_NAME",
"negate": false,
"value": "minecraft:ice_spikes"
}
],
[
{
"type": "REGISTRY_NAME",
"negate": false,
"value": "minecraft:frozen_peaks"
}
],
[
{
"type": "REGISTRY_NAME",
"negate": false,
"value": "terralith:cave/frostfire_caves"
}
],
[
{
"type": "REGISTRY_NAME",
"negate": false,
"value": "terralith:frozen_cliffs"
}
],
[
{
"type": "REGISTRY_NAME",
"negate": false,
"value": "terralith:glacial_chasm"
}
],
[
{
"type": "REGISTRY_NAME",
"negate": false,
"value": "terralith:snowy_badlands"
}
],
[
{
"type": "REGISTRY_NAME",
"negate": false,
"value": "terralith:gravel_desert"
}
]
]
}

View file

@ -0,0 +1,60 @@
{
"biomes": [
[
{
"type": "BIOME_TAG",
"negate": false,
"value": "minecraft:is_savanna"
}
],
[
{
"type": "REGISTRY_NAME",
"negate": false,
"value": "terralith:arid_highlands"
}
],
[
{
"type": "REGISTRY_NAME",
"negate": false,
"value": "terralith:brushland"
}
],
[
{
"type": "REGISTRY_NAME",
"negate": false,
"value": "terralith:fractured_savanna"
}
],
[
{
"type": "REGISTRY_NAME",
"negate": false,
"value": "terralith:savanna_badlands"
}
],
[
{
"type": "REGISTRY_NAME",
"negate": false,
"value": "terralith:savanna_slopes"
}
],
[
{
"type": "REGISTRY_NAME",
"negate": false,
"value": "terralith:shrubland"
}
],
[
{
"type": "REGISTRY_NAME",
"negate": false,
"value": "terralith:red_oasis"
}
]
]
}

View file

@ -0,0 +1,56 @@
{
"biomes": [
[
{
"type": "BIOME_TAG",
"negate": false,
"value": "minecraft:is_overworld"
},
{
"type": "BIOME_TAG",
"negate": false,
"value": "forge:is_plains"
},
{
"type": "BIOME_TAG",
"negate": false,
"value": "forge:is_plateau"
}
],
[
{
"type": "REGISTRY_NAME",
"negate": false,
"value": "terralith:highlands"
}
],
[
{
"type": "REGISTRY_NAME",
"negate": false,
"value": "terralith:hot_shrubland"
}
],
[
{
"type": "REGISTRY_NAME",
"negate": false,
"value": "terralith:rocky_shrubland"
}
],
[
{
"type": "REGISTRY_NAME",
"negate": false,
"value": "terralith:steppe"
}
],
[
{
"type": "REGISTRY_NAME",
"negate": false,
"value": "terralith:valley_clearing"
}
]
]
}

View file

@ -0,0 +1,11 @@
{
"biomes": [
[
{
"type": "BIOME_TAG",
"negate": false,
"value": "minecraft:is_deep_ocean"
}
]
]
}

View file

@ -0,0 +1,58 @@
{
"biomes": [
[
{
"type": "BIOME_TAG",
"negate": false,
"value": "minecraft:is_jungle"
},
{
"type": "REGISTRY_NAME",
"negate": true,
"value": "minecraft:bamboo_jungle"
}
],
[
{
"type": "REGISTRY_NAME",
"negate": false,
"value": "terralith:amethyst_canyon"
}
],
[
{
"type": "REGISTRY_NAME",
"negate": false,
"value": "terralith:amethyst_rainforest"
}
],
[
{
"type": "REGISTRY_NAME",
"negate": false,
"value": "terralith:jungle_mountains"
}
],
[
{
"type": "REGISTRY_NAME",
"negate": false,
"value": "terralith:rocky_jungle"
}
],
[
{
"type": "REGISTRY_NAME",
"negate": false,
"value": "terralith:tropical_jungle"
}
],
[
{
"type": "REGISTRY_NAME",
"negate": false,
"value": "terralith:skylands_summer"
}
]
]
}

View file

@ -0,0 +1,215 @@
{
"biomes": [
[
{
"type": "BIOME_TAG",
"negate": false,
"value": "minecraft:is_overworld"
},
{
"type": "BIOME_TAG",
"negate": false,
"value": "minecraft:is_forest"
},
{
"type": "REGISTRY_NAME",
"negate": true,
"value": "minecraft:sparse_jungle"
}
],
[
{
"type": "BIOME_TAG",
"negate": false,
"value": "minecraft:is_overworld"
},
{
"type": "BIOME_TAG",
"negate": false,
"value": "minecraft:is_taiga"
}
],
[
{
"type": "REGISTRY_NAME",
"negate": false,
"value": "terralith:alpine_grove"
}
],
[
{
"type": "REGISTRY_NAME",
"negate": false,
"value": "terralith:blooming_valley"
}
],
[
{
"type": "REGISTRY_NAME",
"negate": false,
"value": "terralith:lavender_forest"
}
],
[
{
"type": "REGISTRY_NAME",
"negate": false,
"value": "terralith:lavender_valley"
}
],
[
{
"type": "REGISTRY_NAME",
"negate": false,
"value": "terralith:moonlight_grove"
}
],
[
{
"type": "REGISTRY_NAME",
"negate": false,
"value": "terralith:moonlight_valley"
}
],
[
{
"type": "REGISTRY_NAME",
"negate": false,
"value": "terralith:sakura_grove"
}
],
[
{
"type": "REGISTRY_NAME",
"negate": false,
"value": "terralith:sakura_valley"
}
],
[
{
"type": "REGISTRY_NAME",
"negate": false,
"value": "terralith:highlands"
}
],
[
{
"type": "REGISTRY_NAME",
"negate": false,
"value": "terralith:shield_clearing"
}
],
[
{
"type": "REGISTRY_NAME",
"negate": false,
"value": "terralith:valley_clearing"
}
],
[
{
"type": "REGISTRY_NAME",
"negate": false,
"value": "terralith:alpine_highlands"
}
],
[
{
"type": "REGISTRY_NAME",
"negate": false,
"value": "terralith:cloud_forest"
}
],
[
{
"type": "REGISTRY_NAME",
"negate": false,
"value": "terralith:forested_highlands"
}
],
[
{
"type": "REGISTRY_NAME",
"negate": false,
"value": "terralith:lush_valley"
}
],
[
{
"type": "REGISTRY_NAME",
"negate": false,
"value": "terralith:shield"
}
],
[
{
"type": "REGISTRY_NAME",
"negate": false,
"value": "terralith:snowy_maple_forest"
}
],
[
{
"type": "REGISTRY_NAME",
"negate": false,
"value": "terralith:snowy_shield"
}
],
[
{
"type": "REGISTRY_NAME",
"negate": false,
"value": "terralith:temperate_highlands"
}
],
[
{
"type": "REGISTRY_NAME",
"negate": false,
"value": "terralith:wintry_forest"
}
],
[
{
"type": "REGISTRY_NAME",
"negate": false,
"value": "terralith:yosemite_lowlands"
}
],
[
{
"type": "REGISTRY_NAME",
"negate": false,
"value": "terralith:bryce_canyon"
}
],
[
{
"type": "REGISTRY_NAME",
"negate": false,
"value": "terralith:skylands_autumn"
}
],
[
{
"type": "REGISTRY_NAME",
"negate": false,
"value": "biomesoplenty:redwood_forest"
}
],
[
{
"type": "REGISTRY_NAME",
"negate": false,
"value": "minecraft:cherry_grove"
}
],
[
{
"type": "REGISTRY_NAME",
"negate": false,
"value": "biomesoplenty:snowblossom_grove"
}
]
]
}

View file

@ -0,0 +1,61 @@
{
"biomes": [
[
{
"type": "BIOME_TAG",
"negate": true,
"value": "forge:no_default_monsters"
},
{
"type": "BIOME_TAG",
"negate": false,
"value": "forge:is_hot/overworld"
},
{
"type": "BIOME_TAG",
"negate": false,
"value": "forge:is_dry/overworld"
},
{
"type": "BIOME_TAG",
"negate": false,
"value": "forge:is_sandy"
}
],
[
{
"type": "REGISTRY_NAME",
"negate": false,
"value": "terralith:ancient_sands"
}
],
[
{
"type": "REGISTRY_NAME",
"negate": false,
"value": "terralith:desert_canyon"
}
],
[
{
"type": "REGISTRY_NAME",
"negate": false,
"value": "terralith:desert_spires"
}
],
[
{
"type": "REGISTRY_NAME",
"negate": false,
"value": "terralith:ashen_savanna"
}
],
[
{
"type": "REGISTRY_NAME",
"negate": false,
"value": "terralith:cave/desert_caves"
}
]
]
}

View file

@ -0,0 +1,16 @@
{
"biomes": [
[
{
"type": "BIOME_TAG",
"negate": false,
"value": "minecraft:is_ocean"
},
{
"type": "BIOME_TAG",
"negate": false,
"value": "forge:is_hot/overworld"
}
]
]
}

View file

@ -0,0 +1,165 @@
{
"biomes": [
[
{
"type": "REGISTRY_NAME",
"negate": false,
"value": "minecraft:flower_forest"
}
],
[
{
"type": "REGISTRY_NAME",
"negate": false,
"value": "minecraft:sunflower_plains"
}
],
[
{
"type": "BIOME_TAG",
"negate": false,
"value": "minecraft:is_jungle"
}
],
[
{
"type": "REGISTRY_NAME",
"negate": false,
"value": "minecraft:meadow"
}
],
[
{
"type": "REGISTRY_NAME",
"negate": false,
"value": "terralith:blooming_valley"
}
],
[
{
"type": "REGISTRY_NAME",
"negate": false,
"value": "terralith:lavender_forest"
}
],
[
{
"type": "REGISTRY_NAME",
"negate": false,
"value": "terralith:lavender_valley"
}
],
[
{
"type": "REGISTRY_NAME",
"negate": false,
"value": "terralith:moonlight_grove"
}
],
[
{
"type": "REGISTRY_NAME",
"negate": false,
"value": "terralith:moonlight_valley"
}
],
[
{
"type": "REGISTRY_NAME",
"negate": false,
"value": "terralith:sakura_grove"
}
],
[
{
"type": "REGISTRY_NAME",
"negate": false,
"value": "terralith:sakura_valley"
}
],
[
{
"type": "REGISTRY_NAME",
"negate": false,
"value": "terralith:amethyst_canyon"
}
],
[
{
"type": "REGISTRY_NAME",
"negate": false,
"value": "terralith:amethyst_rainforest"
}
],
[
{
"type": "REGISTRY_NAME",
"negate": false,
"value": "terralith:jungle_mountains"
}
],
[
{
"type": "REGISTRY_NAME",
"negate": false,
"value": "terralith:rocky_jungle"
}
],
[
{
"type": "REGISTRY_NAME",
"negate": false,
"value": "terralith:tropical_jungle"
}
],
[
{
"type": "REGISTRY_NAME",
"negate": false,
"value": "terralith:blooming_plateau"
}
],
[
{
"type": "REGISTRY_NAME",
"negate": false,
"value": "terralith:valley_clearing"
}
],
[
{
"type": "REGISTRY_NAME",
"negate": false,
"value": "terralith:orchid_swamp"
}
],
[
{
"type": "REGISTRY_NAME",
"negate": false,
"value": "terralith:skylands_autumn"
}
],
[
{
"type": "REGISTRY_NAME",
"negate": false,
"value": "terralith:skylands_spring"
}
],
[
{
"type": "REGISTRY_NAME",
"negate": false,
"value": "terralith:skylands_summer"
}
],
[
{
"type": "REGISTRY_NAME",
"negate": false,
"value": "minecraft:cherry_grove"
}
]
]
}

View file

@ -0,0 +1,68 @@
{
"biomes": [
[
{
"type": "BIOME_TAG",
"negate": false,
"value": "forge:is_dry/overworld"
},
{
"type": "BIOME_TAG",
"negate": false,
"value": "forge:is_hot/overworld"
},
{
"type": "BIOME_TAG",
"negate": false,
"value": "forge:is_sandy"
},
{
"type": "BIOME_TAG",
"negate": true,
"value": "minecraft:is_badlands"
}
],
[
{
"type": "REGISTRY_NAME",
"negate": false,
"value": "terralith:ancient_sands"
}
],
[
{
"type": "REGISTRY_NAME",
"negate": false,
"value": "terralith:desert_canyon"
}
],
[
{
"type": "REGISTRY_NAME",
"negate": false,
"value": "terralith:desert_oasis"
}
],
[
{
"type": "REGISTRY_NAME",
"negate": false,
"value": "terralith:desert_spires"
}
],
[
{
"type": "REGISTRY_NAME",
"negate": false,
"value": "terralith:sandstone_valley"
}
],
[
{
"type": "REGISTRY_NAME",
"negate": false,
"value": "terralith:red_oasis"
}
]
]
}

View file

@ -0,0 +1,91 @@
{
"biomes": [
[
{
"type": "BIOME_TAG",
"negate": false,
"value": "minecraft:is_overworld"
},
{
"type": "BIOME_TAG",
"negate": false,
"value": "minecraft:is_badlands"
}
],
[
{
"type": "BIOME_TAG",
"negate": false,
"value": "minecraft:is_overworld"
},
{
"type": "BIOME_TAG",
"negate": false,
"value": "minecraft:is_savanna"
}
],
[
{
"type": "REGISTRY_NAME",
"negate": false,
"value": "terralith:arid_highlands"
}
],
[
{
"type": "REGISTRY_NAME",
"negate": false,
"value": "terralith:brushland"
}
],
[
{
"type": "REGISTRY_NAME",
"negate": false,
"value": "terralith:fractured_savanna"
}
],
[
{
"type": "REGISTRY_NAME",
"negate": false,
"value": "terralith:savanna_badlands"
}
],
[
{
"type": "REGISTRY_NAME",
"negate": false,
"value": "terralith:savanna_slopes"
}
],
[
{
"type": "REGISTRY_NAME",
"negate": false,
"value": "terralith:warped_mesa"
}
],
[
{
"type": "REGISTRY_NAME",
"negate": false,
"value": "terralith:white_mesa"
}
],
[
{
"type": "REGISTRY_NAME",
"negate": false,
"value": "terralith:red_oasis"
}
],
[
{
"type": "REGISTRY_NAME",
"negate": false,
"value": "biomesoplenty:lush_desert"
}
]
]
}

View file

@ -0,0 +1,44 @@
{
"biomes": [
[
{
"type": "BIOME_TAG",
"negate": false,
"value": "minecraft:is_jungle"
},
{
"type": "BIOME_TAG",
"negate": true,
"value": "forge:is_dense/overworld"
}
],
[
{
"type": "REGISTRY_NAME",
"negate": false,
"value": "terralith:sandstone_valley"
}
],
[
{
"type": "REGISTRY_NAME",
"negate": false,
"value": "terralith:red_oasis"
}
],
[
{
"type": "REGISTRY_NAME",
"negate": false,
"value": "terralith:skylands_summer"
}
],
[
{
"type": "REGISTRY_NAME",
"negate": false,
"value": "biomesoplenty:tropics"
}
]
]
}

View file

@ -0,0 +1,11 @@
{
"biomes": [
[
{
"type": "BIOME_TAG",
"negate": false,
"value": "minecraft:is_nether"
}
]
]
}

View file

@ -0,0 +1,63 @@
{
"biomes": [
[
{
"type": "BIOME_TAG",
"negate": false,
"value": "minecraft:is_overworld"
},
{
"type": "BIOME_TAG",
"negate": false,
"value": "minecraft:is_jungle"
},
{
"type": "REGISTRY_NAME",
"negate": true,
"value": "minecraft:bamboo_jungle"
}
],
[
{
"type": "REGISTRY_NAME",
"negate": false,
"value": "terralith:amethyst_canyon"
}
],
[
{
"type": "REGISTRY_NAME",
"negate": false,
"value": "terralith:amethyst_rainforest"
}
],
[
{
"type": "REGISTRY_NAME",
"negate": false,
"value": "terralith:jungle_mountains"
}
],
[
{
"type": "REGISTRY_NAME",
"negate": false,
"value": "terralith:rocky_jungle"
}
],
[
{
"type": "REGISTRY_NAME",
"negate": false,
"value": "terralith:tropical_jungle"
}
],
[
{
"type": "REGISTRY_NAME",
"negate": false,
"value": "terralith:skylands_summer"
}
]
]
}

View file

@ -0,0 +1,25 @@
{
"biomes": [
[
{
"type": "BIOME_TAG",
"negate": false,
"value": "minecraft:is_beach"
}
],
[
{
"type": "REGISTRY_NAME",
"negate": false,
"value": "terralith:gravel_beach"
}
],
[
{
"type": "REGISTRY_NAME",
"negate": false,
"value": "minecraft:stony_shore"
}
]
]
}

View file

@ -0,0 +1,58 @@
{
"biomes": [
[
{
"type": "BIOME_TAG",
"negate": false,
"value": "minecraft:is_overworld"
},
{
"type": "BIOME_TAG",
"negate": false,
"value": "minecraft:is_savanna"
}
],
[
{
"type": "REGISTRY_NAME",
"negate": false,
"value": "terralith:arid_highlands"
}
],
[
{
"type": "REGISTRY_NAME",
"negate": false,
"value": "terralith:brushland"
}
],
[
{
"type": "REGISTRY_NAME",
"negate": false,
"value": "terralith:fractured_savanna"
}
],
[
{
"type": "REGISTRY_NAME",
"negate": false,
"value": "terralith:savanna_badlands"
}
],
[
{
"type": "REGISTRY_NAME",
"negate": false,
"value": "terralith:savanna_slopes"
}
],
[
{
"type": "REGISTRY_NAME",
"negate": false,
"value": "terralith:shrubland"
}
]
]
}

View file

@ -0,0 +1,23 @@
{
"biomes": [
[
{
"type": "BIOME_TAG",
"negate": false,
"value": "minecraft:is_ocean"
},
{
"type": "BIOME_TAG",
"negate": false,
"value": "forge:is_hot/overworld"
}
],
[
{
"type": "REGISTRY_NAME",
"negate": false,
"value": "minecraft:mangrove_swamp"
}
]
]
}

View file

@ -0,0 +1,21 @@
{
"biomes": [
[
{
"type": "BIOME_TAG",
"negate": false,
"value": "forge:is_hot/overworld"
},
{
"type": "BIOME_TAG",
"negate": false,
"value": "minecraft:is_ocean"
},
{
"type": "REGISTRY_NAME",
"negate": true,
"value": "minecraft:deep_warm_ocean"
}
]
]
}

View file

@ -0,0 +1,21 @@
{
"biomes": [
[
{
"type": "BIOME_TAG",
"negate": true,
"value": "forge:no_default_monsters"
},
{
"type": "BIOME_TAG",
"negate": false,
"value": "minecraft:is_end"
},
{
"type": "REGISTRY_NAME",
"negate": true,
"value": "minecraft:the_end"
}
]
]
}

View file

@ -0,0 +1,122 @@
{
"biomes": [
[
{
"type": "BIOME_TAG",
"negate": false,
"value": "minecraft:is_overworld"
},
{
"type": "BIOME_TAG",
"negate": false,
"value": "forge:is_snowy"
},
{
"type": "BIOME_TAG",
"negate": false,
"value": "forge:is_wasteland"
}
],
[
{
"type": "BIOME_TAG",
"negate": false,
"value": "minecraft:is_overworld"
},
{
"type": "BIOME_TAG",
"negate": false,
"value": "forge:is_snowy"
},
{
"type": "BIOME_TAG",
"negate": false,
"value": "minecraft:is_taiga"
}
],
[
{
"type": "REGISTRY_NAME",
"negate": false,
"value": "biomesoplenty:snowy_coniferous_forest"
}
],
[
{
"type": "REGISTRY_NAME",
"negate": false,
"value": "biomesoplenty:snowy_fir_clearing"
}
],
[
{
"type": "REGISTRY_NAME",
"negate": false,
"value": "snowy_maple_woods"
}
],
[
{
"type": "REGISTRY_NAME",
"negate": false,
"value": "terralith:alpine_grove"
}
],
[
{
"type": "REGISTRY_NAME",
"negate": false,
"value": "terralith:snowy_badlands"
}
],
[
{
"type": "REGISTRY_NAME",
"negate": false,
"value": "terralith:snowy_maple_forest"
}
],
[
{
"type": "REGISTRY_NAME",
"negate": false,
"value": "terralith:snowy_shield"
}
],
[
{
"type": "REGISTRY_NAME",
"negate": false,
"value": "terralith:wintry_forest"
}
],
[
{
"type": "REGISTRY_NAME",
"negate": false,
"value": "terralith:wintry_lowlands"
}
],
[
{
"type": "REGISTRY_NAME",
"negate": false,
"value": "terralith:gravel_desert"
}
],
[
{
"type": "REGISTRY_NAME",
"negate": false,
"value": "terralith:skylands_winter"
}
],
[
{
"type": "REGISTRY_NAME",
"negate": false,
"value": "biomesoplenty:snowblossom_grove"
}
]
]
}

View file

@ -0,0 +1,18 @@
{
"biomes": [
[
{
"type": "REGISTRY_NAME",
"negate": false,
"value": "minecraft:mangrove_swamp"
}
],
[
{
"type": "REGISTRY_NAME",
"negate": false,
"value": "terralith:cave/underground_jungle"
}
]
]
}

View file

@ -0,0 +1,28 @@
{
"biomes": [
[
{
"type": "BIOME_TAG",
"negate": false,
"value": "minecraft:is_overworld"
},
{
"type": "BIOME_TAG",
"negate": false,
"value": "forge:is_mushroom"
},
{
"type": "BIOME_TAG",
"negate": false,
"value": "forge:is_rare"
}
],
[
{
"type": "REGISTRY_NAME",
"negate": false,
"value": "terralith:mirage_isles"
}
]
]
}

View file

@ -0,0 +1,115 @@
{
"biomes": [
[
{
"type": "BIOME_TAG",
"negate": false,
"value": "minecraft:is_overworld"
},
{
"type": "BIOME_TAG",
"negate": true,
"value": "forge:no_default_monsters"
},
{
"type": "BIOME_TAG",
"negate": true,
"value": "minecraft:is_ocean"
},
{
"type": "BIOME_TAG",
"negate": true,
"value": "forge:is_mushroom"
},
{
"type": "REGISTRY_NAME",
"negate": true,
"value": "minecraft:deep_dark"
}
],
[
{
"type": "REGISTRY_NAME",
"negate": false,
"value": "terralith:cave/andesite_caves"
}
],
[
{
"type": "REGISTRY_NAME",
"negate": false,
"value": "terralith:cave/desert_caves"
}
],
[
{
"type": "REGISTRY_NAME",
"negate": false,
"value": "terralith:cave/diorite_caves"
}
],
[
{
"type": "REGISTRY_NAME",
"negate": false,
"value": "terralith:cave/granite_caves"
}
],
[
{
"type": "REGISTRY_NAME",
"negate": false,
"value": "terralith:cave/ice_caves"
}
],
[
{
"type": "REGISTRY_NAME",
"negate": false,
"value": "terralith:cave/infested_caves"
}
],
[
{
"type": "REGISTRY_NAME",
"negate": false,
"value": "terralith:cave/thermal_caves"
}
],
[
{
"type": "REGISTRY_NAME",
"negate": false,
"value": "terralith:cave/crystal_caves"
}
],
[
{
"type": "REGISTRY_NAME",
"negate": false,
"value": "terralith:cave/frostfire_caves"
}
],
[
{
"type": "REGISTRY_NAME",
"negate": false,
"value": "terralith:cave/mantle_caves"
}
],
[
{
"type": "REGISTRY_NAME",
"negate": false,
"value": "terralith:cave/deep_caves"
}
],
[
{
"type": "REGISTRY_NAME",
"negate": false,
"value": "terralith:cave/tuff_caves"
}
]
]
}

View file

@ -0,0 +1,16 @@
{
"biomes": [
[
{
"type": "BIOME_TAG",
"negate": false,
"value": "minecraft:is_ocean"
},
{
"type": "BIOME_TAG",
"negate": false,
"value": "forge:is_cold/overworld"
}
]
]
}

View file

@ -0,0 +1,35 @@
{
"biomes": [
[
{
"type": "BIOME_TAG",
"negate": false,
"value": "minecraft:is_overworld"
},
{
"type": "BIOME_TAG",
"negate": false,
"value": "minecraft:is_river"
},
{
"type": "BIOME_TAG",
"negate": true,
"value": "forge:is_cold/overworld"
}
],
[
{
"type": "REGISTRY_NAME",
"negate": false,
"value": "biomesoplenty:tundra_bog"
}
],
[
{
"type": "REGISTRY_NAME",
"negate": false,
"value": "terralith:warm_river"
}
]
]
}

View file

@ -0,0 +1,11 @@
{
"biomes": [
[
{
"type": "REGISTRY_NAME",
"negate": false,
"value": "minecraft:dark_forest"
}
]
]
}

View file

@ -0,0 +1,199 @@
{
"biomes": [
[
{
"type": "BIOME_TAG",
"negate": false,
"value": "minecraft:is_overworld"
},
{
"type": "BIOME_TAG",
"negate": false,
"value": "minecraft:is_forest"
}
],
[
{
"type": "BIOME_TAG",
"negate": false,
"value": "minecraft:is_overworld"
},
{
"type": "BIOME_TAG",
"negate": true,
"value": "minecraft:is_savanna"
},
{
"type": "BIOME_TAG",
"negate": false,
"value": "forge:is_plains"
}
],
[
{
"type": "BIOME_TAG",
"negate": false,
"value": "minecraft:is_overworld"
},
{
"type": "BIOME_TAG",
"negate": false,
"value": "minecraft:is_taiga"
}
],
[
{
"type": "REGISTRY_NAME",
"negate": false,
"value": "terralith:alpine_grove"
}
],
[
{
"type": "REGISTRY_NAME",
"negate": false,
"value": "terralith:birch_taiga"
}
],
[
{
"type": "REGISTRY_NAME",
"negate": false,
"value": "terralith:blooming_valley"
}
],
[
{
"type": "REGISTRY_NAME",
"negate": false,
"value": "terralith:lavender_forest"
}
],
[
{
"type": "REGISTRY_NAME",
"negate": false,
"value": "terralith:lavender_valley"
}
],
[
{
"type": "REGISTRY_NAME",
"negate": false,
"value": "terralith:moonlight_grove"
}
],
[
{
"type": "REGISTRY_NAME",
"negate": false,
"value": "terralith:moonlight_valley"
}
],
[
{
"type": "REGISTRY_NAME",
"negate": false,
"value": "terralith:sakura_grove"
}
],
[
{
"type": "REGISTRY_NAME",
"negate": false,
"value": "terralith:sakura_valley"
}
],
[
{
"type": "REGISTRY_NAME",
"negate": false,
"value": "terralith:cold_shrubland"
}
],
[
{
"type": "REGISTRY_NAME",
"negate": false,
"value": "terralith:highlands"
}
],
[
{
"type": "REGISTRY_NAME",
"negate": false,
"value": "terralith:hot_shrubland"
}
],
[
{
"type": "REGISTRY_NAME",
"negate": false,
"value": "terralith:rocky_shrubland"
}
],
[
{
"type": "REGISTRY_NAME",
"negate": false,
"value": "terralith:shield_clearing"
}
],
[
{
"type": "REGISTRY_NAME",
"negate": false,
"value": "terralith:steppe"
}
],
[
{
"type": "REGISTRY_NAME",
"negate": false,
"value": "terralith:valley_clearing"
}
],
[
{
"type": "REGISTRY_NAME",
"negate": false,
"value": "terralith:temperate_highlands"
}
],
[
{
"type": "REGISTRY_NAME",
"negate": false,
"value": "terralith:skylands_autumn"
}
],
[
{
"type": "REGISTRY_NAME",
"negate": false,
"value": "terralith:mirage_isles"
}
],
[
{
"type": "REGISTRY_NAME",
"negate": false,
"value": "biomesoplenty:redwood_forest"
}
],
[
{
"type": "REGISTRY_NAME",
"negate": false,
"value": "minecraft:cherry_grove"
}
],
[
{
"type": "REGISTRY_NAME",
"negate": false,
"value": "biomesoplenty:snowblossom_grove"
}
]
]
}

View file

@ -0,0 +1,68 @@
{
"biomes": [
[
{
"type": "BIOME_TAG",
"negate": false,
"value": "forge:is_dry/overworld"
},
{
"type": "BIOME_TAG",
"negate": false,
"value": "forge:is_hot/overworld"
},
{
"type": "BIOME_TAG",
"negate": false,
"value": "forge:is_sandy"
},
{
"type": "BIOME_TAG",
"negate": true,
"value": "minecraft:is_badlands"
}
],
[
{
"type": "REGISTRY_NAME",
"negate": false,
"value": "terralith:ancient_sands"
}
],
[
{
"type": "REGISTRY_NAME",
"negate": false,
"value": "terralith:desert_canyon"
}
],
[
{
"type": "REGISTRY_NAME",
"negate": false,
"value": "terralith:desert_oasis"
}
],
[
{
"type": "REGISTRY_NAME",
"negate": false,
"value": "terralith:desert_spires"
}
],
[
{
"type": "REGISTRY_NAME",
"negate": false,
"value": "terralith:sandstone_valley"
}
],
[
{
"type": "REGISTRY_NAME",
"negate": false,
"value": "terralith:red_oasis"
}
]
]
}

View file

@ -0,0 +1,91 @@
{
"biomes": [
[
{
"type": "BIOME_TAG",
"negate": false,
"value": "minecraft:is_badlands"
}
],
[
{
"type": "BIOME_TAG",
"negate": false,
"value": "forge:is_dry/overworld"
},
{
"type": "BIOME_TAG",
"negate": false,
"value": "forge:is_hot/overworld"
},
{
"type": "BIOME_TAG",
"negate": false,
"value": "forge:is_sandy"
}
],
[
{
"type": "REGISTRY_NAME",
"negate": false,
"value": "terralith:ancient_sands"
}
],
[
{
"type": "REGISTRY_NAME",
"negate": false,
"value": "terralith:desert_canyon"
}
],
[
{
"type": "REGISTRY_NAME",
"negate": false,
"value": "terralith:desert_oasis"
}
],
[
{
"type": "REGISTRY_NAME",
"negate": false,
"value": "terralith:desert_spires"
}
],
[
{
"type": "REGISTRY_NAME",
"negate": false,
"value": "terralith:red_oasis"
}
],
[
{
"type": "REGISTRY_NAME",
"negate": false,
"value": "terralith:sandstone_valley"
}
],
[
{
"type": "REGISTRY_NAME",
"negate": false,
"value": "terralith:warped_mesa"
}
],
[
{
"type": "REGISTRY_NAME",
"negate": false,
"value": "terralith:white_mesa"
}
],
[
{
"type": "REGISTRY_NAME",
"negate": false,
"value": "terralith:red_oasis"
}
]
]
}

View file

@ -0,0 +1,60 @@
{
"biomes": [
[
{
"type": "BIOME_TAG",
"negate": false,
"value": "minecraft:is_savanna"
}
],
[
{
"type": "REGISTRY_NAME",
"negate": false,
"value": "terralith:arid_highlands"
}
],
[
{
"type": "REGISTRY_NAME",
"negate": false,
"value": "terralith:brushland"
}
],
[
{
"type": "REGISTRY_NAME",
"negate": false,
"value": "terralith:fractured_savanna"
}
],
[
{
"type": "REGISTRY_NAME",
"negate": false,
"value": "terralith:savanna_badlands"
}
],
[
{
"type": "REGISTRY_NAME",
"negate": false,
"value": "terralith:savanna_slopes"
}
],
[
{
"type": "REGISTRY_NAME",
"negate": false,
"value": "terralith:shrubland"
}
],
[
{
"type": "REGISTRY_NAME",
"negate": false,
"value": "terralith:red_oasis"
}
]
]
}

View file

@ -0,0 +1,91 @@
{
"biomes": [
[
{
"type": "BIOME_TAG",
"negate": false,
"value": "minecraft:is_badlands"
}
],
[
{
"type": "BIOME_TAG",
"negate": false,
"value": "forge:is_dry/overworld"
},
{
"type": "BIOME_TAG",
"negate": false,
"value": "forge:is_hot/overworld"
},
{
"type": "BIOME_TAG",
"negate": false,
"value": "forge:is_sandy"
}
],
[
{
"type": "REGISTRY_NAME",
"negate": false,
"value": "terralith:ancient_sands"
}
],
[
{
"type": "REGISTRY_NAME",
"negate": false,
"value": "terralith:desert_canyon"
}
],
[
{
"type": "REGISTRY_NAME",
"negate": false,
"value": "terralith:desert_oasis"
}
],
[
{
"type": "REGISTRY_NAME",
"negate": false,
"value": "terralith:desert_spires"
}
],
[
{
"type": "REGISTRY_NAME",
"negate": false,
"value": "terralith:red_oasis"
}
],
[
{
"type": "REGISTRY_NAME",
"negate": false,
"value": "terralith:sandstone_valley"
}
],
[
{
"type": "REGISTRY_NAME",
"negate": false,
"value": "terralith:warped_mesa"
}
],
[
{
"type": "REGISTRY_NAME",
"negate": false,
"value": "terralith:white_mesa"
}
],
[
{
"type": "REGISTRY_NAME",
"negate": false,
"value": "terralith:red_oasis"
}
]
]
}

View file

@ -0,0 +1,37 @@
{
"biomes": [
[
{
"type": "BIOME_TAG",
"negate": true,
"value": "forge:no_default_monsters"
},
{
"type": "REGISTRY_NAME",
"negate": false,
"value": "minecraft:dripstone_caves"
}
],
[
{
"type": "REGISTRY_NAME",
"negate": false,
"value": "terralith:cave/andesite_caves"
}
],
[
{
"type": "REGISTRY_NAME",
"negate": false,
"value": "terralith:cave/diorite_caves"
}
],
[
{
"type": "REGISTRY_NAME",
"negate": false,
"value": "terralith:cave/granite_caves"
}
]
]
}

View file

@ -0,0 +1,72 @@
{
"biomes": [
[
{
"type": "BIOME_TAG",
"negate": false,
"value": "minecraft:is_overworld"
},
{
"type": "BIOME_TAG",
"negate": false,
"value": "minecraft:is_beach"
}
],
[
{
"type": "REGISTRY_NAME",
"negate": false,
"value": "terralith:basalt_cliffs"
}
],
[
{
"type": "REGISTRY_NAME",
"negate": false,
"value": "terralith:granite_cliffs"
}
],
[
{
"type": "REGISTRY_NAME",
"negate": false,
"value": "terralith:gravel_beach"
}
],
[
{
"type": "REGISTRY_NAME",
"negate": false,
"value": "terralith:white_cliffs"
}
],
[
{
"type": "REGISTRY_NAME",
"negate": false,
"value": "terralith:skylands_autumn"
}
],
[
{
"type": "REGISTRY_NAME",
"negate": false,
"value": "terralith:skylands_spring"
}
],
[
{
"type": "REGISTRY_NAME",
"negate": false,
"value": "biomesoplenty:dune_beach"
}
],
[
{
"type": "REGISTRY_NAME",
"negate": false,
"value": "minecraft:stony_shore"
}
]
]
}

View file

@ -0,0 +1,49 @@
{
"biomes": [
[
{
"type": "BIOME_TAG",
"negate": false,
"value": "minecraft:is_beach"
}
],
[
{
"type": "BIOME_TAG",
"negate": false,
"value": "minecraft:is_overworld"
},
{
"type": "BIOME_TAG",
"negate": false,
"value": "minecraft:is_ocean"
},
{
"type": "BIOME_TAG",
"negate": false,
"value": "forge:is_cold/overworld"
}
],
[
{
"type": "REGISTRY_NAME",
"negate": false,
"value": "terralith:gravel_beach"
}
],
[
{
"type": "REGISTRY_NAME",
"negate": false,
"value": "biomesoplenty:dune_beach"
}
],
[
{
"type": "REGISTRY_NAME",
"negate": false,
"value": "minecraft:stony_shore"
}
]
]
}

View file

@ -0,0 +1,35 @@
{
"biomes": [
[
{
"type": "BIOME_TAG",
"negate": false,
"value": "minecraft:is_overworld"
},
{
"type": "BIOME_TAG",
"negate": false,
"value": "forge:is_swamp"
},
{
"type": "REGISTRY_NAME",
"negate": true,
"value": "minecraft:mangrove_swamp"
}
],
[
{
"type": "REGISTRY_NAME",
"negate": false,
"value": "terralith:orchid_swamp"
}
],
[
{
"type": "REGISTRY_NAME",
"negate": false,
"value": "terralith:red_oasis"
}
]
]
}

View file

@ -0,0 +1,21 @@
{
"biomes": [
[
{
"type": "BIOME_TAG",
"negate": true,
"value": "forge:no_default_monsters"
},
{
"type": "BIOME_TAG",
"negate": false,
"value": "minecraft:is_overworld"
},
{
"type": "BIOME_TAG",
"negate": false,
"value": "minecraft:is_deep_ocean"
}
]
]
}

View file

@ -0,0 +1,16 @@
{
"biomes": [
[
{
"type": "BIOME_TAG",
"negate": true,
"value": "forge:no_default_monsters"
},
{
"type": "BIOME_TAG",
"negate": false,
"value": "alexsmobs:skreechers_can_spawn_wardens"
}
]
]
}

View file

@ -0,0 +1,108 @@
{
"biomes": [
[
{
"type": "BIOME_TAG",
"negate": false,
"value": "minecraft:is_overworld"
},
{
"type": "BIOME_TAG",
"negate": false,
"value": "minecraft:is_forest"
},
{
"type": "BIOME_TAG",
"negate": true,
"value": "minecraft:is_savanna"
},
{
"type": "BIOME_TAG",
"negate": true,
"value": "forge:is_cold/overworld"
},
{
"type": "REGISTRY_NAME",
"negate": true,
"value": "minecraft:sparse_jungle"
}
],
[
{
"type": "REGISTRY_NAME",
"negate": false,
"value": "terralith:birch_taiga"
}
],
[
{
"type": "REGISTRY_NAME",
"negate": false,
"value": "terralith:blooming_valley"
}
],
[
{
"type": "REGISTRY_NAME",
"negate": false,
"value": "terralith:mirage_isles"
}
],
[
{
"type": "REGISTRY_NAME",
"negate": false,
"value": "terralith:lavender_valley"
}
],
[
{
"type": "REGISTRY_NAME",
"negate": false,
"value": "terralith:lavender_forest"
}
],
[
{
"type": "REGISTRY_NAME",
"negate": false,
"value": "terralith:moonlight_grove"
}
],
[
{
"type": "REGISTRY_NAME",
"negate": false,
"value": "terralith:moonlight_valley"
}
],
[
{
"type": "REGISTRY_NAME",
"negate": false,
"value": "terralith:sakura_grove"
}
],
[
{
"type": "REGISTRY_NAME",
"negate": false,
"value": "terralith:sakura_valley"
}
],
[
{
"type": "REGISTRY_NAME",
"negate": false,
"value": "terralith:temperate_highlands"
}
],
[
{
"type": "REGISTRY_NAME",
"negate": false,
"value": "minecraft:cherry_grove"
}
]
]
}

View file

@ -0,0 +1,98 @@
{
"biomes": [
[
{
"type": "BIOME_TAG",
"negate": false,
"value": "minecraft:is_overworld"
},
{
"type": "BIOME_TAG",
"negate": false,
"value": "forge:is_snowy"
}
],
[
{
"type": "REGISTRY_NAME",
"negate": false,
"value": "minecraft:snowy_slopes"
}
],
[
{
"type": "REGISTRY_NAME",
"negate": false,
"value": "minecraft:frozen_peaks"
}
],
[
{
"type": "REGISTRY_NAME",
"negate": false,
"value": "minecraft:jagged_peaks"
}
],
[
{
"type": "REGISTRY_NAME",
"negate": false,
"value": "terralith:frozen_cliffs"
}
],
[
{
"type": "REGISTRY_NAME",
"negate": false,
"value": "terralith:glacial_chasm"
}
],
[
{
"type": "REGISTRY_NAME",
"negate": false,
"value": "terralith:snowy_badlands"
},
{
"type": "REGISTRY_NAME",
"negate": false,
"value": "terralith:snowy_maple_forest"
}
],
[
{
"type": "REGISTRY_NAME",
"negate": false,
"value": "terralith:emerald_peaks"
}
],
[
{
"type": "REGISTRY_NAME",
"negate": false,
"value": "terralith:rocky_mountains"
}
],
[
{
"type": "REGISTRY_NAME",
"negate": false,
"value": "terralith:scarlet_mountains"
}
],
[
{
"type": "REGISTRY_NAME",
"negate": false,
"value": "terralith:snowy_shield"
}
],
[
{
"type": "REGISTRY_NAME",
"negate": false,
"value": "terralith:skylands_winter"
}
]
]
}

View file

@ -0,0 +1,30 @@
{
"biomes": [
[
{
"type": "BIOME_TAG",
"negate": true,
"value": "forge:no_default_monsters"
},
{
"type": "REGISTRY_NAME",
"negate": false,
"value": "minecraft:soul_sand_valley"
}
],
[
{
"type": "REGISTRY_NAME",
"negate": false,
"value": "byg:warped_desert"
}
],
[
{
"type": "REGISTRY_NAME",
"negate": false,
"value": "incendium:weeping_valley"
}
]
]
}

View file

@ -0,0 +1,16 @@
{
"biomes": [
[
{
"type": "BIOME_TAG",
"negate": false,
"value": "minecraft:is_end"
},
{
"type": "REGISTRY_NAME",
"negate": true,
"value": "minecraft:the_end"
}
]
]
}

View file

@ -0,0 +1,37 @@
{
"biomes": [
[
{
"type": "BIOME_TAG",
"negate": true,
"value": "forge:no_default_monsters"
},
{
"type": "REGISTRY_NAME",
"negate": false,
"value": "minecraft:basalt_deltas"
}
],
[
{
"type": "REGISTRY_NAME",
"negate": false,
"value": "biomesoplenty:withered_abyss"
}
],
[
{
"type": "REGISTRY_NAME",
"negate": false,
"value": "incendium:volcanic_deltas"
}
],
[
{
"type": "REGISTRY_NAME",
"negate": false,
"value": "incendium:withered_forest"
}
]
]
}

View file

@ -0,0 +1,37 @@
{
"biomes": [
[
{
"type": "BIOME_TAG",
"negate": true,
"value": "forge:no_default_monsters"
},
{
"type": "REGISTRY_NAME",
"negate": false,
"value": "minecraft:basalt_deltas"
}
],
[
{
"type": "REGISTRY_NAME",
"negate": false,
"value": "biomesoplenty:withered_abyss"
}
],
[
{
"type": "REGISTRY_NAME",
"negate": false,
"value": "incendium:volcanic_deltas"
}
],
[
{
"type": "REGISTRY_NAME",
"negate": false,
"value": "incendium:withered_forest"
}
]
]
}

View file

@ -0,0 +1,25 @@
{
"biomes": [
[
{
"type": "REGISTRY_NAME",
"negate": false,
"value": "minecraft:birch_forest"
}
],
[
{
"type": "REGISTRY_NAME",
"negate": false,
"value": "minecraft:old_growth_birch_forest"
}
],
[
{
"type": "REGISTRY_NAME",
"negate": false,
"value": "terralith:white_cliffs"
}
]
]
}

View file

@ -0,0 +1,212 @@
{
"biomes": [
[
{
"type": "BIOME_TAG",
"negate": false,
"value": "minecraft:is_overworld"
},
{
"type": "BIOME_TAG",
"negate": false,
"value": "minecraft:is_mountain"
}
],
[
{
"type": "REGISTRY_NAME",
"negate": false,
"value": "minecraft:snowy_slopes"
}
],
[
{
"type": "REGISTRY_NAME",
"negate": false,
"value": "minecraft:frozen_peaks"
}
],
[
{
"type": "REGISTRY_NAME",
"negate": false,
"value": "minecraft:jagged_peaks"
}
],
[
{
"type": "REGISTRY_NAME",
"negate": false,
"value": "terralith:blooming_valley"
}
],
[
{
"type": "REGISTRY_NAME",
"negate": false,
"value": "terralith:emerald_peaks"
}
],
[
{
"type": "REGISTRY_NAME",
"negate": false,
"value": "terralith:painted_mountains"
}
],
[
{
"type": "REGISTRY_NAME",
"negate": false,
"value": "terralith:rocky_mountains"
}
],
[
{
"type": "REGISTRY_NAME",
"negate": false,
"value": "terralith:scarlet_mountains"
}
],
[
{
"type": "REGISTRY_NAME",
"negate": false,
"value": "terralith:stony_spires"
}
],
[
{
"type": "REGISTRY_NAME",
"negate": false,
"value": "terralith:volcanic_crater"
}
],
[
{
"type": "REGISTRY_NAME",
"negate": false,
"value": "terralith:volcanic_peaks"
}
],
[
{
"type": "REGISTRY_NAME",
"negate": false,
"value": "terralith:skylands_autumn"
}
],
[
{
"type": "REGISTRY_NAME",
"negate": false,
"value": "terralith:skylands_spring"
}
],
[
{
"type": "REGISTRY_NAME",
"negate": false,
"value": "terralith:skylands_summer"
}
],
[
{
"type": "REGISTRY_NAME",
"negate": false,
"value": "terralith:skylands_winter"
}
],
[
{
"type": "REGISTRY_NAME",
"negate": false,
"value": "terralith:savanna_badlands"
}
],
[
{
"type": "REGISTRY_NAME",
"negate": false,
"value": "terralith:savanna_slopes"
}
],
[
{
"type": "REGISTRY_NAME",
"negate": false,
"value": "terralith:yellowstone"
}
],
[
{
"type": "REGISTRY_NAME",
"negate": false,
"value": "terralith:yosemite_cliffs"
}
],
[
{
"type": "REGISTRY_NAME",
"negate": false,
"value": "terralith:bryce_canyon"
}
],
[
{
"type": "REGISTRY_NAME",
"negate": false,
"value": "terralith:jungle_mountains"
}
],
[
{
"type": "REGISTRY_NAME",
"negate": false,
"value": "terralith:haze_mountain"
}
],
[
{
"type": "REGISTRY_NAME",
"negate": false,
"value": "terralith:windswept_spires"
}
],
[
{
"type": "REGISTRY_NAME",
"negate": false,
"value": "terralith:desert_spires"
}
],
[
{
"type": "REGISTRY_NAME",
"negate": false,
"value": "terralith:desert_canyon"
}
],
[
{
"type": "REGISTRY_NAME",
"negate": false,
"value": "terralith:basalt_cliffs"
}
],
[
{
"type": "REGISTRY_NAME",
"negate": false,
"value": "terralith:granite_cliffs"
}
],
[
{
"type": "REGISTRY_NAME",
"negate": false,
"value": "terralith:white_cliffs"
}
]
]
}

View file

@ -0,0 +1,68 @@
{
"biomes": [
[
{
"type": "BIOME_TAG",
"negate": false,
"value": "forge:is_dry/overworld"
},
{
"type": "BIOME_TAG",
"negate": false,
"value": "forge:is_hot/overworld"
},
{
"type": "BIOME_TAG",
"negate": false,
"value": "forge:is_sandy"
},
{
"type": "BIOME_TAG",
"negate": true,
"value": "minecraft:is_badlands"
}
],
[
{
"type": "REGISTRY_NAME",
"negate": false,
"value": "terralith:ancient_sands"
}
],
[
{
"type": "REGISTRY_NAME",
"negate": false,
"value": "terralith:desert_canyon"
}
],
[
{
"type": "REGISTRY_NAME",
"negate": false,
"value": "terralith:desert_oasis"
}
],
[
{
"type": "REGISTRY_NAME",
"negate": false,
"value": "terralith:desert_spires"
}
],
[
{
"type": "REGISTRY_NAME",
"negate": false,
"value": "terralith:sandstone_valley"
}
],
[
{
"type": "REGISTRY_NAME",
"negate": false,
"value": "terralith:red_oasis"
}
]
]
}

View file

@ -0,0 +1,101 @@
{
"biomes": [
[
{
"type": "BIOME_TAG",
"negate": false,
"value": "minecraft:is_overworld"
},
{
"type": "BIOME_TAG",
"negate": false,
"value": "minecraft:is_forest"
},
{
"type": "BIOME_TAG",
"negate": true,
"value": "minecraft:is_savanna"
},
{
"type": "BIOME_TAG",
"negate": true,
"value": "forge:is_cold/overworld"
},
{
"type": "REGISTRY_NAME",
"negate": true,
"value": "minecraft:sparse_jungle"
}
],
[
{
"type": "REGISTRY_NAME",
"negate": false,
"value": "terralith:birch_taiga"
}
],
[
{
"type": "REGISTRY_NAME",
"negate": false,
"value": "terralith:blooming_valley"
}
],
[
{
"type": "REGISTRY_NAME",
"negate": false,
"value": "terralith:mirage_isles"
}
],
[
{
"type": "REGISTRY_NAME",
"negate": false,
"value": "terralith:lavender_valley"
}
],
[
{
"type": "REGISTRY_NAME",
"negate": false,
"value": "terralith:lavender_forest"
}
],
[
{
"type": "REGISTRY_NAME",
"negate": false,
"value": "terralith:moonlight_grove"
}
],
[
{
"type": "REGISTRY_NAME",
"negate": false,
"value": "terralith:moonlight_valley"
}
],
[
{
"type": "REGISTRY_NAME",
"negate": false,
"value": "terralith:sakura_grove"
}
],
[
{
"type": "REGISTRY_NAME",
"negate": false,
"value": "terralith:sakura_valley"
}
],
[
{
"type": "REGISTRY_NAME",
"negate": false,
"value": "terralith:temperate_highlands"
}
]
]
}

View file

@ -0,0 +1,35 @@
{
"biomes": [
[
{
"type": "BIOME_TAG",
"negate": false,
"value": "minecraft:is_overworld"
},
{
"type": "BIOME_TAG",
"negate": false,
"value": "minecraft:is_river"
},
{
"type": "BIOME_TAG",
"negate": true,
"value": "forge:is_cold/overworld"
}
],
[
{
"type": "REGISTRY_NAME",
"negate": false,
"value": "biomesoplenty:tundra_bog"
}
],
[
{
"type": "REGISTRY_NAME",
"negate": false,
"value": "terralith:warm_river"
}
]
]
}

View file

@ -0,0 +1,67 @@
{
"biomes": [
[
{
"type": "REGISTRY_NAME",
"negate": false,
"value": "minecraft:bamboo_jungle"
}
],
[
{
"type": "REGISTRY_NAME",
"negate": false,
"value": "biomesoplenty:bamboo_grove"
}
],
[
{
"type": "REGISTRY_NAME",
"negate": false,
"value": "minecraft:cherry_grove"
}
],
[
{
"type": "REGISTRY_NAME",
"negate": false,
"value": "terralith:sakura_grove"
}
],
[
{
"type": "REGISTRY_NAME",
"negate": false,
"value": "terralith:sakura_valley"
}
],
[
{
"type": "REGISTRY_NAME",
"negate": false,
"value": "terralith:amethyst_canyon"
}
],
[
{
"type": "REGISTRY_NAME",
"negate": false,
"value": "terralith:amethyst_rainforest"
}
],
[
{
"type": "REGISTRY_NAME",
"negate": false,
"value": "terralith:skylands_spring"
}
],
[
{
"type": "REGISTRY_NAME",
"negate": false,
"value": "biomesoplenty:snowblossom_grove"
}
]
]
}

View file

@ -0,0 +1,63 @@
{
"biomes": [
[
{
"type": "BIOME_TAG",
"negate": false,
"value": "minecraft:is_overworld"
},
{
"type": "BIOME_TAG",
"negate": false,
"value": "minecraft:is_jungle"
},
{
"type": "REGISTRY_NAME",
"negate": true,
"value": "minecraft:bamboo_jungle"
}
],
[
{
"type": "REGISTRY_NAME",
"negate": false,
"value": "terralith:amethyst_canyon"
}
],
[
{
"type": "REGISTRY_NAME",
"negate": false,
"value": "terralith:amethyst_rainforest"
}
],
[
{
"type": "REGISTRY_NAME",
"negate": false,
"value": "terralith:jungle_mountains"
}
],
[
{
"type": "REGISTRY_NAME",
"negate": false,
"value": "terralith:rocky_jungle"
}
],
[
{
"type": "REGISTRY_NAME",
"negate": false,
"value": "terralith:tropical_jungle"
}
],
[
{
"type": "REGISTRY_NAME",
"negate": false,
"value": "terralith:skylands_summer"
}
]
]
}

Some files were not shown because too many files have changed in this diff Show more