mirror of
https://github.com/GeyserExtensionists/GeyserModelEnginePackGenerator.git
synced 2025-12-19 15:09:18 +00:00
add config.json
This commit is contained in:
17
pom.xml
17
pom.xml
@@ -56,7 +56,7 @@
|
||||
<dependency>
|
||||
<groupId>org.geysermc.geyser</groupId>
|
||||
<artifactId>api</artifactId>
|
||||
<version>2.5.0-SNAPSHOT</version>
|
||||
<version>2.2.3-SNAPSHOT</version>
|
||||
<scope>provided</scope>
|
||||
</dependency>
|
||||
<dependency>
|
||||
@@ -66,20 +66,5 @@
|
||||
<scope>system</scope>
|
||||
<systemPath>${project.basedir}/libs/geyserutils-geyser-1.0-SNAPSHOT.jar</systemPath>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>me.rochblondiaux</groupId>
|
||||
<artifactId>blockbenchmodelreader</artifactId>
|
||||
<version>1.2</version>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>com.github.GeyserMC.PackConverter</groupId>
|
||||
<artifactId>bedrock-pack-schema</artifactId>
|
||||
<version>3d8150474d</version>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>com.github.GeyserMC.PackConverter</groupId>
|
||||
<artifactId>pack-schema-api</artifactId>
|
||||
<version>3d8150474d</version>
|
||||
</dependency>
|
||||
</dependencies>
|
||||
</project>
|
||||
@@ -1,35 +1,37 @@
|
||||
package re.imc.geysermodelenginepackgenerator;
|
||||
|
||||
import me.zimzaza4.geyserutils.geyser.GeyserUtils;
|
||||
import org.checkerframework.checker.nullness.qual.NonNull;
|
||||
import com.google.gson.Gson;
|
||||
import lombok.Getter;
|
||||
import org.geysermc.event.subscribe.Subscribe;
|
||||
import org.geysermc.geyser.api.command.Command;
|
||||
import org.geysermc.geyser.api.command.CommandExecutor;
|
||||
import org.geysermc.geyser.api.command.CommandSource;
|
||||
import org.geysermc.geyser.api.event.lifecycle.GeyserDefineCommandsEvent;
|
||||
import org.geysermc.geyser.api.event.lifecycle.GeyserLoadResourcePacksEvent;
|
||||
import org.geysermc.geyser.api.event.lifecycle.GeyserPreInitializeEvent;
|
||||
import org.geysermc.geyser.api.extension.Extension;
|
||||
import org.geysermc.geyser.api.extension.ExtensionLogger;
|
||||
import re.imc.geysermodelenginepackgenerator.config.Config;
|
||||
import re.imc.geysermodelenginepackgenerator.generator.Entity;
|
||||
import re.imc.geysermodelenginepackgenerator.generator.Geometry;
|
||||
import re.imc.geysermodelenginepackgenerator.util.ZipUtil;
|
||||
|
||||
import java.io.File;
|
||||
import java.io.IOException;
|
||||
import java.nio.channels.FileChannel;
|
||||
import java.io.InputStream;
|
||||
import java.net.URI;
|
||||
import java.net.URISyntaxException;
|
||||
import java.nio.file.Files;
|
||||
import java.nio.file.Path;
|
||||
import java.nio.file.StandardCopyOption;
|
||||
import java.util.List;
|
||||
import java.util.zip.ZipOutputStream;
|
||||
|
||||
public class ExtensionMain implements Extension {
|
||||
public class GeyserModelEnginePackGenerator implements Extension {
|
||||
|
||||
private File source;
|
||||
|
||||
public static ExtensionLogger logger;
|
||||
Path generatedPackZip;
|
||||
@Getter
|
||||
Config config = new Config();
|
||||
|
||||
@Subscribe
|
||||
public void onLoad(GeyserPreInitializeEvent event) {
|
||||
@@ -57,10 +59,31 @@ public class ExtensionMain implements Extension {
|
||||
}
|
||||
|
||||
public void loadConfig() {
|
||||
|
||||
File generatedPack = dataFolder().resolve("generated_pack").toFile();
|
||||
File configFile = dataFolder().resolve("config.json").toFile();
|
||||
|
||||
GeneratorMain.startGenerate(source, generatedPack);
|
||||
Gson gson = new Gson();
|
||||
|
||||
if (!configFile.exists()) {
|
||||
try {
|
||||
configFile.createNewFile();
|
||||
} catch (IOException e) {
|
||||
e.printStackTrace();
|
||||
}
|
||||
try {
|
||||
Files.writeString(configFile.toPath(), gson.toJson(config));
|
||||
} catch (IOException e) {
|
||||
e.printStackTrace();
|
||||
}
|
||||
}
|
||||
|
||||
try {
|
||||
config = gson.fromJson(Files.readString(configFile.toPath()), Config.class);
|
||||
} catch (IOException e) {
|
||||
e.printStackTrace();
|
||||
}
|
||||
|
||||
PackGenerator.startGenerate(source, generatedPack);
|
||||
|
||||
generatedPackZip = dataFolder().resolve("generated_pack.zip");
|
||||
|
||||
@@ -70,16 +93,17 @@ public class ExtensionMain implements Extension {
|
||||
e.printStackTrace();
|
||||
}
|
||||
|
||||
for (Entity entity : GeneratorMain.entityMap.values()) {
|
||||
for (Entity entity : PackGenerator.entityMap.values()) {
|
||||
entity.register();
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
|
||||
|
||||
@Subscribe
|
||||
public void onPackLoad(GeyserLoadResourcePacksEvent event) {
|
||||
if (Boolean.parseBoolean(System.getProperty("geyser-model-engine-auto-load-pack", "true"))) {
|
||||
if (Boolean.parseBoolean(System.getProperty("geyser-model-engine-auto-load-pack", "true")) || config.isAutoLoadPack()) {
|
||||
event.resourcePacks().add(generatedPackZip);
|
||||
}
|
||||
}
|
||||
@@ -5,18 +5,15 @@ import com.google.gson.GsonBuilder;
|
||||
import com.google.gson.JsonParser;
|
||||
import re.imc.geysermodelenginepackgenerator.generator.*;
|
||||
|
||||
import javax.imageio.ImageIO;
|
||||
import java.io.*;
|
||||
import java.nio.charset.StandardCharsets;
|
||||
import java.nio.file.Files;
|
||||
import java.nio.file.Path;
|
||||
import java.nio.file.StandardCopyOption;
|
||||
import java.util.*;
|
||||
import java.util.zip.ZipEntry;
|
||||
import java.util.zip.ZipFile;
|
||||
import java.util.zip.ZipInputStream;
|
||||
|
||||
public class GeneratorMain {
|
||||
public class PackGenerator {
|
||||
public static final Map<String, Entity> entityMap = new HashMap<>();
|
||||
public static final Map<String, Animation> animationMap = new HashMap<>();
|
||||
public static final Map<String, Geometry> geometryMap = new HashMap<>();
|
||||
@@ -0,0 +1,12 @@
|
||||
package re.imc.geysermodelenginepackgenerator.config;
|
||||
|
||||
import com.google.gson.annotations.SerializedName;
|
||||
import lombok.Getter;
|
||||
import lombok.Setter;
|
||||
|
||||
@Getter
|
||||
@Setter
|
||||
public class Config {
|
||||
@SerializedName("auto_load_pack")
|
||||
boolean autoLoadPack = true;
|
||||
}
|
||||
@@ -8,7 +8,7 @@ import lombok.AllArgsConstructor;
|
||||
import lombok.Getter;
|
||||
import lombok.NoArgsConstructor;
|
||||
import lombok.Setter;
|
||||
import re.imc.geysermodelenginepackgenerator.GeneratorMain;
|
||||
import re.imc.geysermodelenginepackgenerator.PackGenerator;
|
||||
|
||||
import java.util.HashSet;
|
||||
import java.util.Map;
|
||||
@@ -119,7 +119,7 @@ public class Animation {
|
||||
if (i == 0) {
|
||||
return;
|
||||
}
|
||||
GeneratorMain.entityMap
|
||||
PackGenerator.entityMap
|
||||
.get(modelId).setHasHeadAnimation(true);
|
||||
|
||||
object.add("bones", bones);
|
||||
|
||||
@@ -32,7 +32,7 @@ public class Entity {
|
||||
"textures": {
|
||||
},
|
||||
"geometry": {
|
||||
|
||||
|
||||
},
|
||||
"animations": {
|
||||
"look_at_target": "%look_at_target%"
|
||||
|
||||
@@ -5,8 +5,6 @@ import lombok.AllArgsConstructor;
|
||||
import lombok.Getter;
|
||||
import lombok.NoArgsConstructor;
|
||||
import lombok.Setter;
|
||||
import org.geysermc.geyser.api.extension.ExtensionLogger;
|
||||
import re.imc.geysermodelenginepackgenerator.ExtensionMain;
|
||||
|
||||
import java.util.*;
|
||||
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
name: GeyserModelEnginePackGenerator
|
||||
id: geysermodelenginepackgenerator
|
||||
main: re.imc.geysermodelenginepackgenerator.ExtensionMain
|
||||
main: re.imc.geysermodelenginepackgenerator.GeyserModelEnginePackGenerator
|
||||
api: 1.0.0
|
||||
version: 1.0.0
|
||||
authors: [zimzaza4]
|
||||
Reference in New Issue
Block a user