Skip to content

Commit 68f77fc

Browse files
v2.9.0
1 parent 32b02f1 commit 68f77fc

File tree

7 files changed

+961
-573
lines changed

7 files changed

+961
-573
lines changed

index.html

Lines changed: 134 additions & 26 deletions
Original file line numberDiff line numberDiff line change
@@ -27,39 +27,56 @@
2727
</div>
2828

2929
<div class="main-wrapper">
30-
<div class="sidebar">
31-
<div class="sidebar-title">PATCH NOTES</div>
30+
<div class="sidebar collapsed" id="main-sidebar">
31+
<div class="sidebar-title" onclick="toggleSidebar()">
32+
<span id="sidebar-title-text">PATCH NOTES</span>
33+
<span id="sidebar-toggle-icon" title="Expand Patch Notes"></span>
34+
</div>
3235
<div id="updates-list">
3336
<div class="update-item">Loading updates...</div>
3437
</div>
3538
</div>
3639

37-
<div class="content-area">
38-
<div class="relative">
39-
<img src="minecraftlogo.png" class="mc-logo-img" alt="Minecraft Logo">
40-
<div id="splash-text" class="splash-text">Splash!</div>
41-
</div>
42-
43-
<div id="btn-play-main" class="btn-mc btn-play nav-item" onclick="launchGame()" tabindex="0">PLAY</div>
44-
45-
<div class="version-row">
46-
<span class="version-label">Version:</span>
47-
<div id="version-select-box" class="version-select-box nav-item" tabindex="0">
48-
<span id="current-version-display">Loading...</span>
49-
<div class="select-arrow"></div>
50-
<select id="version-select" class="hidden-select" onchange="updateSelectedRelease()">
51-
<option>Loading...</option>
52-
</select>
40+
<div class="content-area" style="flex-direction: row; align-items: stretch; padding: 0;">
41+
42+
<!-- Left Side: Main Menu -->
43+
<div class="menu-column" style="flex: 2; display: flex; flex-direction: column; align-items: center; justify-content: center; position: relative; z-index: 5;">
44+
<div class="relative">
45+
<img src="minecraftlogo.png" class="mc-logo-img" alt="Minecraft Logo">
46+
<div id="splash-text" class="splash-text">Splash!</div>
47+
</div>
48+
49+
<div id="btn-play-main" class="btn-mc btn-play nav-item" onclick="launchGame()" tabindex="0">PLAY</div>
50+
51+
<div class="version-row">
52+
<span class="version-label">Version:</span>
53+
<div id="version-select-box" class="version-select-box nav-item" tabindex="0">
54+
<span id="current-version-display">Loading...</span>
55+
<div class="select-arrow"></div>
56+
<select id="version-select" class="hidden-select" onchange="updateSelectedRelease()">
57+
<option>Loading...</option>
58+
</select>
59+
</div>
60+
<div id="btn-check-update" class="btn-mc btn-mini nav-item" onclick="checkForUpdatesManual()" title="Check for Updates" tabindex="0">
61+
<img src="restart.png" alt="Update">
62+
</div>
5363
</div>
54-
<div id="btn-check-update" class="btn-mc btn-mini nav-item" onclick="checkForUpdatesManual()" title="Check for Updates" tabindex="0">
55-
<img src="restart.png" alt="Update">
64+
65+
<div class="flex gap-4 w-[500px] max-w-[90%]">
66+
<div class="btn-mc flex-grow nav-item" id="btn-instances" onclick="toggleInstances(true)" tabindex="0" style="font-size: 18px;">INSTANCES</div>
67+
<div class="btn-mc flex-grow nav-item" id="btn-profile" onclick="toggleProfile(true)" tabindex="0" style="font-size: 18px;">PROFILE</div>
68+
<div class="btn-mc flex-grow nav-item" id="btn-servers" onclick="toggleServers(true)" tabindex="0" style="font-size: 18px;">SERVERS</div>
69+
<div class="btn-mc flex-grow nav-item" id="btn-options" onclick="toggleOptions(true)" tabindex="0" style="font-size: 18px;">OPTIONS</div>
5670
</div>
5771
</div>
58-
59-
<div class="flex gap-4 w-[500px] max-w-[90%]">
60-
<div class="btn-mc flex-grow nav-item" id="btn-profile" onclick="toggleProfile(true)" tabindex="0">PROFILE</div>
61-
<div class="btn-mc flex-grow nav-item" id="btn-servers" onclick="toggleServers(true)" tabindex="0">SERVERS</div>
62-
<div class="btn-mc flex-grow nav-item" id="btn-options" onclick="toggleOptions(true)" tabindex="0">OPTIONS</div>
72+
73+
<!-- Right Side: Skin Viewer -->
74+
<div class="skin-column" style="flex: 1; display: flex; flex-direction: column; align-items: center; justify-content: center; position: relative; min-width: 300px; padding-right: 0px;">
75+
<div id="main-skin-viewer" style="width: 100%; height: 500px; cursor: grab; display: flex; align-items: center; justify-content: center;"></div>
76+
77+
<div class="btn-mc nav-item" onclick="openSkinManager()" style="width: 250px; height: 48px; font-size: 20px; margin-top: -20px; z-index: 10; margin-left: auto; margin-right: auto;" tabindex="0">
78+
CHANGE SKIN
79+
</div>
6380
</div>
6481

6582
<div class="progress-container" id="progress-container">
@@ -103,6 +120,43 @@
103120
</div>
104121
</div>
105122

123+
<div class="modal-overlay" id="instances-modal">
124+
<div class="modal-box" style="max-width: 900px;">
125+
<div class="modal-title">GAME INSTANCES</div>
126+
127+
<div id="instances-list-container" class="w-full max-h-[400px] overflow-y-auto mb-6 border-2 border-[#555] bg-black p-2">
128+
<!-- Instances will be listed here -->
129+
<div class="text-center text-gray-400 py-4">No instances found.</div>
130+
</div>
131+
132+
<div class="flex gap-4 w-full">
133+
<div class="btn-mc flex-grow nav-item" onclick="createNewInstance()" tabindex="0">ADD INSTANCE</div>
134+
<div class="btn-mc flex-grow nav-item" onclick="toggleInstances(false)" tabindex="0">DONE</div>
135+
</div>
136+
</div>
137+
</div>
138+
139+
<div class="modal-overlay" id="add-instance-modal">
140+
<div class="modal-box" style="max-width: 600px;">
141+
<div class="modal-title" style="font-size: 32px;">NEW INSTANCE</div>
142+
143+
<div class="mc-input-group">
144+
<label class="mc-label">Instance Name:</label>
145+
<input type="text" id="new-instance-name" class="mc-input nav-item" placeholder="My Instance" tabindex="0">
146+
</div>
147+
148+
<div class="mc-input-group">
149+
<label class="mc-label">GitHub Repo (user/repo):</label>
150+
<input type="text" id="new-instance-repo" class="mc-input nav-item" placeholder="smartcmd/MinecraftConsoles" tabindex="0">
151+
</div>
152+
153+
<div class="flex gap-4 w-full mt-4">
154+
<div class="btn-mc flex-grow nav-item" onclick="saveNewInstance()" tabindex="0">CREATE</div>
155+
<div class="btn-mc flex-grow nav-item" onclick="toggleAddInstance(false)" tabindex="0">CANCEL</div>
156+
</div>
157+
</div>
158+
</div>
159+
106160
<div class="modal-overlay" id="options-modal">
107161
<div class="modal-box">
108162
<div class="modal-title">LAUNCHER OPTIONS</div>
@@ -168,7 +222,7 @@
168222

169223
<div class="mc-input-group">
170224
<label class="mc-label">In-Game Username:</label>
171-
<input type="text" id="username-input" class="mc-input nav-item" placeholder="Steve" tabindex="0">
225+
<input type="text" id="username-input" class="mc-input nav-item" placeholder="Steve" tabindex="0" maxlength="16">
172226
</div>
173227

174228
<div class="mc-input-group mt-4">
@@ -194,12 +248,66 @@
194248
</div>
195249
</div>
196250

251+
<div class="modal-overlay" id="skin-modal" style="display: none;">
252+
<div class="modal-box" style="max-width: 900px; background: var(--mc-gui-bg); border: 4px solid #000; padding: 30px; box-shadow: inset 4px 4px 0 #fff;">
253+
<div class="modal-title" style="margin-bottom: 25px;">SKIN UPLOADER</div>
254+
255+
<div id="drop-zone" class="nav-item" style="width: 100%; height: 120px; display: flex; align-items: center; justify-content: center; background: #000; border: 2px solid #555; cursor: pointer; margin-bottom: 20px;" tabindex="0">
256+
<input type="file" id="skin-input" accept=".png" class="absolute inset-0 w-full h-full opacity-0 cursor-pointer" />
257+
<div id="upload-prompt" class="text-center">
258+
<p class="text-xl text-white" style="text-shadow: 2px 2px 0 #000;">CLICK OR DRAG SKIN HERE</p>
259+
<p class="text-xs text-gray-400 mt-1 uppercase font-bold" style="letter-spacing: 2px;">64x32 or 64x64 PNG</p>
260+
</div>
261+
</div>
262+
263+
<div id="preview-container" class="hidden flex flex-col items-center w-full">
264+
<div class="flex flex-row gap-6 items-stretch w-full justify-center mb-6" style="height: 400px;">
265+
<!-- 3D Preview Panel -->
266+
<div class="relative bg-black rounded-none border-2 border-[#555] flex flex-col items-center overflow-hidden w-1/2">
267+
<div id="skin-viewer-container" class="w-full h-full"></div>
268+
<div style="position: absolute; bottom: 10px; left: 10px; color: #55ff55; font-size: 14px; text-shadow: 1px 1px 0 #000; z-index: 5;">3D PREVIEW</div>
269+
</div>
270+
271+
<!-- info/2D Panel -->
272+
<div class="flex-1 w-1/2 flex flex-col gap-4">
273+
<div class="bg-black p-4 border-2 border-[#555] flex flex-col items-center flex-1 justify-center">
274+
<div class="relative" style="margin-bottom: 15px;">
275+
<canvas id="skin-canvas" width="64" height="32" class="pixelated" style="width: 256px; height: 128px; image-rendering: pixelated; border: 2px solid #555;"></canvas>
276+
</div>
277+
<div style="color: #aaa; font-size: 14px; text-align: center; text-transform: uppercase;">LEGACY OUTPUT (64x32)</div>
278+
<div id="status-message" style="margin-top: 10px; font-size: 18px;"></div>
279+
</div>
280+
281+
<div style="background: rgba(0,0,0,0.3); padding: 15px; border: 2px solid #555; color: #eee; font-size: 16px;">
282+
<div style="display: flex; justify-content: space-between; border-bottom: 2px solid #555; padding-bottom: 8px; margin-bottom: 8px;">
283+
<span>DETECTED:</span>
284+
<span id="format-label" style="color: #fff;">--</span>
285+
</div>
286+
<div style="display: flex; justify-content: space-between;">
287+
<span>TARGET:</span>
288+
<span style="color: #888; font-size: 14px;">Common/res/mob/char.png</span>
289+
</div>
290+
</div>
291+
</div>
292+
</div>
293+
294+
<div id="save-skin-btn" class="btn-mc w-full nav-item" tabindex="0">SAVE SKIN</div>
295+
</div>
296+
297+
<div class="flex justify-center w-full mt-6">
298+
<div id="btn-close-skin" class="btn-mc nav-item !mb-0" onclick="closeSkinManager()" tabindex="0">DONE</div>
299+
</div>
300+
</div>
301+
</div>
302+
197303
<div id="toast">NOTIFICATION</div>
198304

199305
<div id="music-toggle" class="music-btn nav-item" onclick="toggleMusic()" title="Toggle Music" tabindex="0">
200306
<span id="music-icon"></span>
201307
</div>
202308

309+
<script src="https://cdnjs.cloudflare.com/ajax/libs/three.js/r128/three.min.js"></script>
310+
<script src="skin_manager.js"></script>
203311
<script src="renderer.js"></script>
204312
</body>
205313
</html>

package-lock.json

Lines changed: 2 additions & 2 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"name": "legacylauncher",
3-
"version": "2.2.0",
3+
"version": "2.9.0",
44
"description": "",
55
"main": "main.js",
66
"scripts": {

0 commit comments

Comments
 (0)