From 0d842f831f2cd247cbffbfae6c9963693bdde0d7 Mon Sep 17 00:00:00 2001 From: Shnupbups Date: Mon, 9 Sep 2019 04:27:49 +1000 Subject: [PATCH] 2.8.0 - Piece types can now be individually disabled via the config (only the regular EP piece types are in there, addon devs will have to implement type disabling themselves. it's not hard.) - Transparent stairs and corners no longer look bad - Added glass and stained glass pieces to the default set - Fixed the default pack not actually updating --- build.gradle | 2 +- gource-captions.txt | 13 ++ gradle.properties | 6 +- .../shnupbups/extrapieces/ExtraPieces.java | 4 +- .../extrapieces/core/PieceTypes.java | 24 ++-- .../extrapieces/register/ModBlocks.java | 34 ++++++ .../extrapieces/register/ModConfigs.java | 111 ++++++++++++++++-- .../assets/extrapieces/lang/en_gb.json | 4 +- .../assets/extrapieces/lang/en_us.json | 2 + .../models/block/dummy_corner.json | 21 +++- .../models/block/dummy_stairs.json | 53 +++++---- .../models/block/dummy_stairs_inner.json | 88 +++++++++----- .../models/block/dummy_stairs_outer.json | 62 ++++++---- src/main/resources/fabric.mod.json | 2 +- 14 files changed, 319 insertions(+), 107 deletions(-) create mode 100644 gource-captions.txt diff --git a/build.gradle b/build.gradle index d3c88a6e..c780ff87 100644 --- a/build.gradle +++ b/build.gradle @@ -1,5 +1,5 @@ plugins { - id 'fabric-loom' version '0.2.4-SNAPSHOT' + id 'fabric-loom' version '0.2.5-SNAPSHOT' id 'maven-publish' } diff --git a/gource-captions.txt b/gource-captions.txt new file mode 100644 index 00000000..13954cb9 --- /dev/null +++ b/gource-captions.txt @@ -0,0 +1,13 @@ +1553493480|For clarification, Alexander is the same person as Shnupbups. Version 1.0.0 only had Sidings. +1553734800|Version 1.1.0 is released, adding Slabs, Stairs, Fences and Walls. +1554861600|Version 1.2.0 is released, adding lots more piece sets, and making every piece set have every piece type. +1558058400|Version 1.3.0 is released, adding Corners and Posts. +1558144800|Work on 2.0.0 begins. This would be a major rewrite resulting in removal of thousands of JSON files. +1562292000|Version 2.0.0 is released, now everything is added based on a config using JMX and Artifice. Columns are also added. +1562637600|Version 2.1.0 is released, JMX is no longer used, with Artifice now handling everything JMX did. +1563760800|Version 2.2.0 is released, adding Layers and changing the config system into Piece Packs. +1564106400|Version 2.3.0 is released, mods can now ship a Piece Pack in their jars. +1564192800|Version 2.4.0 is released, mods can now register their own custom piece types. +1564480800|Version 2.5.0 is released, Piece Pack schema is changed to allow for better mod support. +1566943200|Version 2.6.0 is released, recipe internals are overhauled, and new recipes are added. +1567288800|Version 2.7.0 is released, recipe internals are further altered, Layers can now face any direction. \ No newline at end of file diff --git a/gradle.properties b/gradle.properties index 407bc93c..45bbdde3 100644 --- a/gradle.properties +++ b/gradle.properties @@ -8,7 +8,7 @@ org.gradle.jvmargs=-Xmx1G loader_version=0.6.1+build.165 # Mod Properties - mod_version = 2.7.2 + mod_version = 2.8.0 maven_group = com.shnupbups archives_base_name = extrapieces @@ -24,7 +24,7 @@ org.gradle.jvmargs=-Xmx1G # Other Stuff # check on maven at https://maven.fabricmc.net/me/shedaniel/RoughlyEnoughItems/ - rei_version=3.1.1+build.8 + rei_version=3.1.3+build.15 # check on maven at https://maven.fabricmc.net/io/github/prospector/modmenu/ - modmenu_version=1.7.10+build.119 \ No newline at end of file + modmenu_version=1.7.11+build.121 \ No newline at end of file diff --git a/src/main/java/com/shnupbups/extrapieces/ExtraPieces.java b/src/main/java/com/shnupbups/extrapieces/ExtraPieces.java index 39740093..7cc4a24e 100644 --- a/src/main/java/com/shnupbups/extrapieces/ExtraPieces.java +++ b/src/main/java/com/shnupbups/extrapieces/ExtraPieces.java @@ -3,6 +3,7 @@ import com.shnupbups.extrapieces.api.EPInitializer; import com.shnupbups.extrapieces.core.PieceSet; import com.shnupbups.extrapieces.core.PieceSets; +import com.shnupbups.extrapieces.core.PieceTypes; import com.shnupbups.extrapieces.debug.DebugItem; import com.shnupbups.extrapieces.register.ModBlocks; import com.shnupbups.extrapieces.register.ModConfigs; @@ -22,7 +23,7 @@ public class ExtraPieces implements ModInitializer { public static final String mod_id = "extrapieces"; public static final String mod_name = "Extra Pieces"; - public static final String piece_pack_version = "2.5.3"; + public static final String piece_pack_version = "2.8.0"; public static final Logger logger = LogManager.getFormatterLogger(mod_name); public static ArtificeResourcePack datapack; @@ -87,6 +88,7 @@ public static void dump() { @Override public void onInitialize() { ModConfigs.init(); + PieceTypes.init(); FabricLoader.getInstance().getEntrypoints("extrapieces", EPInitializer.class).forEach(api -> { debugLog("EPInitializer " + api.toString()); api.onInitialize(); diff --git a/src/main/java/com/shnupbups/extrapieces/core/PieceTypes.java b/src/main/java/com/shnupbups/extrapieces/core/PieceTypes.java index 9bc8369c..b70374fb 100644 --- a/src/main/java/com/shnupbups/extrapieces/core/PieceTypes.java +++ b/src/main/java/com/shnupbups/extrapieces/core/PieceTypes.java @@ -2,6 +2,8 @@ import com.shnupbups.extrapieces.blocks.PieceBlock; import com.shnupbups.extrapieces.pieces.*; +import com.shnupbups.extrapieces.register.ModConfigs; + import net.minecraft.block.Block; import net.minecraft.item.BlockItem; import net.minecraft.item.ItemStack; @@ -26,18 +28,18 @@ public class PieceTypes { private static HashSet types = new HashSet(); - static { + public static void init() { register(PieceTypes.BASE); - register(PieceTypes.STAIRS); - register(PieceTypes.SLAB); - register(PieceTypes.SIDING); - register(PieceTypes.WALL); - register(PieceTypes.FENCE); - register(PieceTypes.FENCE_GATE); - register(PieceTypes.POST); - register(PieceTypes.COLUMN); - register(PieceTypes.CORNER); - register(PieceTypes.LAYER); + if(ModConfigs.stairs) register(PieceTypes.STAIRS); + if(ModConfigs.slabs) register(PieceTypes.SLAB); + if(ModConfigs.sidings) register(PieceTypes.SIDING); + if(ModConfigs.walls) register(PieceTypes.WALL); + if(ModConfigs.fences) register(PieceTypes.FENCE); + if(ModConfigs.fenceGates) register(PieceTypes.FENCE_GATE); + if(ModConfigs.posts) register(PieceTypes.POST); + if(ModConfigs.columns) register(PieceTypes.COLUMN); + if(ModConfigs.corners) register(PieceTypes.CORNER); + if(ModConfigs.layers) register(PieceTypes.LAYER); } public static PieceType register(PieceType type) { diff --git a/src/main/java/com/shnupbups/extrapieces/register/ModBlocks.java b/src/main/java/com/shnupbups/extrapieces/register/ModBlocks.java index 779a9347..1eca3eb2 100644 --- a/src/main/java/com/shnupbups/extrapieces/register/ModBlocks.java +++ b/src/main/java/com/shnupbups/extrapieces/register/ModBlocks.java @@ -164,6 +164,23 @@ public class ModBlocks { public static PieceSet STRIPPED_JUNGLE_WOOD_PIECES; public static PieceSet STRIPPED_ACACIA_WOOD_PIECES; public static PieceSet STRIPPED_DARK_OAK_WOOD_PIECES; + public static PieceSet GLASS_PIECES; + public static PieceSet WHITE_STAINED_GLASS_PIECES; + public static PieceSet ORANGE_STAINED_GLASS_PIECES; + public static PieceSet MAGENTA_STAINED_GLASS_PIECES; + public static PieceSet LIGHT_BLUE_STAINED_GLASS_PIECES; + public static PieceSet YELLOW_STAINED_GLASS_PIECES; + public static PieceSet LIME_STAINED_GLASS_PIECES; + public static PieceSet PINK_STAINED_GLASS_PIECES; + public static PieceSet GRAY_STAINED_GLASS_PIECES; + public static PieceSet LIGHT_GRAY_STAINED_GLASS_PIECES; + public static PieceSet CYAN_STAINED_GLASS_PIECES; + public static PieceSet PURPLE_STAINED_GLASS_PIECES; + public static PieceSet BLUE_STAINED_GLASS_PIECES; + public static PieceSet BROWN_STAINED_GLASS_PIECES; + public static PieceSet GREEN_STAINED_GLASS_PIECES; + public static PieceSet RED_STAINED_GLASS_PIECES; + public static PieceSet BLACK_STAINED_GLASS_PIECES; static int built = 0; public static void generateDefaultSets() { @@ -303,6 +320,23 @@ public static void generateDefaultSets() { STRIPPED_JUNGLE_WOOD_PIECES = PieceSets.createDefaultSet(Blocks.STRIPPED_JUNGLE_WOOD, "stripped_jungle_wood").setTexture("stripped_jungle_log"); STRIPPED_ACACIA_WOOD_PIECES = PieceSets.createDefaultSet(Blocks.STRIPPED_ACACIA_WOOD, "stripped_acacia_wood").setTexture("stripped_acacia_log"); STRIPPED_DARK_OAK_WOOD_PIECES = PieceSets.createDefaultSet(Blocks.STRIPPED_DARK_OAK_WOOD, "stripped_dark_oak_wood").setTexture("stripped_dark_oak_log"); + GLASS_PIECES = PieceSets.createDefaultSet(Blocks.GLASS, "glass"); + WHITE_STAINED_GLASS_PIECES = PieceSets.createDefaultSet(Blocks.WHITE_STAINED_GLASS, "white_stained_glass"); + ORANGE_STAINED_GLASS_PIECES = PieceSets.createDefaultSet(Blocks.ORANGE_STAINED_GLASS, "orange_stained_glass"); + MAGENTA_STAINED_GLASS_PIECES = PieceSets.createDefaultSet(Blocks.MAGENTA_STAINED_GLASS, "magenta_stained_glass"); + LIGHT_BLUE_STAINED_GLASS_PIECES = PieceSets.createDefaultSet(Blocks.LIGHT_BLUE_STAINED_GLASS, "light_blue_stained_glass"); + YELLOW_STAINED_GLASS_PIECES = PieceSets.createDefaultSet(Blocks.YELLOW_STAINED_GLASS, "yellow_stained_glass"); + LIME_STAINED_GLASS_PIECES = PieceSets.createDefaultSet(Blocks.LIME_STAINED_GLASS, "lime_stained_glass"); + PINK_STAINED_GLASS_PIECES = PieceSets.createDefaultSet(Blocks.PINK_STAINED_GLASS, "pink_stained_glass"); + GRAY_STAINED_GLASS_PIECES = PieceSets.createDefaultSet(Blocks.GRAY_STAINED_GLASS, "gray_stained_glass"); + LIGHT_GRAY_STAINED_GLASS_PIECES = PieceSets.createDefaultSet(Blocks.LIGHT_GRAY_STAINED_GLASS, "light_gray_stained_glass"); + CYAN_STAINED_GLASS_PIECES = PieceSets.createDefaultSet(Blocks.CYAN_STAINED_GLASS, "cyan_stained_glass"); + PURPLE_STAINED_GLASS_PIECES = PieceSets.createDefaultSet(Blocks.PURPLE_STAINED_GLASS, "purple_stained_glass"); + BLUE_STAINED_GLASS_PIECES = PieceSets.createDefaultSet(Blocks.BLUE_STAINED_GLASS, "blue_stained_glass"); + BROWN_STAINED_GLASS_PIECES = PieceSets.createDefaultSet(Blocks.BROWN_STAINED_GLASS, "brown_stained_glass"); + GREEN_STAINED_GLASS_PIECES = PieceSets.createDefaultSet(Blocks.GREEN_STAINED_GLASS, "green_stained_glass"); + RED_STAINED_GLASS_PIECES = PieceSets.createDefaultSet(Blocks.RED_STAINED_GLASS, "red_stained_glass"); + BLACK_STAINED_GLASS_PIECES = PieceSets.createDefaultSet(Blocks.BLACK_STAINED_GLASS, "black_stained_glass"); ExtraPieces.debugLog("Generated Default Sets"); } diff --git a/src/main/java/com/shnupbups/extrapieces/register/ModConfigs.java b/src/main/java/com/shnupbups/extrapieces/register/ModConfigs.java index 3a015a2a..864b1765 100644 --- a/src/main/java/com/shnupbups/extrapieces/register/ModConfigs.java +++ b/src/main/java/com/shnupbups/extrapieces/register/ModConfigs.java @@ -20,6 +20,7 @@ import java.nio.file.Path; import java.nio.file.StandardCopyOption; import java.util.Map; +import java.util.Objects; public class ModConfigs { @@ -29,6 +30,18 @@ public class ModConfigs { public static boolean debugOutput = false; public static boolean moreDebugOutput = false; public static boolean dumpData = false; + + public static boolean slabs = true; + public static boolean stairs = true; + public static boolean sidings = true; + public static boolean corners = true; + public static boolean walls = true; + public static boolean fences = true; + public static boolean fenceGates = true; + public static boolean columns = true; + public static boolean posts = true; + public static boolean layers = true; + private static int setsNum = 0; private static int ppSetsNum = 0; private static int ppVpNum = 0; @@ -41,12 +54,25 @@ public static void init() { if (isConfigOutdated(cfg)) { updateConfig(cfg, config); } + generateDefaultPack = cfg.get("generateDefaultPack").equals(JsonPrimitive.TRUE); forceUpdateDefaultPack = cfg.get("forceUpdateDefaultPack").equals(JsonPrimitive.TRUE); everythingStonecuttable = cfg.get("everythingStonecuttable").equals(JsonPrimitive.TRUE); debugOutput = cfg.get("debugOutput").equals(JsonPrimitive.TRUE); moreDebugOutput = cfg.get("moreDebugOutput").equals(JsonPrimitive.TRUE); dumpData = cfg.get("dumpData").equals(JsonPrimitive.TRUE); + + JsonObject types = cfg.getObject("pieceTypes"); + slabs = types.get("slabs").equals(JsonPrimitive.TRUE); + stairs = types.get("stairs").equals(JsonPrimitive.TRUE); + sidings = types.get("sidings").equals(JsonPrimitive.TRUE); + corners = types.get("corners").equals(JsonPrimitive.TRUE); + walls = types.get("walls").equals(JsonPrimitive.TRUE); + fences = types.get("fences").equals(JsonPrimitive.TRUE); + fenceGates = types.get("fenceGates").equals(JsonPrimitive.TRUE); + columns = types.get("columns").equals(JsonPrimitive.TRUE); + posts = types.get("posts").equals(JsonPrimitive.TRUE); + layers = types.get("layers").equals(JsonPrimitive.TRUE); } catch (IOException e) { generateConfig(config); } catch (SyntaxError e) { @@ -109,17 +135,20 @@ public static void findAndCopyPiecePacks() { public static void initPiecePacks() { File ppDir = ExtraPieces.getPiecePackDirectory(); File defaultPack = new File(ppDir, "default.json"); - if (ppDir.listFiles().length == 0) { + File[] packs = ppDir.listFiles(); + assert packs != null; + if (packs.length == 0) { if (generateDefaultPack) { ExtraPieces.log("No piece packs found, generating default!"); generateDefaultPack(new File(ppDir, "default.json")); } else ExtraPieces.log("No piece packs found! Why bother having Extra Pieces installed then?"); } else { - if (generateDefaultPack && (!defaultPack.exists() || forceUpdateDefaultPack)) { + if (generateDefaultPack && (!defaultPack.exists() || forceUpdateDefaultPack || isDefaultPackOutdated(defaultPack))) { + ExtraPieces.log("Generating default piece pack as it either did not exist or needed updating..."); generateDefaultPack(defaultPack); } } - for (File f : ppDir.listFiles()) { + for (File f : packs) { try (FileReader reader = new FileReader(f)) { JsonObject pp = Jankson.builder().build().load(f); JsonObject sets = null; @@ -197,13 +226,26 @@ public static void generateDefaultPack(File pack) { } public static boolean isConfigOutdated(JsonObject cfg) { - if (!cfg.containsKey("generateDefaultPack")) return true; - if (!cfg.containsKey("forceUpdateDefaultPack")) return true; - if (!cfg.containsKey("everythingStonecuttable")) return true; - if (!cfg.containsKey("debugOutput")) return true; - if (!cfg.containsKey("moreDebugOutput")) return true; - if (!cfg.containsKey("dumpData")) return true; - return false; + if (!cfg.containsKey("generateDefaultPack") || + !cfg.containsKey("forceUpdateDefaultPack") || + !cfg.containsKey("everythingStonecuttable") || + !cfg.containsKey("debugOutput") || + !cfg.containsKey("moreDebugOutput") || + !cfg.containsKey("dumpData") || + !cfg.containsKey("pieceTypes")) return true; + else { + JsonObject types = cfg.getObject("pieceTypes"); + return !types.containsKey("slabs") || + !types.containsKey("stairs") || + !types.containsKey("sidings") || + !types.containsKey("corners") || + !types.containsKey("walls") || + !types.containsKey("fences") || + !types.containsKey("fenceGates") || + !types.containsKey("columns") || + !types.containsKey("posts") || + !types.containsKey("layers"); + } } public static void updateConfig(JsonObject cfg, File config) { @@ -219,6 +261,30 @@ public static void updateConfig(JsonObject cfg, File config) { cfg.put("moreDebugOutput", new JsonPrimitive(moreDebugOutput)); if (!cfg.containsKey("dumpData")) cfg.put("dumpData", new JsonPrimitive(dumpData)); + if(!cfg.containsKey("pieceTypes")) + cfg.put("pieceTypes", new JsonObject()); + JsonObject types = cfg.getObject("pieceTypes"); + if(!types.containsKey("slabs")) + types.put("slabs", new JsonPrimitive(slabs)); + if(!types.containsKey("stairs")) + types.put("stairs", new JsonPrimitive(stairs)); + if(!types.containsKey("sidings")) + types.put("sidings", new JsonPrimitive(sidings)); + if(!types.containsKey("corners")) + types.put("corners", new JsonPrimitive(corners)); + if(!types.containsKey("walls")) + types.put("walls", new JsonPrimitive(walls)); + if(!types.containsKey("fences")) + types.put("fences", new JsonPrimitive(fences)); + if(!types.containsKey("fenceGates")) + types.put("fenceGates", new JsonPrimitive(fenceGates)); + if(!types.containsKey("columns")) + types.put("columns", new JsonPrimitive(columns)); + if(!types.containsKey("posts")) + types.put("posts", new JsonPrimitive(posts)); + if(!types.containsKey("layers")) + types.put("layers", new JsonPrimitive(layers)); + cfg.put("pieceTypes", types); if (config.exists()) config.delete(); try (FileWriter writer = new FileWriter(config)) { writer.write(cfg.toJson(false, true)); @@ -243,7 +309,7 @@ public static boolean isNewer(Path toCheck, Path toReplace) { if (ppR.containsKey("version")) { rVer = new Version(ppR.get(String.class, "version")); } else rVer = new Version(); - return cVer.compareTo(rVer) == 1; + return cVer.isNewerThan(rVer); } catch (Exception e) { ExtraPieces.log("Failed to check if Piece Pack " + toCheck.getFileName() + " needed updating:"); e.printStackTrace(); @@ -251,6 +317,21 @@ public static boolean isNewer(Path toCheck, Path toReplace) { return false; } } + + public static boolean isDefaultPackOutdated(File defaultPack) { + try { + JsonObject dpp = Jankson.builder().build().load(defaultPack); + Version ver; + if (dpp.containsKey("version")) { + ver = new Version(dpp.get(String.class, "version")); + } else ver = new Version(); + return new Version(ExtraPieces.piece_pack_version).isNewerThan(ver); + } catch (Exception e) { + ExtraPieces.log("Failed to check if default Piece Pack needed updating:"); + e.printStackTrace(); + return false; + } + } public static class Version implements Comparable { @@ -291,6 +372,14 @@ public int compareTo(Version that) { } return 0; } + + public boolean isOlderThan(Version that) { + return compareTo(that) == -1; + } + + public boolean isNewerThan(Version that) { + return compareTo(that) == 1; + } @Override public boolean equals(Object that) { diff --git a/src/main/resources/assets/extrapieces/lang/en_gb.json b/src/main/resources/assets/extrapieces/lang/en_gb.json index 5be46f72..1558e1cb 100644 --- a/src/main/resources/assets/extrapieces/lang/en_gb.json +++ b/src/main/resources/assets/extrapieces/lang/en_gb.json @@ -2,5 +2,7 @@ "pieceSet.chiseled_stone_brick": "Chiselled Stone Brick", "pieceSet.chiseled_quartz": "Chiselled Quartz", - "pieceSet.gray_stone_brick": "Grey Stone Brick" + "pieceSet.gray_stone_brick": "Grey Stone Brick", + + "pieceSet.chiseled_basalt_brick": "Chiselled Basalt Brick" } \ No newline at end of file diff --git a/src/main/resources/assets/extrapieces/lang/en_us.json b/src/main/resources/assets/extrapieces/lang/en_us.json index e736a5bb..18758200 100644 --- a/src/main/resources/assets/extrapieces/lang/en_us.json +++ b/src/main/resources/assets/extrapieces/lang/en_us.json @@ -212,6 +212,8 @@ "pieceSet.sakura_leaf": "Sakura Leaf", "pieceSet.basalt_grass": "Basalt Grass", "pieceSet.basalt_brick": "Basalt Brick", + "pieceSet.mossy_basalt_brick": "Mossy Basalt Brick", + "pieceSet.chiseled_basalt_brick": "Chiseled Basalt Brick", "pieceSet.japanese_maple_shrub_leaf": "Japanese Maple Shrub Leaf", "pieceSet.red_autumnal_leaf": "Red Autumnal Leaf", diff --git a/src/main/resources/assets/extrapieces/models/block/dummy_corner.json b/src/main/resources/assets/extrapieces/models/block/dummy_corner.json index 9fbe96db..1b654bfb 100644 --- a/src/main/resources/assets/extrapieces/models/block/dummy_corner.json +++ b/src/main/resources/assets/extrapieces/models/block/dummy_corner.json @@ -3,14 +3,13 @@ "elements": [ { "from": [0, 0, 8], - "to": [16, 16, 16], + "to": [8, 16, 16], "faces": { - "north": {"uv": [0, 0, 16, 16], "texture": "#main"}, - "east": {"uv": [0, 0, 8, 16], "texture": "#main", "cullface": "east"}, - "south": {"uv": [0, 0, 16, 16], "texture": "#main", "cullface": "south"}, + "north": {"uv": [8, 0, 16, 16], "texture": "#main"}, + "south": {"uv": [0, 0, 8, 16], "texture": "#main", "cullface": "south"}, "west": {"uv": [8, 0, 16, 16], "texture": "#main", "cullface": "west"}, - "up": {"uv": [0, 8, 16, 16], "texture": "#top", "cullface": "up"}, - "down": {"uv": [0, 0, 16, 8], "texture": "#bottom", "cullface": "down"} + "up": {"uv": [0, 8, 8, 16], "texture": "#top", "cullface": "up"}, + "down": {"uv": [0, 0, 8, 8], "texture": "#bottom", "cullface": "down"} } }, { @@ -23,6 +22,16 @@ "up": {"uv": [8, 0, 16, 8], "texture": "#top", "cullface": "up"}, "down": {"uv": [8, 8, 16, 16], "texture": "#bottom", "cullface": "down"} } + }, + { + "from": [8, 0, 8], + "to": [16, 16, 16], + "faces": { + "east": {"uv": [0, 0, 8, 16], "texture": "#main", "cullface": "east"}, + "south": {"uv": [8, 0, 16, 16], "texture": "#main", "cullface": "south"}, + "up": {"uv": [8, 8, 16, 16], "texture": "#top", "cullface": "up"}, + "down": {"uv": [8, 0, 16, 8], "texture": "#bottom", "cullface": "down"} + } } ], "display": { diff --git a/src/main/resources/assets/extrapieces/models/block/dummy_stairs.json b/src/main/resources/assets/extrapieces/models/block/dummy_stairs.json index 85391812..9636ff3e 100644 --- a/src/main/resources/assets/extrapieces/models/block/dummy_stairs.json +++ b/src/main/resources/assets/extrapieces/models/block/dummy_stairs.json @@ -17,26 +17,37 @@ } }, "elements": [ - { "from": [ 0, 0, 0 ], - "to": [ 16, 8, 16 ], - "faces": { - "down": { "uv": [ 0, 0, 16, 16 ], "texture": "#bottom", "cullface": "down" }, - "up": { "uv": [ 0, 0, 16, 16 ], "texture": "#top" }, - "north": { "uv": [ 0, 8, 16, 16 ], "texture": "#main", "cullface": "north" }, - "south": { "uv": [ 0, 8, 16, 16 ], "texture": "#main", "cullface": "south" }, - "west": { "uv": [ 0, 8, 16, 16 ], "texture": "#main", "cullface": "west" }, - "east": { "uv": [ 0, 8, 16, 16 ], "texture": "#main", "cullface": "east" } - } - }, - { "from": [ 8, 8, 0 ], - "to": [ 16, 16, 16 ], - "faces": { - "up": { "uv": [ 8, 0, 16, 16 ], "texture": "#top", "cullface": "up" }, - "north": { "uv": [ 0, 0, 8, 8 ], "texture": "#main", "cullface": "north" }, - "south": { "uv": [ 8, 0, 16, 8 ], "texture": "#main", "cullface": "south" }, - "west": { "uv": [ 0, 0, 16, 8 ], "texture": "#main" }, - "east": { "uv": [ 0, 0, 16, 8 ], "texture": "#main", "cullface": "east" } - } - } + { + "from": [0, 0, 0], + "to": [8, 8, 16], + "faces": { + "north": {"uv": [8, 8, 16, 16], "texture": "#main", "cullface": "north"}, + "south": {"uv": [0, 8, 8, 16], "texture": "#main", "cullface": "south"}, + "west": {"uv": [0, 8, 16, 16], "texture": "#main", "cullface": "west"}, + "up": {"uv": [0, 0, 8, 16], "texture": "#top"}, + "down": {"uv": [0, 0, 8, 16], "texture": "#bottom", "cullface": "down"} + } + }, + { + "from": [8, 0, 0], + "to": [16, 8, 16], + "faces": { + "north": {"uv": [0, 8, 8, 16], "texture": "#main", "cullface": "north"}, + "east": {"uv": [0, 8, 16, 16], "texture": "#main", "cullface": "east"}, + "south": {"uv": [8, 8, 16, 16], "texture": "#main", "cullface": "south"}, + "down": {"uv": [8, 0, 16, 16], "texture": "#bottom", "cullface": "down"} + } + }, + { + "from": [8, 8, 0], + "to": [16, 16, 16], + "faces": { + "north": {"uv": [0, 0, 8, 8], "texture": "#main", "cullface": "north"}, + "east": {"uv": [0, 0, 16, 8], "texture": "#main", "cullface": "east"}, + "south": {"uv": [8, 0, 16, 8], "texture": "#main", "cullface": "south"}, + "west": {"uv": [0, 0, 16, 8], "texture": "#main"}, + "up": {"uv": [8, 0, 16, 16], "texture": "#top", "cullface": "up"} + } + } ] } diff --git a/src/main/resources/assets/extrapieces/models/block/dummy_stairs_inner.json b/src/main/resources/assets/extrapieces/models/block/dummy_stairs_inner.json index 53252d6a..12027b38 100644 --- a/src/main/resources/assets/extrapieces/models/block/dummy_stairs_inner.json +++ b/src/main/resources/assets/extrapieces/models/block/dummy_stairs_inner.json @@ -1,35 +1,63 @@ { "parent": "extrapieces:block/piece", "elements": [ - { "from": [ 0, 0, 0 ], - "to": [ 16, 8, 16 ], - "faces": { - "down": { "uv": [ 0, 0, 16, 16 ], "texture": "#bottom", "cullface": "down" }, - "up": { "uv": [ 0, 0, 16, 16 ], "texture": "#top" }, - "north": { "uv": [ 0, 8, 16, 16 ], "texture": "#main", "cullface": "north" }, - "south": { "uv": [ 0, 8, 16, 16 ], "texture": "#main", "cullface": "south" }, - "west": { "uv": [ 0, 8, 16, 16 ], "texture": "#main", "cullface": "west" }, - "east": { "uv": [ 0, 8, 16, 16 ], "texture": "#main", "cullface": "east" } - } - }, - { "from": [ 8, 8, 0 ], - "to": [ 16, 16, 16 ], - "faces": { - "up": { "uv": [ 8, 0, 16, 16 ], "texture": "#top", "cullface": "up" }, - "north": { "uv": [ 0, 0, 8, 8 ], "texture": "#main", "cullface": "north" }, - "south": { "uv": [ 8, 0, 16, 8 ], "texture": "#main", "cullface": "south" }, - "west": { "uv": [ 0, 0, 16, 8 ], "texture": "#main" }, - "east": { "uv": [ 0, 0, 16, 8 ], "texture": "#main", "cullface": "east" } - } - }, - { "from": [ 0, 8, 8 ], - "to": [ 8, 16, 16 ], - "faces": { - "up": { "uv": [ 0, 8, 8, 16 ], "texture": "#top", "cullface": "up" }, - "north": { "uv": [ 8, 0, 16, 8 ], "texture": "#main" }, - "south": { "uv": [ 0, 0, 8, 8 ], "texture": "#main", "cullface": "south" }, - "west": { "uv": [ 8, 0, 16, 8 ], "texture": "#main", "cullface": "west" } - } - } + { + "from": [0, 0, 0], + "to": [8, 8, 8], + "faces": { + "north": {"uv": [8, 8, 16, 16], "texture": "#main", "cullface": "north"}, + "west": {"uv": [0, 8, 8, 16], "texture": "#main", "cullface": "west"}, + "up": {"uv": [0, 0, 8, 8], "texture": "#top"}, + "down": {"uv": [0, 8, 8, 16], "texture": "#bottom", "cullface": "down"} + } + }, + { + "from": [8, 8, 0], + "to": [16, 16, 8], + "faces": { + "north": {"uv": [0, 0, 8, 8], "texture": "#main", "cullface": "north"}, + "east": {"uv": [8, 0, 16, 8], "texture": "#main", "cullface": "east"}, + "west": {"uv": [0, 0, 8, 8], "texture": "#main"}, + "up": {"uv": [8, 0, 16, 8], "texture": "#top", "cullface": "up"} + } + }, + { + "from": [0, 8, 8], + "to": [8, 16, 16], + "faces": { + "north": {"uv": [8, 0, 16, 8], "texture": "#main"}, + "south": {"uv": [0, 0, 8, 8], "texture": "#main", "cullface": "south"}, + "west": {"uv": [8, 0, 16, 8], "texture": "#main", "cullface": "west"}, + "up": {"uv": [0, 8, 8, 16], "texture": "#top", "cullface": "up"} + } + }, + { + "from": [8, 0, 0], + "to": [16, 8, 16], + "faces": { + "north": {"uv": [0, 8, 8, 16], "texture": "#main", "cullface": "north"}, + "east": {"uv": [0, 8, 16, 16], "texture": "#main"}, + "south": {"uv": [8, 8, 16, 16], "texture": "#main", "cullface": "south"}, + "down": {"uv": [8, 0, 16, 16], "texture": "#bottom", "cullface": "down"} + } + }, + { + "from": [0, 0, 8], + "to": [8, 8, 16], + "faces": { + "south": {"uv": [0, 8, 8, 16], "texture": "#main", "cullface": "south"}, + "west": {"uv": [8, 8, 16, 16], "texture": "#main", "cullface": "west"}, + "down": {"uv": [0, 0, 8, 8], "texture": "#bottom", "cullface": "down"} + } + }, + { + "from": [8, 8, 8], + "to": [16, 16, 16], + "faces": { + "east": {"uv": [0, 0, 8, 8], "texture": "#main"}, + "south": {"uv": [8, 0, 16, 8], "texture": "#main", "cullface": "south"}, + "up": {"uv": [8, 8, 16, 16], "texture": "#top", "cullface": "up"} + } + } ] } diff --git a/src/main/resources/assets/extrapieces/models/block/dummy_stairs_outer.json b/src/main/resources/assets/extrapieces/models/block/dummy_stairs_outer.json index af290485..a6666a7d 100644 --- a/src/main/resources/assets/extrapieces/models/block/dummy_stairs_outer.json +++ b/src/main/resources/assets/extrapieces/models/block/dummy_stairs_outer.json @@ -1,26 +1,46 @@ { "parent": "extrapieces:block/piece", "elements": [ - { "from": [ 0, 0, 0 ], - "to": [ 16, 8, 16 ], - "faces": { - "down": { "uv": [ 0, 0, 16, 16 ], "texture": "#bottom", "cullface": "down" }, - "up": { "uv": [ 0, 0, 16, 16 ], "texture": "#top" }, - "north": { "uv": [ 0, 8, 16, 16 ], "texture": "#main", "cullface": "north" }, - "south": { "uv": [ 0, 8, 16, 16 ], "texture": "#main", "cullface": "south" }, - "west": { "uv": [ 0, 8, 16, 16 ], "texture": "#main", "cullface": "west" }, - "east": { "uv": [ 0, 8, 16, 16 ], "texture": "#main", "cullface": "east" } - } - }, - { "from": [ 8, 8, 8 ], - "to": [ 16, 16, 16 ], - "faces": { - "up": { "uv": [ 8, 8, 16, 16 ], "texture": "#top", "cullface": "up" }, - "north": { "uv": [ 0, 0, 8, 8 ], "texture": "#main" }, - "south": { "uv": [ 8, 0, 16, 8 ], "texture": "#main", "cullface": "south" }, - "west": { "uv": [ 8, 0, 16, 8 ], "texture": "#main" }, - "east": { "uv": [ 0, 0, 8, 8 ], "texture": "#main", "cullface": "east" } - } - } + { + "from": [0, 0, 0], + "to": [8, 8, 16], + "faces": { + "north": {"uv": [8, 8, 16, 16], "texture": "#main", "cullface": "north"}, + "south": {"uv": [0, 8, 8, 16], "texture": "#main", "cullface": "south"}, + "west": {"uv": [0, 8, 16, 16], "texture": "#main", "cullface": "west"}, + "up": {"uv": [0, 0, 8, 16], "texture": "#top"}, + "down": {"uv": [0, 0, 8, 16], "texture": "#bottom", "cullface": "down"} + } + }, + { + "from": [8, 8, 8], + "to": [16, 16, 16], + "faces": { + "north": {"uv": [0, 0, 8, 8], "texture": "#main"}, + "east": {"uv": [0, 0, 8, 8], "texture": "#main", "cullface": "east"}, + "south": {"uv": [8, 0, 16, 8], "texture": "#main", "cullface": "south"}, + "west": {"uv": [8, 0, 16, 8], "texture": "#main"}, + "up": {"uv": [8, 8, 16, 16], "texture": "#top", "cullface": "up"} + } + }, + { + "from": [8, 0, 0], + "to": [16, 8, 8], + "faces": { + "north": {"uv": [0, 8, 8, 16], "texture": "#main", "cullface": "north"}, + "east": {"uv": [8, 8, 16, 16], "texture": "#main", "cullface": "east"}, + "up": {"uv": [8, 0, 16, 8], "texture": "#top"}, + "down": {"uv": [8, 8, 16, 16], "texture": "#bottom", "cullface": "down"} + } + }, + { + "from": [8, 0, 8], + "to": [16, 8, 16], + "faces": { + "east": {"uv": [0, 8, 8, 16], "texture": "#main", "cullface": "east"}, + "south": {"uv": [8, 8, 16, 16], "texture": "#main", "cullface": "south"}, + "down": {"uv": [8, 0, 16, 8], "texture": "#bottom", "cullface": "down"} + } + } ] } diff --git a/src/main/resources/fabric.mod.json b/src/main/resources/fabric.mod.json index bc774022..c2878131 100644 --- a/src/main/resources/fabric.mod.json +++ b/src/main/resources/fabric.mod.json @@ -1,7 +1,7 @@ { "schemaVersion": 1, "id": "extrapieces", - "version": "2.7.2", + "version": "2.8.0", "name": "Extra Pieces", "description": "Adds more block shapes to Minecraft!",