Nix configurations for my homelab
2
fork

Configure Feed

Select the types of activity you want to include in your feed.

minecraft/yembina: Clean up and new mod pack delivery

yemou a1b64b94 94a63150

+623 -271
+15 -15
flake.lock
··· 149 149 ] 150 150 }, 151 151 "locked": { 152 - "lastModified": 1776964438, 153 - "narHash": "sha256-AF0cby9Xuijr5qaFpYKbm1mExV956Hk233bel6QxpFw=", 152 + "lastModified": 1777258755, 153 + "narHash": "sha256-EC07KwADRE2LdIk7vEDyAaD3I0ZUq24T9jQF9L0iEPk=", 154 154 "owner": "nix-community", 155 155 "repo": "home-manager", 156 - "rev": "e09259dd2e147d35ef889784b51e89b0a10ffe15", 156 + "rev": "7f8bbc93d63401e41368d6ddc46a4f631610fa90", 157 157 "type": "github" 158 158 }, 159 159 "original": { ··· 300 300 "systems": "systems" 301 301 }, 302 302 "locked": { 303 - "lastModified": 1776915193, 304 - "narHash": "sha256-bYyOT3OIWIKvDV+pOVd0hdCEG8orf85QX4b21LWUSEs=", 303 + "lastModified": 1777001712, 304 + "narHash": "sha256-9JX9msZU1NvHzjKM24PRorP76Ge8GBy6LAkJKA21mlY=", 305 305 "owner": "Infinidoge", 306 306 "repo": "nix-minecraft", 307 - "rev": "40c972ce0f45b8c05bf245d5065647b17552312c", 307 + "rev": "394d3bfd943458baf29e4798bc9b256d824a3bb9", 308 308 "type": "github" 309 309 }, 310 310 "original": { ··· 347 347 }, 348 348 "nixpkgs-unstable": { 349 349 "locked": { 350 - "lastModified": 1776548001, 351 - "narHash": "sha256-ZSK0NL4a1BwVbbTBoSnWgbJy9HeZFXLYQizjb2DPF24=", 350 + "lastModified": 1776877367, 351 + "narHash": "sha256-EHq1/OX139R1RvBzOJ0aMRT3xnWyqtHBRUBuO1gFzjI=", 352 352 "owner": "NixOS", 353 353 "repo": "nixpkgs", 354 - "rev": "b12141ef619e0a9c1c84dc8c684040326f27cdcc", 354 + "rev": "0726a0ecb6d4e08f6adced58726b95db924cef57", 355 355 "type": "github" 356 356 }, 357 357 "original": { ··· 379 379 }, 380 380 "nixpkgs_3": { 381 381 "locked": { 382 - "lastModified": 1776927958, 383 - "narHash": "sha256-XOzEtft7E0P6TgQViLUOQeGHlEYiQ0+FY24BPEksj6s=", 382 + "lastModified": 1777238095, 383 + "narHash": "sha256-wyaAOqFhxYmtTb/Gb/+hegVJ3MnwOJjX9aqsQT3+R38=", 384 384 "owner": "NixOS", 385 385 "repo": "nixpkgs", 386 - "rev": "fec2c46cca5bf9767486a290abae51200b656d69", 386 + "rev": "c4073437f5ffeaeee270c37a2eddf370658d1332", 387 387 "type": "github" 388 388 }, 389 389 "original": { ··· 449 449 "rust-overlay": "rust-overlay" 450 450 }, 451 451 "locked": { 452 - "lastModified": 1776881726, 453 - "narHash": "sha256-nTITWMKOz1UdwjLeYtV29FUzYx8BOUNXTwy5x4g3+xI=", 452 + "lastModified": 1777271937, 453 + "narHash": "sha256-nMipIcmx/zlYviZHBhE3j0wK3d9Xm8bHqXkcE3WftzI=", 454 454 "owner": "roc-lang", 455 455 "repo": "roc", 456 - "rev": "3592957a0f3666a9a321a70cf0aae5b021a84cff", 456 + "rev": "6128db318d8ccc2046eb2a2bf27189f3d4889688", 457 457 "type": "github" 458 458 }, 459 459 "original": {
+2 -1
lily/config.nix
··· 37 37 ../modules/services/caddy/websites/org-butwho.nix 38 38 ../modules/services/caddy/websites/pink-lilac.nix 39 39 ../modules/services/caddy/websites/pink-meyou.nix 40 + ../modules/services/caddy/websites/pink-yeem-cobblemon.nix 40 41 ../modules/services/caddy/websites/pink-yem-link.nix 41 42 ../modules/services/caddy/websites/pink-yemou.nix 42 43 43 44 ../modules/services/minecraft 44 45 ../modules/services/minecraft/harpy-express.nix 45 - ../modules/services/minecraft/yembina.nix 46 + ../modules/services/minecraft/yembina 46 47 47 48 ../modules/services/arr.nix 48 49 ../modules/services/jellyfin.nix
+23
modules/services/caddy/websites/pink-yeem-cobblemon.nix
··· 1 + { ... }: 2 + { 3 + environment.persistence."/data/persistent".directories = [ 4 + { 5 + directory = "/var/www/pink.yeem.cobblemon"; 6 + user = "mou"; 7 + group = "caddy"; 8 + mode = "0750"; 9 + } 10 + ]; 11 + 12 + services.caddy.virtualHosts."cobblemon.yeem.pink".extraConfig = '' 13 + encode 14 + root * /var/www/pink.yeem.cobblemon 15 + file_server { 16 + hide .git license 17 + } 18 + 19 + handle_errors { 20 + respond "{err.status_code} {err.status_text}" 21 + } 22 + ''; 23 + }
-255
modules/services/minecraft/yembina.nix
··· 1 - { pkgs, ... }: 2 - { 3 - networking.firewall = { 4 - allowedTCPPorts = [ 25566 ]; 5 - allowedUDPPorts = [ 24455 ]; 6 - }; 7 - 8 - services.minecraft-servers.servers.yembina = 9 - let 10 - modpack = pkgs.fetchModrinthModpack { 11 - url = "https://cloud.lilac.pink/public.php/dav/files/YnWGegEGDFXfxb9/?accept=zip"; 12 - packHash = "sha256-qREPZjCHWEW82yhCTTzTl98iTf8I3Unt8ADxOwU90EY="; 13 - side = "server"; 14 - }; 15 - in 16 - { 17 - enable = true; 18 - package = pkgs.fabricServers.fabric-1_21_1; 19 - jvmOpts = "-Xmx4G -Xms1G"; 20 - operators = { 21 - yemou = { 22 - uuid = "12069472-23e7-48a8-b893-461483a4da88"; 23 - bypassesPlayerLimit = true; 24 - }; 25 - zombina = { 26 - uuid = "ad345410-798e-4d70-870a-67e461d7a3a1"; 27 - bypassesPlayerLimit = true; 28 - }; 29 - }; 30 - # whitelist = { 31 - # yemou = "12069472-23e7-48a8-b893-461483a4da88"; 32 - # zombina = "ad345410-798e-4d70-870a-67e461d7a3a1"; 33 - # }; 34 - serverProperties = { 35 - allow-flight = true; 36 - difficulty = "normal"; 37 - enforce-whitelist = true; 38 - motd = "cobblemon private server"; 39 - server-ip = "::"; 40 - server-port = 25566; 41 - spawn-protection = 0; 42 - # white-list = true; 43 - }; 44 - symlinks = { 45 - "mods" = "${modpack}/mods"; 46 - "datapacks" = "${modpack}/datapacks"; 47 - "resourcepacks" = "${modpack}/resourcepacks"; 48 - }; 49 - files = { 50 - "config" = "${modpack}/config"; 51 - "config/cobblemon_smartphone.json" = pkgs.writeText "cobblemon_smartphone.json" '' 52 - { 53 - "cooldowns": { 54 - "healButton": 60, 55 - "pcButton": 5, 56 - "cloudButton": 5 57 - }, 58 - "features": { 59 - "enableHeal": false, 60 - "enablePC": true, 61 - "enableCloud": true 62 - } 63 - } 64 - ''; 65 - "config/fightorflight.json5" = pkgs.writeText "fightorflight.json5" '' 66 - { 67 - "do_pokemon_attack": true, 68 - "do_pokemon_attack_unprovoked": true, 69 - "light_dependent_unprovoked_attack": false, 70 - "failed_capture_counted_as_provocation": true, 71 - "do_pokemon_attack_in_battle": false, 72 - "aggressive_pokemon_catchable": true, 73 - "minimum_attack_level": 5, 74 - "minimum_attack_unprovoked_level": 10, 75 - "not_attacking_wild_shiny": true, 76 - "aggressive_threshold": 100.0, 77 - "neutral_threshold": 20.0, 78 - "aggression_level_base_value": 40.0, 79 - "aggression_level_multiplier": 1.0, 80 - "aggression_atk_def_dif_base_value": 30.0, 81 - "dark_light_level_aggro": true, 82 - "ghost_light_level_aggro": true, 83 - "aggression_light_level_base_value": 30.0, 84 - "aggression_nature_base_value": 40.0, 85 - "aggression_intimidation_base_value": -30.0, 86 - "always_aggro_below": -128.0, 87 - "stop_running_after_hurt": false, 88 - "slow_down_after_hurt": true, 89 - "aggressive_nature": [ 90 - "sassy", 91 - "hardy", 92 - "bold", 93 - "impish", 94 - "hasty" 95 - ], 96 - "aggressive_nature_multiplier": 1.0, 97 - "more_aggressive_nature": [ 98 - "brave", 99 - "rash", 100 - "adamant", 101 - "naughty" 102 - ], 103 - "more_aggressive_nature_multiplier": 2.0, 104 - "peaceful_nature": [ 105 - "relaxed", 106 - "lax", 107 - "quiet", 108 - "bashful", 109 - "calm" 110 - ], 111 - "peaceful_nature_multiplier": -1.0, 112 - "more_peaceful_nature": [ 113 - "docile", 114 - "timid", 115 - "gentle", 116 - "careful" 117 - ], 118 - "more_peaceful_nature_multiplier": -2.0, 119 - "peaceful_biome": [ 120 - "minecraft:deep_dark" 121 - ], 122 - "neutral_biome": [], 123 - "aggressive_biome": [], 124 - "always_aggro_aspects": [ 125 - "alolan" 126 - ], 127 - "always_aggro": [ 128 - "mankey", 129 - "primeape" 130 - ], 131 - "never_aggro": [ 132 - "slowpoke", 133 - "pyukumuku" 134 - ], 135 - "provoke_only_aggro": [], 136 - "always_flee": [ 137 - "wimpod" 138 - ], 139 - "aggro_reducing_abilities": [ 140 - "intimidate", 141 - "unnerve", 142 - "pressure" 143 - ], 144 - "mold_breaker_like_ablilities": [ 145 - "moldbreaker", 146 - "turboblaze", 147 - "teravolt" 148 - ], 149 - "all_pokemon_targeting_whitelist": [ 150 - "minecraft:villager" 151 - ], 152 - "wild_pokemon_targeting_whitelist": [], 153 - "player_owned_pokemon_targeting_whitelist": [], 154 - "allow_teleport_to_flee": true, 155 - "do_pokemon_defend_owner": true, 156 - "do_pokemon_defend_proactive": true, 157 - "do_player_pokemon_attack_other_players": false, 158 - "do_player_pokemon_attack_other_player_pokemon": false, 159 - "multiple_cries": true, 160 - "time_to_cry_again": 100, 161 - "experience_multiplier": 0.5, 162 - "can_gain_ev": true, 163 - "can_progress_use_move_evolution": true, 164 - "suffocation_immunity": true, 165 - "pvp_immunity": true, 166 - "friendly_fire_immunity_team": true, 167 - "friendly_fire_immunity_owner": true, 168 - "max_bonus_from_stat": 4.0, 169 - "minimum_attack_damage": 1.0, 170 - "maximum_attack_damage": 50.0, 171 - "minimum_attack_damage_player": 1.2000000476837158, 172 - "attack_damage_player": 1.2000000476837158, 173 - "maximum_attack_damage_player": 1.2000000476837158, 174 - "maximum_attack_stat": 200, 175 - "minimum_movement_speed": 1.2999999523162842, 176 - "maximum_movement_speed": 2.0, 177 - "speed_stat_limit": 548, 178 - "activate_type_effect": false, 179 - "activate_move_effect": true, 180 - "max_damage_reduction_multiplier": 0.4000000059604645, 181 - "max_damage_reduction_multiplier_player": 1.2000000476837158, 182 - "defense_stat_limit": 161, 183 - "force_wild_battle_on_player_attack": false, 184 - "force_player_battle_on_player_attack": false, 185 - "force_wild_battle_on_pokemon_hurt": false, 186 - "force_player_battle_on_pokemon_hurt": false, 187 - "force_wild_battle_on_player_hurt": false, 188 - "force_player_battle_on_player_hurt": false, 189 - "force_player_battle_check_team": true, 190 - "wild_pokemon_ranged_attack": false, 191 - "minimum_ranged_attack_interval": 1.0, 192 - "maximum_ranged_attack_interval": 3.0, 193 - "minimum_melee_attack_interval": 1.0, 194 - "maximum_melee_attack_interval": 3.0, 195 - "minimum_ranged_attack_damage": 1.0, 196 - "maximum_ranged_attack_damage": 50.0, 197 - "minimum_ranged_attack_damage_player": 1.2000000476837158, 198 - "ranged_attack_damage_player": 1.2000000476837158, 199 - "maximum_ranged_attack_damage_player": 1.2000000476837158, 200 - "maximum_special_attack_stat": 200, 201 - "type_effectiveness_between_pokemon": true, 202 - "super_effective_multiplier": 2.0, 203 - "not_very_effective_multiplier": 0.5, 204 - "no_effect_multiplier": 0.10000000149011612, 205 - "water_type_super_effective_dmg_multiplier": 2.0, 206 - "fire_type_no_effect_dmg_multiplier": 0.10000000149011612, 207 - "ice_type_no_effect_dmg_multiplier": 0.10000000149011612, 208 - "ice_type_super_effective_dmg_multiplier": 2.0, 209 - "poison_type_no_effect_dmg_multiplier": 0.10000000149011612, 210 - "shouldOverrideHealthMechanic": true, 211 - "use_fof_style_hp_calculation": true, 212 - "enable_health_sync_for_wild_pokemon": false, 213 - "min_HP": 8, 214 - "mid_HP": 40, 215 - "max_HP": 100, 216 - "min_HP_required_stat": 20, 217 - "mid_HP_required_stat": 160, 218 - "max_HP_required_stat": 500, 219 - "can_use_poke_staff": true, 220 - "stay_after_move_command": true, 221 - "should_check_poke_staff": true, 222 - "can_use_held_item": true, 223 - "can_use_held_item_damage_influencing": true, 224 - "can_use_held_item_hp_influencing": true, 225 - "player_pokemon_can_hurt_ender_dragon": true, 226 - "wild_pokemon_can_hurt_ender_dragon": false, 227 - "use_fof_style_melee": true, 228 - "use_range_attack": true, 229 - "force_enable_defend_owner": true, 230 - "force_enable_defend_self": true 231 - } 232 - ''; 233 - "config/voicechat/voicechat-server.properties" = pkgs.writeText "voicechat-server.properties" '' 234 - port=24455 235 - bind_address= 236 - max_voice_distance=48 237 - whisper_distance=24 238 - codec=VOIP 239 - mtu_size=1024 240 - tcp_rate_limit=16 241 - keep_alive=1000 242 - enable_groups=true 243 - voice_host= 244 - allow_recording=true 245 - spectator_interaction=false 246 - spectator_player_possession=false 247 - force_voice_chat=false 248 - login_timeout=10000 249 - broadcast_range=-1.0 250 - allow_pings=true 251 - use_natives=true 252 - ''; 253 - }; 254 - }; 255 - }
+13
modules/services/minecraft/yembina/cobblemon-size-variation.json
··· 1 + { 2 + "sizeModificationChance": 0.5, 3 + "preventShoulderMountSize": 1.5, 4 + "preventRidingMinSize": 0.3, 5 + "preventRidingMaxSize": 1.8, 6 + "sizingAlgorithm": "basic", 7 + "permissions": [ 8 + { "cobblemonsizevariation.command.pokesizer": 2 }, 9 + { "cobblemonsizevariation.command.pokesizer.self": 2 } 10 + ], 11 + "biasSizeTowardAverage": true, 12 + "enableEssenceRecipes": true 13 + }
+16
modules/services/minecraft/yembina/cobblemon_smartphone.json
··· 1 + { 2 + "cooldowns": { 3 + "healButton": 300, 4 + "pcButton": 5, 5 + "cloudButton": 5, 6 + "waystoneButton": 600 7 + }, 8 + "features": { 9 + "enableHeal": true, 10 + "enablePC": true, 11 + "enableCloud": true, 12 + "enablePokenav": true, 13 + "enableCobbleDollars": true, 14 + "enableWaystone": true 15 + } 16 + }
+62
modules/services/minecraft/yembina/default.nix
··· 1 + { pkgs, ... }: 2 + { 3 + networking.firewall = { 4 + allowedTCPPorts = [ 25566 ]; 5 + allowedUDPPorts = [ 24455 ]; 6 + }; 7 + 8 + services.minecraft-servers.servers.yembina = 9 + let 10 + modpack = pkgs.fetchModrinthModpack { 11 + url = "https://cobblemon.yeem.pink/m/cobblemon-3.0.0.mrpack"; 12 + packHash = "sha256-Ynmxy68h7PdU5YjN1/uTzFYV6sIsNeu+4bQEP5LPplE="; 13 + side = "server"; 14 + }; 15 + in 16 + { 17 + enable = true; 18 + package = pkgs.fabricServers.fabric-1_21_1; 19 + jvmOpts = "-Xmx4G -Xms1G"; 20 + # operators = { 21 + # yemou.uuid = "12069472-23e7-48a8-b893-461483a4da88"; 22 + # zombina.uuid = "ad345410-798e-4d70-870a-67e461d7a3a1"; 23 + # }; 24 + whitelist = { 25 + JordonAM = "307f116b-fb05-43f9-bf11-c73a59a3544d"; 26 + MortelleWonder = "3ad82423-c7ad-431f-9717-4eb605623a9d"; 27 + Zombina = "ad345410-798e-4d70-870a-67e461d7a3a1"; 28 + _66Sixela = "fba0aa5b-0074-4069-9aa4-6034be349616"; 29 + yemou = "12069472-23e7-48a8-b893-461483a4da88"; 30 + }; 31 + serverProperties = { 32 + allow-flight = true; 33 + difficulty = "normal"; 34 + enforce-whitelist = true; 35 + motd = "cobblemon private server"; 36 + server-ip = "::"; 37 + server-port = 25566; 38 + spawn-protection = 0; 39 + white-list = true; 40 + require-resource-pack = false; 41 + resource-pack = "https://cobblemon.yeem.pink/r/resources-3.0.0.zip"; 42 + resource-pack-sha1 = "132db0ad3c1b3fd228deffbc5c7004d932908dca"; 43 + resource-pack-prompt = "This resource pack is REQUIRED for the visuals on the server."; 44 + }; 45 + symlinks = { 46 + "mods" = "${modpack}/mods"; 47 + "world/datapacks" = "${modpack}/datapacks"; 48 + }; 49 + files = { 50 + "config" = "${modpack}/config"; 51 + "config/cobblemon_smartphone.json" = ./cobblemon_smartphone.json; 52 + "config/cobblemonsizevariation/config.json" = ./cobblemon-size-variation.json; 53 + "config/fightorflight.json5" = ./fightorflight.json5; 54 + "config/rctmod-server.toml" = ./rctmod-server.toml; 55 + "config/rightclickharvest.json5" = ./rightclickharvest.json5; 56 + "config/toughasnails/temperature.toml" = ./toughasnails/temperature.toml; 57 + "config/toughasnails/thirst.toml" = ./toughasnails/thirst.toml; 58 + "config/treeharvester.json5" = ./treeharvester.json5; 59 + "config/voicechat/voicechat-server.properties" = ./voicechat-server.properties; 60 + }; 61 + }; 62 + }
+166
modules/services/minecraft/yembina/fightorflight.json5
··· 1 + { 2 + "do_pokemon_attack": true, 3 + "do_pokemon_attack_unprovoked": true, 4 + "light_dependent_unprovoked_attack": false, 5 + "failed_capture_counted_as_provocation": true, 6 + "do_pokemon_attack_in_battle": false, 7 + "aggressive_pokemon_catchable": true, 8 + "minimum_attack_level": 5, 9 + "minimum_attack_unprovoked_level": 10, 10 + "not_attacking_wild_shiny": true, 11 + "aggressive_threshold": 100.0, 12 + "neutral_threshold": 20.0, 13 + "aggression_level_base_value": 40.0, 14 + "aggression_level_multiplier": 1.0, 15 + "aggression_atk_def_dif_base_value": 30.0, 16 + "dark_light_level_aggro": true, 17 + "ghost_light_level_aggro": true, 18 + "aggression_light_level_base_value": 30.0, 19 + "aggression_nature_base_value": 40.0, 20 + "aggression_intimidation_base_value": -30.0, 21 + "always_aggro_below": -128.0, 22 + "stop_running_after_hurt": false, 23 + "slow_down_after_hurt": true, 24 + "aggressive_nature": [ 25 + "sassy", 26 + "hardy", 27 + "bold", 28 + "impish", 29 + "hasty" 30 + ], 31 + "aggressive_nature_multiplier": 1.0, 32 + "more_aggressive_nature": [ 33 + "brave", 34 + "rash", 35 + "adamant", 36 + "naughty" 37 + ], 38 + "more_aggressive_nature_multiplier": 2.0, 39 + "peaceful_nature": [ 40 + "relaxed", 41 + "lax", 42 + "quiet", 43 + "bashful", 44 + "calm" 45 + ], 46 + "peaceful_nature_multiplier": -1.0, 47 + "more_peaceful_nature": [ 48 + "docile", 49 + "timid", 50 + "gentle", 51 + "careful" 52 + ], 53 + "more_peaceful_nature_multiplier": -2.0, 54 + "peaceful_biome": [ 55 + "minecraft:deep_dark" 56 + ], 57 + "neutral_biome": [], 58 + "aggressive_biome": [], 59 + "always_aggro_aspects": [ 60 + "alolan" 61 + ], 62 + "always_aggro": [ 63 + "mankey", 64 + "primeape" 65 + ], 66 + "never_aggro": [ 67 + "slowpoke", 68 + "pyukumuku" 69 + ], 70 + "provoke_only_aggro": [], 71 + "always_flee": [ 72 + "wimpod" 73 + ], 74 + "aggro_reducing_abilities": [ 75 + "intimidate", 76 + "unnerve", 77 + "pressure" 78 + ], 79 + "mold_breaker_like_ablilities": [ 80 + "moldbreaker", 81 + "turboblaze", 82 + "teravolt" 83 + ], 84 + "all_pokemon_targeting_whitelist": [ 85 + "minecraft:villager" 86 + ], 87 + "wild_pokemon_targeting_whitelist": [], 88 + "player_owned_pokemon_targeting_whitelist": [], 89 + "allow_teleport_to_flee": true, 90 + "do_pokemon_defend_owner": true, 91 + "do_pokemon_defend_proactive": true, 92 + "do_player_pokemon_attack_other_players": false, 93 + "do_player_pokemon_attack_other_player_pokemon": false, 94 + "multiple_cries": true, 95 + "time_to_cry_again": 100, 96 + "experience_multiplier": 0.5, 97 + "can_gain_ev": true, 98 + "can_progress_use_move_evolution": true, 99 + "suffocation_immunity": true, 100 + "pvp_immunity": true, 101 + "friendly_fire_immunity_team": true, 102 + "friendly_fire_immunity_owner": true, 103 + "max_bonus_from_stat": 4.0, 104 + "minimum_attack_damage": 1.0, 105 + "maximum_attack_damage": 50.0, 106 + "minimum_attack_damage_player": 1.2000000476837158, 107 + "attack_damage_player": 1.2000000476837158, 108 + "maximum_attack_damage_player": 1.2000000476837158, 109 + "maximum_attack_stat": 200, 110 + "minimum_movement_speed": 1.2999999523162842, 111 + "maximum_movement_speed": 2.0, 112 + "speed_stat_limit": 548, 113 + "activate_type_effect": false, 114 + "activate_move_effect": true, 115 + "max_damage_reduction_multiplier": 0.4000000059604645, 116 + "max_damage_reduction_multiplier_player": 1.2000000476837158, 117 + "defense_stat_limit": 161, 118 + "force_wild_battle_on_player_attack": false, 119 + "force_player_battle_on_player_attack": false, 120 + "force_wild_battle_on_pokemon_hurt": false, 121 + "force_player_battle_on_pokemon_hurt": false, 122 + "force_wild_battle_on_player_hurt": false, 123 + "force_player_battle_on_player_hurt": false, 124 + "force_player_battle_check_team": true, 125 + "wild_pokemon_ranged_attack": false, 126 + "minimum_ranged_attack_interval": 1.0, 127 + "maximum_ranged_attack_interval": 3.0, 128 + "minimum_melee_attack_interval": 1.0, 129 + "maximum_melee_attack_interval": 3.0, 130 + "minimum_ranged_attack_damage": 1.0, 131 + "maximum_ranged_attack_damage": 50.0, 132 + "minimum_ranged_attack_damage_player": 1.2000000476837158, 133 + "ranged_attack_damage_player": 1.2000000476837158, 134 + "maximum_ranged_attack_damage_player": 1.2000000476837158, 135 + "maximum_special_attack_stat": 200, 136 + "type_effectiveness_between_pokemon": true, 137 + "super_effective_multiplier": 2.0, 138 + "not_very_effective_multiplier": 0.5, 139 + "no_effect_multiplier": 0.10000000149011612, 140 + "water_type_super_effective_dmg_multiplier": 2.0, 141 + "fire_type_no_effect_dmg_multiplier": 0.10000000149011612, 142 + "ice_type_no_effect_dmg_multiplier": 0.10000000149011612, 143 + "ice_type_super_effective_dmg_multiplier": 2.0, 144 + "poison_type_no_effect_dmg_multiplier": 0.10000000149011612, 145 + "shouldOverrideHealthMechanic": true, 146 + "use_fof_style_hp_calculation": true, 147 + "enable_health_sync_for_wild_pokemon": false, 148 + "min_HP": 8, 149 + "mid_HP": 40, 150 + "max_HP": 100, 151 + "min_HP_required_stat": 20, 152 + "mid_HP_required_stat": 160, 153 + "max_HP_required_stat": 500, 154 + "can_use_poke_staff": true, 155 + "stay_after_move_command": true, 156 + "should_check_poke_staff": true, 157 + "can_use_held_item": true, 158 + "can_use_held_item_damage_influencing": true, 159 + "can_use_held_item_hp_influencing": true, 160 + "player_pokemon_can_hurt_ender_dragon": true, 161 + "wild_pokemon_can_hurt_ender_dragon": false, 162 + "use_fof_style_melee": true, 163 + "use_range_attack": true, 164 + "force_enable_defend_owner": true, 165 + "force_enable_defend_self": true 166 + }
+172
modules/services/minecraft/yembina/rctmod-server.toml
··· 1 + [Spawning] 2 + #━━━━━━━━━━ 3 + #A global factor that determines if a spawn attempt for a trainer is made. 4 + # Default: 0.85 5 + # Range: 0.0 ~ 1.0 6 + globalSpawnChance = 0.85 7 + #━━━━━━━━━━ 8 + #The chance for a trainer to spawn will shrink towards this value based of how many 9 + #trainers are already spawned in for a player. For example if a player has 0 trainers 10 + #spawned for them the chance will be as configured by globalSpawnChance, if a player 11 + #has barely filled up their spawn cap (maxTrainersPerPlayer), i.e. only one more free 12 + #spot is left, the chance for the last trainer will be as configured by globalSpawnChanceMinimum. 13 + #Set to any value equal to or above globalSpawnChance to disable (e.g. 1.0). 14 + # Default: 0.1 15 + # Range: 0.0 ~ 1.0 16 + globalSpawnChanceMinimum = 0.1 17 + #━━━━━━━━━━ 18 + #The interval in ticks at which a spawn attempt is made per player. 19 + # Default: 180 20 + # Range: 1 ~ 2147483646 21 + spawnIntervalTicks = 180 22 + #━━━━━━━━━━ 23 + #The spawn interval ticks will grow towards this value based of how many trainers are already 24 + #spawned in for a player. For example if a player has 0 trainers spawned for them the spawn 25 + #interval ticks will be as configured by spawnIntervalTicks, if a player has barely filled up their 26 + #spawn cap (maxTrainersPerPlayer), i.e. only one more free spot is left, the spawn interval for the 27 + #last trainer will be as configured by spawnIntervalTicksMaximum. Set to any value equal to or below 28 + #spawnIntervalTicks to disable (e.g. 0). 29 + # Default: 2400 30 + # Range: 0 ~ 2147483646 31 + spawnIntervalTicksMaximum = 2400 32 + #━━━━━━━━━━ 33 + #(Non persistent) trainers will despawn if they have no line of sight to any player for the configured amount of ticks. 34 + #Set to a negative value to disable this feature (trainers may only despawn if they chunk becomes unloaded in that case). 35 + despawnTicksIfUnseen = 6000 36 + #━━━━━━━━━━ 37 + #The max horizontal distance a trainer can spawn from players. 38 + # Default: 70 39 + # Range: 1 ~ 2147483646 40 + maxHorizontalDistanceToPlayers = 70 41 + #━━━━━━━━━━ 42 + #The min horizontal distance a trainer can spawn from players. 43 + # Default: 25 44 + # Range: 1 ~ 2147483646 45 + minHorizontalDistanceToPlayers = 25 46 + #━━━━━━━━━━ 47 + #The max vertical distance a trainer can spawn from players. 48 + # Default: 30 49 + # Range: 1 ~ 2147483646 50 + maxVerticalDistanceToPlayers = 30 51 + #━━━━━━━━━━ 52 + #By default, this mod prevents the spawning of a trainer if another entity with the same identity 53 + #already exists anywhere in the world (in any dimension). However, if this is set to a positive value, 54 + #the mod will check for the existence of a trainer with the same identity within the specified radius instead. 55 + uniqueTrainerRadius = 500 56 + #━━━━━━━━━━ 57 + #Spawn cap of trainers per player. 58 + # Default: 12 59 + # Range: 0 ~ 2147483646 60 + maxTrainersPerPlayer = 12 61 + #━━━━━━━━━━ 62 + #Total trainer spawn cap. This value may be increased for servers with higher expected 63 + #player numbers (> 4), for example (|players| + 1)*maxTrainersPerPlayer. 64 + # Default: 60 65 + # Range: 0 ~ 2147483646 66 + maxTrainersTotal = 60 67 + #━━━━━━━━━━ 68 + #The maximum level difference between the strongest pokemon in the team of a 69 + #player (at or below that players level cap) and the strongest pokemon in the 70 + #team of a trainer to allow that trainer to spawn for the player. 71 + # 72 + #This value will scale linearly with a players level relative to 100 but will 73 + #not go below 4 (unless explicitely set to a lower value). An exception to this 74 + #are key trainers, who may always spawn with a level difference up to the 75 + #configured value. 76 + # 77 + #For example with player Level = 20 and maxLevelDiff = 25: 78 + #result = max(4, (20/100) * 25) = max(4, 5) = 5 79 + # 80 + #The spawn weight decreases with a higher level difference. 81 + # Default: 25 82 + # Range: 0 ~ 100 83 + maxLevelDiff = 25 84 + #━━━━━━━━━━ 85 + #If enabled trainers will only spawn naturally around players that have a trainer card 86 + #in their inventory (does not affect trainer spawners). 87 + spawningRequiresTrainerCard = true 88 + #━━━━━━━━━━ 89 + #If enabled a single trainer association npc may spawn naturally nearby players that carry a trainer 90 + #card and have either not started a series or completed their current series. One may also spawn nearby 91 + #any player in proximity to a village (at least 3 occupied beds and a village center). These can 92 + #spawn everywhere but will respect the 'dimensionBlacklist' and 'dimensionWhitelist' settings. 93 + spawnTrainerAssociation = true 94 + #━━━━━━━━━━ 95 + #A comma separated list of dimensions (e.g. ["multiworld:spawn", "minecraft:the_end"]). 96 + #In these dimensions trainers will never spawn. 97 + dimensionBlacklist = [] 98 + #━━━━━━━━━━ 99 + #A comma separated list of dimensions (e.g. ["multiworld:spawn" , "minecraft:the_end"]). 100 + #Trainers may only spawn in these dimensions (unless the list is empty). 101 + dimensionWhitelist = [] 102 + #━━━━━━━━━━ 103 + #A comma separated list of biome tags (e.g. ["is_overworld", "is_forest"]). 104 + #A biome may not have any of the given tags attached to it, for a trainer to spawn in that biome. 105 + #Trainers may also have additional tags defined by a data pack. 106 + biomeTagBlacklist = [] 107 + #━━━━━━━━━━ 108 + #A comma separated list of biome tags (e.g. ["is_overworld", "is_forest"]). 109 + #A biome must have atleast one of the given tags attached to it, for a trainer to spawn in that 110 + #biome (unless the list is empty). Trainers may also have additional tags defined by a data pack. 111 + biomeTagWhitelist = [] 112 + 113 + [Trainers] 114 + #━━━━━━━━━━ 115 + #Determines if trainers may force players into a battle if they look at each other for 116 + #a certain amount if time. 117 + forceBattleOnSight = false 118 + #━━━━━━━━━━ 119 + #Max distance in blocks at which trainers may start a battle on sight. 120 + # Default: 8.0 121 + # Range: 0.0 ~ 32.0 122 + forceBattleMaxDistance = 8.0 123 + #━━━━━━━━━━ 124 + #Number of ticks a trainer and player need to stare at each other to initiate a battle. 125 + #Setting this to a very large number effectively disables this features but trainers 126 + #will behave slightly different. 127 + # Default: 60 128 + # Range: 0 ~ 2147483646 129 + forceBattleLookTicks = 60 130 + #━━━━━━━━━━ 131 + #Maximum level difference between the strongest pokemon of a trainer and a player to 132 + #allow the trainer to force a battle. 133 + # Default: 16 134 + # Range: 0 ~ 2147483646 135 + forceBattleMaxLevelDiff = 16 136 + 137 + [Players] 138 + #━━━━━━━━━━ 139 + #Initial level cap of players. Pokemon will not gain any experience if at or 140 + #above the level cap. This value will be capped to not go below the level cap 141 + #for the first trainer of a series (you may use 'relativeLevelCap' for that). 142 + # Default: 15 143 + # Range: 1 ~ 2147483646 144 + initialLevelCap = 15 145 + #━━━━━━━━━━ 146 + #The level cap of a player is based of the strongest pokemon from the party of their next 147 + #required trainer in a series. The relativeLevelCap is added to the resulting value. For 148 + #instance if the next trainer for a player has a Pikachu at level 50, that players level 149 + #cap will be 50 + relativeLevelCap (can be negative). 150 + relativeLevelCap = 0 151 + #━━━━━━━━━━ 152 + #The initial series players are placed in when entering a world for the first time. Apart from any series id 153 + #this value may also be set to one of the special series ids "empty" (i.e. no series) or "freeroam". 154 + #Note that when setting the initial series to "freeroam" it is usually a good idea to also disable 155 + #'freeroamRequiresCompletedSeries'. 156 + initialSeries = "empty" 157 + #━━━━━━━━━━ 158 + #The freeroam series will grant a level cap of 100 and allows players to pause the progression of their 159 + #current series. If this option is enabled, players must have completed any other series first to gain 160 + #access to the trade at the trainer association. 161 + freeroamRequiresCompletedSeries = true 162 + #━━━━━━━━━━ 163 + #If enabled the level cap of a players will not prevent their pokemon from gaining experience and leveling up. 164 + allowOverLeveling = false 165 + 166 + [Debug] 167 + #━━━━━━━━━━ 168 + #If enabled additional information are printed to the log whenever a trainer spawns or despawns. 169 + logSpawning = false 170 + #━━━━━━━━━━ 171 + #If enabled additional information are printed to the log whenever a trainer repel rod is registered or unregistered. 172 + logRepelRods = false
+20
modules/services/minecraft/yembina/rightclickharvest.json5
··· 1 + { 2 + // - default: false 3 + "requireHoe": false, 4 + // - default: true 5 + "harvestInRadius": true, 6 + /* - default: NONE 7 + - must be one of: NONE, LOW, NORMAL, HIGH 8 + */ 9 + "hungerLevel": "NORMAL", 10 + /* - default: NONE 11 + - must be one of: NONE, COST, REWARD 12 + */ 13 + "experienceType": "NONE", 14 + // - default: true 15 + "showServerWarning": true, 16 + /* Modpack developers, set this to true to stop RCH telling users that they probably need to equip a hoe to harvest crops (if requireHoe is set to true). This message will only be displayed once. 17 + - default: false 18 + */ 19 + "hasUserBeenWarnedForNotUsingHoe": false 20 + }
+57
modules/services/minecraft/yembina/toughasnails/temperature.toml
··· 1 + [general] 2 + #Duration of heating or cooling effects given by consuming items. 3 + consumable_effect_duration = 1200 4 + #Number of ticks to delay changing the player's temperature after their temperature changes. 5 + temperature_change_delay = 500 6 + #Number of ticks to delay changing the player's temperature after their temperature changes when affected by a player-based temperature modifier. 7 + player_temperature_change_delay = 125 8 + #The order in which to apply built-in temperature modifiers 9 + temperature_modifier_order = ["player_modifiers", "item_modifier", "armor_modifier", "internal_modifier"] 10 + #Number of ticks to delay taking damage when icy or hot. 11 + extremity_damage_delay = 500 12 + #Number of ticks to delay changing the player's temperature after their temperature changes from consuming a heating or cooling item. 13 + internal_temperature_change_delay = 20 14 + #Number of ticks to delay changing the player's temperature after their temperature changes when wearing armor. 15 + armor_temperature_change_delay = 50 16 + #Number of ticks to delay changing the player's temperature after their temperature changes when holding an item. 17 + handheld_temperature_change_delay = 375 18 + #Whether or not Climate Clemency should be granted when respawning. 19 + climate_clemency_respawning = true 20 + #Number of ticks for the duration of Climate Clemency. 21 + climate_clemency_duration = 12000 22 + #Number of ticks to delay changing the player's temperature after their temperature changes when rebounding from an extreme temperature. 23 + extremity_rebound_temperature_change_delay = 250 24 + 25 + [altitude] 26 + #Y level to drop the temperature at when above 27 + temperature_drop_altitude = 160 28 + #Y level to rise the temperature at when below 29 + temperature_rise_altitude = -32 30 + #Y level above which environmental modifiers are applied 31 + environmental_modifier_altitude = 50 32 + 33 + [immersion] 34 + #Number of ticks a player stays wet for after touching water, rain or snow. 35 + wet_ticks = 40 36 + #Amount to change the temperature by when in powdered snow. 37 + powdered_snow_temperature_change = -2 38 + #Amount to change the temperature by when snowing. 39 + snow_temperature_change = -1 40 + #Amount to change the temperature by when wet. 41 + wet_temperature_change = -1 42 + #Amount to change the temperature by when on fire. 43 + on_fire_temperature_change = 2 44 + 45 + [blocks] 46 + #The proximity which constitutes near a heat or cool source 47 + near_heat_cool_proximity = 8 48 + 49 + [toggles] 50 + #Enable or disable temperature. 51 + enable_temperature = true 52 + 53 + [time] 54 + #Amount to change the temperature at night when the original temperature is hot. 55 + night_hot_temperature_change = -2 56 + #Amount to change the temperature at night when the original temperature is not hot. 57 + night_temperature_change = -1
+21
modules/services/minecraft/yembina/toughasnails/thirst.toml
··· 1 + [general] 2 + #The threshold at which exhaustion causes a reduction in hydration and the thirst bar. 3 + exhaustion_threshold = 8.0 4 + 5 + [drink_options] 6 + #Hydration restored from drinking with hands. 7 + hand_drinking_hydration = 0.1 8 + #Thirst restored from drinking with hands. 9 + hand_drinking_thirst = 1 10 + 11 + [toggles] 12 + #Prevent sprinting when thirsty. 13 + thirst_prevent_sprint = true 14 + #Prevent health regeneration when thirsty. 15 + thirst_prevent_health_regen = true 16 + #Enable or disable thirst. 17 + enable_thirst = true 18 + #Remove source blocks when filling the canteen. 19 + remove_source_blocks = false 20 + #Enable or disable hand drinking. 21 + enable_hand_drinking = true
+38
modules/services/minecraft/yembina/treeharvester.json5
··· 1 + { 2 + // If enabled, tree harvesting only works when a player is holding an axe in the main hand. 3 + "mustHoldAxeForTreeHarvest": true, 4 + // If enabled, tree harvesting works when not holding the sneak button. If disabled it's reversed, and only works when sneaking. 5 + "treeHarvestWithoutSneak": false, 6 + // Whether the mod should attempt to find the actual bottom log of the tree and start there. This means you can break a tree in the middle and it will still completely be felled. 7 + "automaticallyFindBottomBlock": true, 8 + // If enabled, the leaves around a broken tree will quickly disappear. Only works with 'instantBreakLeavesAround' disabled. 9 + "enableFastLeafDecay": true, 10 + // If enabled, the warped stem/crimson trees in the nether will also be chopped down quickly. 11 + "enableNetherTrees": true, 12 + // If enabled, giant/huge mushrooms will also be chopped down quickly. 13 + "enableHugeMushrooms": true, 14 + // If enabled, trees with leaves placed by players won't be destroyed. 15 + "ignorePlayerMadeTrees": true, 16 + // If enabled, automatically replaces the sapling from the drops when a tree is harvested. 17 + "replaceSaplingOnTreeHarvest": false, 18 + // If enabled, automatically replaces the sapling from the drops when a huge mushroom is harvested and 'enableHugeMushrooms' is enabled. 19 + "replaceMushroomOnMushroomHarvest": false, 20 + // If enabled, for every log harvested, the axe held loses durability. 21 + "loseDurabilityPerHarvestedLog": true, 22 + // Here you can set how much durability chopping down a tree should take from the axe. For example if set to 0.1, this means that every 10 logs take 1 durability. 23 + // min: 0.001, max: 1.0 24 + "loseDurabilityModifier": 1.0, 25 + // If enabled, players' exhaustion level increases 0.005 per harvested log (Minecraft's default per broken block) * increaseExhaustionModifier. 26 + "increaseExhaustionPerHarvestedLog": true, 27 + // This determines how much exhaustion should be added to the player per harvested log. By default 0.005 * 1.0. 28 + // min: 0.001, max: 1.0 29 + "increaseExhaustionModifier": 1.0, 30 + // If enabled, harvesting time will increase per existing log in the tree. The amount is determined by 'increasedHarvestingTimePerLogModifier'. 31 + "increaseHarvestingTimePerLog": true, 32 + // How much longer it takes to harvest a tree with 'increaseHarvestingTimePerLog' enabled. The actual speed is: newSpeed = originalSpeed / (1 + (logCount * increasedHarvestingTimePerLogModifier)). 33 + // min: 0.01, max: 10.0 34 + "increasedHarvestingTimePerLogModifier": 0.2, 35 + // How many leaves should be broken per tick after a tree has been harvested. Increasing this will speed up the fast leaf decay, but costs more processing power per tick. 36 + // min: 1, max: 16 37 + "amountOfLeavesBrokenPerTick": 5 38 + }
+18
modules/services/minecraft/yembina/voicechat-server.properties
··· 1 + port=24455 2 + bind_address= 3 + max_voice_distance=48 4 + whisper_distance=24 5 + codec=VOIP 6 + mtu_size=1024 7 + tcp_rate_limit=16 8 + keep_alive=1000 9 + enable_groups=true 10 + voice_host= 11 + allow_recording=true 12 + spectator_interaction=false 13 + spectator_player_possession=false 14 + force_voice_chat=false 15 + login_timeout=10000 16 + broadcast_range=-1.0 17 + allow_pings=true 18 + use_natives=true