Update .gitignore to include sync-mods-from-client.ps1 for better management of server scripts and update Minecraft instance configuration to reflect the latest mod loader details.
This commit is contained in:
@@ -31,6 +31,7 @@
|
|||||||
!/Server/install_java.sh
|
!/Server/install_java.sh
|
||||||
!/Server/start.bat
|
!/Server/start.bat
|
||||||
!/Server/start.ps1
|
!/Server/start.ps1
|
||||||
|
!/Server/sync-mods-from-client.ps1
|
||||||
!/Server/start.sh
|
!/Server/start.sh
|
||||||
!/Server/variables.txt
|
!/Server/variables.txt
|
||||||
!/Server/manifest.json
|
!/Server/manifest.json
|
||||||
|
|||||||
@@ -0,0 +1,14 @@
|
|||||||
|
{
|
||||||
|
// Whether Collective should show a message in the console if a dependent mod has an update available. Update checks are optional and async.
|
||||||
|
"enableUpdateChecker": true,
|
||||||
|
// When enabled, transfer the held items and armour from replaced entities by any of the Entity Spawn mods which depend on Collective.
|
||||||
|
"transferItemsBetweenReplacedEntities": true,
|
||||||
|
// The amount of times Collective loops through possible mob drops to get them all procedurally. Drops are only generated when a dependent mod uses them. Lowering this can increase world load time but decrease accuracy.
|
||||||
|
// min: 1, max: 500
|
||||||
|
"loopsAmountUsedToGetAllEntityDrops": 100,
|
||||||
|
// The delay of the is-there-a-block-around-check around entities in ms. Used in mods which depends on a specific blockstate in the world. Increasing this number can increase TPS if needed.
|
||||||
|
// min: 0, max: 3600000
|
||||||
|
"findABlockCheckAroundEntitiesDelayMs": 30000,
|
||||||
|
// Enables pets for Patrons. Will be added in a future release.
|
||||||
|
"enablePatronPets": true
|
||||||
|
}
|
||||||
@@ -0,0 +1,15 @@
|
|||||||
|
{
|
||||||
|
// Whether the recursive opening feature should be enabled. This allows you to for example build a giant door with trapdoors which will all open at the same time, as long as they are connected. The 'recursiveOpeningMaxBlocksDistance' config option determines how far the function should search.
|
||||||
|
"enableRecursiveOpening": true,
|
||||||
|
// How many blocks the recursive function should search when 'enableRecursiveOpening' is enabled.
|
||||||
|
// min: 1, max: 64
|
||||||
|
"recursiveOpeningMaxBlocksDistance": 10,
|
||||||
|
// When enables, the mod works with double doors.
|
||||||
|
"enableDoors": true,
|
||||||
|
// When enables, the mod works with double fence gates.
|
||||||
|
"enableFenceGates": false,
|
||||||
|
// When enables, the mod works with double trapdoors.
|
||||||
|
"enableTrapdoors": false,
|
||||||
|
// Checks if there are other mods loaded with double door functionality, such as Quark. If found, it edits a line in their config to disable double doors. Fixes doors not opening due to code being ran twice.
|
||||||
|
"enableModIncompatibilityCheck": true
|
||||||
|
}
|
||||||
Binary file not shown.
Binary file not shown.
Binary file not shown.
@@ -0,0 +1,98 @@
|
|||||||
|
#!/usr/bin/env pwsh
|
||||||
|
# Копирует *.jar из ../mods в ./mods (тот же инстанс).
|
||||||
|
# Не копирует jar, если имя совпадает с одним из шаблонов ниже (только клиент).
|
||||||
|
# Шаблоны — как в PowerShell -like: * и ? (регистр не важен).
|
||||||
|
# Выключенные NeoForge (*.jar.disabled) фильтром *.jar не подхватываются.
|
||||||
|
# Односторонняя синхронизация: клиент -> сервер. Лишние jar на сервере не удаляются.
|
||||||
|
param(
|
||||||
|
[switch] $DryRun
|
||||||
|
)
|
||||||
|
|
||||||
|
$ErrorActionPreference = "Stop"
|
||||||
|
|
||||||
|
# Дополняй при установке новых клиентских модов.
|
||||||
|
$ClientOnlyJarLikePatterns = @(
|
||||||
|
'BadOptimizations-*'
|
||||||
|
'BetterF3-*'
|
||||||
|
'BHMenu-*'
|
||||||
|
'catalogue-*'
|
||||||
|
'clientcrafting-*'
|
||||||
|
'Controlling-*'
|
||||||
|
'defaultoptions-*'
|
||||||
|
'dynamic-fps-*'
|
||||||
|
'entity_model_features_*'
|
||||||
|
'entity_texture_features_*'
|
||||||
|
'entityculling-*'
|
||||||
|
'fast-ip-ping-*'
|
||||||
|
'fancymenu_*'
|
||||||
|
'gpumemleakfix-*'
|
||||||
|
'ImmediatelyFast-*'
|
||||||
|
'iris-*'
|
||||||
|
'konkrete_*'
|
||||||
|
'loadingbackgrounds-*'
|
||||||
|
'mace3d-*'
|
||||||
|
'melody_*'
|
||||||
|
'MouseTweaks-*'
|
||||||
|
'reeses-sodium-options-*'
|
||||||
|
'sodium-neoforge-*'
|
||||||
|
'sodiumextras-*'
|
||||||
|
'sodiumoptionsapi-*'
|
||||||
|
'time_on_display-*'
|
||||||
|
'ToastControl-*'
|
||||||
|
)
|
||||||
|
|
||||||
|
function Test-ClientOnlyJarName([string] $fileName) {
|
||||||
|
foreach ($pattern in $ClientOnlyJarLikePatterns) {
|
||||||
|
if ($fileName -like $pattern) {
|
||||||
|
return $true
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return $false
|
||||||
|
}
|
||||||
|
|
||||||
|
$instanceRoot = Split-Path $PSScriptRoot -Parent
|
||||||
|
$src = Join-Path $instanceRoot "mods"
|
||||||
|
$dst = Join-Path $PSScriptRoot "mods"
|
||||||
|
|
||||||
|
if (-not (Test-Path -LiteralPath $src)) {
|
||||||
|
Write-Error "Клиентские моды не найдены: $src"
|
||||||
|
}
|
||||||
|
|
||||||
|
if (-not (Test-Path -LiteralPath $dst)) {
|
||||||
|
if ($DryRun) {
|
||||||
|
Write-Host "[dry-run] Создал бы папку: $dst"
|
||||||
|
} else {
|
||||||
|
New-Item -ItemType Directory -Path $dst -Force | Out-Null
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
$copied = [System.Collections.Generic.List[string]]::new()
|
||||||
|
$skippedClient = 0
|
||||||
|
|
||||||
|
foreach ($jar in Get-ChildItem -LiteralPath $src -File -Filter "*.jar") {
|
||||||
|
if (Test-ClientOnlyJarName $jar.Name) {
|
||||||
|
$skippedClient++
|
||||||
|
if ($DryRun) {
|
||||||
|
Write-Host "[dry-run] пропуск (клиент): $($jar.Name)"
|
||||||
|
}
|
||||||
|
continue
|
||||||
|
}
|
||||||
|
|
||||||
|
$destPath = Join-Path $dst $jar.Name
|
||||||
|
$copied.Add($jar.Name) | Out-Null
|
||||||
|
|
||||||
|
if ($DryRun) {
|
||||||
|
Write-Host "[dry-run] $($jar.FullName) -> $destPath"
|
||||||
|
continue
|
||||||
|
}
|
||||||
|
|
||||||
|
Copy-Item -LiteralPath $jar.FullName -Destination $destPath -Force
|
||||||
|
}
|
||||||
|
|
||||||
|
Write-Host ("Синхронизировано {0} jar: клиент -> Server/mods." -f $copied.Count)
|
||||||
|
if ($skippedClient -gt 0) {
|
||||||
|
Write-Host ("Пропущено клиентских (по списку в скрипте): {0}" -f $skippedClient)
|
||||||
|
}
|
||||||
|
if ($copied.Count -gt 0 -and $VerbosePreference -eq "Continue") {
|
||||||
|
$copied | Sort-Object | ForEach-Object { Write-Host " $_" }
|
||||||
|
}
|
||||||
@@ -0,0 +1,23 @@
|
|||||||
|
[client]
|
||||||
|
#If true, shows the hunger and saturation values of food in its tooltip while holding SHIFT
|
||||||
|
showFoodValuesInTooltip = true
|
||||||
|
#If true, shows the hunger and saturation values of food in its tooltip automatically (without needing to hold SHIFT)
|
||||||
|
showFoodValuesInTooltipAlways = true
|
||||||
|
#If true, shows your current saturation level overlayed on the hunger bar
|
||||||
|
showSaturationHudOverlay = true
|
||||||
|
#If true, shows the hunger (and saturation if showSaturationHudOverlay is true) that would be restored by food you are currently holding
|
||||||
|
showFoodValuesHudOverlay = true
|
||||||
|
#If true, enables the hunger/saturation/health overlays for food in your off-hand
|
||||||
|
showFoodValuesHudOverlayWhenOffhand = true
|
||||||
|
#If true, shows your food exhaustion as a progress bar behind the hunger bars
|
||||||
|
showFoodExhaustionHudUnderlay = true
|
||||||
|
#If true, adds a line that shows your hunger, saturation, and exhaustion level in the F3 debug overlay
|
||||||
|
showFoodStatsInDebugOverlay = true
|
||||||
|
#If true, shows estimated health restored by food on the health bar
|
||||||
|
showFoodHealthHudOverlay = true
|
||||||
|
#If true, health/hunger overlay will shake to match Minecraft's icon animations
|
||||||
|
showVanillaAnimationsOverlay = true
|
||||||
|
#Alpha value of the flashing icons at their most visible point (1.0 = fully opaque, 0.0 = fully transparent)
|
||||||
|
# Default: 0.65
|
||||||
|
# Range: 0.0 ~ 1.0
|
||||||
|
maxHudOverlayFlashAlpha = 0.65
|
||||||
@@ -0,0 +1,14 @@
|
|||||||
|
{
|
||||||
|
// Whether Collective should show a message in the console if a dependent mod has an update available. Update checks are optional and async.
|
||||||
|
"enableUpdateChecker": true,
|
||||||
|
// When enabled, transfer the held items and armour from replaced entities by any of the Entity Spawn mods which depend on Collective.
|
||||||
|
"transferItemsBetweenReplacedEntities": true,
|
||||||
|
// The amount of times Collective loops through possible mob drops to get them all procedurally. Drops are only generated when a dependent mod uses them. Lowering this can increase world load time but decrease accuracy.
|
||||||
|
// min: 1, max: 500
|
||||||
|
"loopsAmountUsedToGetAllEntityDrops": 100,
|
||||||
|
// The delay of the is-there-a-block-around-check around entities in ms. Used in mods which depends on a specific blockstate in the world. Increasing this number can increase TPS if needed.
|
||||||
|
// min: 0, max: 3600000
|
||||||
|
"findABlockCheckAroundEntitiesDelayMs": 30000,
|
||||||
|
// Enables pets for Patrons. Will be added in a future release.
|
||||||
|
"enablePatronPets": true
|
||||||
|
}
|
||||||
@@ -0,0 +1,15 @@
|
|||||||
|
{
|
||||||
|
// Whether the recursive opening feature should be enabled. This allows you to for example build a giant door with trapdoors which will all open at the same time, as long as they are connected. The 'recursiveOpeningMaxBlocksDistance' config option determines how far the function should search.
|
||||||
|
"enableRecursiveOpening": true,
|
||||||
|
// How many blocks the recursive function should search when 'enableRecursiveOpening' is enabled.
|
||||||
|
// min: 1, max: 64
|
||||||
|
"recursiveOpeningMaxBlocksDistance": 10,
|
||||||
|
// When enables, the mod works with double doors.
|
||||||
|
"enableDoors": true,
|
||||||
|
// When enables, the mod works with double fence gates.
|
||||||
|
"enableFenceGates": false,
|
||||||
|
// When enables, the mod works with double trapdoors.
|
||||||
|
"enableTrapdoors": false,
|
||||||
|
// Checks if there are other mods loaded with double door functionality, such as Quark. If found, it edits a line in their config to disable double doors. Fixes doors not opening due to code being ran twice.
|
||||||
|
"enableModIncompatibilityCheck": true
|
||||||
|
}
|
||||||
File diff suppressed because one or more lines are too long
Binary file not shown.
Binary file not shown.
Binary file not shown.
Reference in New Issue
Block a user