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>
|
<dependency>
|
||||||
<groupId>org.geysermc.geyser</groupId>
|
<groupId>org.geysermc.geyser</groupId>
|
||||||
<artifactId>api</artifactId>
|
<artifactId>api</artifactId>
|
||||||
<version>2.5.0-SNAPSHOT</version>
|
<version>2.2.3-SNAPSHOT</version>
|
||||||
<scope>provided</scope>
|
<scope>provided</scope>
|
||||||
</dependency>
|
</dependency>
|
||||||
<dependency>
|
<dependency>
|
||||||
@@ -66,20 +66,5 @@
|
|||||||
<scope>system</scope>
|
<scope>system</scope>
|
||||||
<systemPath>${project.basedir}/libs/geyserutils-geyser-1.0-SNAPSHOT.jar</systemPath>
|
<systemPath>${project.basedir}/libs/geyserutils-geyser-1.0-SNAPSHOT.jar</systemPath>
|
||||||
</dependency>
|
</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>
|
</dependencies>
|
||||||
</project>
|
</project>
|
||||||
@@ -1,35 +1,37 @@
|
|||||||
package re.imc.geysermodelenginepackgenerator;
|
package re.imc.geysermodelenginepackgenerator;
|
||||||
|
|
||||||
import me.zimzaza4.geyserutils.geyser.GeyserUtils;
|
import com.google.gson.Gson;
|
||||||
import org.checkerframework.checker.nullness.qual.NonNull;
|
import lombok.Getter;
|
||||||
import org.geysermc.event.subscribe.Subscribe;
|
import org.geysermc.event.subscribe.Subscribe;
|
||||||
import org.geysermc.geyser.api.command.Command;
|
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.command.CommandSource;
|
||||||
import org.geysermc.geyser.api.event.lifecycle.GeyserDefineCommandsEvent;
|
import org.geysermc.geyser.api.event.lifecycle.GeyserDefineCommandsEvent;
|
||||||
import org.geysermc.geyser.api.event.lifecycle.GeyserLoadResourcePacksEvent;
|
import org.geysermc.geyser.api.event.lifecycle.GeyserLoadResourcePacksEvent;
|
||||||
import org.geysermc.geyser.api.event.lifecycle.GeyserPreInitializeEvent;
|
import org.geysermc.geyser.api.event.lifecycle.GeyserPreInitializeEvent;
|
||||||
import org.geysermc.geyser.api.extension.Extension;
|
import org.geysermc.geyser.api.extension.Extension;
|
||||||
import org.geysermc.geyser.api.extension.ExtensionLogger;
|
import org.geysermc.geyser.api.extension.ExtensionLogger;
|
||||||
|
import re.imc.geysermodelenginepackgenerator.config.Config;
|
||||||
import re.imc.geysermodelenginepackgenerator.generator.Entity;
|
import re.imc.geysermodelenginepackgenerator.generator.Entity;
|
||||||
import re.imc.geysermodelenginepackgenerator.generator.Geometry;
|
|
||||||
import re.imc.geysermodelenginepackgenerator.util.ZipUtil;
|
import re.imc.geysermodelenginepackgenerator.util.ZipUtil;
|
||||||
|
|
||||||
import java.io.File;
|
import java.io.File;
|
||||||
import java.io.IOException;
|
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.Files;
|
||||||
import java.nio.file.Path;
|
import java.nio.file.Path;
|
||||||
import java.nio.file.StandardCopyOption;
|
import java.nio.file.StandardCopyOption;
|
||||||
import java.util.List;
|
|
||||||
import java.util.zip.ZipOutputStream;
|
import java.util.zip.ZipOutputStream;
|
||||||
|
|
||||||
public class ExtensionMain implements Extension {
|
public class GeyserModelEnginePackGenerator implements Extension {
|
||||||
|
|
||||||
private File source;
|
private File source;
|
||||||
|
|
||||||
public static ExtensionLogger logger;
|
public static ExtensionLogger logger;
|
||||||
Path generatedPackZip;
|
Path generatedPackZip;
|
||||||
|
@Getter
|
||||||
|
Config config = new Config();
|
||||||
|
|
||||||
@Subscribe
|
@Subscribe
|
||||||
public void onLoad(GeyserPreInitializeEvent event) {
|
public void onLoad(GeyserPreInitializeEvent event) {
|
||||||
@@ -57,10 +59,31 @@ public class ExtensionMain implements Extension {
|
|||||||
}
|
}
|
||||||
|
|
||||||
public void loadConfig() {
|
public void loadConfig() {
|
||||||
|
|
||||||
File generatedPack = dataFolder().resolve("generated_pack").toFile();
|
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");
|
generatedPackZip = dataFolder().resolve("generated_pack.zip");
|
||||||
|
|
||||||
@@ -70,16 +93,17 @@ public class ExtensionMain implements Extension {
|
|||||||
e.printStackTrace();
|
e.printStackTrace();
|
||||||
}
|
}
|
||||||
|
|
||||||
for (Entity entity : GeneratorMain.entityMap.values()) {
|
for (Entity entity : PackGenerator.entityMap.values()) {
|
||||||
entity.register();
|
entity.register();
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
@Subscribe
|
@Subscribe
|
||||||
public void onPackLoad(GeyserLoadResourcePacksEvent event) {
|
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);
|
event.resourcePacks().add(generatedPackZip);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -5,18 +5,15 @@ import com.google.gson.GsonBuilder;
|
|||||||
import com.google.gson.JsonParser;
|
import com.google.gson.JsonParser;
|
||||||
import re.imc.geysermodelenginepackgenerator.generator.*;
|
import re.imc.geysermodelenginepackgenerator.generator.*;
|
||||||
|
|
||||||
import javax.imageio.ImageIO;
|
|
||||||
import java.io.*;
|
import java.io.*;
|
||||||
import java.nio.charset.StandardCharsets;
|
import java.nio.charset.StandardCharsets;
|
||||||
import java.nio.file.Files;
|
import java.nio.file.Files;
|
||||||
import java.nio.file.Path;
|
import java.nio.file.Path;
|
||||||
import java.nio.file.StandardCopyOption;
|
|
||||||
import java.util.*;
|
import java.util.*;
|
||||||
import java.util.zip.ZipEntry;
|
import java.util.zip.ZipEntry;
|
||||||
import java.util.zip.ZipFile;
|
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, Entity> entityMap = new HashMap<>();
|
||||||
public static final Map<String, Animation> animationMap = new HashMap<>();
|
public static final Map<String, Animation> animationMap = new HashMap<>();
|
||||||
public static final Map<String, Geometry> geometryMap = 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.Getter;
|
||||||
import lombok.NoArgsConstructor;
|
import lombok.NoArgsConstructor;
|
||||||
import lombok.Setter;
|
import lombok.Setter;
|
||||||
import re.imc.geysermodelenginepackgenerator.GeneratorMain;
|
import re.imc.geysermodelenginepackgenerator.PackGenerator;
|
||||||
|
|
||||||
import java.util.HashSet;
|
import java.util.HashSet;
|
||||||
import java.util.Map;
|
import java.util.Map;
|
||||||
@@ -119,7 +119,7 @@ public class Animation {
|
|||||||
if (i == 0) {
|
if (i == 0) {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
GeneratorMain.entityMap
|
PackGenerator.entityMap
|
||||||
.get(modelId).setHasHeadAnimation(true);
|
.get(modelId).setHasHeadAnimation(true);
|
||||||
|
|
||||||
object.add("bones", bones);
|
object.add("bones", bones);
|
||||||
|
|||||||
@@ -5,8 +5,6 @@ import lombok.AllArgsConstructor;
|
|||||||
import lombok.Getter;
|
import lombok.Getter;
|
||||||
import lombok.NoArgsConstructor;
|
import lombok.NoArgsConstructor;
|
||||||
import lombok.Setter;
|
import lombok.Setter;
|
||||||
import org.geysermc.geyser.api.extension.ExtensionLogger;
|
|
||||||
import re.imc.geysermodelenginepackgenerator.ExtensionMain;
|
|
||||||
|
|
||||||
import java.util.*;
|
import java.util.*;
|
||||||
|
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
name: GeyserModelEnginePackGenerator
|
name: GeyserModelEnginePackGenerator
|
||||||
id: geysermodelenginepackgenerator
|
id: geysermodelenginepackgenerator
|
||||||
main: re.imc.geysermodelenginepackgenerator.ExtensionMain
|
main: re.imc.geysermodelenginepackgenerator.GeyserModelEnginePackGenerator
|
||||||
api: 1.0.0
|
api: 1.0.0
|
||||||
version: 1.0.0
|
version: 1.0.0
|
||||||
authors: [zimzaza4]
|
authors: [zimzaza4]
|
||||||
Reference in New Issue
Block a user