Skip to content

Commit

Permalink
Merge branch '1.18.2-dev' into 1.18.2
Browse files Browse the repository at this point in the history
  • Loading branch information
Crystal-Spider committed Oct 9, 2022
2 parents 039147b + cc4a871 commit 17cc1cb
Show file tree
Hide file tree
Showing 31 changed files with 264 additions and 200 deletions.
8 changes: 5 additions & 3 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,7 @@ bin
.metadata
.classpath
.project
eclipse

# idea
out
Expand All @@ -26,11 +27,12 @@ classes
.gradle

# other
eclipse
run
.fabric
.forge

# macos
*.DS_Store

# Files from Forge MDK
forge*changelog.txt
# api keys
api-keys.properties
78 changes: 2 additions & 76 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -5,79 +5,5 @@ All notable changes to the "just-vertical-slabs" Minecraft mod will be documente
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
and this project adheres to [Forge Semantic Versioning](https://mcforge.readthedocs.io/en/latest/gettingstarted/versioning/#versioning).

## [Unreleased]
- Nothing new.

## [1.18.2-3.2.0.3] - 2022/07/28
- Updated repository structure and server/client compatibility.

## [1.18.2-3.2.0.2] - 2022/07/19
- Fixed a bug that would cause game crashes with Mekanism.
- Fixed Transparent Vertical Slabs for Mekanism.
- Fixed a bug that would make the in-game mod manager show this mod needed always to be updated.

## [1.18.2-3.2.0.1] - 2022/07/18
- Fixed a rare bug that could cause game crash.
- Updated in game mod image.

## [1.18.2-3.2.0.0] - 2022/07/11
- Fixed [1.18.2-3.2.0.0-beta1] double vertical slabs bugs.
- Changed project structure to prepare a Fabric port.
- Improved translucent vertical slabs rendering.
- Added images to documentation.
- Fixed tinted glass light down propagation.
- Fixed a combining bug that would prevent vertical slabs facing north from creating certain angles when side by side with double vertical slabs.
- Fixed tint of grass vertical slabs particles.
- Improved double vertical slabs.

## [1.18.2-3.2.0.0-beta1] - 2022/06/04
- Added double vertical slabs.
- BUG: Double Vertical Slabs that only have a referredSlabState (so no referredBlockState) don't render correctly.
- BUG: Double Vertical Slabs that should emit light don't emit it.
- BUG: (from previous versions) honey and slime vertical slabs don't render correctly.

## [1.18.2-3.1.0.1] - 2022/05/23
- Fixed client-server interactions and small bug fix.

## [1.18.2-3.1.0.0] - 2022/05/22
- Fixed crash when this mod is put only on server.
- Fixed client-server compatibility.
- Improved light for translucent vertical slabs.

## [1.18.2-3.0.0.0] - 2022/05/16
- Fixed dynamic colors, like for grass and foliage.
- Fixed overlayed textures.
- Improved drops.
- Added support for blocks that are not full height, like Dirt Path.
- Fixed not full height vertical slabs occluding other blocks when they shouldn't.
- Improved Inner Vertical Slab ("big corner") model.
- Added support for transparent (translucent) vertical slabs.
- Improved dynamic models.
- Now, when possible, most properties refer to the block rather than the slab to improve coherence.
- Fixed broken textures when using external shaders.

## [1.18.2-2.0.0.0] - 2022/05/10
- Refractored code to base Vertical Slabs on Slabs rather than Blocks.
- Improved dynamic model code.
- Updated readme.
- Removed requirement for crafting recipe of a Slab to be considered a valid Slab. Now it's sufficient to have the *minecraft:slabs* tag.

## [1.18.2-1.0.0.0] - 2022/05/09
- Added vertical slab variants for any block having a slab variant, vanilla or not.
- Added "stair combining logic" to vertical slabs.
- Added crafting recipes involving vertical slabs.
- Added stonecutter recipes involving vertical slabs.
- Added in-world waxing recipes for vertical slabs that can be waxed.
- Added creative tab with all vertical slabs.

[Unreleased]: https://github.com/Nyphet/just-vertical-slabs
[1.18.2-3.2.0.3]: https://github.com/Nyphet/just-vertical-slabs/releases/tag/v1.18.2-3.2.0.3
[1.18.2-3.2.0.2]: https://github.com/Nyphet/just-vertical-slabs/releases/tag/v1.18.2-3.2.0.2
[1.18.2-3.2.0.1]: https://github.com/Nyphet/just-vertical-slabs/releases/tag/v1.18.2-3.2.0.1
[1.18.2-3.2.0.0]: https://github.com/Nyphet/just-vertical-slabs/releases/tag/v1.18.2-3.2.0.0
[1.18.2-3.2.0.0-beta1]: https://github.com/Nyphet/just-vertical-slabs/releases/tag/v1.18.2-3.2.0.0-beta1
[1.18.2-3.1.0.1]: https://github.com/Nyphet/just-vertical-slabs/releases/tag/v1.18.2-3.1.0.1
[1.18.2-3.1.0.0]: https://github.com/Nyphet/just-vertical-slabs/releases/tag/v1.18.2-3.1.0.0
[1.18.2-3.0.0.0]: https://github.com/Nyphet/just-vertical-slabs/releases/tag/v1.18.2-3.0.0.0
[1.18.2-2.0.0.0]: https://github.com/Nyphet/just-vertical-slabs/releases/tag/v1.18.2-2.0.0.0
[1.18.2-1.0.0.0]: https://github.com/Nyphet/just-vertical-slabs/releases/tag/v1.18.2-1.0.0.0
## **Migration**
This Changelog has been migrated to the newest [Changelog](https://github.com/Nyphet/just-vertical-slabs/blob/master/CHANGELOG.md), refer to that one.
93 changes: 53 additions & 40 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,53 +1,66 @@
# Just Vertical Slabs
### Finally build with Vertical Slabs in Vanilla or with any mod you've installed!
![Just Vertical Slabs banner](https://raw.githubusercontent.com/Nyphet/mod-fancy-assets/main/just-vertical-slabs/banner.gif)

## Features
- **Works out of the box with any mod!**
- Vertical Slab variants for any block with slab variants, Vanilla or not!
- Vertical Slabs combine like stairs do!
- Vertical Slabs craftings! See next section for more details.
- Creative Tab with all available Vertical Slabs!
---
![Minecraft](https://raw.githubusercontent.com/Nyphet/mod-fancy-assets/main/minecraft/minecraft.svg)[![1.19.2](https://raw.githubusercontent.com/Nyphet/mod-fancy-assets/main/minecraft/1-19-2.svg)](https://www.curseforge.com/minecraft/mc-mods/just-vertical-slabs/files/all?filter-status=1&filter-game-version=2020709689%3A9366)![Separator](https://raw.githubusercontent.com/Nyphet/mod-fancy-assets/main/separator.svg)[![1.18.2](https://raw.githubusercontent.com/Nyphet/mod-fancy-assets/main/minecraft/1-18-2.svg)](https://www.curseforge.com/minecraft/mc-mods/just-vertical-slabs/files/all?filter-status=1&filter-game-version=2020709689%3A9008)

![Loader](https://raw.githubusercontent.com/Nyphet/mod-fancy-assets/main/loader/loader.svg)[![Forge](https://raw.githubusercontent.com/Nyphet/mod-fancy-assets/main/loader/forge.svg)](https://www.curseforge.com/minecraft/mc-mods/just-vertical-slabs/files/all?filter-status=1&filter-game-version=2020709689%3A7498)

![Overlay](https://raw.githubusercontent.com/Nyphet/mod-fancy-assets/main/side/client-server.svg)

![Issues](https://raw.githubusercontent.com/Nyphet/mod-fancy-assets/main/github/issues.svg)[![GitHub](https://raw.githubusercontent.com/Nyphet/mod-fancy-assets/main/github/github.svg)](https://github.com/Nyphet/just-vertical-slabs/issues)

---
## **Description**
Minecraft has always been lacking something important: vertical slabs.
Because of this most mods adding new slabs do not include vertical slabs and you'd have to download addon mods to add them, in the rare case they even exist.
This mod aims to fix all of the above, adding vertical slabs dynamically for Vanilla and each mod installed!

See some screenshots [here](https://www.curseforge.com/minecraft/mc-mods/just-vertical-slabs/screenshots)!

***Important note:***
*All and only blocks that already have slab variants will also get vertical slab variants, this to keep a Vanilla-like game style that nicely adapts to any eventual mod.
If you want more vertical slabs it's sufficient to add more slabs. Then, automatically, vertical slabs will be added to the game.*

## Craftings
- 3 of the same block in a column to craft a vertical slab.
- 2 of the same vertical slab in a row to craft a full block.
- 2 of the same slab in a column to craft a full block.
- Vertical slabs can be crafted into slabs and vice versa just by putting them alone in the crafting.
- Waxing works as usual, both in-world and in-crafting.
- Stonecutter recipes are available.
It must be noted that, due to some implementation restrictions, a block can be stonecut only in its main vertical slab. To obtain the other vertical slab variants of that block the crafting recipes above must be used.
*All and only blocks that already have slab variants will also get vertical slab variants, this to keep a Vanilla-like game style that nicely adapts to any eventual mod.*
*If you want more vertical slabs it's sufficient to add more slabs. Then, automatically, vertical slabs will be added to the game.*

## Downloads
This is the FORGE version, a port to FABRIC is planned but won't happen any time soon.
Downloads are available [here](https://www.curseforge.com/minecraft/mc-mods/just-vertical-slabs/files).
## **Features**
- **Works out of the box with any mod!**
- Vertical Slab variants for any block with slab variants, Vanilla or not!
![Variants](https://raw.githubusercontent.com/Nyphet/mod-fancy-assets/main/just-vertical-slabs/variants.png)
- Vertical Slabs combine like stairs do!
![Combining](https://raw.githubusercontent.com/Nyphet/mod-fancy-assets/main/just-vertical-slabs/combining.png)
- Vertical Slabs craftings! See next section for more details.
- Creative Tab with all available Vertical Slabs!
![Creative tab](https://raw.githubusercontent.com/Nyphet/mod-fancy-assets/main/just-vertical-slabs/creative-tab.png)

## Issues
To open a new issue or search an existing one visit the [issues tab](https://github.com/Nyphet/just-vertical-slabs/issues).
Before opening a new issue please verify that no other issue about the same topic already exists, either open or closed.
If you find a mod that breaks with this mod or that does not get vertical slabs as it should, please open an issue.
If you find a weird or incorrect behavior of any vertical slab, please open an issue.
## **Craftings**
- 3 of the same block in a column to craft a vertical slab.
![Full to vertical](https://raw.githubusercontent.com/Nyphet/mod-fancy-assets/main/just-vertical-slabs/full-to-vertical.png)
- 2 of the same vertical slab in a row to craft a full block.
![Vertical to full](https://raw.githubusercontent.com/Nyphet/mod-fancy-assets/main/just-vertical-slabs/vertical-to-full.png)
- 2 of the same slab in a column to craft a full block.
![Horizontal to full](https://raw.githubusercontent.com/Nyphet/mod-fancy-assets/main/just-vertical-slabs/horizontal-to-full.png)
- Vertical slabs can be crafted into slabs and vice versa just by putting them alone in the crafting.
![Vertical to horizontal](https://raw.githubusercontent.com/Nyphet/mod-fancy-assets/main/just-vertical-slabs/vertical-to-horizontal.png)![Horizontal to vertical](https://raw.githubusercontent.com/Nyphet/mod-fancy-assets/main/just-vertical-slabs/horizontal-to-vertical.png)
- Waxing works as usual, both in-world and in-crafting.
![Waxing](https://raw.githubusercontent.com/Nyphet/mod-fancy-assets/main/just-vertical-slabs/waxing.png)![Waxing](https://raw.githubusercontent.com/Nyphet/mod-fancy-assets/main/just-vertical-slabs/waxing.gif)
- Stonecutter recipes are available.
![Stonecutter](https://raw.githubusercontent.com/Nyphet/mod-fancy-assets/main/just-vertical-slabs/stonecutter.png)
It must be noted that, due to some implementation restrictions, a block can be stonecut only in its main vertical slab. To obtain the other vertical slab variants of that block the crafting recipes above must be used.

## Credits
## **Credits**
A very big thank you goes to the Forge team that allowed anyone to mod Minecraft for free and their support in the Forge Forums.
In particular I want to thank diesieben07 that followed me throughout most of the development, without him none of this would have been possible.
In particular I want to thank *diesieben07* that followed me throughout most of the initial development.

## Technical details
This mod is required on both server and client to work.
## **License and right of use**
Feel free to use this mod for any modpack or video, just be sure to give credit and possibly link [here](https://github.com/Nyphet/just-vertical-slabs#readme).
This project is published under the [GNU General Public License v3.0](https://github.com/Nyphet/just-vertical-slabs/blob/master/LICENSE).

## **For developers**
For slab items to be recognized as slabs they must have the *minecraft:slabs* tag, as they should. If they don't, there's no way to understand whether they are slabs or not, so they are assumed to be not.
If another mod adds slabs that are not recognized by this mod, it's most probably for this reason, so check it and ask the other mod author to fix that.

## Mod Improvement
**Help wanted!**
There are a few points this mod is lacking in and I'd like to improve it, however I don't have nearly enough time nor energy to do so.
For this reason I'm looking for someone that would be available to help improve this project (for free of course).
If you think you are interested in becoming a co-author, help improve this mod and expand its ecosystem, please contact me with a message on [CurseForge](https://www.curseforge.com/private-messages/send?recipient=crystal_spider_).

## License and right of use
Feel free to use this mod for any modpack or video, just be sure to give credit and possibly link [here](https://github.com/Nyphet/just-vertical-slabs#readme).
This project is published under the [GNU General Public License v3.0](https://github.com/Nyphet/just-vertical-slabs/blob/master/LICENSE).
## **Support me**
[![Twitch](https://raw.githubusercontent.com/Nyphet/mod-fancy-assets/main/twitch/twitch64.png "Twitch")](https://www.twitch.tv/crystal_spider_)
[![Patreon](https://raw.githubusercontent.com/Nyphet/mod-fancy-assets/main/patreon/patreon64.png "Patreon")](https://www.patreon.com/crystalspider)
[![Ko-fi](https://raw.githubusercontent.com/Nyphet/mod-fancy-assets/main/kofi/kofi64.png "Ko-fi")](https://ko-fi.com/crystalspider)
[![GitHub](https://raw.githubusercontent.com/Nyphet/mod-fancy-assets/main/github/github64.png "My other projects")](https://github.com/Nyphet)
[![My other projects](https://raw.githubusercontent.com/Nyphet/mod-fancy-assets/main/curseforge/curseforge64.png "My other projects")](https://www.curseforge.com/members/crystal_spider_/projects)
94 changes: 73 additions & 21 deletions forge/build.gradle
Original file line number Diff line number Diff line change
Expand Up @@ -10,20 +10,20 @@ buildscript {
}
// Only edit below this line, the above code adds and enables the necessary things for Forge to be setup.
plugins {
id 'eclipse'
id 'maven-publish'
id 'com.matthewprenger.cursegradle' version "${cursegradle_version}"
id "com.github.breadmoirai.github-release" version "${github_release_version}"
}
apply plugin: 'net.minecraftforge.gradle'

version = "${mcVersion}-${modVersion}-forge"
group = "crystalspider.${modid}"
archivesBaseName = "${modid}"
archivesBaseName = project.modid
version = "${minecraft_version}-${mod_version}-${loader.toLowerCase()}"
group = project.group

// Mojang ships Java 17 to end users in 1.18+, so your mod should target Java 17.
java.toolchain.languageVersion = JavaLanguageVersion.of(17)

minecraft {
mappings channel: 'official', version: "${mcVersion}"
mappings channel: 'official', version: "${minecraft_version}"
// accessTransformer = file('src/main/resources/META-INF/accesstransformer.cfg') // Currently, this location cannot be changed from the default.
runs {
client {
Expand Down Expand Up @@ -82,17 +82,21 @@ sourceSets.main.resources { srcDir 'src/generated/resources' }
repositories {}

dependencies {
minecraft "net.minecraftforge:forge:${mcVersion}-${forgeVersion}"
minecraft "net.minecraftforge:forge:${minecraft_version}-${loader_version}${forge_subversion}"
}

def resourceTarget = 'META-INF/mods.toml'
def intoTargets = ["$rootDir/out/production/resources/", "$rootDir/out/production/${project.name}.main/", "$rootDir/bin/main/"]
def intoTargets = ["$rootDir/bin/main/"]
def replaceProperties = [
modTitle: modTitle,
mcVersion: mcVersion,
modVersion: modVersion,
forgeVersion: forgeVersion,
author: author
modid: modid,
modid_kebab: modid_kebab,
mod_title: mod_title,
minecraft_version: minecraft_version,
mod_version: mod_version,
loader_version: loader_version,
forge_subversion: forge_subversion,
author: author,
github_user: github_user
]

processResources {
Expand All @@ -112,27 +116,75 @@ processResources {
}
into target
}
file("${target}/${resourceTarget}").text = file("${target}/${resourceTarget}").text.replaceAll('modid', project.modid)
}
}
}

jar {
manifest {
attributes([
"Specification-Title" : project.modTitle,
"Specification-Title" : project.mod_title,
"Specification-Version" : project.mod_version,
"Specification-Vendor" : project.author,
"Specification-Version" : "1",
"Implementation-Title" : project.modTitle,
"Implementation-Version" : project.modVersion,
"Implementation-Title" : project.mod_title,
"Implementation-Version" : project.mod_version,
"Implementation-Vendor" : project.author,
"Implementation-Vendor-Id": project.group,
"Implementation-URL" : "https://github.com/${github_user}/${modid_kebab}/tree/${minecraft_version}",
"Implementation-Timestamp": new Date().format("yyyy-MM-dd'T'HH:mm:ssZ")
])
}
}

jar.finalizedBy('reobfJar')

tasks.withType(JavaCompile).configureEach {
options.encoding = 'UTF-8'
it.options.encoding = 'UTF-8'
it.options.release = 17
}

def changelog = "See [Changelog](https://github.com/${github_user}/${modid_kebab}/blob/master/CHANGELOG.md#${minecraft_version.replaceAll('\\.', '')}-${mod_version.replaceAll('\\.', '')}---${new Date().format("yyyyMMdd")})."

file("../api-keys.properties").withReader {
Properties props = new Properties()
props.load(it)
project.api_keys = props
}

curseforge {
apiKey = "${api_keys.curseforge}"
project {
id = "${curseforge_id}"
changelogType = 'markdown'
changelog = changelog
releaseType = 'release'
addGameVersion "${loader}"
addGameVersion "${minecraft_version}"
mainArtifact(jar) {
displayName = "[${loader} - ${minecraft_version}] ${mod_title} v${mod_version}"
// relations {}
}
}
options {
forgeGradleIntegration = false
}
}

githubRelease {
token "${api_keys.github}"
owner "${github_user}"
repo "${modid_kebab}"
tagName "v${minecraft_version}-${mod_version}"
targetCommitish "${minecraft_version}"
releaseName "v${minecraft_version}-${mod_version}"
generateReleaseNotes false
body changelog
draft true
prerelease false
releaseAssets jar
// Setting this to true will allow this plugin to upload artifacts to a release if it found an existing one. If overwrite is set to true, this option is ignored.
allowUploadToExisting true
// By default false; if set to true, will delete an existing release with the same tag and name
// overwrite true
// by default false; you can use this to see what actions would be taken without making a release
// dryRun false
}

34 changes: 25 additions & 9 deletions forge/gradle.properties
Original file line number Diff line number Diff line change
@@ -1,11 +1,27 @@
# Sets default memory used for gradle commands. Can be overridden by user or command line properties.
# This is required to provide enough memory for the Minecraft decompilation process.
org.gradle.jvmargs=-Xmx3G
org.gradle.daemon=false

modid=justverticalslabs
modTitle=Just Vertical Slabs
mcVersion=1.18.2
modVersion=3.2.0.3
forgeVersion=40.1.0
author=Crystal Spider
org.gradle.jvmargs = -Xmx3G
org.gradle.daemon = false

# Forge Properties
minecraft_version = 1.18.2
loader_version = 40
loader = Forge

# Mod Properties
mod_title = Just Vertical Slabs
mod_version = 4.0.0.0
author = Crystal Spider
group = crystalspider
modid = justverticalslabs
modid_kebab = just-vertical-slabs

# Dependencies
forge_subversion = .1.0
cursegradle_version = 1.4.0
github_release_version = 2.4.1

# Miscellaneous
github_user = Nyphet
curseforge_id = 605439
api_keys = {}
Loading

0 comments on commit 17cc1cb

Please sign in to comment.