mirror of
https://github.com/PuzzleMC/Puzzle.git
synced 2025-12-16 03:45:10 +01:00
Puzzle 0.3.0 - 1.17
Modulized into: puzzle-base (update checker + config) puzzle-gui (unified config gui) puzzle-models (remove limitations) puzzle-blocks (custom render layers) puzzle-splashscreen (resourcepack-provided spash screen) Updated to 1.17
This commit is contained in:
4
puzzle-blocks/build.gradle
Executable file
4
puzzle-blocks/build.gradle
Executable file
@@ -0,0 +1,4 @@
|
||||
archivesBaseName = "puzzle-blocks"
|
||||
dependencies {
|
||||
api project(":puzzle-base")
|
||||
}
|
||||
87
puzzle-blocks/src/main/java/net/puzzlemc/blocks/PuzzleBlocks.java
Executable file
87
puzzle-blocks/src/main/java/net/puzzlemc/blocks/PuzzleBlocks.java
Executable file
@@ -0,0 +1,87 @@
|
||||
package net.puzzlemc.blocks;
|
||||
|
||||
import net.fabricmc.api.ClientModInitializer;
|
||||
import net.fabricmc.fabric.api.resource.ResourceManagerHelper;
|
||||
import net.fabricmc.fabric.api.resource.SimpleSynchronousResourceReloadListener;
|
||||
import net.fabricmc.fabric.impl.blockrenderlayer.BlockRenderLayerMapImpl;
|
||||
import net.minecraft.block.Block;
|
||||
import net.minecraft.client.render.RenderLayer;
|
||||
import net.minecraft.resource.ResourceManager;
|
||||
import net.minecraft.resource.ResourceType;
|
||||
import net.minecraft.util.Identifier;
|
||||
import net.minecraft.util.registry.Registry;
|
||||
import net.puzzlemc.core.config.PuzzleConfig;
|
||||
import org.apache.logging.log4j.LogManager;
|
||||
import org.apache.logging.log4j.Logger;
|
||||
|
||||
import java.io.InputStream;
|
||||
import java.util.Arrays;
|
||||
import java.util.Properties;
|
||||
|
||||
public class PuzzleBlocks implements ClientModInitializer {
|
||||
Logger LOGGER = LogManager.getLogger("puzzle-blocks");
|
||||
|
||||
public void onInitializeClient() {
|
||||
ResourceManagerHelper.get(ResourceType.CLIENT_RESOURCES).registerReloadListener(new SimpleSynchronousResourceReloadListener() {
|
||||
@Override
|
||||
public Identifier getFabricId() {
|
||||
return new Identifier("puzzle", "blocks");
|
||||
}
|
||||
|
||||
@Override
|
||||
public void reload(ResourceManager manager) {
|
||||
if (PuzzleConfig.customRenderLayers) {
|
||||
for (Identifier id : manager.findResources("optifine", path -> path.contains("block.properties"))) {
|
||||
try (InputStream stream = manager.getResource(id).getInputStream()) {
|
||||
Properties properties = new Properties();
|
||||
properties.load(stream);
|
||||
|
||||
if (properties.get("layer.solid") != null) {
|
||||
String[] solid_blocks = properties.get("layer.solid").toString().split(" ");
|
||||
Arrays.stream(solid_blocks).iterator().forEachRemaining(string -> {
|
||||
if (PuzzleConfig.debugMessages) LOGGER.info(string + " -> solid");
|
||||
Block block = Registry.BLOCK.getOrEmpty(Identifier.tryParse(string)).get();
|
||||
if (Registry.BLOCK.getOrEmpty(Identifier.tryParse(string)).isPresent()) {
|
||||
BlockRenderLayerMapImpl.INSTANCE.putBlock(block, RenderLayer.getSolid());
|
||||
}
|
||||
});
|
||||
}
|
||||
if (properties.get("layer.cutout") != null) {
|
||||
String[] solid_blocks = properties.get("layer.cutout").toString().split(" ");
|
||||
Arrays.stream(solid_blocks).iterator().forEachRemaining(string -> {
|
||||
if (PuzzleConfig.debugMessages) LOGGER.info(string + " -> cutout");
|
||||
Block block = Registry.BLOCK.getOrEmpty(Identifier.tryParse(string)).get();
|
||||
if (Registry.BLOCK.getOrEmpty(Identifier.tryParse(string)).isPresent()) {
|
||||
BlockRenderLayerMapImpl.INSTANCE.putBlock(block, RenderLayer.getCutout());
|
||||
}
|
||||
});
|
||||
}
|
||||
if (properties.get("layer.cutout_mipped") != null) {
|
||||
String[] solid_blocks = properties.get("layer.cutout_mipped").toString().split(" ");
|
||||
Arrays.stream(solid_blocks).iterator().forEachRemaining(string -> {
|
||||
if (PuzzleConfig.debugMessages) LOGGER.info(string + " -> cutout_mipped");
|
||||
Block block = Registry.BLOCK.getOrEmpty(Identifier.tryParse(string)).get();
|
||||
if (Registry.BLOCK.getOrEmpty(Identifier.tryParse(string)).isPresent()) {
|
||||
BlockRenderLayerMapImpl.INSTANCE.putBlock(block, RenderLayer.getCutoutMipped());
|
||||
}
|
||||
});
|
||||
}
|
||||
if (properties.get("layer.translucent") != null) {
|
||||
String[] solid_blocks = properties.get("layer.translucent").toString().split(" ");
|
||||
Arrays.stream(solid_blocks).iterator().forEachRemaining(string -> {
|
||||
if (PuzzleConfig.debugMessages) LOGGER.info(string + " -> translucent");
|
||||
Block block = Registry.BLOCK.getOrEmpty(Identifier.tryParse(string)).get();
|
||||
if (Registry.BLOCK.getOrEmpty(Identifier.tryParse(string)).isPresent()) {
|
||||
BlockRenderLayerMapImpl.INSTANCE.putBlock(block, RenderLayer.getTranslucent());
|
||||
}
|
||||
});
|
||||
}
|
||||
} catch (Exception e) {
|
||||
LogManager.getLogger("Puzzle").error("Error occurred while loading block.properties " + id.toString(), e);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
});
|
||||
}
|
||||
}
|
||||
BIN
puzzle-blocks/src/main/resources/assets/puzzle/icon.png
Executable file
BIN
puzzle-blocks/src/main/resources/assets/puzzle/icon.png
Executable file
Binary file not shown.
|
After Width: | Height: | Size: 3.2 KiB |
36
puzzle-blocks/src/main/resources/fabric.mod.json
Executable file
36
puzzle-blocks/src/main/resources/fabric.mod.json
Executable file
@@ -0,0 +1,36 @@
|
||||
{
|
||||
"schemaVersion": 1,
|
||||
"id": "puzzle-blocks",
|
||||
"version": "${version}",
|
||||
|
||||
"name": "Puzzle Blocks",
|
||||
"description": "Lets resourcepacks change render layers of blocks",
|
||||
"authors": [
|
||||
"Motschen",
|
||||
"TeamMidnightDust"
|
||||
],
|
||||
"contact": {
|
||||
"homepage": "https://www.midnightdust.eu/",
|
||||
"sources": "https://github.com/TeamMidnightDust/Puzzle",
|
||||
"issues": "https://github.com/TeamMidnightDust/Puzzle/issues"
|
||||
},
|
||||
|
||||
"license": "MIT",
|
||||
"icon": "assets/puzzle/icon.png",
|
||||
|
||||
"environment": "client",
|
||||
"entrypoints": {
|
||||
"client": [
|
||||
"net.puzzlemc.blocks.PuzzleBlocks"
|
||||
]
|
||||
},
|
||||
"custom": {
|
||||
"modmenu": {
|
||||
"parent": "puzzle"
|
||||
}
|
||||
},
|
||||
|
||||
"depends": {
|
||||
"fabric": "*"
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user