2 Commits

Author SHA1 Message Date
QuImUfu f83d2c220f fix config and extend example 2023-07-07 22:48:25 +02:00
QuImUfu 74801ef10b fix example generation 2023-07-06 00:03:50 +02:00
4 changed files with 48 additions and 6 deletions
@@ -2,15 +2,19 @@ package quimufu.simple_creator;
import com.google.gson.Gson; import com.google.gson.Gson;
import com.google.gson.JsonObject; import com.google.gson.JsonObject;
import net.fabricmc.loader.api.FabricLoader;
import net.fabricmc.loader.api.ModContainer;
import net.minecraft.util.Identifier; import net.minecraft.util.Identifier;
import net.minecraft.util.Pair; import net.minecraft.util.Pair;
import org.apache.logging.log4j.Level; import org.apache.logging.log4j.Level;
import java.io.*; import java.io.*;
import java.nio.file.Files; import java.nio.file.Files;
import java.nio.file.Paths; import java.nio.file.Path;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.Optional;
import static quimufu.simple_creator.SimpleCreatorMod.MOD_ID;
import static quimufu.simple_creator.SimpleCreatorMod.log; import static quimufu.simple_creator.SimpleCreatorMod.log;
public abstract class GenericManualResourceLoader<T> { public abstract class GenericManualResourceLoader<T> {
@@ -43,7 +47,7 @@ public abstract class GenericManualResourceLoader<T> {
public void load() { public void load() {
if (true) { if (SimpleCreatorConfig.enableTestThings) {
createFromResource("simple_creator/blocks/test_block.json"); createFromResource("simple_creator/blocks/test_block.json");
createFromResource("simple_creator/items/test_item.json"); createFromResource("simple_creator/items/test_item.json");
} }
@@ -103,10 +107,21 @@ public abstract class GenericManualResourceLoader<T> {
} }
private static void createFromResource(String path) { private static void createFromResource(String path) {
try (InputStream blocks = ClassLoader.getSystemClassLoader().getResourceAsStream("data/" + path)) { Optional<ModContainer> modContainerOp = FabricLoader.getInstance().getModContainer(MOD_ID);
if(modContainerOp.isEmpty()){
log(Level.ERROR,"ModContainer " + MOD_ID + " not Found" );
return;
}
Optional<Path> nioPath = modContainerOp
.flatMap(modContainer -> modContainer.findPath("data/" + path));
if(nioPath.isEmpty()){
log(Level.ERROR,"data/" + path + " Not Found" );
return;
}
try (InputStream blocks = Files.newInputStream(nioPath.get())) {
File file = new File("./simplyCreated/" + path); File file = new File("./simplyCreated/" + path);
if (!file.exists() && blocks != null) { if (!file.exists()) {
File parent = file.getParentFile(); File parent = file.getParentFile();
if (parent != null && !parent.exists() && !parent.mkdirs()) { if (parent != null && !parent.exists() && !parent.mkdirs()) {
@@ -1,6 +1,12 @@
package quimufu.simple_creator; package quimufu.simple_creator;
import de.siphalor.tweed4.Tweed;
import de.siphalor.tweed4.config.ConfigEnvironment;
import de.siphalor.tweed4.config.ConfigLoader;
import de.siphalor.tweed4.config.TweedRegistry;
import net.fabricmc.api.EnvType;
import net.fabricmc.api.ModInitializer; import net.fabricmc.api.ModInitializer;
import net.fabricmc.loader.api.FabricLoader;
import net.minecraft.block.Block; import net.minecraft.block.Block;
import net.minecraft.util.Pair; import net.minecraft.util.Pair;
import org.apache.logging.log4j.Level; import org.apache.logging.log4j.Level;
@@ -23,6 +29,12 @@ public class SimpleCreatorMod implements ModInitializer {
@Override @Override
public void onInitialize() { public void onInitialize() {
log(Level.INFO, "Initializing"); log(Level.INFO, "Initializing");
Tweed.runEntryPoints();
ConfigLoader.initialReload(
TweedRegistry.getConfigFile(MOD_ID),
FabricLoader.getInstance().getEnvironmentType() == EnvType.SERVER ? ConfigEnvironment.SERVER : ConfigEnvironment.UNIVERSAL
);
irl.load(); irl.load();
brl.load(); brl.load();
} }
@@ -13,6 +13,7 @@ import org.apache.logging.log4j.Level;
public class SimpleCreatorModClient implements ClientModInitializer { public class SimpleCreatorModClient implements ClientModInitializer {
@Override @Override
public void onInitializeClient() { public void onInitializeClient() {
SimpleCreatorMod.log(Level.INFO, "Client init");
for (Pair<Block, String> blockRenderLayerPair : SimpleCreatorMod.BLOCKS_RENDER_LAYER) { for (Pair<Block, String> blockRenderLayerPair : SimpleCreatorMod.BLOCKS_RENDER_LAYER) {
BlockRenderLayerMap.INSTANCE.putBlock(blockRenderLayerPair.getLeft(), getRenderLayer(blockRenderLayerPair.getRight())); BlockRenderLayerMap.INSTANCE.putBlock(blockRenderLayerPair.getLeft(), getRenderLayer(blockRenderLayerPair.getRight()));
} }
@@ -1,5 +1,4 @@
{ {
"material": "ice",
"mapColor": "yellow", "mapColor": "yellow",
"collidable": true, "collidable": true,
"soundGroup": "wool", "soundGroup": "wool",
@@ -13,5 +12,20 @@
"slowDownMultiplier": 2.0, "slowDownMultiplier": 2.0,
"jumpVelocityMultiplier": 2.0, "jumpVelocityMultiplier": 2.0,
"opaque": true, "opaque": true,
"itemGroup": "food" "itemGroup": "minecraft:building_blocks",
"allowsSpawning": true,
"solidBlock": true,
"suffocates": true,
"blockVision": true,
"postProcess": false,
"emissiveLighting": false,
"modelOffset": "none",
"pistonBehavior": "normal",
"instrument": "harp",
"burnable": false,
"replaceable": false,
"noBlockBreakParticles": false,
"requiresTool": false,
"breaksInstantly": false,
"renderLayer": "solid"
} }