Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
6 changes: 3 additions & 3 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -134,9 +134,9 @@ jobs:
if-no-files-found: error
retention-days: 30
path: |
build/libs/SkysGrassSlabs-1.1.0.118021.jar
build/libs/SkysGrassSlabs-1.1.0.118021-sources.jar
build/libs/SkysGrassSlabs-1.1.0.118021-javadoc.jar
build/libs/SkysGrassSlabs-1.1.1.118021.jar
build/libs/SkysGrassSlabs-1.1.1.118021-sources.jar
build/libs/SkysGrassSlabs-1.1.1.118021-javadoc.jar
build/release/SHA256SUMS
CHANGELOG.md

Expand Down
6 changes: 6 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,11 @@
# Changelog

## 1.1.1.118021 - Minecraft 1.18.2

- Corrected snowy grass slabs so their exposed top uses the snow texture
instead of remaining biome coloured green.
- Preserved the existing snowy side edges and all world data.

## 1.1.0.118021 - Minecraft 1.18.2

- Added an automatic upgrade path for matching grass, dirt and dirt path slabs
Expand Down
4 changes: 2 additions & 2 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@ thin layer of turf. Grass spreads naturally between full blocks and slabs,
while new Overworld terrain uses grass slabs to soften suitable one block
steps.

This branch is for Minecraft 1.18.2. Version `1.1.0.118021` requires Forge
This branch is for Minecraft 1.18.2. Version `1.1.1.118021` requires Forge
40.3.0 or a compatible Forge 40 build and Java 17.

## Installation
Expand Down Expand Up @@ -34,7 +34,7 @@ or updating world changing mods.
- [Gameplay and recipes](docs/GAMEPLAY.md)
- [Configuration](docs/CONFIGURATION.md)
- [Upgrading an older world](docs/WORLD-UPGRADES.md)
- [Release notes](docs/RELEASE-1.1.0.118021.md)
- [Release notes](docs/RELEASE-1.1.1.118021.md)

## License

Expand Down
10 changes: 10 additions & 0 deletions docs/RELEASE-1.1.1.118021.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
# Sky's Grass Slabs 1.1.1 for Minecraft 1.18.2

This update corrects the snowy appearance of grass slabs. When a grass slab
shows snowy side edges, its exposed top now uses the matching snow texture
instead of remaining green.

All blocks, recipes, configuration options and world data remain compatible
with the previous Forge 1.18.2 release.

Requires Minecraft 1.18.2, Forge 40.3.0 and Java 17.
2 changes: 1 addition & 1 deletion docs/WORLD-UPGRADES.md
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@ world has been checked in game.

## Sky's Grass Slabs content

Install `SkysGrassSlabs-1.1.0.118021.jar` before opening a world that used an
Install `SkysGrassSlabs-1.1.1.118021.jar` before opening a world that used an
earlier release. The permanent dirt slab, grass slab, path slab and turf IDs
are unchanged.

Expand Down
2 changes: 1 addition & 1 deletion gradle.properties
Original file line number Diff line number Diff line change
Expand Up @@ -62,7 +62,7 @@ mod_name=Sky's Grass Slabs
# The license of the mod. Review your options at https://choosealicense.com/. All Rights Reserved is the default.
mod_license=LGPL-2.1-only
# The mod version. See https://semver.org/
mod_version=1.1.0.118021
mod_version=1.1.1.118021
# The group ID for the mod. It is only important when publishing as an artifact to a Maven repository.
# This should match the base package used for the mod sources.
# See https://maven.apache.org/guides/mini/guide-naming-conventions.html
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -26,7 +26,7 @@ public final class SkysGrassSlabs {
/** Stable Forge mod identifier and resource namespace. */
public static final String MOD_ID = "skysgrassslabs";
public static final String NAME = "Sky's Grass Slabs";
public static final String VERSION = "1.1.0.118021";
public static final String VERSION = "1.1.1.118021";
public static final Logger LOGGER = LogManager.getLogger();

/** Registers content, configuration, world generation, and persistent state. */
Expand Down
Original file line number Diff line number Diff line change
@@ -1,11 +1,11 @@
{
"parent": "minecraft:block/block",
"textures": { "particle": "minecraft:block/dirt", "bottom": "minecraft:block/dirt", "top": "minecraft:block/grass_block_top", "side": "minecraft:block/grass_block_snow" },
"textures": { "particle": "minecraft:block/dirt", "bottom": "minecraft:block/dirt", "top": "minecraft:block/snow", "side": "minecraft:block/grass_block_snow" },
"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", "cullface": "up", "tintindex": 0 },
"up": { "uv": [0, 0, 16, 16], "texture": "#top", "cullface": "up" },
"north": { "uv": [0, 0, 16, 8], "texture": "#side", "cullface": "north" },
"south": { "uv": [0, 0, 16, 8], "texture": "#side", "cullface": "south" },
"west": { "uv": [0, 0, 16, 8], "texture": "#side", "cullface": "west" },
Expand Down
Original file line number Diff line number Diff line change
@@ -1,11 +1,11 @@
{
"parent": "minecraft:block/block",
"textures": { "particle": "minecraft:block/dirt", "bottom": "minecraft:block/dirt", "top": "minecraft:block/grass_block_top", "side": "minecraft:block/grass_block_snow" },
"textures": { "particle": "minecraft:block/dirt", "bottom": "minecraft:block/dirt", "top": "minecraft:block/snow", "side": "minecraft:block/grass_block_snow" },
"elements": [{
"from": [0, 8, 0], "to": [16, 16, 16],
"faces": {
"down": { "uv": [0, 0, 16, 16], "texture": "#bottom", "cullface": "down" },
"up": { "uv": [0, 0, 16, 16], "texture": "#top", "cullface": "up", "tintindex": 0 },
"up": { "uv": [0, 0, 16, 16], "texture": "#top", "cullface": "up" },
"north": { "uv": [0, 0, 16, 8], "texture": "#side", "cullface": "north" },
"south": { "uv": [0, 0, 16, 8], "texture": "#side", "cullface": "south" },
"west": { "uv": [0, 0, 16, 8], "texture": "#side", "cullface": "west" },
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -32,14 +32,14 @@ public void playerAndMaintainerDocumentsExist() {
assertTrue(Files.isRegularFile(Path.of("docs/GAMEPLAY.md")));
assertTrue(Files.isRegularFile(Path.of("docs/WORLD-UPGRADES.md")));
assertFalse(Files.exists(Path.of("docs/REPOSITORY.md")));
assertTrue(Files.isRegularFile(Path.of("docs/RELEASE-1.1.0.118021.md")));
assertTrue(Files.isRegularFile(Path.of("docs/RELEASE-1.1.1.118021.md")));
assertTrue(Files.isRegularFile(Path.of("docs/BETA-0.2.0.118021.md")));
}

@Test
public void releaseIdentityAndLicenseAreStable() throws Exception {
String properties = Files.readString(Path.of("gradle.properties"), StandardCharsets.UTF_8);
assertTrue(properties.contains("mod_version=1.1.0.118021"));
assertTrue(properties.contains("mod_version=1.1.1.118021"));
assertTrue(properties.contains("mod_license=LGPL-2.1-only"));
assertEquals("LGPL-2.1-only", Files.readString(Path.of("LICENSE.spdx"), StandardCharsets.UTF_8).trim());
assertTrue(Files.readString(Path.of("NOTICE"), StandardCharsets.UTF_8)
Expand Down Expand Up @@ -102,7 +102,7 @@ public void commonConfigAndWorldStateUsePermanentKeys() throws Exception {
assertTrue(config.contains("push(\"compat\")"));
assertTrue(config.contains("define(FORCE_REPLACE_BUILDINGBRICKS_SLABS, false)"));
assertTrue(config.contains("define(FORCE_REPLACE_GRASS_SLABS_MOD_CONTENT, false)"));
assertTrue(main.contains("VERSION = \"1.1.0.118021\""));
assertTrue(main.contains("VERSION = \"1.1.1.118021\""));
assertTrue(state.contains("skysgrassslabs_world_state"));
assertTrue(state.contains("SCHEMA_VERSION = 1"));
assertTrue(state.contains("schema_version"));
Expand Down Expand Up @@ -190,9 +190,9 @@ public void continuousIntegrationTargetsTheStableBranchAndArtifacts() throws Exc
}
String ci = Files.readString(Path.of(".github/workflows/ci.yml"),
StandardCharsets.UTF_8);
assertTrue(ci.contains("SkysGrassSlabs-1.1.0.118021.jar"));
assertTrue(ci.contains("SkysGrassSlabs-1.1.0.118021-sources.jar"));
assertTrue(ci.contains("SkysGrassSlabs-1.1.0.118021-javadoc.jar"));
assertTrue(ci.contains("SkysGrassSlabs-1.1.1.118021.jar"));
assertTrue(ci.contains("SkysGrassSlabs-1.1.1.118021-sources.jar"));
assertTrue(ci.contains("SkysGrassSlabs-1.1.1.118021-javadoc.jar"));
assertTrue(ci.contains("if-no-files-found: error"));
assertEquals(2, ci.lines()
.filter(line -> line.contains("java-version: '8.0.502+7'"))
Expand Down
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
package zone.moddev.mc.skysgrassslabs;

import static org.junit.Assert.assertEquals;
import static org.junit.Assert.assertFalse;
import static org.junit.Assert.assertTrue;

import java.io.IOException;
Expand Down Expand Up @@ -65,6 +66,24 @@ public void turfModelIsOnePixelHighAndBiomeTinted() throws Exception {
}
}

@Test
public void snowyGrassSlabModelsUseUntintedSnowCaps() throws Exception {
for (String modelName : new String[] {"grass_slab_snow", "grass_slab_top_snow"}) {
JsonElement model = JsonParser.parseString(Files.readString(Path.of(
"src/main/resources/assets/skysgrassslabs/models/block/"
+ modelName + ".json")));
var object = model.getAsJsonObject();
assertEquals("minecraft:block/snow",
object.getAsJsonObject("textures").get("top").getAsString());
assertEquals("minecraft:block/grass_block_snow",
object.getAsJsonObject("textures").get("side").getAsString());
var up = object.getAsJsonArray("elements").get(0).getAsJsonObject()
.getAsJsonObject("faces").getAsJsonObject("up");
assertEquals("#top", up.get("texture").getAsString());
assertFalse(up.has("tintindex"));
}
}

@Test
public void grassSlabUsesVanillaGrassCutoutLayer() throws Exception {
String client = Files.readString(Path.of(
Expand Down
Loading