mirror of
https://git.sanhost.net/sanasol/hytale-f2p.git
synced 2026-02-26 06:41:47 -03:00
v2.4.1: Replace raw wrapper script editor with structured config UI
Replace the raw textarea script editor with a structured form for Java wrapper configuration. Users now manage two lists (JVM flags to strip, args to inject with server/always condition) instead of editing bash/batch scripts directly. Scripts are generated at launch time from the structured config. Includes collapsible script preview for power users.
This commit is contained in:
@@ -430,8 +430,70 @@
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="settings-section">
|
||||
<h3 class="settings-section-title">
|
||||
<i class="fas fa-scroll"></i>
|
||||
<span data-i18n="settings.wrapperConfig">Java Wrapper Configuration</span>
|
||||
</h3>
|
||||
<p class="settings-hint" style="margin-bottom: 12px;">
|
||||
<i class="fas fa-info-circle"></i>
|
||||
<span data-i18n="settings.wrapperConfigHint">Configure how the Java wrapper handles JVM flags and arguments at launch time.</span>
|
||||
</p>
|
||||
|
||||
<!-- Strip Flags -->
|
||||
<label class="settings-label" style="margin-bottom: 6px;">
|
||||
<span data-i18n="settings.wrapperStripFlags">JVM Flags to Remove</span>
|
||||
</label>
|
||||
<div id="wrapperStripFlagsList" class="wrapper-items-list"></div>
|
||||
<div style="display: flex; gap: 6px; margin-top: 6px;">
|
||||
<input type="text" id="wrapperAddFlagInput" class="settings-input" style="flex:1;"
|
||||
data-i18n-placeholder="settings.wrapperAddFlagPlaceholder" placeholder="e.g. -XX:+SomeFlag" spellcheck="false">
|
||||
<button id="wrapperAddFlagBtn" class="settings-browse-btn">
|
||||
<i class="fas fa-plus"></i>
|
||||
<span data-i18n="settings.wrapperAdd">Add</span>
|
||||
</button>
|
||||
</div>
|
||||
|
||||
<!-- Inject Args -->
|
||||
<label class="settings-label" style="margin-top: 16px; margin-bottom: 6px;">
|
||||
<span data-i18n="settings.wrapperInjectArgs">Arguments to Inject</span>
|
||||
</label>
|
||||
<div id="wrapperInjectArgsList" class="wrapper-items-list"></div>
|
||||
<div style="display: flex; gap: 6px; margin-top: 6px;">
|
||||
<input type="text" id="wrapperAddArgInput" class="settings-input" style="flex:1;"
|
||||
data-i18n-placeholder="settings.wrapperAddArgPlaceholder" placeholder="e.g. --some-flag" spellcheck="false">
|
||||
<select id="wrapperAddArgCondition" class="wrapper-condition-select">
|
||||
<option value="server" data-i18n="settings.wrapperConditionServer">Server Only</option>
|
||||
<option value="always" data-i18n="settings.wrapperConditionAlways">Always</option>
|
||||
</select>
|
||||
<button id="wrapperAddArgBtn" class="settings-browse-btn">
|
||||
<i class="fas fa-plus"></i>
|
||||
<span data-i18n="settings.wrapperAdd">Add</span>
|
||||
</button>
|
||||
</div>
|
||||
|
||||
<!-- Restore Defaults -->
|
||||
<div style="margin-top: 12px;">
|
||||
<button id="wrapperRestoreDefaultsBtn" class="settings-browse-btn" style="background: rgba(239, 68, 68, 0.2); border-color: rgba(239, 68, 68, 0.3);">
|
||||
<i class="fas fa-undo"></i>
|
||||
<span data-i18n="settings.wrapperRestoreDefaults">Restore Defaults</span>
|
||||
</button>
|
||||
</div>
|
||||
|
||||
<!-- Script Preview (collapsible) -->
|
||||
<div style="margin-top: 12px;">
|
||||
<button id="wrapperPreviewToggle" class="wrapper-preview-toggle">
|
||||
<i class="fas fa-chevron-right" id="wrapperPreviewChevron"></i>
|
||||
<span data-i18n="settings.wrapperAdvancedPreview">Advanced: Script Preview</span>
|
||||
</button>
|
||||
<div id="wrapperPreviewContainer" style="display: none; margin-top: 8px;">
|
||||
<pre id="wrapperPreviewContent" class="wrapper-preview-content"></pre>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
||||
<div class="settings-column">
|
||||
<div class="settings-section">
|
||||
<h3 class="settings-section-title">
|
||||
|
||||
Reference in New Issue
Block a user