Skip to content

Commit b935fbc

Browse files
committed
Actual mod content
- Initial set of discs - New villager profession (DJ) - Loot tables - Crafting recipes - Tags Also added workflows (if they work)
1 parent a139e78 commit b935fbc

File tree

59 files changed

+1053
-26
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

59 files changed

+1053
-26
lines changed
Lines changed: 107 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,107 @@
1+
name: Build & Release
2+
3+
on:
4+
push:
5+
branches: [ main ]
6+
workflow_dispatch:
7+
tags:
8+
- 'v*'
9+
10+
permissions:
11+
contents: write
12+
13+
jobs:
14+
build:
15+
runs-on: ubuntu-latest
16+
name: Mod Building
17+
18+
outputs:
19+
version: ${{ steps.version.outputs.version }}
20+
filename: ${{ steps.build.outputs.filename }}
21+
22+
steps:
23+
- name: Checkout repository
24+
uses: actions/checkout@v4
25+
26+
- name: Setup Java
27+
uses: actions/setup-java@v4
28+
with:
29+
distribution: 'temurin'
30+
java-version: '17'
31+
cache: gradle
32+
33+
- name: Grant execute permission for gradlew
34+
run: chmod +x gradlew
35+
36+
- name: Build project
37+
id: build
38+
run: |
39+
./gradlew build
40+
JAR_FILE=$(ls build/libs/*.jar | grep -v sources | head -1)
41+
echo "filename=$(basename $JAR_FILE)" >> $GITHUB_OUTPUT
42+
43+
- name: Get version from gradle.properties
44+
id: version
45+
run: |
46+
VERSION=$(grep "^mod_version=" gradle.properties | cut -d'=' -f2)
47+
echo "version=$VERSION" >> $GITHUB_OUTPUT
48+
49+
- name: Upload build artifacts
50+
uses: actions/upload-artifact@v4
51+
with:
52+
name: mod-build
53+
path: build/libs/
54+
55+
release:
56+
needs: build
57+
runs-on: ubuntu-latest
58+
name: Create Release
59+
if: startsWith(github.ref, 'refs/tags/v')
60+
61+
steps:
62+
- name: Checkout (fetch tags)
63+
uses: actions/checkout@v4
64+
65+
- name: Determine tag and annotated message
66+
id: taginfo
67+
run: |
68+
TAG=${GITHUB_REF##*/}
69+
echo "tag=$TAG" >> $GITHUB_OUTPUT
70+
# Try to read annotated tag contents
71+
BODY=$(git for-each-ref --format='%(contents)' refs/tags/$TAG 2>/dev/null || true)
72+
if [ -z "$BODY" ]; then
73+
BODY=$(git tag -l --format='%(contents)' "$TAG" 2>/dev/null || true)
74+
fi
75+
# Fallback to commit message if no tag message
76+
if [ -z "$BODY" ]; then
77+
BODY=$(git log -1 --pretty=%B)
78+
fi
79+
echo "body<<EOF" >> $GITHUB_OUTPUT
80+
echo "$BODY" >> $GITHUB_OUTPUT
81+
echo "EOF" >> $GITHUB_OUTPUT
82+
83+
- name: Download artifacts
84+
uses: actions/download-artifact@v4
85+
with:
86+
name: mod-build
87+
path: ./artifacts
88+
89+
- name: Create GitHub Release
90+
id: create_release
91+
uses: actions/create-release@v1
92+
with:
93+
tag_name: ${{ steps.taginfo.outputs.tag }}
94+
release_name: ${{ steps.taginfo.outputs.tag }}
95+
body: ${{ steps.taginfo.outputs.body }}
96+
draft: false
97+
prerelease: false
98+
env:
99+
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
100+
101+
- name: Upload release asset
102+
uses: actions/upload-release-asset@v1
103+
with:
104+
upload_url: ${{ steps.create_release.outputs.upload_url }}
105+
asset_path: ./artifacts/${{ needs.build.outputs.filename }}
106+
asset_name: ${{ needs.build.outputs.filename }}
107+
asset_content_type: application/java-archive
Lines changed: 46 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,46 @@
1+
name: PR Validation
2+
3+
on:
4+
pull_request:
5+
branches: [ main ]
6+
push:
7+
branches: [ main ]
8+
9+
permissions:
10+
contents: read
11+
12+
jobs:
13+
validate:
14+
runs-on: ubuntu-latest
15+
name: Build & Validate
16+
17+
steps:
18+
- name: Checkout repository
19+
uses: actions/checkout@v4
20+
21+
- name: Setup Java
22+
uses: actions/setup-java@v4
23+
with:
24+
distribution: 'temurin'
25+
java-version: '17'
26+
cache: gradle
27+
28+
- name: Grant execute permission for gradlew
29+
run: chmod +x gradlew
30+
31+
- name: Validate Gradle wrapper
32+
uses: gradle/wrapper-validation-action@v2
33+
34+
- name: Build project
35+
run: ./gradlew build
36+
37+
- name: Check formatting and code quality
38+
run: ./gradlew check --continue || true
39+
40+
- name: Upload build artifacts
41+
if: always()
42+
uses: actions/upload-artifact@v4
43+
with:
44+
name: build-artifacts
45+
path: build/libs/
46+
retention-days: 7

.gitignore

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -23,6 +23,7 @@ build
2323
# other
2424
eclipse
2525
run
26+
run-data
2627

2728
# Files from Forge MDK
2829
forge*changelog.txt

README.md

Lines changed: 89 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,2 +1,90 @@
11
# Discs
2-
Additional discs for the SMP
2+
This mod adds additional discs. This mod is intended for use on TurboWarp SMP but it's fine if used outside its original purpose.
3+
4+
If people like this mod, I could expand on it in the future or make a non SMP focused version.
5+
6+
## Features
7+
This mod contains a decent amount of content, such as:
8+
- Music Discs (of course)
9+
- A new villager profession called the "DJ" (links to a jukebox)
10+
11+
## Discs
12+
Expanding from the previous section, this mod adds several new music discs, such as:
13+
14+
**Lava Chicken**\
15+
<img
16+
src="src/main/resources/assets/discs/textures/item/music_disc_lava_chicken.png"
17+
alt="Lava Chicken"
18+
width="75"
19+
height="75"
20+
style="image-rendering: pixelated; image-rendering: crisp-edges;"
21+
/>\
22+
This disc is fully backported from the latest versions of the game, obtainment is the same
23+
24+
---
25+
26+
**The Skibidi PenguinMod Song**\
27+
<img
28+
src="src/main/resources/assets/discs/textures/item/music_disc_the_skibidi_penguinmod_song.png"
29+
alt="The Skibidi PenguinMod Song"
30+
width="75"
31+
height="75"
32+
style="image-rendering: pixelated; image-rendering: crisp-edges;"
33+
/>\
34+
This disc is obtained via Creeper killed by Skeleton drops\
35+
Music credit goes to @ddededodediamante\
36+
You can find the song [here](https://www.youtube.com/watch?v=IRltNNCLVFI)
37+
38+
---
39+
40+
**Wither Storm Theme**\
41+
<img
42+
src="src/main/resources/assets/discs/textures/item/music_disc_wither_storm_theme.png"
43+
alt="Wither Storm Theme"
44+
width="75"
45+
height="75"
46+
style="image-rendering: pixelated; image-rendering: crisp-edges;"
47+
/>\
48+
This disc is obtained via crafting (8 disc fragments and a nether star)\
49+
Music credit goes to **Antimo & Welles**\
50+
You can find the song [here](https://www.youtube.com/watch?v=3NlkqN3O1MU)
51+
52+
---
53+
54+
**Never Gonna Give You Up**\
55+
<img
56+
src="src/main/resources/assets/discs/textures/item/music_disc_never_gonna_give_you_up.png"
57+
alt="Never Gonna Give You Up"
58+
width="75"
59+
height="75"
60+
style="image-rendering: pixelated; image-rendering: crisp-edges;"
61+
/>\
62+
This disc is obtained via trading with the DJ villager\
63+
Music credit goes to **Rick Astley**\
64+
You can find the song [here](https://www.youtube.com/watch?v=dQw4w9WgXcQ)
65+
66+
---
67+
68+
**Thick Of It (Villager Cover)**\
69+
<img
70+
src="src/main/resources/assets/discs/textures/item/music_disc_thick_of_it.png"
71+
alt="Thick Of It (Villager Cover)"
72+
width="75"
73+
height="75"
74+
style="image-rendering: pixelated; image-rendering: crisp-edges;"
75+
/>\
76+
This disc is obtained via the chest that spawns in igloo basements\
77+
You can find the song [here](https://www.youtube.com/watch?v=K6Cpxjx2oUg)
78+
79+
---
80+
81+
**Stuck Inside (Green Skeleton Cover)**\
82+
<img
83+
src="src/main/resources/assets/discs/textures/item/music_disc_stuck_inside.png"
84+
alt="Stuck Inside (Green Skeleton Cover)"
85+
width="75"
86+
height="75"
87+
style="image-rendering: pixelated; image-rendering: crisp-edges;"
88+
/>\
89+
This disc is obtained via Creeper killed by Skeleton drops\
90+
You can find the song [here](https://www.youtube.com/watch?v=pcwLin54JcE)
Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
// 1.20.1 2025-10-30T20:26:54.4597157 Tags for minecraft:block mod id discs
Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
1+
// 1.20.1 2025-11-13T19:23:53.1782898 Item Models: discs
2+
3ff4d6e3dd89c5022a80c0a903567027c58de678 assets/discs/models/item/music_disc_lava_chicken.json
3+
b0de988e911b9143de1540725d24c63d9ba05a2c assets/discs/models/item/music_disc_never_gonna_give_you_up.json
4+
36b8f094d449850d1c5316cc71a633610a359a36 assets/discs/models/item/music_disc_stuck_inside.json
5+
aa21a77f8cbd99ac82b729538a9fd19ce543825b assets/discs/models/item/music_disc_the_skibidi_penguinmod_song.json
6+
5c581b3d8671ba5476b373ef37ba7b73438aea6c assets/discs/models/item/music_disc_thick_of_it.json
7+
442d6c55ba05a052a9abfe9de3532992f39e6bdc assets/discs/models/item/music_disc_wither_storm_theme.json
Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,4 @@
1+
// 1.20.1 2025-11-08T22:14:21.9266179 Global Loot Modifiers : discs
2+
06b13aa8396c318538f496769d2c0262cd686f09 data/discs/loot_modifiers/lava_chicken_disc_from_chicken_jockey.json
3+
561d15d8914a664e66fe942802348847dec43328 data/discs/loot_modifiers/thick_of_it_disc_from_igloo.json
4+
f12fa590a55f8a6adab4ae67002e83b535f79206 data/forge/loot_modifiers/global_loot_modifiers.json
Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
// 1.20.1 2025-11-13T19:23:53.1811321 Tags for minecraft:item mod id discs
2+
431d951997417804f16870afdabbdd8926dab231 data/minecraft/tags/items/creeper_drop_music_discs.json
3+
593af3081333bd4c775525adc8db2cbf09b28b94 data/minecraft/tags/items/music_discs.json
Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
// 1.20.1 2025-11-08T23:09:03.1912385 Recipes
2+
c6be499d2bd5c454d6fc2be72ff9a7af187adde8 data/discs/advancements/recipes/misc/music_disc_wither_storm_theme.json
3+
48cc9b654484803a824cd373be2f606e2e403a22 data/discs/recipes/music_disc_wither_storm_theme.json
Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,2 @@
1+
// 1.20.1 2025-11-09T19:56:46.3118375 Tags for minecraft:point_of_interest_type mod id discs
2+
d0ef9b60217ba72eafff532fac1ce9b5a8618d10 data/minecraft/tags/point_of_interest_type/acquirable_job_site.json

0 commit comments

Comments
 (0)