add config files

This commit is contained in:
Satria 2026-06-21 13:22:51 +07:00
commit 2c3eeb7fc1
26 changed files with 2284 additions and 1 deletions

View file

@ -0,0 +1,190 @@
# ## ##
# ## EasyAuth ##
# ## Extended Configuration ##
# ## ##
# Allow chat messages to be sent by players who are not logged in.
allow-chat=false
#
# Allow players to use all commands while not logged in.
allow-commands=false
#
# List of allowed commands for players who are not logged in.
allowed-commands=[]
#
# Allow players to move while not logged in.
allow-movement=false
#
# Allow players to interact with blocks while not logged in.
allow-block-interaction=false
#
# Allow "right-clicking" on an entity (e.g. clicking on villagers) by players who are not logged in.
allow-entity-interaction=false
#
# Allow players to punch blocks while not logged in.
allow-block-breaking=false
#
# Allow players to attack entities while not logged in.
allow-entity-attacking=false
#
# Allow players to drop items while not logged in.
allow-item-dropping=false
#
# Allow players to move items in their inventory while not logged in.
allow-item-moving=false
#
# Allow players to use items while not logged in.
allow-item-using=false
#
# Allow custom payload and custom click action packets to be processed by non-op players (op level 0 or 1) while not logged in.
allow-custom-packets-for-non-op=false
#
# Allow custom payload and custom click action packets to be processed by all players while not logged in.
# Note: this setting overrides allowCustomPacketsForNonOp.
allow-custom-packets=false
#
# List of allowed custom packet identifiers for players who are not logged in.
# Works similarly to allowedCommands by checking packet identifier prefix.
# For custom payload packets, use channel identifiers (e.g. voicechat:request_secret).
# With debug logging enabled, you can see declined custom packets in the console with their identifiers.
allowed-custom-packets=[]
#
# Allow all packets to be processed while not logged in.
# Note: this setting overrides allowCustomPackets.
allow-all-packets=false
#
# Hide player's inventory from them while not logged in.
hide-inventory=true
#
# If player should be invulnerable before authentication.
player-invulnerable=true
#
# If player should be ignored by mobs before authentication.
player-ignored=true
#
# Cancellation of packets with player's movement and teleportation back leads to an increase number of these packets.
# That setting limits players teleportation.
# This setting is per-player so maximum rate would be (1000/teleportation-timeout-ms) per seconds for each unauthorised player.
# Value 0 would effectively disable this setting so players will be teleported after each packet.
teleportation-timeout-ms=20
#
# List of aliases for commands.
aliases {
#
# `/l` for `/login`
login=true
#
# `/reg` for `/register`
register=true
}
#
# Try to rescue player if they are stuck inside a portal on logging in.
# For more information, see https://github.com/NikitaCartes/EasyAuth/wiki/Portal-Rescue
try-portal-rescue=true
#
# Minimum length of a password.
min-password-length=4
#
# Maximum length of a password.
# -1 for no limit.
max-password-length=-1
#
# Regex for validation of player names.
# For more information, see https://github.com/NikitaCartes/EasyAuth/wiki/Username-Restriction
username-regexp="^[a-zA-Z0-9_]{3,16}$"
#
# Allow floodgate players to bypass regex check.
floodgate-bypass-regex=true
#
# Prevents player being kicked because another player with the same name has joined the server.
prevent-another-location-kick=true
#
# Whether to modify player uuids to offline style.
# Note: this should be used only if you had your server
# running in offline mode, and you made the switch to use
# AuthConfig#premiumAutoLogin AND your players already
# have e.g. villager discounts, which are based on uuid.
# Other things (advancements, playerdata) are migrated
# automatically, so think before enabling this. In case
# an online-mode player changes username, they'll lose all
# their stuff, unless you migrate it manually.
forced-offline-uuid=false
#
# Skip all authentication checks for all players.
# Intended for use with proxies that handle authentication
skip-all-auth-checks=false
#
# If true, 'skipAllAuthChecks' does not apply to registered players.
skip-all-auth-checks-not-for-registered-players=true
#
# If true, 'skipAllAuthChecks' does not apply to operator (op level >=2) players.
skip-all-auth-checks-not-for-operators=true
#
# Allow players to join the server with same username as previously registered player, but in different case.
allow-case-insensitive-username=false
#
# Time in seconds before a player is prompted to authenticate again.
authentication-prompt-interval=10
#
# Connection settings for the Mojang API.
mojang-api-settings {
#
# URL of the Mojang API.
url="https://api.minecraftservices.com/minecraft/profile/lookup/name/"
#
# Connection timeout in milliseconds.
connection-timeout=5000
#
# Read timeout in milliseconds.
read-timeout=5000
}
#
# Log player registration as info level log.
log-player-registration=false
#
# Log player login as info level log.
log-player-login=false
#
# Prevent offline players from joining the server using online usernames.
prevent-offline-players-with-online-usernames=false
#
# Check offline players with online usernames every time they join the server for online account.
check-offline-players-with-online-usernames=false
#
# IP Limit Settings - Restrict the number of accounts that can be registered/logged in from the same IP address.
ip-limit {
#
# Enable IP-based account limit.
# When enabled, limits the number of accounts that can be registered/logged in from the same IP address.
enabled=false
#
# Maximum number of accounts allowed per IP address.
# Set to -1 to disable the limit.
max-accounts-per-ip=2
#
# Block registration attempts when the IP limit is exceeded.
# If false, players can still register but admins will be notified.
block-excess-registration=true
#
# Notify admins (players with op level >=3) when a new IP address attempts to exceed the account limit.
notify-admins=true
#
# List of IP addresses that are exempt from the limit (e.g., localhost, trusted IPs).
exempt-ips=[
"127.0.0.1",
localhost
]
#
# Cache expiry time in seconds for IP account count cache.
# Lower values mean more frequent database queries but more accurate counts.
cache-expiry-seconds=300
#
# Maximum number of concurrent online sessions allowed from the same IP address.
# Set to -1 to disable the limit.
# This check is performed at player join time.
max-concurrent-sessions-per-ip=-1
#
# Whether online (premium) players are exempt from the concurrent session limit.
# If true, premium players that auto-login will not be blocked by the session limit.
exempt-online-players=false
}

72
config/EasyAuth/main.conf Normal file
View file

@ -0,0 +1,72 @@
# ## ##
# ## EasyAuth ##
# ## Main Configuration ##
# ## ##
# Whether online players should skip the authentication process.
# You have to set online-mode to true in server.properties!
# (cracked players will still be able to enter, but they'll need to log in)
premium-auto-login=true
#
# Consider all players as offline players until they set online status by themselves with /account online command.
# Also this status can be set with /auth markAsOnline/markAsOffline <player> command by admin.
# Enabling this option will prevent "invalid session" errors
# For more information, see https://github.com/NikitaCartes/EasyAuth/wiki/AutoLogin-Mojang-accounts
offline-by-default=false
#
# Whether bedrock players should skip the authentication process.
# You have to set online-mode to true in server.properties!
floodgate-auto-login=true
#
# How long to keep session (auto-logging in the player), in seconds.
# Set to -1 to disable.
# For more information, see https://github.com/NikitaCartes/EasyAuth/wiki/Sessions
session-timeout=86400
#
# Maximum login tries before kicking the player from server.
# Set to -1 to allow unlimited, not recommended, however.
max-login-tries=3
#
# Time in seconds before a player is kicked for not logging in.
kick-timeout=60
#
# Time in seconds player to be allowed back in after kicked for too many login attempts.
reset-login-attempts-timeout=120
#
# To login or register, player must use global password or password set by admin.
# Global password should be set with next command: /auth setGlobalPassword <password>
# For more information, see https://github.com/NikitaCartes/EasyAuth/wiki/Global-password
enable-global-password=false
#
# Global password can be used only for registration, after that, the player should log in with their own password.
# You need to restart the server to apply changes.
# | enable-global-password | single-use-global-password | Description |
# | true | true | Global password can be used only for registration, after that, the player should log in with their own password. |
# | true | false | Registration is disabled, players should log in with global password (or password set by admin). |
# | false | true / false | Normal registration/login process, global password is not used. |
single-use-global-password=false
#
# Whether to teleport player to chosen location when joining (to hide original player coordinates).
hide-player-coords=false
#
# Whether to hide player from other players until they are authenticated
# This option requires the Vanish mod to be installed: https://github.com/DrexHD/Vanish
vanish-until-auth=true
#
# Location where player will be teleported when joining.
# For more information, see https://github.com/NikitaCartes/EasyAuth/wiki/Coordinate-Hiding
world-spawn {
dimension="minecraft:overworld"
x=0.0
y=64.0
z=0.0
yaw=0
pitch=0
}
#
# Debug mode. Prints more information to debug.log.
debug=false
#
# Config Version. Used for automatic migration of config files.
# Do not change this value manually.
config-version=8

View file

@ -0,0 +1,67 @@
# ## ##
# ## EasyAuth ##
# ## Storage Configuration ##
# ## ##
#
# Note: If your string contains special characters, you should enclose it in double quotes.
# Database type. Can be sqlite, mysql, mongodb or postgresql. SQLite is set by default.
database-type=sqlite
#
# SQLite configuration.
sqlite {
#
# SQLite database path.
sqlite-path="EasyAuth/easyauth.db"
#
# SQLite table name.
sqlite-table=easyauth
}
#
# MySQL configuration.
mysql {
#
# MySQL host.
mysql-host=localhost
#
# MySQL user.
mysql-user=root
#
# MySQL password.
mysql-password=password
#
# MySQL database.
mysql-database=easyauth
#
# MySQL table name.
mysql-table=easyauth
}
#
# MongoDB configuration.
mongodb {
#
# MongoDB connection string.
mongodb-connection-string="mongodb://username:password@host:port/?options"
#
# MongoDB database name.
mongodb-database=easyauth
}
#
# PostgreSQL configuration.
postgresql {
#
# PostgreSQL host and port (e.g. localhost:5432).
pg-host="localhost:5432"
#
# PostgreSQL user.
pg-user=postgres
#
# PostgreSQL password.
pg-password=password
#
# PostgreSQL database name.
pg-database=easyauth
#
# PostgreSQL table name.
pg-table=easyauth
}

View file

@ -0,0 +1,6 @@
# ## ##
# ## EasyAuth ##
# ## Technical Config ##
# ## ##

View file

@ -0,0 +1,281 @@
# ## ##
# ## EasyAuth ##
# ## Translation Configuration ##
# ## ##
# Enable server-side translation.
# While enabled EasyAuth sends messages, translated to player's client language.
# List of available languages: https://github.com/NikitaCartes/EasyAuth/tree/HEAD/src/main/resources/data/easyauth/lang
# Disabling this option will force EasyAuth to send all messaged from that file.
enable-server-side-translation=true
#
# Default language for EasyAuth.
#
# Note: with server-side translation enabled, this language will be used for non-translatable messages
# Note: with disable server-side translation, message from "text" field have higher priority than defaultLanguage.
default-language="en_us"
enter-password {
text=""
enabled=true
serverSide=true
}
enter-new-password {
text=""
enabled=true
serverSide=true
}
wrong-password {
text=""
enabled=true
serverSide=true
}
match-password {
text=""
enabled=true
serverSide=true
}
password-updated {
text=""
enabled=true
serverSide=true
}
login-required {
text=""
enabled=true
serverSide=true
}
login-tries-exceeded {
text=""
enabled=true
serverSide=true
}
global-password-set {
text=""
enabled=true
serverSide=true
}
cannot-change-password {
text=""
enabled=true
serverSide=true
}
cannot-unregister {
text=""
enabled=true
serverSide=true
}
not-authenticated {
text=""
enabled=true
serverSide=true
}
already-authenticated {
text=""
enabled=true
serverSide=true
}
successfully-authenticated {
text=""
enabled=true
serverSide=true
}
successful-logout {
text=""
enabled=true
serverSide=true
}
time-expired {
text=""
enabled=true
serverSide=true
}
register-required {
text=""
enabled=true
serverSide=true
}
already-registered {
text=""
enabled=true
serverSide=true
}
register-success {
text=""
enabled=true
serverSide=true
}
userdata-deleted {
text=""
enabled=true
serverSide=true
}
userdata-updated {
text=""
enabled=true
serverSide=true
}
account-deleted {
text=""
enabled=true
serverSide=true
}
configuration-reloaded {
text=""
enabled=true
serverSide=true
}
max-password-chars {
text=""
enabled=true
serverSide=true
}
min-password-chars {
text=""
enabled=true
serverSide=true
}
disallowed-username {
text=""
enabled=true
serverSide=true
}
player-already-online {
text=""
enabled=true
serverSide=true
}
world-spawn-set {
text=""
enabled=true
serverSide=true
}
corrupted-player-data {
text=""
enabled=true
serverSide=true
}
user-not-registered {
text=""
enabled=true
serverSide=true
}
cannot-logout {
text=""
enabled=true
serverSide=true
}
offline-uuid {
text=""
enabled=true
serverSide=true
}
registered-players {
text=""
enabled=true
serverSide=true
}
valid-session {
text=""
enabled=true
serverSide=true
}
online-player-login {
text=""
enabled=true
serverSide=true
}
different-username-case {
text=""
enabled=true
serverSide=true
}
wrong-global-password {
text=""
enabled=true
serverSide=true
}
register-required-with-global-password {
text=""
enabled=true
serverSide=true
}
mark-as-offline {
text=""
enabled=true
serverSide=true
}
mark-as-online {
text=""
enabled=true
serverSide=true
}
self-mark-as-online {
text=""
enabled=true
serverSide=true
}
self-mark-as-online-warning {
text=""
enabled=true
serverSide=true
}
account-not-found {
text=""
enabled=true
serverSide=true
}
account-check-failed {
text=""
enabled=true
serverSide=true
}
database-error {
text=""
enabled=true
serverSide=true
}
unknown-error {
text=""
enabled=true
serverSide=true
}
ip-limit-exceeded {
text=""
enabled=true
serverSide=true
}
ip-limit-admin-notify {
text=""
enabled=true
serverSide=true
}
session-limit-exceeded {
text=""
enabled=true
serverSide=true
}
uuid-set {
text=""
enabled=true
serverSide=true
}
uuid-cleared {
text=""
enabled=true
serverSide=true
}
uuid-changed {
text=""
enabled=true
serverSide=true
}
invalid-uuid {
text=""
enabled=true
serverSide=true
}
no-forced-uuid {
text=""
enabled=true
serverSide=true
}

View file

@ -0,0 +1,40 @@
[
{
"name": "Ores",
"blocks": [
"#c:ores"
],
"tools": [
"#minecraft:pickaxes"
],
"override": {
"cooldown": null,
"mustSneak": null,
"delay": null,
"maxChain": null,
"needCorrectTool": null,
"searchRadius": null,
"permissionRestricted": null,
"decreaseDurability": null
}
},
{
"name": "Logs",
"blocks": [
"#c:natural_logs"
],
"tools": [
"#minecraft:axes"
],
"override": {
"cooldown": null,
"mustSneak": null,
"delay": null,
"maxChain": null,
"needCorrectTool": null,
"searchRadius": null,
"permissionRestricted": null,
"decreaseDurability": null
}
}
]

View file

@ -0,0 +1,28 @@
{
"cooldown": 20,
"mustSneak": true,
"delay": 0,
"maxChain": 100,
"needCorrectTool": true,
"searchRadius": 1,
"permissionRestricted": false,
"mergeItemDrops": false,
"autoUpdate": false,
"decreaseDurability": true,
"client": {
"allow": true,
"require": false,
"translucentBlockHighlight": true,
"allBlocks": false,
"overrides": {
"cooldown": null,
"mustSneak": null,
"delay": null,
"maxChain": null,
"needCorrectTool": null,
"searchRadius": null,
"permissionRestricted": null,
"decreaseDurability": null
}
}
}

23
config/antixray.toml Normal file
View file

@ -0,0 +1,23 @@
# Default configuration file for Fabric AntiXray mod by DrexHD
# Default values
enabled = false
usePermission = false
# World specific values
[overworld]
enabled = true
engineMode = 1
maxBlockHeight = 256
updateRadius = 2
lavaObscures = false
hiddenBlocks = ["#c:ores", "raw_copper_block", "raw_iron_block", "raw_gold_block", "!#antixray:hidden_only_ores"]
replacementBlocks = ["#antixray:hidden_only_ores", "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"]

View file

@ -0,0 +1,8 @@
{
"version": 2,
"language": "en",
"continueOnRestart": false,
"forceLoadExistingChunks": false,
"silent": false,
"updateInterval": 1
}

View file

@ -0,0 +1,9 @@
world=minecraft:overworld
cancelled=true
center-x=0.0
center-z=0.0
radius=1000.0
shape=square
pattern=region
chunks=16078
time=234630

View file

@ -0,0 +1,37 @@
# The default range for the /instantgroup command if no range was provided
default_instant_group_range=128.0
# The name of the instant group
instant_group_name=Instant Group
# The default permission level of the /instantgroup command
# EVERYONE - Every player can use this command
# OPS - Operators can use this command
# NOONE - The command can't be used by anyone
instant_group_command_permission_level=EVERYONE
# The default permission level of the /persistentgroup command
# EVERYONE - Every player can use this command
# OPS - Operators can use this command
# NOONE - The command can't be used by anyone
persistent_group_command_permission_level=OPS
# The default permission level of the /autojoingroup command
# EVERYONE - Every player can use this command
# OPS - Operators can use this command
# NOONE - The command can't be used by anyone
auto_join_group_command_permission_type=EVERYONE
# The default permission level of the /autojoingroup global command
# EVERYONE - Every player can use this command
# OPS - Operators can use this command
# NOONE - The command can't be used by anyone
auto_join_group_global_command_permission_type=OPS
# The default permission level of the /forcejoingroup command
# EVERYONE - Every player can use this command
# OPS - Operators can use this command
# NOONE - The command can't be used by anyone
force_join_group_command_permission_type=OPS
# Determines if a summary of all groups should be shown when a player joins the server
group_summary=true
# Forces all groups to be of the given type
# OFF - No group type is forced
# NORMAL - All groups are forced to be normal groups
# OPEN - All groups are forced to be open groups
# ISOLATED - All groups are forced to be isolated groups
force_group_type=OFF

View file

@ -0,0 +1,71 @@
{
"disenchant_to_book": {
"enabled": true,
"consume_enchanted_item": false,
"only_take_first": false,
"cost_function": {
"function": {
"function": {
"type": "grindenchantments:count_min_power"
},
"factor": 0.3,
"offset": 8.0,
"type": "grindenchantments:transform"
},
"type": "grindenchantments:filter"
}
},
"move_enchantments": {
"enabled": true,
"cost_function": {
"function": {
"function": {
"function": {
"normal_factor": 3.0,
"treasure_factor": 8.0,
"type": "grindenchantments:count_levels"
},
"factor": 0.5,
"offset": 0.5,
"type": "grindenchantments:transform"
},
"type": "grindenchantments:first_enchantment"
},
"type": "grindenchantments:filter"
}
},
"reset_repair_cost": {
"enabled": true,
"catalyst_items": "minecraft:diamond",
"requires_enchantment": true,
"cost_function": {
"function": {
"function": {
"normal_factor": 1.0,
"treasure_factor": 4.0,
"type": "grindenchantments:count_levels"
},
"type": "grindenchantments:average_count"
},
"factor": 1.5,
"offset": 4.0,
"type": "grindenchantments:transform"
}
},
"filter": {
"enabled": true,
"item": {
"enchantments": [],
"action": "deny"
},
"enchantment": {
"enchantments": [],
"action": "ignore"
},
"cursed_enchantments": "ignore"
},
"dedicated_server_options": {
"alternative_cost_display_enabled": false
},
"version": 4
}

View file

@ -0,0 +1,73 @@
# This is the configuration file for ModernFix.
# In general, prefer using the config screen to editing this file. It can be accessed
# via the standard mod menu on your respective mod loader. Changes will, however,
# require restarting the game to take effect.
#
# The following options can be enabled or disabled if there is a compatibility issue.
# Add a line with your option name and =true or =false at the bottom of the file to enable
# or disable a rule. For example:
# mixin.perf.dynamic_resources=true
# Do not include the #. You may reset to defaults by deleting this file.
#
# Available options:
# mixin.bugfix.chunk_deadlock=false # (overridden for mod compat)
# mixin.bugfix.concurrency=true # (default)
# mixin.bugfix.missing_block_entities=false # (default)
# mixin.bugfix.packet_leak=false # (default)
# mixin.bugfix.paper_chunk_patches=false # (overridden for mod compat)
# mixin.bugfix.restore_old_dragon_movement=false # (default)
# mixin.bugfix.world_leaks=true # (default)
# mixin.bugfix.world_screen_skipped=true # (default)
# mixin.devenv=false # (default)
# mixin.feature.blockentity_incorrect_thread=false # (default)
# mixin.feature.branding=true # (default)
# mixin.feature.cause_lag_by_disabling_threads=false # (default)
# mixin.feature.direct_stack_trace=false # (default)
# mixin.feature.disable_unihex_font=false # (default)
# mixin.feature.integrated_server_watchdog=true # (default)
# mixin.feature.log_stdout_in_log_files=true # (default)
# mixin.feature.mcfunction_profiling=true # (default)
# mixin.feature.measure_time=true # (default)
# mixin.feature.remove_chat_signing=false # (default)
# mixin.feature.remove_telemetry=true # (default)
# mixin.feature.snapshot_easter_egg=true # (default)
# mixin.feature.spam_thread_dump=false # (default)
# mixin.feature.spark_profile_launch=false # (default)
# mixin.feature.spark_profile_world_join=false # (default)
# mixin.feature.stalled_chunk_load_detection=false # (default)
# mixin.feature.warn_missing_perf_mods=true # (default)
# mixin.launch.class_search_cache=true # (default)
# mixin.perf.cache_blockstate_cache_arrays=true # (default)
# mixin.perf.cache_profile_texture_url=true # (default)
# mixin.perf.cache_strongholds=false # (overridden for mod compat)
# mixin.perf.chunk_meshing=true # (default)
# mixin.perf.clear_fabric_mapping_tables=false # (default)
# mixin.perf.clear_mixin_classinfo=false # (default)
# mixin.perf.compact_bit_storage=true # (default)
# mixin.perf.compact_mojang_registries=true # (default)
# mixin.perf.compress_unihex_font=true # (default)
# mixin.perf.dedicated_reload_executor=true # (default)
# mixin.perf.deduplicate_climate_parameters=false # (default)
# mixin.perf.deduplicate_location=false # (default)
# mixin.perf.deduplicate_wall_shapes=true # (default)
# mixin.perf.dynamic_dfu=true # (default)
# mixin.perf.dynamic_entity_renderers=false # (default)
# mixin.perf.dynamic_resources=false # (default)
# mixin.perf.dynamic_sounds=true # (default)
# mixin.perf.dynamic_structure_manager=true # (default)
# mixin.perf.faster_command_suggestions=true # (default)
# mixin.perf.faster_item_rendering=false # (default)
# mixin.perf.faster_texture_stitching=true # (default)
# mixin.perf.ingredient_item_deduplication=false # (default)
# mixin.perf.lazy_search_tree_registry=true # (default)
# mixin.perf.memoize_creative_tab_build=true # (default)
# mixin.perf.model_optimizations=true # (default)
# mixin.perf.mojang_registry_size=true # (default)
# mixin.perf.remove_biome_temperature_cache=true # (default)
# mixin.perf.state_definition_construct=true # (default)
# mixin.perf.thread_priorities=true # (default)
# mixin.perf.ticking_chunk_alloc=true # (default)
# mixin.perf.worldgen_allocation=false # (default)
# mixin.safety=true # (default)
#
# User overrides go here.

View file

@ -0,0 +1,15 @@
{
"enabled": true,
"log-packsquash": true,
"log-hash-mismatch": false,
"force-size-based-hash": false,
"cleanup": false,
"ignore-hash-paths": [
"polymer-credits.txt"
],
"packsquash-path": "polymer/packsquash",
"packsquash-toml-path": "polymer/packsquash.toml",
"hash-file-path": "polymer/hashes.json",
"resource-pack-directory": "polymer/pack",
"minified-zip-path": "polymer/resource_pack.min.zip"
}

View file

@ -0,0 +1,46 @@
{
"_c1": "Enables Polymer's ResourcePack Auto Hosting",
"enabled": true,
"_c2": "Marks resource pack as required",
"required": false,
"_c7": "Mods may override the above setting and make the resource pack required, set this to false to disable that.",
"mod_override": false,
"_c3": "Type of resource pack provider. Default: 'polymer:automatic'",
"type": "polymer:automatic",
"_c4": "Configuration of type, see provider's source for more details",
"settings": {
"forced_address": ""
},
"_c5": "Message sent to clients before pack is loaded",
"message": "This server uses resource pack to enhance gameplay with custom textures and models. It might be unplayable without them.",
"_c6": "Disconnect message in case of failure",
"disconnect_message": {
"translate": "multiplayer.texturePrompt.failure.line1"
},
"_c20": "Show more information when disconnecting the player",
"informative_disconnect": true,
"_c8": "Allows to define more external resource packs. It's an object with 'id' for uuid, 'url' for the pack url and 'hash' for the SHA1 hash.",
"external_resource_packs": [],
"_c9": "Moves resource pack generation earlier when running on server. Might break some mods.",
"setup_early": false,
"_c10": "Enables dialog infobox when resource pack isn't ready.",
"resource_pack_status_dialog": true,
"_c11": "Enables dialog infobox when resource pack isn't ready.",
"dialog_title": "The server's resource pack is still generating!",
"_c12": "Default body text before status is ready (or when it's disabled).",
"dialog_default_body": "Waiting...",
"_c17": "Text below name with some extra information about resource pack generation",
"dialog_body_header": "This server requires a resource pack, which hasn't finished generating yet...\nIt might take a while for it to finish!",
"_c13": "Enables displaying internal resource pack generation status.",
"dialog_show_status": true,
"_c18": "Enables displaying 'dots' indicating that work is being done!",
"dialog_show_dots": true,
"_c14": "Clears all client-side resourcepacks before sending Autohost handled ones.",
"clear_all_client_resource_packs": false,
"_c15": "Adds hash to name of resource pack file served with web server",
"include_hash_in_name": true,
"_c16": "Value of Cache-Control max age header",
"cache_control_max_age": 31536000,
"_c19": "Delays server from showing as online on player list until resource pack is generated.",
"delay_player_list_motd_until_generated": false
}

View file

@ -0,0 +1,328 @@
# The main configuration file for ServerCore.
# Most of these settings can be reloaded without restarting using /servercore reload.
# Most miscellaneous feature toggles.
features:
# Reverts enderpearl behavior to pre-1.21.2. The following will change when this setting is enabled:
# ► Enderpearls will no longer load chunks around them.
# ► Enderpearls will load / unload with chunks again instead of with their owner joining / leaving the game.
# Note: Toggling this setting may cause some old enderpearls from before the toggle to be lost.
prevent-enderpearl-chunkloading: false
# Whether the chunk-tick-distance dynamic setting should affect random ticks.
# Enabling this will stop chunks from performing random ticks when they are outside of this distance from any player.
# That includes chunks loaded by enderpearls or portals, breaking vanilla behavior.
chunk-tick-distance-affects-random-ticks: false
# Prevents lagspikes caused by players moving into unloaded chunks.
prevent-moving-into-unloaded-chunks: false
# The amount of seconds between auto-saves when /save-on is active.
autosave-interval-seconds: 300
# The fraction that decides the chance of experience orbs being able to merge with each other. (1 = 100%, 40 = 2.5%)
# Note that just like in vanilla, experience orbs will still need to be of the same size to actually merge.
xp-merge-fraction: 40
# The radius in blocks that experience orbs will merge at.
xp-merge-radius: 0.5
# The radius in blocks that items will merge at.
item-merge-radius: 0.5
lobotomize-villagers:
# Makes villagers tick less often if they are stuck in a 1x1 space.
enabled: false
# Decides the interval in between villager ticks when lobotomized.
tick-interval: 20
# Automatically modifies dynamic settings based on the server performance.
dynamic:
# Enables dynamic performance checks.
enabled: true
# The average MSPT to target.
target-mspt: 35
# The default values for dynamic settings.
# If left unspecified, the maximum value will be used.
# Note: adding view / simulation distance here will override their value in server.properties.
default-values:
CHUNK_TICK_DISTANCE: 10
MOBCAP_PERCENTAGE: 100
# The settings that will be decreased when the server is overloaded, in the specified order.
# You can remove settings from the list that you don't want to be dynamically adjusted.
# ► max = The maximum value the server will increase the setting to.
# ► min = The minimum value the server will decrease the setting to.
# ► increment = The amount the setting will be increased or decreased by.
# ► interval = The amount of seconds between each check to increase or decrease.
dynamic-settings:
- setting: 'CHUNK_TICK_DISTANCE'
max: 10
min: 6
increment: 1
interval: 15
- setting: 'MOBCAP_PERCENTAGE'
max: 100
min: 50
increment: 10
interval: 15
- setting: 'SIMULATION_DISTANCE'
max: 10
min: 6
increment: 1
interval: 15
- setting: 'CHUNK_TICK_DISTANCE'
max: 6
min: 2
increment: 1
interval: 15
- setting: 'MOBCAP_PERCENTAGE'
max: 50
min: 30
increment: 10
interval: 15
- setting: 'SIMULATION_DISTANCE'
max: 6
min: 2
increment: 1
interval: 15
- setting: 'VIEW_DISTANCE'
max: 12
min: 6
increment: 1
interval: 150
# A special mobcap that only affects the breeding of animals and villagers.
breeding-cap:
# Enables breeding caps.
enabled: false
# The breeding cap for villagers.
# ► limit = The limit of mobs of the same type within range. Setting this to negative will disable the breeding cap.
# ► range = The range it will check for entities of the same type.
# ► unlimited-height = Whether to ignore the vertical distance when checking for entities of the same type.
villagers:
limit: 32
range: 64
unlimited-height: false
# The breeding cap for animals.
# Note that this cap only checks for animals of the same type.
# If the limit is 32 you can still breed 32 cows and 32 pigs next to each other.
animals:
limit: 32
range: 64
unlimited-height: false
# Gives more control over mob spawning.
mob-spawning:
# Mobcap settings for zombie reinforcements.
# ► enforce-mobcap = Whether to enforce mobcaps for this type of mobspawning.
# ► additional-capacity = Additional capacity for this specific mobcap. Decides how much it can spawn over the regular mobcap.
# It is recommended to allow them to spawn a bit over the regular mobcap as they would otherwise never get a chance to spawn.
zombie-reinforcements:
enforce-mobcap: false
additional-capacity: 32
# Mobcap settings for zombified piglin spawning from nether portal random ticks.
nether-portal-randomticks:
enforce-mobcap: false
additional-capacity: 32
# Mobcap settings for mobs spawned from monster spawners.
monster-spawners:
enforce-mobcap: false
additional-capacity: 32
# Mobcap settings for silverfish spawned from the infested potion effect.
infested:
enforce-mobcap: false
additional-capacity: 32
# A list of mob categories with their respective mobcap and spawn interval.
# ► category = The vanilla spawn category.
# ► mobcap = The maximum amount of entities in the same category that can spawn near a player.
# ► spawn-interval = The interval between spawn attempts in ticks. Higher values mean less frequent spawn attempts.
categories:
- category: 'MONSTER'
mobcap: 70
spawn-interval: 1
- category: 'CREATURE'
mobcap: 10
spawn-interval: 400
- category: 'AMBIENT'
mobcap: 15
spawn-interval: 1
- category: 'AXOLOTLS'
mobcap: 5
spawn-interval: 1
- category: 'UNDERGROUND_WATER_CREATURE'
mobcap: 5
spawn-interval: 1
- category: 'WATER_CREATURE'
mobcap: 5
spawn-interval: 1
- category: 'WATER_AMBIENT'
mobcap: 20
spawn-interval: 1
# Settings for commands and their formatting.
commands:
# Enables the /servercore status command.
status-enabled: true
# Enables the /mobcaps command.
mobcaps-enabled: true
colors:
# The colors used in command feedback. You can use hex codes or minecraft legacy color names.
# The primary color is the most used color in command feedback.
primary: 'dark_aqua'
# The secondary color is used for highlighting important information, like values.
secondary: 'green'
# The tertiary color is mostly used for text in titles.
tertiary: 'aqua'
# Activation range can drastically reduce the amount of lag caused by ticking entities.
# It does this by cleverly skipping certain entity ticks based on the distance to players and other factors, like immunity checks.
# Immunity checks determine whether an entity should be ticked even when it's outside the activation range, like for example when it is falling or takes damage.
# Note: while this is a very powerful feature, it can still slow down mobfarms and break very specific technical contraptions.
activation-range:
# Enables activation range.
enabled: true
# Briefly ticks entities newly added to the world for 10 seconds (includes both spawning and loading).
# This gives them a chance to properly immunize when they are spawned if they should be. Can be helpful for mobfarms.
tick-new-entities: true
# Enables vertical range checks. By default, activation ranges only work horizontally.
# This can greatly improve performance on taller worlds, but might break a few very specific ai-based mobfarms.
use-vertical-range: false
# Skips 1/4th of entity ticks whilst not immune.
# This affects entities that are within the activation range, but not immune (for example by falling or being in water).
skip-non-immune: false
# Allows villagers to tick regardless of the activation range when panicking.
villager-tick-panic: true
# The time in seconds that a villager needs to be inactive for before obtaining work immunity (if it has work tasks).
villager-work-immunity-after: 20
# The amount of ticks an inactive villager will wake up for when it has work immunity.
villager-work-immunity-for: 20
# A list of entity types that should be excluded from activation range checks.
excluded-entity-types:
- 'minecraft:ghast'
- 'minecraft:warden'
- 'minecraft:hopper_minecart'
# The activation type that will get assigned to any entity that doesn't have a custom activation type.
# ► activation-range = The range an entity is required to be in from a player to be activated.
# ► tick-interval = The interval between 'active' ticks whilst the entity is inactive. Negative values will disable these active ticks.
# ► wakeup-interval = The interval between inactive entity wakeups in seconds.
# ► extra-height-up = Allows entities to be ticked when far above the player when vertical range is in use.
# ► extra-height-down = Allows entities to be ticked when far below the player when vertical range is in use.
default-activation-type:
activation-range: 16
tick-interval: 20
wakeup-interval: -1
extra-height-up: false
extra-height-down: false
# A list of custom activation types.
# ► name = The name of the activation type.
# ► entity-matcher = A list of conditions to filter entities. Only one of these conditions needs to be met for an entity to match.
# ► If an entity matches multiple activation types, the one highest in the list will be used. The conditions accept the following formats:
# - Entity type matching | Uses the entity type's identifier. | 'minecraft:zombie' matches zombies, but for example not husks or drowned.
# - Typeof class matching | Uses the 'typeof:' prefix. | 'typeof:monster' matches all monsters.
# ► Available typeof classes: mob, monster, raider, neutral, ambient, animal, water_animal, flying_animal, villager, projectile.
custom-activation-types:
- name: 'raider'
activation-range: 48
tick-interval: 20
wakeup-interval: 20
extra-height-up: true
extra-height-down: false
entity-matcher:
- 'typeof:raider'
- name: 'water'
activation-range: 16
tick-interval: 20
wakeup-interval: 60
extra-height-up: false
extra-height-down: false
entity-matcher:
- 'typeof:water_animal'
- name: 'villager'
activation-range: 16
tick-interval: 20
wakeup-interval: 30
extra-height-up: false
extra-height-down: false
entity-matcher:
- 'typeof:villager'
- name: 'zombie'
activation-range: 16
tick-interval: 20
wakeup-interval: 20
extra-height-up: true
extra-height-down: false
entity-matcher:
- 'minecraft:zombie'
- 'minecraft:husk'
- name: 'monster-below'
activation-range: 32
tick-interval: 20
wakeup-interval: 20
extra-height-up: true
extra-height-down: true
entity-matcher:
- 'minecraft:creeper'
- 'minecraft:slime'
- 'minecraft:magma_cube'
- 'minecraft:hoglin'
- name: 'flying-monster'
activation-range: 48
tick-interval: 20
wakeup-interval: 20
extra-height-up: true
extra-height-down: false
entity-matcher:
- 'minecraft:ghast'
- 'minecraft:phantom'
- name: 'monster'
activation-range: 32
tick-interval: 20
wakeup-interval: 20
extra-height-up: true
extra-height-down: false
entity-matcher:
- 'typeof:monster'
- name: 'animal'
activation-range: 16
tick-interval: 20
wakeup-interval: 60
extra-height-up: false
extra-height-down: false
entity-matcher:
- 'typeof:animal'
- 'typeof:ambient'
- name: 'creature'
activation-range: 24
tick-interval: 20
wakeup-interval: 30
extra-height-up: false
extra-height-down: false
entity-matcher:
- 'typeof:mob'

View file

@ -0,0 +1,365 @@
#General Mod Config
[general]
#Should the mod be enabled or not
enabled = true
#Enable Additional Logging. Used for Fault Finding. WARNING: CAUSES LOG SPAM!
debugging = false
#The active language to use for built in messages. Defaults to en_us if a language is not found
language = "en_us"
#Internal version control. DO NOT TOUCH!
configVersion = 36
#Config specific to the discord bot
[botConfig]
#The token of the Discord Bot to use. This will be encrypted on first load. See https://sdlink.fdd-docs.com/installation/bot-creation/ to find this
botToken = "REPLACE_DC_BOT_TOKEN"
#Print the bot invite link to the console on startup
printInviteLink = true
#Use silent replies when Slash Commands are used
silentReplies = true
#How often the Bot Status will update on Discord (in Seconds). Set to 0 to disable
statusUpdateInterval = 30
#Define how the bot should handle channel topic updates on the chat channel
[botConfig.topicUpdates]
#Should the bot update the topic of your chat channel automatically every 6 Minutes
doTopicUpdates = true
#How often should the bot update the channel topic (IN MINUTES)? CANNOT BE LOWER THAN 6 MINUTES!
updateInterval = 6
#A topic for the Chat Relay channel. You can use %player%, %maxplayers%, %uptime% or just leave it empty.
channelTopic = "%players%/%maxplayers% Players Online"
#Configure the in-game Discord Invite command
[botConfig.invite]
#If this is defined, it will enable the in-game Discord command
inviteLink = ""
#The message to show when someone uses /discord command. You can use %inviteurl%
inviteMessage = "Discord Server: %inviteurl%"
#Control what the Discord Bot will display as it's status message
[[botConfig.botStatus]]
#Do not add Playing. A status to display on the bot. You can use %players% and %maxplayers% to show the number of players on the server
status = "%players%/%maxplayers% Players"
#The type of the status displayed on the bot. Valid entries are: PLAYING, STREAMING, WATCHING, LISTENING, CUSTOM_STATUS
botStatusType = "CUSTOM_STATUS"
#The URL that will be used when the "botStatusType" is set to "STREAMING", required to display as "streaming".
botStatusStreamingURL = ""
#Config relating to the discord channels and webhooks to use with the mod
[channelsAndWebhooks]
#A DIRECT link to an image to use as the avatar for server messages. Also used for embeds
serverAvatar = ""
#The name to display for Server messages when using Webhooks
serverName = "Minecraft Server"
#Config relating to the discord channels to use with the mod
[channelsAndWebhooks.channels]
#REQUIRED! The ID of the channel to post in and relay messages from. This is still needed, even in webhook mode
chatChannelID = ""
#If this ID is set, event messages will be posted in this channel instead of the chat channel
eventsChannelID = "0"
#If this ID is set, console messages sent after the bot started will be relayed here
consoleChannelID = ""
#Config relating to the discord Webhooks to use with the mod
[channelsAndWebhooks.webhooks]
#Prefer Webhook Messages over Standard Bot Messages
enabled = true
#Change how the webhook name is displayed in discord. Available placeholders: %display_name%, %mc_name%
webhookNameFormat = "%mc_name%"
#Use Server Author for chat messages, instead of the real author information
useServerForChat = false
#The URL of the channel webhook to use for Chat Messages. Will be encrypted on first run
chatWebhook = ""
#The URL of the channel webhook to use for Server Messages. Will be encrypted on first run
eventsWebhook = ""
#The URL of the channel webhook to use for Console Messages. DOES NOT WORK FOR CONSOLE RELAY! Will be encrypted on first run
consoleWebhook = ""
#Configure which types of messages are delivered to Minecraft/Discord
[chat]
#Use linked account names in Discord/Minecraft messages, instead of the default ones
useLinkedNames = false
#Use linked account avatar in Discord messages, instead of custom avatar
useLinkedAvatar = false
#Show the discord name, username and role of the user that sent a message in Minecraft when the message is hovered
showDiscordInfo = true
#Convert Discord to MC, and MC to Discord Formatting
formatting = true
#Should console messages be sent to the Console Channel
sendConsoleMessages = true
#Add your own Avatar service URL here. Use {uuid} to replace the player ID in the URL
customAvatarService = "https://crafatar.com/avatars/{uuid}"
#The type of image to use as the player icon in messages. Valid entries are: AVATAR, HEAD, BODY, COMBO, CUSTOM
playerAvatarType = "HEAD"
#Should messages sent with TellRaw be sent to discord as a chat? (Experimental)
relayTellRaw = true
#Should the entire command executed be relayed to discord, or only the name of the command
relayFullCommands = false
#Should messages from bots be relayed
ignoreBots = true
#Compatibility with PluralKit (can introduce a very slight delay in messages being sent from Discord to Minecraft)
pluralKitCompat = false
#Amount of time to delay messages by before sending them to Minecraft in milliseconds. Too low may make unproxied messages visible and too high will cause noticeable delay.
pluralKitCompatMessageDelay = 500
#Should SERVER STARTING messages be shown
serverStarting = false
#Should SERVER STARTED messages be shown
serverStarted = true
#Should SERVER STOPPING messages be shown
serverStopping = true
#Should SERVER STOPPED messages be shown
serverStopped = false
#Should the chat be relayed
playerMessages = true
#Should discord messages be relayed to Minecraft
discordMessages = true
#Should Player Join messages be posted
playerJoin = true
#Should Player Leave messages be posted
playerLeave = true
#Should Advancement messages be posted. Valid values are ALWAYS, NEVER or GAMERULE
advancementMessages = "ALWAYS"
#Should Death Announcements be posted. Valid values are ALWAYS, NEVER or GAMERULE
deathMessages = "ALWAYS"
#Should Messages from the /say command be posted
sendSayCommand = true
#Should commands be posted to discord
broadcastCommands = false
#Should whitelist changes be posted to discord
whitelistChanged = false
#Commands that should not be broadcast to discord
ignoredCommands = []
#Allow mentioning discord roles and users from Minecraft Chat
allowMentionsFromChat = true
#Change the format in which messages are displayed
[messageFormatting]
#Prefix to add to Minecraft when a message is relayed from Discord. Supports MiniMessage formatting. Use %user% for the Discord Username
mcPrefix = "<yellow>[Discord]<reset> %user%: "
#How messages relayed from discord that are replies to other messages are formatted. Supports MiniMessage formatting
mcReplyFormatting = " <b>┌────<reset> %color%@%replier_name%%end_color% <gray>%message_summary%<newline><reset>"
#Server Starting Message
serverStarting = "*Server is starting...*"
#Server Started Message
serverStarted = "*Server has started. Enjoy!*"
#Server Stopping Message
serverStopping = "*Server is stopping...*"
#Server Stopped Message
serverStopped = "*Server has stopped...*"
#Player Joined Message. Use %player% to display the player name
playerJoined = "*%player% has joined the server!*"
#Player Left Message. Use %player% to display the player name
playerLeft = "*%player% has left the server!*"
#Advancement Messages. Available variables: %player%, %title%, %description%
advancements = "*%player% has made the advancement [%title%]: %description%*"
#Chat Messages. THIS DOES NOT APPLY TO EMBED OR WEBHOOK MESSAGES. Available variables: %player%, %message%, %mcname%
chat = "%player%: %message%"
#Death Messages. Available variables: %player%, %message%
death = "%player% %message%"
#Message to be sent when a player is added to the whitelist
whitelistAdded = "%player% has been whitelisted!"
#Message to be sent when a player is removed from the whitelist
whitelistRemoved = "%player% has been removed from the whitelist!"
#Command Messages. Available variables: %player%, %command%
commands = "%player% **executed command**: *%command%*"
#Change in which channel messages appear
[messageDestinations]
#Control where CHAT messages are delivered
[messageDestinations.chat]
#The Channel the message will be delivered to. Valid entries are CHAT, EVENT, CONSOLE, OVERRIDE
channel = "CHAT"
#Should the message be sent using EMBED style messages
useEmbed = false
#Embed Layout to use
embedLayout = "default"
#Override the destination with a custom channel/webhook url. Make sure to change `channel` above to OVERRIDE
override = ""
#Control where START messages are delivered
[messageDestinations.start]
#The Channel the message will be delivered to. Valid entries are CHAT, EVENT, CONSOLE, OVERRIDE
channel = "CHAT"
#Should the message be sent using EMBED style messages
useEmbed = true
#Embed Layout to use
embedLayout = "default"
#Override the destination with a custom channel/webhook url. Make sure to change `channel` above to OVERRIDE
override = ""
#Control where STOP messages are delivered
[messageDestinations.stop]
#The Channel the message will be delivered to. Valid entries are CHAT, EVENT, CONSOLE, OVERRIDE
channel = "CHAT"
#Should the message be sent using EMBED style messages
useEmbed = true
#Embed Layout to use
embedLayout = "default"
#Override the destination with a custom channel/webhook url. Make sure to change `channel` above to OVERRIDE
override = ""
#Control where JOIN messages are delivered
[messageDestinations.join]
#The Channel the message will be delivered to. Valid entries are CHAT, EVENT, CONSOLE, OVERRIDE
channel = "CHAT"
#Should the message be sent using EMBED style messages
useEmbed = false
#Embed Layout to use
embedLayout = "default"
#Override the destination with a custom channel/webhook url. Make sure to change `channel` above to OVERRIDE
override = ""
#Control where LEAVE messages are delivered
[messageDestinations.leave]
#The Channel the message will be delivered to. Valid entries are CHAT, EVENT, CONSOLE, OVERRIDE
channel = "CHAT"
#Should the message be sent using EMBED style messages
useEmbed = false
#Embed Layout to use
embedLayout = "default"
#Override the destination with a custom channel/webhook url. Make sure to change `channel` above to OVERRIDE
override = ""
#Control where ADVANCEMENT messages are delivered
[messageDestinations.advancements]
#The Channel the message will be delivered to. Valid entries are CHAT, EVENT, CONSOLE, OVERRIDE
channel = "CHAT"
#Should the message be sent using EMBED style messages
useEmbed = false
#Embed Layout to use
embedLayout = "default"
#Override the destination with a custom channel/webhook url. Make sure to change `channel` above to OVERRIDE
override = ""
#Control where DEATH messages are delivered
[messageDestinations.death]
#The Channel the message will be delivered to. Valid entries are CHAT, EVENT, CONSOLE, OVERRIDE
channel = "CHAT"
#Should the message be sent using EMBED style messages
useEmbed = false
#Embed Layout to use
embedLayout = "default"
#Override the destination with a custom channel/webhook url. Make sure to change `channel` above to OVERRIDE
override = ""
#Control where COMMAND messages are delivered
[messageDestinations.commands]
#The Channel the message will be delivered to. Valid entries are CHAT, EVENT, CONSOLE, OVERRIDE
channel = "CONSOLE"
#Should the message be sent using EMBED style messages
useEmbed = true
#Embed Layout to use
embedLayout = "default"
#Override the destination with a custom channel/webhook url. Make sure to change `channel` above to OVERRIDE
override = ""
#Control where WHITELIST change messages are delivered
[messageDestinations.whitelist]
#The Channel the message will be delivered to. Valid entries are CHAT, EVENT, CONSOLE, OVERRIDE
channel = "CONSOLE"
#Should the message be sent using EMBED style messages
useEmbed = true
#Embed Layout to use
embedLayout = "default"
#Override the destination with a custom channel/webhook url. Make sure to change `channel` above to OVERRIDE
override = ""
#Control where messages that match none of the above are delivered
[messageDestinations.custom]
#The Channel the message will be delivered to. Valid entries are CHAT, EVENT, CONSOLE, OVERRIDE
channel = "CONSOLE"
#Should the message be sent using EMBED style messages
useEmbed = true
#Embed Layout to use
embedLayout = "default"
#Override the destination with a custom channel/webhook url. Make sure to change `channel` above to OVERRIDE
override = ""
#Manage access to your server, similar to whitelisting
[accessControl]
#Enable Access Control
enabled = true
#Allow users to verify their accounts without access control. This setting is ignored if the above setting is set to true
optionalVerification = true
#Allows verification and un-verification via DM
allowVerifyInDm = true
#Does the player need to be a member of your discord to join
requireDiscordMembership = true
#Can players verify multiple Minecraft Accounts
allowMultipleAccounts = true
#Change the discord user nickname to their Minecraft name when their accounts are linked
changeDiscordNickname = false
#Optional: The player requires any of these roles to be able to join your server
# ?
requiredRoles = []
#Optional: Players with these roles will never be allowed access to your server
deniedRoles = []
#Optional: Role name or ID to assign to verified player accounts
verifiedRole = []
#Should players with verified accounts, be banned from Minecraft if they get banned on discord
banPlayerOnDiscordBan = true
#Should members with verified accounts, be banned from discord when they are banned on Minecraft
banMemberOnMinecraftBan = false
#Configure messages shown to players when they don't meet verification requirements
[accessControl.verificationMessages]
#This message is shown to users when they use the in-game verification command
optionalVerificationMessage = "Your verification code is: {code}. Please DM our bot, or use the /verify command in our discord to verify your account"
#The message shown to players that are not verified
accountVerification = "This server requires account verification. Your verification code is: {code}. Please visit our discord server for instructions on how to verify your account."
#Message to show to players that are not a member of your discord
nonMember = "java.net.SocketException: Network is unreachable: connect"
#Message to show when player doesn't have one of the required roles. Use {roles} to display the names of configured roles
requireRoles = "java.net.SocketException: Network is unreachable: connect"
#Message to show when player has a role from the deniedRoles list
roleDenied = "java.net.SocketException: Network is unreachable: connect"
#Execute Minecraft commands in Discord
[minecraftCommands]
#Allow executing Minecraft commands from Discord
enabled = true
#Command Prefix. For example ?weather clear
prefix = "$"
#Should command replies be deleted automatically or not
keepReplies = true
#Should the original message that was sent to trigger the command be deleted automatically or not
keepOriginal = true
#Should error messages be sent for invalid, or disallowed commands
outputInvalid = true
#You can leave this empty, or enter the channel ID's (surrounded by "") of channels where linked commands can be used
allowedChannels = []
#List of command permissions
[[minecraftCommands.permissions]]
# . (Owner)
role = "REPLACE_DC_OWNER_ROLE"
commands = []
permissionLevel = 4
[[minecraftCommands.permissions]]
# Everyone
role = "0"
commands = ["list"]
permissionLevel = 4
#Configure message/username filtering for discord messages
[filtering]
#Enable the filter system
enabled = true
#List of entries to process
entries = []
#Ignore messages sent from certain threads. Enable debug logging to see what thread the message is from
ignoredThreads = []
#Run Minecraft commands when discord roles changes. Requires Access Control to be enabled
[triggerCommands]
#Should any of the below commands be executed when a role changes
enabled = false
#Commands to run when roles are added
roleAdded = []
#Commands to run when roles are removed
roleRemoved = []

57
config/tectonic.json Normal file
View file

@ -0,0 +1,57 @@
{
"biomes": {
"temperature_multiplier": 1.0,
"temperature_offset": 0.0,
"temperature_scale": 0.25,
"vegetation_multiplier": 1.0,
"vegetation_offset": 0.0,
"vegetation_scale": 0.25
},
"caves": {
"carvers_enabled": true,
"cheese_additive": 0.27,
"cheese_enabled": true,
"depth_cutoff_size": 0.1,
"depth_cutoff_start": 0.1,
"noodle_additive": -0.075,
"noodle_enabled": true,
"spaghetti_enabled": true
},
"continents": {
"continents_scale": 0.13,
"erosion_scale": 0.25,
"flat_terrain_skew": 0.1,
"jungle_pillars": true,
"ocean_offset": -0.8,
"ridge_scale": 0.25,
"river_ice": false,
"river_lanterns": true,
"rolling_hills": true,
"underground_rivers": true
},
"general": {
"mod_enabled": true,
"snow_start_offset": 128
},
"global_terrain": {
"elevation_boost": 0.0,
"lava_tunnels": true,
"max_y": 320,
"min_y": -64,
"ultrasmooth": false,
"vertical_scale": 1.125
},
"islands": {
"enabled": true,
"noise_multiplier": 1.0,
"noise_offset": 0.0,
"noise_scale": 0.11
},
"minor_version": 1,
"oceans": {
"deep_ocean_depth": -0.45,
"monument_offset": -30,
"ocean_depth": -0.22,
"remove_frozen_ocean_ice": false
}
}

19
config/tt20/config.json Normal file
View file

@ -0,0 +1,19 @@
{
"enabled": true,
"block-entity-acceleration": true,
"block-breaking-acceleration": true,
"potion-effect-acceleration": true,
"fluid-acceleration": true,
"pickup-acceleration": true,
"eating-acceleration": true,
"portal-acceleration": true,
"sleeping-acceleration": true,
"server-watchdog": true,
"time-acceleration": true,
"bow-acceleration": true,
"crossbow-acceleration": true,
"random-tickspeed-acceleration": true,
"tnt-acceleration": true,
"vanilla-lagback": true,
"automatic-updater": true
}

View file

@ -0,0 +1,322 @@
{
"_comment": "Before changing anything, see https://github.com/Patbox/UniversalGraves#configuration",
"config_version": 4,
"protection": {
"non_owner_protection_time": 2700,
"self_destruction_time": -1,
"drop_items_on_expiration": true,
"attackers_bypass_protection": false,
"use_real_time": false
},
"interactions": {
"unlocking_cost": {
"type": "free",
"count": 0
},
"give_death_compass": true,
"enable_use_death_compass_to_open_gui": true,
"enable_click_to_open_gui": true,
"shift_and_use_quick_pickup": true,
"break_quick_pickup": true,
"allow_remote_protection_removal": true,
"allow_remote_breaking": true,
"allow_remote_unlocking": true
},
"storage": {
"experience_type": "percent_points",
"experience_percent:setting_value": 10.0,
"can_store_only_xp": false,
"alternative_experience_entity": false,
"blocked_enchantments": []
},
"placement": {
"player_grave_limit": -1,
"replace_any_block": false,
"max_distance_from_source_location": 8,
"shift_location_on_failure": true,
"max_shift_tries": 5,
"max_shift_distance": 40,
"generate_on_top_of_fluids": false,
"generate_on_ground": false,
"create_gravestone_after_emptying": false,
"restore_replaced_block_after_player_breaking": true,
"move_inside_world_border": true,
"actively_move_inside_world_border": false,
"cancel_creation_for_damage_types": {},
"cancel_creation_for_ignored_attacker_types": {},
"blocking_predicates": [],
"block_in_protected_area": {},
"blacklisted_worlds": [],
"blacklisted_areas": {},
"creation_default_failure_text": "<red><lang:'text.graves.creation_failed':'<gold>${position}':'<yellow>${world}'>",
"creation_claim_failure_text": "<red><lang:'text.graves.creation_failed_claim':'<gold>${position}':'<yellow>${world}'>"
},
"teleportation": {
"cost": {
"type": "creative",
"count": 1
},
"required_time": 5,
"y_offset": 1.0,
"invincibility_time": 2,
"allow_movement_while_waiting": false,
"text": {
"timer": "<lang:'text.graves.teleport.teleport_timer':'${time}'>",
"timer_allow_moving": "<lang:'text.graves.teleport.teleport_timer_moving':'${time}'>",
"location": "<lang:'text.graves.teleport.teleport_location':'${position}'>",
"canceled": "<red><lang:'text.graves.teleport.teleport_cancelled'>"
}
},
"model": {
"default": "default",
"alternative": [],
"hide_f3_debug_lines": true,
"gravestone_item_base": "minecraft:skeleton_skull",
"gravestone_item_nbt": {}
},
"ui": {
"title": "<lang:'text.graves.players_grave':'${player}'>",
"admin_title": "<lang:'text.graves.admin_graves'>",
"list_grave_icon": {
"base": {
"icon": "minecraft:chest",
"text": [
"${position} <gray>(${world})",
"<yellow>${death_cause}",
"<gray><lang:'text.graves.items_xp':'<white>${item_count}':'<white>${xp}'>",
"<blue><lang:'text.graves.protected_time':'<white>${protection_time}'>",
"<red><lang:'text.graves.break_time':'<white>${break_time}'>"
]
},
"alt": {
"icon": "minecraft:trapped_chest",
"text": [
"${position} <gray>(${world})",
"<yellow>${death_cause}",
"<gray><lang:'text.graves.items_xp':'<white>${item_count}':'<white>${xp}'>",
"<blue><lang:'text.graves.not_protected'>",
"<red><lang:'text.graves.break_time':'<white>${break_time}'>"
]
}
},
"admin_list_grave_icon": {
"base": {
"icon": "minecraft:chest",
"text": [
"<dark_gray>[<white>${player}</>]</> ${position} <gray>(${world})",
"<yellow>${death_cause}",
"<gray><lang:'text.graves.items_xp':'<white>${item_count}':'<white>${xp}'>",
"<blue><lang:'text.graves.protected_time':'<white>${protection_time}'>",
"<red><lang:'text.graves.break_time':'<white>${break_time}'>"
]
},
"alt": {
"icon": "minecraft:trapped_chest",
"text": [
"<dark_gray>[<white>${player}</>]</> ${position} <gray>(${world})",
"<yellow>${death_cause}",
"<gray><lang:'text.graves.items_xp':'<white>${item_count}':'<white>${xp}'>",
"<blue><lang:'text.graves.not_protected'>",
"<red><lang:'text.graves.break_time':'<white>${break_time}'>"
]
}
},
"grave_info": {
"base": {
"icon": "minecraft:oak_sign",
"text": [
"${position} <gray>(${world})",
"<yellow>${death_cause}",
"<gray><lang:'text.graves.items_xp':'<white>${item_count}':'<white>${xp}'>",
"<blue><lang:'text.graves.protected_time':'<white>${protection_time}'>",
"<red><lang:'text.graves.break_time':'<white>${break_time}'>"
]
},
"alt": {
"icon": "minecraft:oak_sign",
"text": [
"${position} <gray>(${world})",
"<yellow>${death_cause}",
"<gray><lang:'text.graves.items_xp':'<white>${item_count}':'<white>${xp}'>",
"<blue><lang:'text.graves.not_protected'>",
"<red><lang:'text.graves.break_time':'<white>${break_time}'>"
]
}
},
"unlock_grave": {
"base": {
"icon": "minecraft:gold_ingot",
"text": [
"<#ffd257><lang:'text.graves.gui.unlock_grave'>",
"<white><lang:'text.graves.gui.cost'> <#cfcfcf>${cost}"
]
},
"alt": {
"icon": "minecraft:gold_ingot",
"text": [
"<dark_gray><lang:'text.graves.gui.unlock_grave'>",
"<white><lang:'text.graves.gui.cost'> <#cfcfcf>${cost} <gray>(<red><lang:'text.graves.gui.cost.not_enough'></red>)"
]
}
},
"previous_button": {
"base": {
"icon": {
"id": "universal_graves:icon",
"count": 1,
"components": {
"universal_graves:texture": "previous_page"
}
},
"text": "<lang:'text.graves.gui.previous_page'>"
},
"alt": {
"icon": {
"id": "universal_graves:icon",
"count": 1,
"components": {
"universal_graves:texture": "previous_page_blocked"
}
},
"text": "<dark_gray><lang:'text.graves.gui.previous_page'>"
}
},
"next_button": {
"base": {
"icon": {
"id": "universal_graves:icon",
"count": 1,
"components": {
"universal_graves:texture": "next_page"
}
},
"text": "<lang:'text.graves.gui.next_page'>"
},
"alt": {
"icon": {
"id": "universal_graves:icon",
"count": 1,
"components": {
"universal_graves:texture": "next_page_blocked"
}
},
"text": "<dark_gray><lang:'text.graves.gui.next_page'>"
}
},
"remove_protection_button": {
"base": {
"icon": {
"id": "universal_graves:icon",
"count": 1,
"components": {
"universal_graves:texture": "remove_protection"
}
},
"text": "<red><lang:'text.graves.gui.remove_protection'>"
},
"alt": {
"icon": {
"id": "universal_graves:icon",
"count": 1,
"components": {
"universal_graves:texture": "remove_protection"
}
},
"text": [
"<red><lang:'text.graves.gui.remove_protection'>",
"<dark_red><bold><lang:'text.graves.gui.cant_reverse'>",
"",
"<white><lang:'text.graves.gui.click_to_confirm'>"
]
}
},
"break_grave_button": {
"base": {
"icon": {
"id": "universal_graves:icon",
"count": 1,
"components": {
"universal_graves:texture": "break_grave"
}
},
"text": "<red><lang:'text.graves.gui.break_grave'>"
},
"alt": {
"icon": {
"id": "universal_graves:icon",
"count": 1,
"components": {
"universal_graves:texture": "break_grave"
}
},
"text": [
"<red><lang:'text.graves.gui.break_grave'>",
"<dark_red><bold><lang:'text.graves.gui.cant_reverse'>",
"",
"<white><lang:'text.graves.gui.click_to_confirm'>"
]
}
},
"quick_pickup_button": {
"icon": {
"id": "universal_graves:icon",
"count": 1,
"components": {
"universal_graves:texture": "quick_pickup"
}
},
"text": "<red><lang:'text.graves.gui.quick_pickup'>"
},
"fetch_button": {
"base": {
"icon": "minecraft:lead",
"text": "<yellow><lang:'text.graves.gui.fetch'>"
},
"alt": {
"icon": "minecraft:lead",
"text": "<yellow><lang:'text.graves.gui.fetch'>"
}
},
"teleport_button": {
"base": {
"icon": "minecraft:ender_pearl",
"text": [
"<#a52dfa><lang:'text.graves.gui.teleport'>",
"<white><lang:'text.graves.gui.cost'> <#cfcfcf>${cost}"
]
},
"alt": {
"icon": "minecraft:ender_pearl",
"text": [
"<dark_gray><lang:'text.graves.gui.teleport'>",
"<white><lang:'text.graves.gui.cost'> <#cfcfcf>${cost} <gray>(<red><lang:'text.graves.gui.cost.not_enough'></red>)"
]
}
},
"back_button": {
"icon": "minecraft:structure_void",
"text": "<red><lang:'text.graves.gui.quick_pickup'>"
},
"bar": {
"icon": "minecraft:white_stained_glass_pane",
"text": ""
}
},
"text": {
"grave_created": "<white><lang:'text.graves.created_at':'<yellow>${position}':'<gray>${world}':'<red>${break_time}'>",
"protection_ended": "<red><lang:'text.graves.no_longer_protected':'<gold>${position}':'<white>${world}':'<yellow>${item_count}'>",
"grave_expired": "<red><lang:'text.graves.expired':'<gold>${position}':'<white>${world}':'<yellow>${item_count}'>",
"grave_broken": "<gray><lang:'text.graves.somebody_broke':'<white>${position}':'<white>${world}':'<white>${item_count}'>",
"grave_access_payment_no_access": "<red><lang:'text.graves.grave_unlock_payment.no_access'>",
"grave_payment_accepted": "<white><lang:'text.graves.grave_unlock_payment.accepted'>",
"grave_payment_failed": "<red><lang:'text.graves.grave_unlock_payment.failed':'<yellow>${cost}'>",
"years_suffix": "y",
"days_suffix": "d",
"hours_suffix": "h",
"minutes_suffix": "m",
"seconds_suffix": "s",
"infinity": "∞",
"date_format": "dd.MM.yyyy, HH:mm",
"world_names": {}
}
}

35
config/vanish.hocon Normal file
View file

@ -0,0 +1,35 @@
# Show vanish status in the action bar
action-bar=true
# Text to be displayed when placeholder vanish:vanished is used for a vanished player
place-holder-display=" <gray>☠"
# Prevents vanished players from using chat
disable-chat=true
# Prevents vanished players from using /msg
disable-msg=true
# Hide vanished players from entities, prevents hostile entities from targeting players, and more
hide-from-entities=true
# Hide gamemode on the playerlist. Useful if you aren't in vanish and want use spectator without players noticing.
hide-game-mode=true
# Make vanished players invulnerable (Prevent deaths from tnt or other unforeseen accidents)
invulnerable=false
# Send fake join/disconnect message
send-join-disconnect-message=true
# Prevent vanished player world interactions
interaction {
# Prevent block interactions (pressure plates, dripleaf, tripwire, farmland, redstone ore, sculk sensor/shrieker and turtle egg)
blocks=false
# Prevent player vibrations (sculk sensor/shrieker and warden)
vibrations=false
# Prevent mob spawning
mob-spawning=false
# Prevent chunk loading / generation
chunk-loading=false
# Prevent entity collisions
entity-collisions=false
# Prevent entity pickups (arrows, experience orbs, items, dropper equipping and tridents)
entity-pickup=false
# Prevent progressing advancements
advancement-progress=false
# Prevent spectator progressing advancements
spectator-advancement-progress=false
}

12
config/vmp.properties Normal file
View file

@ -0,0 +1,12 @@
#Configuration file for VMP
#Sat Jun 20 15:06:18 WIB 2026
optimized_entity_tracking_use_staging_area=true
show_async_loading_messages=true
show_chunk_tracking_messages=true
target_chunk_send_rate=-1
use_async_chunks_on_login_v2=true
use_async_chunks_on_some_commands=false
use_async_logging=true
use_async_portals=true
use_multiple_netty_event_loops=true
use_optimized_entity_tracking=true

View file

@ -0,0 +1,56 @@
# Simple Voice Chat server config v1.21.11-2.6.17
# The port number to use for the voice chat communication.
# Audio packets are always transmitted via the UDP protocol on the port number
# specified here, independently of other networking used for the game server.
# Set this to '-1' to use the same port number that is used by the Minecraft server.
# However, it is strongly recommended NOT to use the same port number because UDP on
# it is also used by default for the server query. Doing so may crash the server!
port=24454
# The server IP address to bind the voice chat to
# Leave blank to use the 'server-ip' property from the 'server.properties' config file
# To bind to the wildcard IP address, use '*'
bind_address=
# The distance to which the voice can be heard
max_voice_distance=48.0
# The distance to which the voice can be heard when whispering
whisper_distance=24.0
# The Opus codec
# Valid values are 'VOIP', 'AUDIO', and 'RESTRICTED_LOWDELAY'
codec=VOIP
# The maximum size that audio packets are allowed to have (in bytes)
# Set this to a lower value if audio packets don't arrive
mtu_size=1024
# The maximum number of packets a player can send per second
# Set this to -1 to disable the rate limit - This must be greater than 0 in all other cases
# This only applies to voice chat packets that are sent through Minecrafts networking
# This affects actions like opening/joining/leaving voice chat groups or general state changes like disabling/enabling the voice chat
tcp_rate_limit=-1
# The frequency at which keep-alive packets are sent (in milliseconds)
# Setting this to a higher value may result in timeouts
keep_alive=1000
# If group chats are allowed
enable_groups=true
# The hostname that clients should use to connect to the voice chat
# This may also include a port, e.g. 'example.com:24454' or just a port, e.g. '24454'
# Do NOT change this value if you don't know what you're doing
voice_host=REPLACE_SVC_HOST
# If players are allowed to record the voice chat audio
allow_recording=true
# If spectators are allowed to talk to other players
spectator_interaction=false
# If spectators can talk to players they are spectating
spectator_player_possession=false
# If players without the voice chat mod should be kicked from the server
force_voice_chat=false
# The amount of time the server should wait to check if a player has the mod installed (in milliseconds)
# Only relevant when 'force_voice_chat' is set to 'true'
login_timeout=10000
# The range in which the voice chat should broadcast audio
# A value less than 0 means 'max_voice_distance'
broadcast_range=-1.0
# If the voice chat server should reply to external pings
allow_pings=true
# If the mod should load native libraries on dedicated servers
# This is mostly relevant for voice chat addons
use_natives=true

View file

@ -0,0 +1,27 @@
{
// If the mod should only run on dedicated servers. When enabled it's not sent when in a singleplayer world.
"onlyRunOnDedicatedServers": true,
// Whether an empty line should be send before to first message to separate the welcome from other chat messages that might be sent.
"sendEmptyLineBeforeFirstMessage": false,
// The first message a player will receive when joining the world. Can be left empty.
"messageOneText": "Welcome to the server! Dont forget that proximity VC is enabled by default",
// 0: black, 1: dark_blue, 2: dark_green, 3: dark_aqua, 4: dark_red, 5: dark_purple, 6: gold, 7: gray, 8: dark_gray, 9: blue, 10: green, 11: aqua, 12: red, 13: light_purple, 14: yellow, 15: white
// min: 0, max: 15
"messageOneColourIndex": 13,
// If a link is entered here, the complete message will be clickable.
"messageOneOptionalURL": "",
// The second message a player will receive when joining the world. Can be left empty.
"messageTwoText": "Click here to download the texture pack for custom blocks and items!",
// 0: black, 1: dark_blue, 2: dark_green, 3: dark_aqua, 4: dark_red, 5: dark_purple, 6: gold, 7: gray, 8: dark_gray, 9: blue, 10: green, 11: aqua, 12: red, 13: light_purple, 14: yellow, 15: white
// min: 0, max: 15
"messageTwoColourIndex": 14,
// If a link is entered here, the complete message will be clickable.
"messageTwoOptionalURL": "REPLACE_RP_LINK",
// The third message a player will receive when joining the world. Can be left empty.
"messageThreeText": "Join our discord server for announcements: do /discord for invite",
// 0: black, 1: dark_blue, 2: dark_green, 3: dark_aqua, 4: dark_red, 5: dark_purple, 6: gold, 7: gray, 8: dark_gray, 9: blue, 10: green, 11: aqua, 12: red, 13: light_purple, 14: yellow, 15: white
// min: 0, max: 15
"messageThreeColourIndex": 7,
// If a link is entered here, the complete message will be clickable.
"messageThreeOptionalURL": ""
}

View file

@ -1,5 +1,101 @@
hash-format = "sha256" hash-format = "sha256"
[[files]]
file = "config/EasyAuth/extended.conf"
hash = "fe7cb44b324954d250745b224abf0d3ba6e85e24d6ca496edded840ef2a0299f"
[[files]]
file = "config/EasyAuth/main.conf"
hash = "ec30ca8d3d858ff5303c0e84a456a695175a81fa7600c9e5dd5f443d57eb4391"
[[files]]
file = "config/EasyAuth/storage.conf"
hash = "39378caea29920fb1ac5aaf4b9e12a0baef7abd39bf98f768a190537d06efb20"
[[files]]
file = "config/EasyAuth/technical.conf"
hash = "ad1e69d75a75503779ac12af9ec7462c4fdfe2f8087504b1b08fe9f108338471"
[[files]]
file = "config/EasyAuth/translation.conf"
hash = "ac4f278cff239fbcd0bd67391f7a2fc189f35408b887149e20a0ea26b9a41c93"
[[files]]
file = "config/Veinminer/groups.json"
hash = "6809fe5f9761f923b85354193300b255f63a420b8465b2e9fcd722f08fc90ba9"
[[files]]
file = "config/Veinminer/settings.json"
hash = "e4f495f5968b183d1ebdec21fe915de05e73c97295f8518f836ddd33297ef3e5"
[[files]]
file = "config/antixray.toml"
hash = "12e61bb5f274fb5ea6e8f947a85aae97bf6164af7443b37d6810947ee8e1e9fb"
[[files]]
file = "config/chunky/config.json"
hash = "c7384a22595488f79f3125b22cc175eb729267267807a084479419349797abc8"
[[files]]
file = "config/chunky/tasks/minecraft/overworld.properties"
hash = "5b37db6c77a2e63297d3f8ee318b107361f1da839031aa06b4f4898f6c027321"
[[files]]
file = "config/enhancedgroups/enhancedgroups.properties"
hash = "f532d0c0fecd0e99ed7ee53c8a1a0ed0f59c8ea272d2d86e599b804ecd49a7f2"
[[files]]
file = "config/grindenchantments/server.json"
hash = "36aa8040943cb7b4fc1166ce0b98d37ecb925281e6783663d6640e7d557d8f37"
[[files]]
file = "config/modernfix-mixins.properties"
hash = "f6c383020f37b3d8c64c0961011eecb9e6458c0724c101e5b1fc209b5247eb92"
[[files]]
file = "config/polymer-squasher.json"
hash = "7aa371a0b1653c308fee1a689e5a96f595589d1fef9c12229ff10c4f7891246b"
[[files]]
file = "config/polymer/auto-host.json"
hash = "5cf9a1fcf4bd2d4d9dc6cdd51516b471d30e505c0538684488f5f905e31e431b"
[[files]]
file = "config/servercore/config.yml"
hash = "3c6a91c94afebfb9b59b04102a9ac831432a8f4792e45816fef48f7e2e9e74aa"
[[files]]
file = "config/simple-discord-link/simple-discord-link.toml"
hash = "443c666723139f22fa83fb08682dfb6d7709cb5a4ce5e2003247066ee42b9c46"
[[files]]
file = "config/tectonic.json"
hash = "4e51c4762ed0843d5999f8597653dece1f0943d68f927cd5ad8fb04b2195a093"
[[files]]
file = "config/tt20/config.json"
hash = "cd511332b1582fafc49f9612cf602be3af7293af9ea8ab0bdb6562cc9b5a0de9"
[[files]]
file = "config/universal-graves/config.json"
hash = "2fe0038c9e42d18b127fa1f34481f7655948a064b5b183396d1a63d81753f428"
[[files]]
file = "config/vanish.hocon"
hash = "ed35e1a1050c64da7cd6a6e2129672540cb60c6d8672d42142279e8ab4d753ce"
[[files]]
file = "config/vmp.properties"
hash = "accfc6c93d379de43057bfe0b6cf02fccd0fbbb5a4e34dff083926aaf8ffa5a7"
[[files]]
file = "config/voicechat/voicechat-server.properties"
hash = "d702d9cd7d41ecc7b6c4e3b6ccd9f925b36f3f18359cc293911b37ed82caa63c"
[[files]]
file = "config/welcomemessage.json5"
hash = "67dcab951c3603389548483a806fabb97901a1e000bba01fb7709e0e938619f1"
[[files]] [[files]]
file = "mods/almanac.pw.toml" file = "mods/almanac.pw.toml"
hash = "03383af39971df22d4581de1a8b6c0e80c6ecfd53b16716b9fc8e52580070753" hash = "03383af39971df22d4581de1a8b6c0e80c6ecfd53b16716b9fc8e52580070753"

View file

@ -6,7 +6,7 @@ pack-format = "packwiz:1.1.0"
[index] [index]
file = "index.toml" file = "index.toml"
hash-format = "sha256" hash-format = "sha256"
hash = "8c1fb14ff6c38b4ad15989a23b009cdf603e1bd2ac2e4245987c7b745719739f" hash = "7bc6b8899cf9b4cd678e5bcf024e4f3b9c57b8803aadbc0309ff201539d1d915"
[versions] [versions]
fabric = "0.19.2" fabric = "0.19.2"