9
0
mirror of https://github.com/Xiao-MoMi/craft-engine.git synced 2025-12-26 10:29:20 +00:00
Files
craft-engine/bukkit/loader/src/main/resources/config.yml
2025-05-24 04:24:54 +08:00

395 lines
14 KiB
YAML

# Do not modify this value
config-version: '${config_version}'
# Enables or disables debug mode
debug: false
# Enables or disables metrics collection via BStats
metrics: true
# Enables automatic update checks
update-checker: true
# Forces a specific locale (e.g., zh_cn)
forced-locale: ''
# Filter configuration phase player disconnection logs
filter-configuration-phase-disconnect: false
resource-pack:
# Should those images in minecraft:default font also work in minecraft:uniform
override-uniform-font: true
# Generate assets for CraftEngine fabric mod
# Note: fabric mod is used for clientside Axiom/WorldEdit mod
generate-mod-assets: false
# Resource pack protection
protection:
# Warning: Do not attempt to unzip the resource pack with crash tools enabled.
# You can enable all the methods at the same time.
crash-tools:
method-1: false
method-2: false
method-3: false # Enable this would increase the resource pack size by 0.67MB
# Obfuscate your resource pack
obfuscation:
enable: false
seed: 0 # 0 = random seed
fake-directory: false
escape-unicode: false
break-json: false
resource-location:
enable: true
random-namespace:
amount: 32 # 0 = disable
length: 9
random-path:
source: obf
depth: 16
anti-unzip: false
random-atlas:
amount: 5 # 0 = disable
use-double: true
# Sometimes, some vanilla files that have been overwritten might be mistakenly obfuscated.
# Please add the ignored textures/models/sounds here.
bypass-textures:
# - minecraft:block/farmland
- "@legacy_unicode"
- "@vanilla_font_textures"
- "@vanilla_item_textures"
- "@vanilla_block_textures"
bypass-models: []
bypass-sounds: []
bypass-equipments: []
supported-version:
min: "1.20"
max: LATEST
# Remove 1.21.5+ tinted_leaves particles
remove-tinted-leaves-particle: true
merge-external-folders:
- ModelEngine/resource pack
- BetterModel/build
merge-external-zip-files:
- CustomNameplates/resourcepack.zip
exclude-file-suffixes:
- "md"
- "psd"
- "bbmodel"
- "db"
delivery:
# Send the resource pack on joining the server
send-on-join: true
kick-if-declined: true
prompt: "<yellow>To fully experience our server, please accept our custom resource pack.</yellow>"
# If you are hosting the resource pack by yourself, replace `localhost` with your server ip otherwise it would only work on your local pc
# If using BungeeCord or Velocity, consider using a proxy-side plugin to handle resource pack delivery.
# Read this page for more host types: https://mo-mi.gitbook.io/xiaomomi-plugins/craftengine/plugin-wiki/craftengine/resource-pack/host
hosting:
- type: "self"
ip: "localhost"
port: 8163
protocol: "http"
# The optional URL must be complete and include a trailing slash / at the end.
#url: "http://localhost:8163/"
deny-non-minecraft-request: true
one-time-token: true
rate-limit:
max-requests: 10
reset-interval: 30
# Upload the resource pack automatically on generation
# When disabled, you must manually trigger uploads using the /ce upload command
auto-upload: true
# The file to upload
file-to-upload: "./generated/resource_pack.zip"
# Resend the resource pack to players upon successful upload
resend-on-upload: true
duplicated-files-handler:
- term:
type: any_of
terms:
- type: parent_path_suffix
suffix: "minecraft/items"
- type: parent_path_suffix
suffix: "minecraft/models/item"
resolution:
type: merge_json
deeply: true
- term:
type: exact
path: "pack.mcmeta"
resolution:
type: merge_pack_mcmeta
description: "<gray>CraftEngine ResourcePack</gray>"
- term:
type: exact
path: "pack.png"
resolution:
type: retain_matching
term:
type: contains
path: "resources/default/resourcepack"
- term:
type: filename
name: "sounds.json"
resolution:
type: merge_json
deeply: false
- term:
type: parent_path_suffix
suffix: "minecraft/atlases"
resolution:
type: merge_atlas
item:
# Add a <!i> tag on item name and lore
non-italic-tag: false
block:
# Enables the sound system, which prevents the client from hearing some non-custom block sounds and improves the client experience.
sound-system:
enable: true
# In Adventure Mode, players need the correct tool to break custom blocks.
# Vanilla clients DO NOT recognize custom block IDs (e.g., craftengine:note_block_0).
#
# - When ENABLED:
# - Players can break custom blocks if their tools can mine their VANILLA EQUIVALENTS.
# Example: A tool for "note_block" can break "craftengine:note_block_0".
#
# - When DISABLED:
# ⚠️ WARNING:
# - Server MUST list ACTUAL CUSTOM BLOCK IDs in item's `can_break` component.
# - Sending custom IDs (e.g., craftengine:note_block_0) to vanilla clients WILL CRASH THEM!
# ✅ Solution:
# - Use `client-bound-item-data` to safely sync custom block data to clients.
# Documentation: https://mo-mi.gitbook.io/xiaomomi-plugins/craftengine/plugin-wiki/craftengine/add-new-contents/items/item-data/client-bound-item-data
simplify-adventure-break-check: false
# Similar to the option above, but designed for block placement
simplify-adventure-place-check: false
# Whether plugin should predict the next block to break
# This can help improve mining experience to some extent at the cost of performance
predict-breaking:
enable: false
interval: 10
extended-interaction-range: 0.5
furniture:
# Automatically remove outdated furniture entities when a chunk is loaded.
handle-invalid-furniture-on-chunk-load:
# Enable/disable the cleanup system
enable: false
# Removes the specified invalid furniture
remove:
- "xxx:invalid_furniture"
# Converts the invalid furniture to a valid one
convert:
"namespace:furniture_a": "namespace:furniture_b"
# Hide technical entities used for storing furniture metadata.
# NOTE:
# - These are INVISIBLE entities used internally for tracking furniture states
# - Recommended to keep enabled for better performance
hide-base-entity: true
# Requires a restart to apply
# interaction (best performance)
# boat (better compatibility with some anti-cheat plugin)
collision-entity-type: interaction
emoji:
chat: true
book: true
anvil: true
sign: true
image:
# Block image tags using minecraft:default font in these interfaces
# Permission bypass: craftengine.filter.bypass.xxx (replace xxx with context: anvil/book/chat/etc)
illegal-characters-filter:
anvil: true
book: true
chat: true
command: true
sign: true
# Allow <image:...> and <shift:...> tags in third-party plugins via packet manipulation
# ⚠️ Disable unused handlers to reduce async thread workload
intercept-packets:
system-chat: true
tab-list: true # Tab list header and footer
player-info: true # User list in tab
set-score: true
actionbar: true
title: true
bossbar: true
container: true # GUI
team: true # Team prefix, suffix and display name
scoreboard: true
entity-name: false
armor-stand: true # Legacy Holograms
text-display: true # Modern Holograms
# Defines Unicode characters used for <shift:xxx> positioning
# - Must match the font defined in resource packs
# - Do NOT modify unless you understand text rendering mechanics
offset-characters:
font: minecraft:offset_chars
-1: '\uf800'
-2: '\uf801'
-3: '\uf802'
-4: '\uf803'
-5: '\uf804'
-6: '\uf805'
-7: '\uf806'
-8: '\uf807'
-9: '\uf808'
-10: '\uf809'
-11: '\uf80a'
-12: '\uf80b'
-13: '\uf80c'
-14: '\uf80d'
-15: '\uf80e'
-16: '\uf80f'
-24: '\uf810'
-32: '\uf811'
-48: '\uf812'
-64: '\uf813'
-128: '\uf814'
-256: '\uf815'
1: '\uf830'
2: '\uf831'
3: '\uf832'
4: '\uf833'
5: '\uf834'
6: '\uf835'
7: '\uf836'
8: '\uf837'
9: '\uf838'
10: '\uf839'
11: '\uf83a'
12: '\uf83b'
13: '\uf83c'
14: '\uf83d'
15: '\uf83e'
16: '\uf83f'
24: '\uf840'
32: '\uf841'
48: '\uf842'
64: '\uf843'
128: '\uf844'
256: '\uf845'
recipe:
# Master switch for custom recipes
# NOTE: When enabled, plugin recipes will OVERRIDE vanilla recipes
enable: true
# Manage Minecraft's default recipe behavior
disable-vanilla-recipes:
# ⚠️ WARNING: When true, DISABLES ALL VANILLA RECIPES
# - Conflicts with 'list' option (list will be ignored)
all: false
# Selective recipe disabling (safer alternative to 'all: true')
# Example: ["minecraft:wooden_sword", "minecraft:stone_hoe"]
list: []
gui:
browser:
sounds:
change-page: "minecraft:ui.loom.take_result"
return-page: "minecraft:ui.button.click"
pick-item: "minecraft:entity.item.pickup"
click-button: "minecraft:ui.hud.bubble_pop"
main:
title: "<white><shift:-11><image:internal:item_browser>"
page-navigation:
next:
available: "internal:next_page_0"
not-available: "internal:next_page_1"
previous:
available: "internal:previous_page_0"
not-available: "internal:previous_page_1"
category:
title: "<white><shift:-11><image:internal:category>"
page-navigation:
next:
available: "internal:next_page_0"
not-available: "internal:next_page_1"
previous:
available: "internal:previous_page_0"
not-available: "internal:previous_page_1"
return: "internal:return"
exit: "internal:exit"
recipe:
get-item-icon: internal:get_item
cooking-information-icon: internal:cooking_info
page-navigation:
next:
available: "internal:next_recipe_0"
not-available: "internal:next_recipe_1"
previous:
available: "internal:previous_recipe_0"
not-available: "internal:previous_recipe_1"
return: "internal:return"
exit: "internal:exit"
none:
title: "<white><shift:-11><image:internal:no_recipe>"
blasting:
title: "<white><shift:-11><image:internal:cooking_recipe><shift:-136><image:internal:blasting>"
smelting:
title: "<white><shift:-11><image:internal:cooking_recipe><shift:-136><image:internal:smelting>"
smoking:
title: "<white><shift:-11><image:internal:cooking_recipe><shift:-136><image:internal:smoking>"
campfire-cooking:
title: "<white><shift:-11><image:internal:cooking_recipe><shift:-136><image:internal:campfire>"
crafting:
title: "<white><shift:-11><image:internal:crafting_recipe>"
stonecutting:
title: "<white><shift:-11><image:internal:stonecutting_recipe>"
smithing-transform:
title: "<white><shift:-11><image:internal:smithing_transform_recipe>"
performance:
# Maximum chain update depth when fixing client visuals
max-block-chain-update-limit: 64
# Prevent lag or oversized packet when processing emoji-heavy content
max-emojis-per-parse: 16
light-system:
# Required for custom light-emitting blocks
enable: true
# Turning this option on will reduce lighting system issues to some extent, but will increase server bandwidth consumption.
force-update-light: false
chunk-system:
# With cache system, those frequently load/unload chunks would consume fewer resources on serialization
# Enabling this option will increase memory consumption to a certain extent
cache-system: true
# 1 = NONE | Compression Speed | Decompress Speed | Compression Ratio | Memory Usage |
# 2 = DEFLATE | Medium-Slow Medium Moderate Low |
# 3 = GZIP | Medium-Slow Medium Moderate Low |
# 4 = LZ4 | Blazing-Fast Blazing-Fast Low Low |
# 5 = ZSTD | Medium-Fast Fast High Medium |
compression-method: 4
# Settings for injection
injection:
# Requires a restart to apply
# SECTION: Inject the LevelChunkSection (Faster & Experimental) since 0.0.53
# PALETTE: Inject the PalettedContainer
target: PALETTE
# Enables faster injection method
# Note: May not work with certain server forks that alter chunk class structure (In most cases it won't conflict)
use-fast-method: false
# Auto-convert custom blocks -> vanilla blocks when unloading chunks
#
# - When ENABLED (true):
# - Prevents custom blocks becoming AIR if plugin is uninstalled
# - Ensures world portability for vanilla environments
#
# - When DISABLED (false):
# ⚠️ IRREVERSIBLE DATA LOSS WARNING:
# - Custom blocks permanently turn to AIR without plugin
# - Recommended for temporary/test worlds only
restore-vanilla-blocks-on-chunk-unload: true
# Convert vanilla blocks -> custom blocks when loading chunks
#
# - Performance Mode (false):
# ⚠️ REQUIRED CONDITIONS:
# 1. Must disable restore-vanilla-blocks-on-chunk-unload
# 2. Accept risk of custom block data loss on plugin removal
#
# - Compatibility Mode (true):
# - Full state recovery with minor performance cost
restore-custom-blocks-on-chunk-load: true
# When you edit a map locally using CraftEngine fabric mod, the custom block data is not immediately synchronized with the
# server's CraftEngine internal data. Enabling this option will synchronize the data when the chunk is loaded.
# (This option only slightly impacts performance, which has been fully optimized, so you don't need to worry too much.)
sync-custom-blocks-on-chunk-load: false