Skip to content

Commit

Permalink
added configuration page, option shader installation, credits list
Browse files Browse the repository at this point in the history
- version bump to 0.4.0
- added full credits list to project readme
- credits list is now linked to on post install page
- added client/server configuration page for common options and settings (eg. server motd)
- added optional shader install and configuration
-- using enhanced default, doesn't break, and fits game aesthetic
- cleaned up install complete page code
- fixed text overflow on mod downloads
  • Loading branch information
jgaribsin committed Feb 20, 2024
1 parent 8979810 commit ca3cbd7
Show file tree
Hide file tree
Showing 17 changed files with 430 additions and 85 deletions.
33 changes: 33 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -37,6 +37,39 @@ The most helpful part is uploading your log file, so please don't forget to do t

Thanks in advance <3

## Credits

This project was created using [Quasar](https://quasar.dev/), [Electron](https://www.electronjs.org/), and [Vue](https://vuejs.org/) with HTML, CSS and [TypeScript](https://www.typescriptlang.org/) in [VSCode](https://code.visualstudio.com/).

### Mods

Massive thanks to each of the following Minecraft mods for enhancing the experience and immersiveness of the map!

- [Animatica](https://modrinth.com/mod/animatica)
- [CIT Resewn](https://modrinth.com/mod/cit-resewn)
- [Cull Leaves](https://modrinth.com/mod/cull-leaves)
- [Dynamic FPS](https://modrinth.com/mod/dynamic-fps)
- [Entity Culling](https://modrinth.com/mod/entity-culling)
- [Fabric API](https://modrinth.com/mod/fabric-api)
- [FabricSkyboxes](https://modrinth.com/mod/fabricskyboxes)
- [Indium](https://modrinth.com/mod/indium)
- [Iris Shaders](https://modrinth.com/mod/iris)
- [LambDynamicLights](https://modrinth.com/mod/lambdynamiclights)
- [Lazy DFU](https://modrinth.com/mod/lazydfu)
- [Lithium](https://modrinth.com/mod/lithium)
- [Starlight](https://modrinth.com/mod/starlight)
- [Sodium](https://modrinth.com/mod/sodium)
- [Sodium Extra](https://modrinth.com/mod/sodium-extra)
- [Reese's Sodium Options](https://modrinth.com/mod/reeses-sodium-options)
- [WI Zoom](https://modrinth.com/mod/wi-zoom)
- [Entity Texture Features](https://modrinth.com/mod/entitytexturefeatures)
- [CEM](https://modrinth.com/mod/cem)
- [Modified Version](https://github.com/YoungSoulluoS/cem_Fork): YoungSoulluoS for creating a modified version with additional compatabilities!

### Shaders

Additional thanks goes out to Sildur for creating [Sildur's Enhanced Default](https://sildurs-shaders.github.io/)!

## Development

Created using [Quasar](https://quasar.dev/), [Electron](https://www.electronjs.org/), and [Vue](https://vuejs.org/) with HTML, CSS and [TypeScript](https://www.typescriptlang.org/) in [VSCode](https://code.visualstudio.com/).
Expand Down
2 changes: 1 addition & 1 deletion package.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "drehmal-installer",
"version": "0.3.1",
"version": "0.4.0",
"description": "Drehmal, Minecraft map installer",
"productName": "Drehmal Installer",
"author": "jgaribsin",
Expand Down
67 changes: 67 additions & 0 deletions src/components/ClientConfiguration.vue
Original file line number Diff line number Diff line change
@@ -0,0 +1,67 @@
<template>
<div class="white center full-width">
<div class="body">
<p>
If you're capable of running shaders, you may choose to install them
here. The installer will download, configure and enable the map's
recommended shader pack when you install mods. You can configure shader
settings further in the Video Settings in-game.
<br />
<br />
The bundled shader pack,
<a href="https://sildurs-shaders.github.io/" style="color: #3f9ae4"
>Sildur's Enhanced Default</a
>, is officially recommended and will be configured to work correctly
with the map. You may choose to use another shader pack, but you may run
into issues with blindness effects and skyboxes later in the map.
<br />
<br />
If you choose to install shaders but are unable to run them, you may
re-run the installer and unselect the shaders option, or manually
disable them in-game through Video Settings.
</p>
</div>
<div class="toggle-box">
<q-toggle
v-model="shaders"
color="accent"
label="Install Shaders?"
left-label
size="lg"
/>
</div>
</div>
</template>

<script setup lang="ts">
import { storeToRefs } from 'pinia';
import { useInstallerStore } from 'src/stores/InstallerStore';
const { shaders } = storeToRefs(useInstallerStore());
</script>
<style scoped lang="sass">
.shader-box
display: flex
flex-direction: column
align-items: center
justify-content: center
gap: 20px
.body p
padding: 10px
.toggle-box
padding: 1rem
background-color: #7e57c2
border-radius: 0.3rem
font-size: 17px
text-align: center
font-weight: bold
line-height: 32px
width: 60%
height: 80px
max-height: 80px
</style>
7 changes: 6 additions & 1 deletion src/components/MultiplayerInstall.vue
Original file line number Diff line number Diff line change
Expand Up @@ -37,16 +37,19 @@ import { ProgressBox as ProgressBoxType, Shard } from 'src/components/models';
import { downloadMods } from 'src/providers/DownloadMods';
import { downloadResourcePack } from 'src/providers/DownloadResourcePack';
import { installFabric } from 'src/providers/InstallFabric';
import { useInstallerStore } from 'src/stores/InstallerStore';
import { useSourcesStore } from 'src/stores/SourcesStore';
import { useStateStore } from 'src/stores/StateStore';
import { ref } from 'vue';
const { map } = storeToRefs(useSourcesStore());
const {
processingFabric,
processingMods,
processingResourcepack,
disableBackNav,
} = storeToRefs(useStateStore());
const { shaders: enableShaders } = storeToRefs(useInstallerStore());
const versionFileName = map.value.versionName
.toLowerCase()
.split(' ')
Expand Down Expand Up @@ -78,7 +81,9 @@ const fabricProgress = ref<ProgressBoxType>({
img: 'data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADIAAAAeCAYAAABuUU38AAAACXBIWXMAAAsTAAALEwEAmpwYAAAB50lEQVRYhd2YTU7bYBCGn7GyoF0Eu17EpyARS1hEogeI1IXbs/QAvUpJFogcAESkwhIBvQRUMna9ABaQr4tgk9j5lSd1zLNybI8y7ze/shx3z+j4bfq9gaGCdPy29HsDxBhDvzcwIoLtfCjbr5WIwkeMMXT8tshx98wAWJawbVdLyN/okeFwlEg1AOfTx/Sh69bL8WpFgiBODz68fxgJSUhEbNVrecsN4il+xnXrBEGc3rOyL226CJjuo4WU4Ik2Apa8AyUC1KDY+PD3TiZ+9y4+r9VuFoULouU56fXVbbh2u1kUFvL9aBeAH18uaXlOetKzTtjfO0GApudwfRvSLRiJBPUW1fIcru+iuc9TFMtTTch4ZJoNOxeZb/unDI2h5Tn8/hPx89eB1l8Dkp8jWkycPLDTsNN7yVqhh9FPrWzNfN0/xbxG4uYu4vBcMxJvFBayqLibDTu9Hpp8JBbZL4tK+53WPscjM68mZtmvikqNLGo+L+o1kUelRua5mURm3VhT0rZyGKOUWpaUv3iqrSjZJXAZRISuUjtWmyPZAbgMGt0qQX1FKYu1rSj/m5yQp/i5DD9WYpqPE6kVBDGuW6+EmPEvKPAqJLx/AEbft7IvbDKJ3zBKrfKHQHEkSS0BzLjCCiEA/wAmNq0sQ6WYFQAAAA5lWElmTU0AKgAAAAgAAAAAAAAA0lOTAAAAAElFTkSuQmCC',
});
const modsProgress = ref<ProgressBoxType>({
label: 'Mods - Press download button to begin',
label: enableShaders.value
? 'Mods/Shaders - Press download button to begin'
: 'Mods - Press download button button to begin',
percent: 0,
progress: 0,
img: 'data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADIAAAAeCAYAAABuUU38AAAACXBIWXMAAAsTAAALEwEAmpwYAAAB50lEQVRYhd2YTU7bYBCGn7GyoF0Eu17EpyARS1hEogeI1IXbs/QAvUpJFogcAESkwhIBvQRUMna9ABaQr4tgk9j5lSd1zLNybI8y7ze/shx3z+j4bfq9gaGCdPy29HsDxBhDvzcwIoLtfCjbr5WIwkeMMXT8tshx98wAWJawbVdLyN/okeFwlEg1AOfTx/Sh69bL8WpFgiBODz68fxgJSUhEbNVrecsN4il+xnXrBEGc3rOyL226CJjuo4WU4Ik2Apa8AyUC1KDY+PD3TiZ+9y4+r9VuFoULouU56fXVbbh2u1kUFvL9aBeAH18uaXlOetKzTtjfO0GApudwfRvSLRiJBPUW1fIcru+iuc9TFMtTTch4ZJoNOxeZb/unDI2h5Tn8/hPx89eB1l8Dkp8jWkycPLDTsNN7yVqhh9FPrWzNfN0/xbxG4uYu4vBcMxJvFBayqLibDTu9Hpp8JBbZL4tK+53WPscjM68mZtmvikqNLGo+L+o1kUelRua5mURm3VhT0rZyGKOUWpaUv3iqrSjZJXAZRISuUjtWmyPZAbgMGt0qQX1FKYu1rSj/m5yQp/i5DD9WYpqPE6kVBDGuW6+EmPEvKPAqJLx/AEbft7IvbDKJ3zBKrfKHQHEkSS0BzLjCCiEA/wAmNq0sQ6WYFQAAAA5lWElmTU0AKgAAAAgAAAAAAAAA0lOTAAAAAElFTkSuQmCC',
Expand Down
123 changes: 123 additions & 0 deletions src/components/ServerConfiguration.vue
Original file line number Diff line number Diff line change
@@ -0,0 +1,123 @@
<template>
<p>
You may configure some common server configs here. These will be written to
the
<span class="custom">server.properties</span> file found in the server's
folder. Feel free to edit these settings later if you wish.
</p>

<!-- configuration components -->
<div class="options-div white center">
<!-- difficulty configuration options -->
<div class="difficulty-div">
<q-btn-toggle
v-model="serverOpts.difficulty"
toggle-color="secondary"
spread
:options="[
{ label: 'Easy', value: 'easy' },
{ label: 'Normal', value: 'normal' },
{ label: 'Hard', value: 'hard' },
]"
/>
</div>

<!-- pvp configuration toggle -->
<div class="pvp-div">
<q-toggle
v-model="serverOpts.pvp"
color="accent"
label="Enable PvP?"
left-label
size="lg"
/>
</div>

<!-- hardcore configuration toggle -->
<div class="hardcore-div">
<q-toggle
v-model="serverOpts.hardcore"
color="accent"
label="Hardcore?"
left-label
size="lg"
/>
</div>

<!-- motd configuration input text field -->
<div class="motd-div">
<q-input
standout
v-model="serverOpts.motd"
label="Server MotD"
label-color="white"
color="primary"
input-style="color: #ffde00"
bg-color="secondary"
clearable
/>
</div>

<!-- max player configuration slider -->
<div class="max-players-div">
<div style="padding-bottom: 2px">
<q-item-section>
<q-item-label>
Max Players: <span class="custom">{{ serverOpts.maxPlayers }}</span>
</q-item-label>
</q-item-section>
</div>
<q-slider
v-model="serverOpts.maxPlayers"
:min="1"
:max="20"
:step="1"
snap
color="accent"
/>
</div>
</div>
</template>

<script setup lang="ts">
import { storeToRefs } from 'pinia';
import { useInstallerStore } from 'src/stores/InstallerStore';
const { serverOpts } = storeToRefs(useInstallerStore());
</script>
<style scoped lang="sass">
.options-div
display: flex
flex-direction: column
align-items: center
justify-content: center
gap: 20px
p
padding: 10px
.motd-div
width: 50%
.difficulty-div
width: 50%
.pvp-div
width: 50%
background-color: #7e57c2
.hardcore-div
width: 50%
background-color: #7e57c2
.max-players-div
padding: 0.5rem
background-color: #7e57c2
border-radius: 0.3rem
text-align: center
line-height: 32px
width: 50%
height: 60px
</style>
12 changes: 10 additions & 2 deletions src/components/SingleplayerInstall.vue
Original file line number Diff line number Diff line change
Expand Up @@ -70,15 +70,21 @@ import { ref } from 'vue';
const extract = require('extract-zip');
const fs = require('fs');
const path = require('path');
const { map } = storeToRefs(useSourcesStore());
const { drehmalDir, shardsDir } = storeToRefs(useInstallerStore());
const {
drehmalDir,
shardsDir,
shaders: enableShaders,
} = storeToRefs(useInstallerStore());
const {
processingShards,
processingFabric,
processingMods,
processingResourcepack,
disableBackNav,
} = storeToRefs(useStateStore());
const versionFileName = map.value.versionName
.toLowerCase()
.split(' ')
Expand Down Expand Up @@ -127,7 +133,9 @@ const fabricProgress = ref<ProgressBoxType>({
img: 'data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADIAAAAeCAYAAABuUU38AAAACXBIWXMAAAsTAAALEwEAmpwYAAAB50lEQVRYhd2YTU7bYBCGn7GyoF0Eu17EpyARS1hEogeI1IXbs/QAvUpJFogcAESkwhIBvQRUMna9ABaQr4tgk9j5lSd1zLNybI8y7ze/shx3z+j4bfq9gaGCdPy29HsDxBhDvzcwIoLtfCjbr5WIwkeMMXT8tshx98wAWJawbVdLyN/okeFwlEg1AOfTx/Sh69bL8WpFgiBODz68fxgJSUhEbNVrecsN4il+xnXrBEGc3rOyL226CJjuo4WU4Ik2Apa8AyUC1KDY+PD3TiZ+9y4+r9VuFoULouU56fXVbbh2u1kUFvL9aBeAH18uaXlOetKzTtjfO0GApudwfRvSLRiJBPUW1fIcru+iuc9TFMtTTch4ZJoNOxeZb/unDI2h5Tn8/hPx89eB1l8Dkp8jWkycPLDTsNN7yVqhh9FPrWzNfN0/xbxG4uYu4vBcMxJvFBayqLibDTu9Hpp8JBbZL4tK+53WPscjM68mZtmvikqNLGo+L+o1kUelRua5mURm3VhT0rZyGKOUWpaUv3iqrSjZJXAZRISuUjtWmyPZAbgMGt0qQX1FKYu1rSj/m5yQp/i5DD9WYpqPE6kVBDGuW6+EmPEvKPAqJLx/AEbft7IvbDKJ3zBKrfKHQHEkSS0BzLjCCiEA/wAmNq0sQ6WYFQAAAA5lWElmTU0AKgAAAAgAAAAAAAAA0lOTAAAAAElFTkSuQmCC',
});
const modsProgress = ref<ProgressBoxType>({
label: 'Mods - Press download button',
label: enableShaders.value
? 'Mods/Shaders - Press download...'
: 'Mods - Press download button',
percent: 0,
progress: 0,
img: 'data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADIAAAAeCAYAAABuUU38AAAACXBIWXMAAAsTAAALEwEAmpwYAAAB50lEQVRYhd2YTU7bYBCGn7GyoF0Eu17EpyARS1hEogeI1IXbs/QAvUpJFogcAESkwhIBvQRUMna9ABaQr4tgk9j5lSd1zLNybI8y7ze/shx3z+j4bfq9gaGCdPy29HsDxBhDvzcwIoLtfCjbr5WIwkeMMXT8tshx98wAWJawbVdLyN/okeFwlEg1AOfTx/Sh69bL8WpFgiBODz68fxgJSUhEbNVrecsN4il+xnXrBEGc3rOyL226CJjuo4WU4Ik2Apa8AyUC1KDY+PD3TiZ+9y4+r9VuFoULouU56fXVbbh2u1kUFvL9aBeAH18uaXlOetKzTtjfO0GApudwfRvSLRiJBPUW1fIcru+iuc9TFMtTTch4ZJoNOxeZb/unDI2h5Tn8/hPx89eB1l8Dkp8jWkycPLDTsNN7yVqhh9FPrWzNfN0/xbxG4uYu4vBcMxJvFBayqLibDTu9Hpp8JBbZL4tK+53WPscjM68mZtmvikqNLGo+L+o1kUelRua5mURm3VhT0rZyGKOUWpaUv3iqrSjZJXAZRISuUjtWmyPZAbgMGt0qQX1FKYu1rSj/m5yQp/i5DD9WYpqPE6kVBDGuW6+EmPEvKPAqJLx/AEbft7IvbDKJ3zBKrfKHQHEkSS0BzLjCCiEA/wAmNq0sQ6WYFQAAAA5lWElmTU0AKgAAAAgAAAAAAAAA0lOTAAAAAElFTkSuQmCC',
Expand Down
2 changes: 1 addition & 1 deletion src/css/quasar.variables.scss
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,7 @@
// Tip: Use the "Theme Builder" on Quasar's documentation website.

$primary: #622eaa;
$secondary: #8151c4;
$secondary: #7e57c2;
$accent: #ffde00;

$dark: #1d1d1d;
Expand Down
Loading

0 comments on commit ca3cbd7

Please sign in to comment.