Skip to content

Commit

Permalink
Merge pull request #3 from WildfireRomeo/fabric-1.21.4
Browse files Browse the repository at this point in the history
update
  • Loading branch information
TransBluelight authored Dec 6, 2024
2 parents 8859e81 + 234ce08 commit 4601e29
Show file tree
Hide file tree
Showing 152 changed files with 8,115 additions and 3,216 deletions.
24 changes: 24 additions & 0 deletions .github/extract_refs.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,24 @@
#!/usr/bin/env bash

# Extract the branch name from $GITHUB_REF, replacing any slash characters with dashes
# https://github.com/CaffeineMC/sodium-fabric/blob/435a6bd7ecfa58499b64f1a73b61309070929d86/.github/workflows/build-commit.yml#L15
ref="${GITHUB_REF#refs/heads/}" && echo "branch=${ref////-}" >> $GITHUB_OUTPUT

# Extract the Minecraft version from gradle.properties
minecraft_version=$(grep 'minecraft_version=' gradle.properties --color=never) && echo $minecraft_version >> $GITHUB_OUTPUT

### Build version summary

fabric_loader=$(grep 'loader_version=' gradle.properties --color=never)
fabric_loader="${fabric_loader#loader_version=}"

fabric_api=$(grep 'fabric_version=' gradle.properties --color=never)
fabric_api="${fabric_api#fabric_version=}"
# Strip the trailing '+version' syntax
fabric_api="${fabric_api//+[0-9]*/}"

echo "## Version summary" >> $GITHUB_STEP_SUMMARY
echo "" >> $GITHUB_STEP_SUMMARY
echo "- Targeting Minecraft version ${minecraft_version#minecraft_version=}" >> $GITHUB_STEP_SUMMARY
echo "- Using Fabric loader $fabric_loader" >> $GITHUB_STEP_SUMMARY
echo "- Using Fabric API version $fabric_api" >> $GITHUB_STEP_SUMMARY
50 changes: 30 additions & 20 deletions .github/workflows/fabric.yml
Original file line number Diff line number Diff line change
@@ -1,27 +1,37 @@
name: Build Fabric mod with Gradle
on:
push:
branches: [ fabric-1.19.4 ]
on: [pull_request, push]

jobs:
build:
runs-on: ubuntu-22.04
runs-on: ubuntu-24.04
steps:
- name: Get the repository contents.
uses: actions/checkout@v3
with:
clean: false
- name: Set up JDK 17
uses: actions/setup-java@v3
- name: Checkout repository
uses: actions/checkout@v4
- name: Validate Gradle Wrapper
uses: gradle/actions/wrapper-validation@v4
- name: Extract build version information
id: ref
run: .github/extract_refs.sh
- name: Setup JDK 21
uses: actions/setup-java@v4
with:
distribution: 'temurin'
java-version: 17
- name: Attempt to compile using Gradle
run: |
chmod +x gradlew
./gradlew build
# we do not want -sources and -dev files, also this needs a github account to be downloaded via summary page.
- name: Upload compiled mod jars.
uses: actions/upload-artifact@v3
java-version: 21
check-latest: true
- name: Initialize caches
uses: actions/cache@v4
with:
path: |
~/.gradle/caches
~/.gradle/loom-cache
~/.gradle/wrapper
key: ${{ runner.os }}-build-fabric-${{ steps.ref.outputs.minecraft_version }}
restore-keys: |
${{ runner.os }}-build-fabric-
- name: Compile with Gradle
run: ./gradlew build
- name: Upload compiled artifacts
uses: actions/upload-artifact@v4
with:
name: WFGM-artifacts
path: build/libs/*[0-9].jar
name: WFGM-artifacts-${{ steps.ref.outputs.branch }}
path: build/libs/*.jar
2 changes: 2 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -12,13 +12,15 @@ classes/
# idea

.idea/
!.idea/copyright/
*.iml
*.ipr
*.iws

#Minecraft
run/
runV2/
dependencies/

# vscode

Expand Down
6 changes: 6 additions & 0 deletions .idea/copyright/LGPL.xml

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

3 changes: 3 additions & 0 deletions .idea/copyright/profiles_settings.xml

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

16 changes: 16 additions & 0 deletions CHANGELOG
Original file line number Diff line number Diff line change
@@ -0,0 +1,16 @@
Creating this to keep track of most major changes made without having to sift through the commits.

VERSION 4.3.1
- Added Rotational Horizontal Physics? (if that makes any sense lol)



VERSION 4.3
- Added BluelightAmelia to Contributors
- Added Keybinding for Breast Rendering
- Fixed Removing Chestplates From Armor Stands
- Added Keira Emberlyn (???)
- Updated French Translation
- Updated Russian Translation
- Added Pirate Speak Translation
- Removed Unnecessary Code
6 changes: 3 additions & 3 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,8 +1,8 @@
![Mod Banner](https://i.imgur.com/mtKmgT9.png)
![Mod Banner](https://i.imgur.com/WLCTnCK.png)
# Wildfire's Female Gender Mod

### Description
The mod's primary purpose is to add breasts to your Minecraft player to give it a more unique appearance than the generic model,
The primary goal of this mod is to enhance your Minecraft player's appearance by adding breasts to your player model, providing a distinctive look compared to the standard model.
It works on client-side without issues but if you wish to add syncing support then this mod must be present on the server aswell.

## Default Controls
Expand All @@ -11,4 +11,4 @@ G - Open Wildfire's Gender Menu

## License

Wildfire's Female Gender Mod is licensed under GNU LGPLv3, a free and open-source license. For more information, please see the [license file](https://github.com/WildfireRomeo/WildfireFemaleGenderMod/blob/fabric-1.19.4/LICENSE).
Wildfire's Female Gender Mod is licensed under GNU LGPLv3, a free and open-source license. For more information, please see the [license file](https://github.com/WildfireRomeo/WildfireFemaleGenderMod/blob/fabric-1.20.2/LICENSE).
73 changes: 32 additions & 41 deletions build.gradle
Original file line number Diff line number Diff line change
@@ -1,67 +1,58 @@
plugins {
id 'fabric-loom' version '0.12-SNAPSHOT'
id 'fabric-loom' version '1.9-SNAPSHOT'
id 'maven-publish'
}

sourceCompatibility = JavaVersion.VERSION_17
targetCompatibility = JavaVersion.VERSION_17

archivesBaseName = project.archives_base_name
version = project.mod_version
version = "fabric-${project.mod_version}+${project.minecraft_version}"
group = project.maven_group

repositories {
maven {
name = "Jitpack"
url 'https://jitpack.io'
}
maven {
url "https://maven.terraformersmc.com/"
}
maven {
url "https://maven.jamieswhiteshirt.com/libs-release/"
}
maven {
url "https://maven.shedaniel.me/"
}
maven {
url = 'https://maven.cafeteria.dev'
content {
includeGroup 'net.adriantodt.fabricmc'
}
}
maven {
name = "Ladysnake Libs"
url = 'https://ladysnake.jfrog.io/artifactory/mods'
}
maven {
url = 'https://repo.minelittlepony-mod.com/maven/release'
}
mavenCentral()
base {
archivesName = project.archives_base_name
}

repositories {
maven { url = "https://pkgs.dev.azure.com/djtheredstoner/DevAuth/_packaging/public/maven/v1" }
}

dependencies {
// To change the versions see the gradle.properties file
minecraft "com.mojang:minecraft:${project.minecraft_version}"
mappings "net.fabricmc:yarn:${project.yarn_mappings}:v2"
mappings "net.fabricmc:yarn:${project.minecraft_version}+build.${project.yarn_build}:v2"
modImplementation "net.fabricmc:fabric-loader:${project.loader_version}"

// Fabric API. This is technically optional, but you probably want it anyway.
modImplementation "net.fabricmc.fabric-api:fabric-api:${project.fabric_version}"
modImplementation fabricApi.module("fabric-networking-api-v1", project.fabric_version)
modImplementation fabricApi.module("fabric-key-binding-api-v1", project.fabric_version)
modImplementation fabricApi.module("fabric-lifecycle-events-v1", project.fabric_version)
modImplementation fabricApi.module("fabric-rendering-v1", project.fabric_version)
modImplementation fabricApi.module("fabric-resource-loader-v0", project.fabric_version)
modRuntimeOnly fabricApi.module("fabric-registry-sync-v0", project.fabric_version)

// Allow logging into an actual Minecraft account in a dev env
// See https://github.com/DJtheRedstoner/DevAuth
modLocalRuntime "me.djtheredstoner:DevAuth-fabric:1.2.1"
}

processResources {
inputs.property "version", project.version
inputs.property "version", project.mod_version
inputs.property "minecraft_version", project.minecraft_version

filesMatching("fabric.mod.json") {
expand "version": project.version
expand "version": project.mod_version, "minecraft_version": project.minecraft_version
}
}

tasks.withType(JavaCompile).configureEach {
// Minecraft 1.18 (1.18-pre2) upwards uses Java 17.
it.options.release = 17
// Minecraft 1.20.5 (24w14a) upwards uses Java 21.
it.options.release = 21
}

java {
sourceCompatibility = JavaVersion.VERSION_21
targetCompatibility = JavaVersion.VERSION_21
}

loom {
accessWidenerPath = file("src/main/resources/wildfire_gender.accesswidener")
}

jar {
Expand Down
96 changes: 96 additions & 0 deletions doc/armor_configs.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,96 @@
# Armor Resource Configs

Armor physics values can be modified by a resource pack by placing a JSON file at `assets/NAMESPACE/wildfire_gender_data/ASSET_ID.json`,
where `NAMESPACE` and `ASSET_ID` are replaced with the respective values (such as `assets/minecraft/wildfire_gender_data/iron.json`).

The full schema with default values is as follows:

```json5
{
// both values are a range of 0.0 and 1.0 (inclusive)
"resistance": 0.5,
"tightness": 0.0,
"covers_breasts": true,
"hide_breasts": false,
"render_on_armor_stands": null, // true if resistance == 1
"texture": {
"texture_size": {"x": 64, "y": 32},
"dimensions": {"x": 4, "y": 5},
"left_uv": {"x": 16, "y": 17},
"right_uv": {"x": -1, "y": -1} // defaults to left_uv added with the x value of dimensions
}
}
```

## Values

### `resistance`

A number value between `0.0` and `1.0` (inclusive) determining how much this armor resists the wearer's breast physics as
a percentage value, where values like `0.5` equate to 50%.

Defaults to `0.5` (50%) if not set.

### `tightness`

A number value between `0.0` and `1.0` (inclusive) determining how much this armor "compresses" the wearer's breasts against
their chest as a percentage value, making them appear up to 15% smaller at `1.0` (100%).

Defaults to `0.0` (0%) if not set.

### `covers_breasts`

Boolean value determining if this armor piece covers the wearer's breasts; this is intended to be set to `false` for equippable
chest slot items with an open front, such as the Elytra.
Note that if this is `false` the armor layer won't be rendered, as if the armor piece simply didn't exist.

Defaults to `true` if not set.

### `hide_breasts`

Boolean value determining if the wearer's breasts should be hidden entirely while this armor piece is worn; this is
intended for armor that use custom rendering which would just lead to clipping or other unintended behavior.

Defaults to `false` if not set.

### `render_on_armor_stands`

Boolean value determining if armor stands should render the breast settings of the player equipping this armor piece
onto them.

This is designed for armor types which are metallic in nature (such as Iron and Gold), and not ones which would be
flexible enough to accommodate for the wearer's breasts on their own (such as Leather and Chain).

Defaults to `true` *only* if `resistance` is `1.0` if unset.

### `texture`

Object containing various texture-related overrides; note that all values **must** contain both `x` *and* `y` if specified.

#### `texture_size`

Controls the armor sprite's texture size.

Note that if your sprite is simply an upscaled resolution of the vanilla sprite (such as 128x64, 256x128, etc.)
you do *not* need to modify this or any other texture values, as it'll already handle that automatically.

Defaults to `{"x": 64, "y": 32}` if unset.

#### `dimensions`

Controls how large an area the breasts should grab from the sprite for *each breast*; this means that this value's
X is *half* of the total sprite area to render.

Defaults to `{"x": 4, "y": 5}` if unset.

#### `left_uv`

Controls where the left breast should start rendering this armor from.

Defaults to `{"x": 16, "y": 17}` if unset.

#### `right_uv`

Controls where the right breast should start rendering this armor from.

Defaults to `left_uv` added with the X value of `dimensions` if unset.
17 changes: 9 additions & 8 deletions gradle.properties
Original file line number Diff line number Diff line change
Expand Up @@ -2,15 +2,16 @@
org.gradle.jvmargs=-Xmx1G

# Fabric Properties
# check these on https://fabricmc.net/develop
minecraft_version=1.20
yarn_mappings=1.20+build.1
loader_version=0.14.21
# check these on https://fabricmc.net/develop
# Note that this variable does *not* define the minimum required version in fabric.mod.json!
minecraft_version=1.21.4
yarn_build=1
loader_version=0.16.9

# Mod Properties
mod_version = fabric-1.20-3.0.1
maven_group = com.wildfiregender.main
archives_base_name = Female-Gender-Mod
mod_version = 4.3.1
maven_group = com.wildfiregender.main
archives_base_name = Female-Gender-Mod

# Dependencies
fabric_version=0.83.0+1.20
fabric_version=0.110.5+1.21.4
Binary file modified gradle/wrapper/gradle-wrapper.jar
Binary file not shown.
5 changes: 3 additions & 2 deletions gradle/wrapper/gradle-wrapper.properties
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
distributionBase=GRADLE_USER_HOME
distributionPath=wrapper/dists
distributionUrl=https\://services.gradle.org/distributions/gradle-7.5.1-bin.zip
distributionUrl=https\://services.gradle.org/distributions/gradle-8.11.1-bin.zip
networkTimeout=10000
validateDistributionUrl=true
zipStoreBase=GRADLE_USER_HOME
zipStorePath=wrapper/dists
zipStorePath=wrapper/dists
Loading

0 comments on commit 4601e29

Please sign in to comment.