Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
20 changes: 20 additions & 0 deletions .github/workflows/build.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
name: Java CI with Gradle
on: [push, pull_request]
jobs:
build:
name: Build
runs-on: ubuntu-latest
steps:
- name: Checkout repository
uses: actions/checkout@v4
- name: Validate Gradle Wrapper
uses: gradle/actions/wrapper-validation@v4
- name: Set up JDK 17
uses: actions/setup-java@v4
with:
java-version: '17'
distribution: 'microsoft'
- name: Make Gradle Wrapper executable
run: chmod +x ./gradlew
- name: Build with Gradle Wrapper
run: ./gradlew build
32 changes: 32 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,32 @@
# Gradle
.gradle/
**/build/
!**/src/**/build/
classes/

# vscode

.settings/
.vscode/
bin/

# fabric

run/

# java

*.class
hs_err_*.log
replay_*.log
*.hprof
*.jfr

# Log file
*.log

# Avoid ignoring Gradle wrapper jar file (.jar files are usually ignored)
!gradle-wrapper.jar

# Avoid ignore Gradle wrappper properties
!gradle-wrapper.properties
3 changes: 0 additions & 3 deletions META-INF/MANIFEST.MF

This file was deleted.

12 changes: 12 additions & 0 deletions base/build.gradle
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
plugins {
id 'java'
}

repositories {
mavenCentral()
}

dependencies {
compileOnly group: 'com.google.code.gson', name: 'gson', version: project.gson_version
compileOnly group: 'org.apache.logging.log4j', name: 'log4j-api', version: project.log4j
}
5 changes: 5 additions & 0 deletions base/gradle.properties
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
# Base Properties
gson_version=2.8.0
log4j=2.8.1
# Plugin/Mod Properties
display_name=Base
Original file line number Diff line number Diff line change
@@ -1,34 +1,34 @@
package vakiliner.musicpack.api;
import vakiliner.musicpack.base.ModConfig;
public class GsonConfig {
public Boolean enabled;
public Boolean hidersMusic;
public Boolean seekersMusic;
public Boolean disableDefaultMusic;
public Double hidersMusicVolume;
public Double seekersMusicVolume;
public void parse(ModConfig config) {
this.enabled = config.enabled();
this.hidersMusic = config.hidersMusicEnabled();
this.seekersMusic = config.seekersMusicEnabled();
this.disableDefaultMusic = config.disableDefaultMusic();
this.hidersMusicVolume = config.hidersMusicVolume();
this.seekersMusicVolume = config.seekersMusicVolume();
}
public boolean equals(ModConfig config) {
return a(this.enabled, config.enabled())
&& a(this.hidersMusic, config.hidersMusicEnabled())
&& a(this.seekersMusic, config.seekersMusicEnabled())
&& a(this.disableDefaultMusic, config.disableDefaultMusic())
&& a(this.hidersMusicVolume, config.hidersMusicVolume())
&& a(this.seekersMusicVolume, config.seekersMusicVolume());
}
private <V> boolean a(V nullable, V check) {
return nullable == null || nullable == check;
}
package vakiliner.musicpack.api;

import vakiliner.musicpack.base.ModConfig;

public class GsonConfig {
public Boolean enabled;
public Boolean hidersMusic;
public Boolean seekersMusic;
public Boolean disableDefaultMusic;
public Double hidersMusicVolume;
public Double seekersMusicVolume;

public void parse(ModConfig config) {
this.enabled = config.enabled();
this.hidersMusic = config.hidersMusicEnabled();
this.seekersMusic = config.seekersMusicEnabled();
this.disableDefaultMusic = config.disableDefaultMusic();
this.hidersMusicVolume = config.hidersMusicVolume();
this.seekersMusicVolume = config.seekersMusicVolume();
}

public boolean equals(ModConfig config) {
return a(this.enabled, config.enabled())
&& a(this.hidersMusic, config.hidersMusicEnabled())
&& a(this.seekersMusic, config.seekersMusicEnabled())
&& a(this.disableDefaultMusic, config.disableDefaultMusic())
&& a(this.hidersMusicVolume, config.hidersMusicVolume())
&& a(this.seekersMusicVolume, config.seekersMusicVolume());
}

private <V> boolean a(V nullable, V check) {
return nullable == null || nullable == check;
}
}
Original file line number Diff line number Diff line change
@@ -1,51 +1,51 @@
package vakiliner.musicpack.base;
import java.io.File;
import java.io.FileNotFoundException;
import java.io.IOException;
import java.lang.reflect.Method;
import java.nio.file.Path;
import com.google.gson.JsonSyntaxException;
import vakiliner.musicpack.api.GsonConfig;
public interface ModConfig {
void parse(GsonConfig config);
void load() throws FileNotFoundException, JsonSyntaxException;
void save() throws IOException;
default Path getPath() {
try {
Method method = this.getClass().getMethod("getFile");
if (method.getDeclaringClass() == ModConfig.class) {
throw new UnsupportedOperationException("Unrealized method getFile or getPath");
}
return this.getFile().toPath();
} catch (NoSuchMethodException err) {
throw new RuntimeException(err);
}
};
default File getFile() {
try {
Method method = this.getClass().getMethod("getPath");
if (method.getDeclaringClass() == ModConfig.class) {
throw new UnsupportedOperationException("Unrealized method getFile or getPath");
}
return this.getPath().toFile();
} catch (NoSuchMethodException err) {
throw new RuntimeException(err);
}
};
// Getters
boolean enabled();
boolean hidersMusicEnabled();
boolean seekersMusicEnabled();
boolean disableDefaultMusic();
double hidersMusicVolume();
double seekersMusicVolume();
// Setters
void enabled(boolean enabled);
void hidersMusicEnabled(boolean hidersMusicEnabled);
void seekersMusicEnabled(boolean seekersMusicEnabled);
void disableDefaultMusic(boolean disableDefaultMusic);
void hidersMusicVolume(double hidersMusicVolume);
void seekersMusicVolume(double seekersMusicVolume);
package vakiliner.musicpack.base;

import java.io.File;
import java.io.FileNotFoundException;
import java.io.IOException;
import java.lang.reflect.Method;
import java.nio.file.Path;
import com.google.gson.JsonSyntaxException;
import vakiliner.musicpack.api.GsonConfig;

public interface ModConfig {
void parse(GsonConfig config);
void load() throws FileNotFoundException, JsonSyntaxException;
void save() throws IOException;
default Path getPath() {
try {
Method method = this.getClass().getMethod("getFile");
if (method.getDeclaringClass() == ModConfig.class) {
throw new UnsupportedOperationException("Unrealized method getFile or getPath");
}
return this.getFile().toPath();
} catch (NoSuchMethodException err) {
throw new RuntimeException(err);
}
};
default File getFile() {
try {
Method method = this.getClass().getMethod("getPath");
if (method.getDeclaringClass() == ModConfig.class) {
throw new UnsupportedOperationException("Unrealized method getFile or getPath");
}
return this.getPath().toFile();
} catch (NoSuchMethodException err) {
throw new RuntimeException(err);
}
};
// Getters
boolean enabled();
boolean hidersMusicEnabled();
boolean seekersMusicEnabled();
boolean disableDefaultMusic();
double hidersMusicVolume();
double seekersMusicVolume();
// Setters
void enabled(boolean enabled);
void hidersMusicEnabled(boolean hidersMusicEnabled);
void seekersMusicEnabled(boolean seekersMusicEnabled);
void disableDefaultMusic(boolean disableDefaultMusic);
void hidersMusicVolume(double hidersMusicVolume);
void seekersMusicVolume(double seekersMusicVolume);
}
Original file line number Diff line number Diff line change
@@ -1,13 +1,13 @@
package vakiliner.musicpack.base;
import org.apache.logging.log4j.LogManager;
import org.apache.logging.log4j.Logger;
public abstract class MusicPack {
public static final String MOD_ID = "musicpack";
public static final Logger LOGGER = LogManager.getLogger(MOD_ID);
protected void ready() {
LOGGER.info("Музыкальный пакет активирован");
}
package vakiliner.musicpack.base;

import org.apache.logging.log4j.LogManager;
import org.apache.logging.log4j.Logger;

public abstract class MusicPack {
public static final String MOD_ID = "musicpack";
public static final Logger LOGGER = LogManager.getLogger(MOD_ID);

protected void ready() {
LOGGER.info("Музыкальный пакет активирован");
}
}
Original file line number Diff line number Diff line change
@@ -1,10 +1,10 @@
{
"vakiliner.musicpack.title": "Music Pack Settings",
"vakiliner.musicpack.enabled": "Enabled",
"vakiliner.musicpack.disabled": "Disabled",
"vakiliner.musicpack.enable": "Enable",
"vakiliner.musicpack.disable": "Disable",
"vakiliner.musicpack.option.hidersMusic": "Hiders Music",
"vakiliner.musicpack.option.seekersMusic": "Seekers Music",
"vakiliner.musicpack.option.defaultMusic": "%s Default Music"
{
"vakiliner.musicpack.title": "Music Pack Settings",
"vakiliner.musicpack.enabled": "Enabled",
"vakiliner.musicpack.disabled": "Disabled",
"vakiliner.musicpack.enable": "Enable",
"vakiliner.musicpack.disable": "Disable",
"vakiliner.musicpack.option.hidersMusic": "Hiders Music",
"vakiliner.musicpack.option.seekersMusic": "Seekers Music",
"vakiliner.musicpack.option.defaultMusic": "%s Default Music"
}
Original file line number Diff line number Diff line change
@@ -1,10 +1,10 @@
{
"vakiliner.musicpack.title": "Настройки Музыкального Пакета",
"vakiliner.musicpack.enabled": "Включено",
"vakiliner.musicpack.disabled": "Выключено",
"vakiliner.musicpack.enable": "Включить",
"vakiliner.musicpack.disable": "Отключить",
"vakiliner.musicpack.option.hidersMusic": "Музыка Прячущихся",
"vakiliner.musicpack.option.seekersMusic": "Музыка Искателей",
"vakiliner.musicpack.option.defaultMusic": "%s Музыку По Умолчанию"
{
"vakiliner.musicpack.title": "Настройки Музыкального Пакета",
"vakiliner.musicpack.enabled": "Включено",
"vakiliner.musicpack.disabled": "Выключено",
"vakiliner.musicpack.enable": "Включить",
"vakiliner.musicpack.disable": "Отключить",
"vakiliner.musicpack.option.hidersMusic": "Музыка Прячущихся",
"vakiliner.musicpack.option.seekersMusic": "Музыка Искателей",
"vakiliner.musicpack.option.defaultMusic": "%s Музыку По Умолчанию"
}
Loading