Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
622 commits
Select commit Hold shift + click to select a range
f65bd63
fix
PTOM76 Sep 7, 2024
73735d6
add API
PTOM76 Sep 7, 2024
d13521a
add API
PTOM76 Sep 12, 2024
a50e288
fix Networking
PTOM76 Sep 12, 2024
db82170
fix Networking
PTOM76 Sep 12, 2024
1f6476c
fix Networking
PTOM76 Sep 12, 2024
5d650e1
fix Networking
PTOM76 Sep 12, 2024
0188b8f
add APIs
PTOM76 Sep 13, 2024
60f1a34
fix neoforge renderer
PTOM76 Sep 13, 2024
7695af3
fix neoforge renderer
PTOM76 Sep 13, 2024
2b7fddd
add gettime
PTOM76 Sep 13, 2024
70ed16c
add APIs-2
PTOM76 Sep 13, 2024
44eb4da
neoforge 2
PTOM76 Sep 13, 2024
81eafb9
fix apis
PTOM76 Sep 13, 2024
fd990c7
add APIs
PTOM76 Sep 14, 2024
ae49dfe
add APIs
PTOM76 Sep 16, 2024
aa46718
add APIs
PTOM76 Sep 19, 2024
67a604e
remove enchant register
PTOM76 Sep 19, 2024
d5aa5bc
add APIs
PTOM76 Sep 27, 2024
b60e804
add APIs
PTOM76 Sep 28, 2024
97ae067
update compatdatapacks
PTOM76 Sep 28, 2024
4962e91
fix registrylookup
PTOM76 Sep 28, 2024
26a081c
add APIs
PTOM76 Sep 28, 2024
3ae73de
fix registryLookup
PTOM76 Sep 29, 2024
be51f4c
fix WorldRenderRegistryImpl
PTOM76 Sep 29, 2024
4008d6f
fix neoforge
PTOM76 Sep 29, 2024
adcc2c3
Add APIs
PTOM76 Jul 13, 2024
02c1d75
add APIs
PTOM76 Oct 6, 2024
eda8748
add APIs
PTOM76 Oct 8, 2024
d541771
neoforge.mods.toml
PTOM76 Oct 9, 2024
1148e8f
Add APIs etc
PTOM76 Oct 12, 2024
f92a30c
fix APIs
PTOM76 Oct 12, 2024
68dc2b1
buildable, but not working
PTOM76 Oct 15, 2024
d19e116
MCPitanLib3, 1.21.2
PTOM76 Oct 18, 2024
69e3b58
add new CompatAPIs
PTOM76 Oct 29, 2024
1b66096
fix MPLGuiLib
PTOM76 Oct 30, 2024
eb1f20f
fix MCPItanlib3
PTOM76 Oct 30, 2024
ccb11d3
info
PTOM76 Oct 30, 2024
56924ba
fix APIs 1211
PTOM76 Oct 31, 2024
049f0aa
fix APIs m 1211
PTOM76 Nov 5, 2024
b8b28e3
fix-1211-2
PTOM76 Nov 5, 2024
621e6f0
fix-1211-3
PTOM76 Nov 5, 2024
f296263
use compatitemprovider
PTOM76 Nov 6, 2024
edf8137
fix 1231
PTOM76 Nov 6, 2024
6d99c57
fix mixin
PTOM76 Nov 9, 2024
a4df406
add TagAPI and Fix CompatColor
PTOM76 Nov 9, 2024
f962031
back TypedActionResult
PTOM76 Nov 9, 2024
5a7cc33
add Midohra Easy Builder API
PTOM76 Nov 9, 2024
fb5e027
fix StackActionResult
PTOM76 Nov 9, 2024
d74e617
gradle
PTOM76 Nov 10, 2024
4d3293f
fix APIs
PTOM76 Nov 10, 2024
fc49261
Fix recipe api
PTOM76 Nov 10, 2024
1ac559b
add APIs v3.0.3
PTOM76 Nov 12, 2024
4d1305b
fix APIs v3.0.3
PTOM76 Nov 12, 2024
f7a4f8b
add with fix APIs v3.0.4
PTOM76 Nov 13, 2024
4478ddb
1211
PTOM76 Nov 13, 2024
7165735
1211
PTOM76 Nov 13, 2024
a1e7dd9
fix midohera api
PTOM76 Nov 16, 2024
f0be0e2
fix midohera api-1211
PTOM76 Nov 16, 2024
9cdf4b6
fix midohera api
PTOM76 Nov 16, 2024
1169792
fix APIs
PTOM76 Nov 16, 2024
b70b6d8
1211
PTOM76 Nov 16, 2024
52f29ba
add APIs
PTOM76 Nov 20, 2024
365dcdb
add APIs
PTOM76 Nov 23, 2024
087cf5f
fix craft
PTOM76 Nov 23, 2024
a691f4a
fix 1211
PTOM76 Nov 23, 2024
b482bb1
add APIs
PTOM76 Nov 26, 2024
bf69d4d
add APIs
PTOM76 Nov 29, 2024
8a8935d
ofDir
PTOM76 Nov 29, 2024
08dbe37
add APIs
PTOM76 Dec 1, 2024
05d7ddc
1211
PTOM76 Dec 1, 2024
9d15107
1211-2
PTOM76 Dec 1, 2024
f11a51d
ExtendSettings
PTOM76 Dec 1, 2024
6aabfe5
fix APIs
PTOM76 Dec 7, 2024
a06ab8f
1211
PTOM76 Dec 7, 2024
27a1bdb
add apis
PTOM76 Jan 27, 2025
4543757
1201
PTOM76 Jan 27, 2025
16a5267
gradle
PTOM76 Jan 27, 2025
083a9ac
1204
PTOM76 Jan 27, 2025
dbe947f
fix APIs
PTOM76 Feb 5, 2025
8f2a490
fix APIs
PTOM76 Feb 12, 2025
142c43e
fix apis
PTOM76 Mar 22, 2025
5266600
add APIs
PTOM76 Mar 26, 2025
6edc3b2
fix api
PTOM76 Mar 31, 2025
708861a
compatdatapacks76
PTOM76 Mar 31, 2025
d634b24
add APIs (port to 1215)
PTOM76 Apr 3, 2025
22e5ede
1213
PTOM76 Apr 3, 2025
863265e
add APIs
PTOM76 Apr 6, 2025
23eb822
add APIs-2
PTOM76 Apr 6, 2025
37ef3e9
rm import
PTOM76 Apr 7, 2025
cbfd9cf
add APIs
PTOM76 Apr 7, 2025
92dab15
fix args
PTOM76 Apr 8, 2025
bf5d43f
add APIs
PTOM76 Apr 9, 2025
3073efe
1211
PTOM76 Apr 9, 2025
31c4007
[cp] fix readme
PTOM76 Apr 13, 2025
75d619a
[cp] fix cp
PTOM76 Apr 13, 2025
a587186
[cp] add APIs
PTOM76 Apr 12, 2025
f6c8518
[cp] fix APIs-1214
PTOM76 Apr 13, 2025
ec98c6d
[cp] fix boat
PTOM76 Apr 13, 2025
4f229ab
[cp] add note
PTOM76 Apr 13, 2025
ec1f6d8
[cp] Update README.md
PTOM76 Apr 13, 2025
edd1d6c
[cp] add RenderUtil v2
PTOM76 Apr 15, 2025
aea004e
[cp] change readme
PTOM76 Apr 16, 2025
d12f047
[cp] add api to ItemEntityUtil
PTOM76 Apr 16, 2025
ad2e469
[cp] add method to ItemBuilder
PTOM76 Apr 19, 2025
adea3fb
[cp] fix builder
PTOM76 Apr 20, 2025
39042ed
[cp] fix builder
PTOM76 Apr 20, 2025
3c5c477
[cp] move to built package
PTOM76 Apr 20, 2025
d4ea5e2
[cp] add share
PTOM76 Apr 20, 2025
c76ad97
[cp] rename isExit to isPresent
PTOM76 Apr 20, 2025
9353edd
[cp] add BlockEntityBuilder
PTOM76 Apr 20, 2025
adb0e5b
[cp] add api to block builder
PTOM76 Apr 22, 2025
b4351f4
[cp] fix api to block builder
PTOM76 Apr 22, 2025
cce5ef7
[cp] fix #33
PTOM76 Apr 22, 2025
288c5c7
[cp] add isEmpty() in SimpleInventoryUtil
PTOM76 Apr 23, 2025
b2a45cc
[cp] change info
PTOM76 Apr 26, 2025
ef2bb48
gradle
PTOM76 Apr 26, 2025
fcdad29
[cp] Add CompatWaterloggable
PTOM76 Apr 27, 2025
865a790
[cp] add isClient() to StateForNeighborUpdateArgs
PTOM76 Apr 27, 2025
0a92da5
[cp] add apis to easybuilder
PTOM76 Apr 28, 2025
400370b
[cp] add lang api
PTOM76 May 8, 2025
3bb3f4d
[cp] add apis rendering v2
PTOM76 May 23, 2025
6e47040
[cp] add apis rendering
PTOM76 May 23, 2025
010bb50
[cp] change VertexRendering calls to WorldRenderer
PTOM76 May 24, 2025
c2b5326
[cp] delete render layer
PTOM76 May 24, 2025
676aef3
[cp] info
PTOM76 May 24, 2025
e6073c7
[cp] add null checks in ItemStack creation methods
PTOM76 May 24, 2025
0fe8bdb
[cp] bump mod version to 3.2.7
PTOM76 May 24, 2025
f7a9d5d
[cp] fix CompatInventory
PTOM76 Jun 1, 2025
909b28f
[cp] remove unused @ExpectPlatform annotation from registerScreen method
PTOM76 Jun 1, 2025
f42c4a2
[cp] fix
PTOM76 Jun 1, 2025
cb8b38d
[cp] dump version 3.2.8
PTOM76 Jun 1, 2025
80426c8
[cp] add GameOptionsWrapper
PTOM76 Jun 7, 2025
329fb6b
[cp] add Midohra method
PTOM76 Jun 13, 2025
04caac6
[cp] add apis
PTOM76 Jun 13, 2025
a040d4e
[cp] refactor: change blockEntityType to Supplier in BlockWithBlockEn…
PTOM76 Jun 13, 2025
2733cda
[cp] bump version to 3.2.9 and update copyright years in LICENSE
PTOM76 Jun 13, 2025
530ed27
[cp] feat: add CompatPacketByteBuf and enhance networking methods for…
PTOM76 Jun 14, 2025
df5a568
[cp] feat: enhance rendering utilities and add WorldRendererUtil for …
PTOM76 Jun 14, 2025
dede355
[cp] remove create method in CompatRenderLayer
PTOM76 Jun 14, 2025
367e7c8
[cp] fix-2: remove draw method in CompatRenderLayer
PTOM76 Jun 14, 2025
00f14e0
[cp] bump version to 3.3.0 in info.properties
PTOM76 Jun 14, 2025
613e191
[cp] feat: update DrawObjectMV methods to public and add ScreenUtil f…
PTOM76 Jun 15, 2025
96d9826
[cp] feat: add BlockEntityTypeBuilder for flexible block entity type …
PTOM76 Jun 15, 2025
99b9e2f
[cp] feat: add getWidth and getHeight methods to ScreenUtil for scree…
PTOM76 Jun 15, 2025
afd3d99
[cp] bump version to 3.3.1 in info.properties
PTOM76 Jun 15, 2025
9e0a5e5
[cp] fix
PTOM76 Jun 15, 2025
7c55d9e
[cp] fix CompatActionResult
PTOM76 Jun 17, 2025
2139e9b
[cp] add of(List<ItemStack>) to ItemStackList
PTOM76 Jun 17, 2025
02f5c31
[cp] bump version to 3.3.2 in info.properties
PTOM76 Jun 17, 2025
16689c8
[cp] refactor: rename of method to of2 for clarity in ItemStackList
PTOM76 Jun 17, 2025
148d4cb
[cp] add copyFrom in NbtUtil
PTOM76 Jun 19, 2025
e6dc644
[cp] add NbtRWUtil
PTOM76 Jun 19, 2025
9b8cb7b
[cp] bump version 3.3.3
PTOM76 Jun 19, 2025
aa66e72
[cp] feat: implement NbtRWUtil for enhanced NBT read/write operations
PTOM76 Jun 21, 2025
f5620a1
[cp] fix: implement BlockStatePropertyHolder in BlockScheduledTickEve…
PTOM76 Jun 22, 2025
0d0d280
[cp] feat: add methods to register render types for blocks and fluids…
PTOM76 Jun 22, 2025
c2100bb
[cp] fix-1214
PTOM76 Jun 22, 2025
5251a6d
[cp] add .gitignore
PTOM76 Jun 22, 2025
e6dea7f
[cp] remove bat .gitignore
PTOM76 Jun 22, 2025
2c0cd8e
[cp] add bat
PTOM76 Jun 22, 2025
1456e44
[cp] fix: update artifactId and add GitHub Packages repository config…
PTOM76 Jun 22, 2025
4db2265
[cp] docs: update version references to include GitHub Packages for c…
PTOM76 Jun 23, 2025
0540591
[cp] feat: add methods to check emptiness and copy NbtRWArgs in NbtRW…
PTOM76 Jun 24, 2025
57e5e9f
[cp] feat: enhance Nbt read/write methods to include registry lookup …
PTOM76 Jun 24, 2025
f4a1fd3
[cp] feat: add ClippedInventory and ClippedItemStackList for inventor…
PTOM76 Jun 27, 2025
118033e
[cp] bump version 3.3.4
PTOM76 Jun 28, 2025
ae865f7
[cp] bump version 3.3.5
PTOM76 Jul 5, 2025
d4bc909
[cp] bump version 3.3.6
PTOM76 Jul 5, 2025
ea452e7
[cp] simplify SoundEvent ID retrieval method
PTOM76 Jul 5, 2025
4ecd615
fix: update SoundEvent ID retrieval method to use getId()
PTOM76 Jul 5, 2025
f36f911
[cp] fix readNbt method to use ReadNbtArgs
PTOM76 Jul 6, 2025
b0dff71
[cp] fix: handle null Identifier in fromMinecraft method
PTOM76 Jul 6, 2025
de225e6
[cp] feat: add toString and getName methods to Direction class
PTOM76 Jul 6, 2025
438c1d5
[cp] feat: add ChunkManagerUtil for chunk update management
PTOM76 Jul 6, 2025
153e080
[cp] feat: add BlockColorEvent and related classes for block color ma…
PTOM76 Jul 6, 2025
c208b32
[cp] feat: add methods for item stack serialization in NbtRWUtil
PTOM76 Jul 6, 2025
f69d0da
[cp] bump version 3.3.7
PTOM76 Jul 6, 2025
62ba078
[cp] feat: add Registry of ChunkTicketType
PTOM76 Jul 6, 2025
75a0c4e
[cp] bump version 3.3.8
PTOM76 Jul 6, 2025
35a0ae0
[cp] feat: implement hashCode and equals methods for ChunkTicketType
PTOM76 Jul 6, 2025
8930507
[cp] refactor: remove unused SubscribeEvent annotation from registerB…
PTOM76 Jul 9, 2025
a19fc68
[cp] bump version 3.3.9
PTOM76 Jul 9, 2025
1317984
[cp] fix: neoforge CompatRegistryClientImpl
PTOM76 Jul 12, 2025
6386bf7
[cp] version neoforge only fix.1
PTOM76 Jul 12, 2025
6715afb
[cp] fix register TICKET_TYPE
PTOM76 Jul 12, 2025
77696f6
[cp] add register for CompatIdentifier
PTOM76 Jul 12, 2025
d54d7b7
[cp] bump version 3.3.9
PTOM76 Jul 12, 2025
d8fdbaa
[cp] remove ticket register
PTOM76 Jul 12, 2025
62e351d
[cp] changelog
PTOM76 Jul 19, 2025
ab15749
[cp] add APIs (Equippable, EntityAttribute, AttributeModifier)
PTOM76 Aug 10, 2025
c9c9f72
[cp] version 3.4.0
PTOM76 Aug 10, 2025
a8a5389
[cp] happy ghast is not found, fix1215
PTOM76 Aug 10, 2025
ec7a377
[cp] fix-1211
PTOM76 Aug 10, 2025
7195d8e
[cp] feat: add methods to retrieve block and block wrapper in TileTic…
PTOM76 Oct 19, 2025
8d60e01
[cp] HitResult API
PTOM76 Oct 19, 2025
b8e5f70
[cp] bump version to 3.4.1 and update changelog
PTOM76 Oct 19, 2025
d0da737
[cp] add ContainerUser
PTOM76 Oct 19, 2025
a24f021
[cp] fix ContainerUser
PTOM76 Oct 19, 2025
91ec732
[cp] use CompatContainerUser
PTOM76 Oct 19, 2025
5355fec
[cp] CompatKeyBinding
PTOM76 Oct 19, 2025
cb8eb62
[cp] enable parallel builds and increase worker limit
PTOM76 Oct 19, 2025
febe366
[cp] update publish and pull scripts for version 1.21.9 checkout and …
PTOM76 Oct 19, 2025
ffcf194
againstWorldBorder
PTOM76 Oct 19, 2025
b1e48d7
[cp] Add APIs, Fix APIs
PTOM76 Oct 23, 2025
7ab79c5
[cp] add method that able to get world id to worldutil
PTOM76 Oct 23, 2025
d85bca2
[cp] fix hasBlockEntityNbt
PTOM76 Oct 23, 2025
b57abe2
[cp] add writeToStack method to BlockEntityUtil
PTOM76 Oct 25, 2025
b96c05e
[cp] rm compnent import
PTOM76 Oct 25, 2025
51ac3bf
[cp] fix writeToStack
PTOM76 Oct 25, 2025
03a084b
[cp] add APIs, Vector, Entity getPos
PTOM76 Oct 25, 2025
65b7c92
[cp] bump version 3.4.4
PTOM76 Feb 7, 2026
b328768
[cp] add CameraWrapper
PTOM76 Feb 7, 2026
d8119e3
[cp] fix for 1.21.5 less
PTOM76 Feb 7, 2026
34947f1
[cp] fix publish.bat
PTOM76 Feb 7, 2026
25fdd2e
[cp] fix publish.bat
PTOM76 Feb 7, 2026
d860ae4
[cp] bump version 3.4.5
PTOM76 Feb 7, 2026
beeb456
add getRecipeRemainder injector for FixedRecipeRemainderItem
PTOM76 Feb 7, 2026
113a58a
[cp] bump version 3.4.6
PTOM76 Feb 8, 2026
9ffe6b7
fix getRecipeRemainder mixin
PTOM76 Feb 8, 2026
e02b5ea
fix: add CraftingRecipeMixin
PTOM76 Feb 8, 2026
aeeaf4f
fix: change CraftingRecipeMixin to RecipeMixin
PTOM76 Feb 8, 2026
71d4f42
[cp] changelog
PTOM76 Feb 8, 2026
69ae21d
[cp] feat: add Box, Vector Utils, improve WorldUtils
PTOM76 Mar 18, 2026
7f996ac
[cp] Bump version 3.4.7
PTOM76 Mar 18, 2026
ce3d360
[cp] feat: add values, horizontal, vertical, hashCode, equals to Dire…
PTOM76 Mar 19, 2026
7e1f66a
[cp] feat: impl hashCode, equals methods in Box, BlockPos
PTOM76 Mar 19, 2026
83d4d1b
[cp] feat: add message sending methods to Player class
PTOM76 Mar 20, 2026
c3ef3e1
[cp] feat: add FluidWrapper methods and enhance FluidStateUtil for fl…
PTOM76 Mar 20, 2026
9f54da3
[cp] feat: implement BlockApiLookupWrapper and BlockApiLookupWithDire…
PTOM76 Mar 20, 2026
0b70d6e
[cp] feat: add methods to retrieve Midohra world, position, state, an…
PTOM76 Mar 20, 2026
066695b
[cp] feat: add DirectionBoolPropertyUtil for managing directional boo…
PTOM76 Mar 20, 2026
b020e37
[cp] bump version 3.4.8
PTOM76 Mar 20, 2026
f23245d
[cp] feat: enhance block entity rendering with new CompatItemRenderUt…
PTOM76 Mar 21, 2026
7be54b7
[cp] feat: enhance block entity rendering with new CompatItemRenderUt…
PTOM76 Mar 21, 2026
90566a9
[cp] feat: introduce CompatFormatting, CompatStyle, and CompatTextCol…
PTOM76 Mar 21, 2026
2e19507
[cp] docs: update README to include cross-version and cross-platform …
PTOM76 Mar 21, 2026
496ba6e
[cp] chore: bump version 3.4.9
PTOM76 Mar 21, 2026
6878b48
[cp] feat: add CompatParticleType and CompatParticleTypes for enhance…
PTOM76 Mar 22, 2026
bdb6241
[cp] feat: add utility methods for BlockEntity and BlockPos iteration
PTOM76 Mar 22, 2026
ea5e49a
[cp] feat: add utility methods for BlockState manipulation in IProper…
PTOM76 Mar 23, 2026
29bdacb
[cp] feat: implement hashCode and equals methods for various wrapper …
PTOM76 Mar 23, 2026
95fccf3
[cp] feat: add canPlaceAt method and CanPlaceAtArgs class for block p…
PTOM76 Mar 23, 2026
55a8340
[cp] chore: bump version 3.5.0
PTOM76 Mar 23, 2026
719f0f6
[cp] feat: add methods for Midohra world and position handling in Com…
PTOM76 Mar 23, 2026
034f633
[cp] fix: update COPPER_FIRE_FLAME particle type to use FLAME type
PTOM76 Mar 23, 2026
cc5909d
[cp] fix: update TINTED_LEAVES and FIREFLY particle types to use PALE…
PTOM76 Mar 23, 2026
3582843
[cp] fix: update PALE_OAK_LEAVES and TINTED_LEAVES particle types to …
PTOM76 Mar 23, 2026
59d3648
[cp] fix: add import for WorldView in CompatBlock.java
PTOM76 Mar 23, 2026
8d096ea
[cp] fix CompatParticleTypes1211
PTOM76 Mar 23, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
44 changes: 44 additions & 0 deletions .github/workflows/auto-cherry-pick.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,44 @@
name: Auto Cherry-Pick
on:
push:
branches:
- "1.*" # 1.21.5, 1.21.4...のブランチでpushされたとき
pull_request:
types:
- closed # PRがmergeされたとき
jobs:
cherry-pick:
if: |
(github.event_name == 'push' ||
(github.event_name == 'pull_request' && github.event.pull_request.merged == true))
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
with:
fetch-depth: 0
- name: Check
id: check
run: |
COMMIT_MSG=$(git log -1 --pretty=%B)
if echo "$COMMIT_MSG" | grep -q '^\[cp\]'; then
echo "pickable=true" >> $GITHUB_ENV
fi
- name: Setup Git
if: env.pickable == 'true'
run: |
git config user.name "github-actions[bot]"
git config user.email "github-actions[bot]@users.noreply.github.com"
- name: Chmod cherry-pick.sh
if: env.pickable == 'true'
run: |
if [ ! -f .github/workflows/cherry-pick.sh ]; then
echo "cherry-pick.sh not found"
exit 1
fi
git update-index --assume-unchanged .github/workflows/cherry-pick.sh
chmod +x .github/workflows/cherry-pick.sh
- name: Run cherry-pick.sh
if: env.pickable == 'true'
env:
GH_TOKEN: ${{ secrets.GITHUB_TOKEN }}
run: .github/workflows/cherry-pick.sh
52 changes: 52 additions & 0 deletions .github/workflows/cherry-pick.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,52 @@
#!/bin/bash
set -e

git fetch --all
CURRENT_BRANCH="${GITHUB_REF##*/}"
SHA=$(git log -1 --pretty=format:"%H")
MSG=$(git log -1 --pretty=%B)

echo "Current: $CURRENT_BRANCH"
echo "SHA: $SHA"

BRANCHES=$(git for-each-ref --format='%(refname:short)' refs/remotes/origin | grep -E '^origin/1\.' | sed 's|origin/||' | sort -Vr)

TARGETS=()
FOUND=0
while read -r b; do
if [ "$FOUND" = "1" ]; then
TARGETS+=("$b")
fi
if [ "$b" = "$CURRENT_BRANCH" ]; then
FOUND=1
fi
done <<< "$BRANCHES"

for TARGET_BRANCH in "${TARGETS[@]}"; do
if [ -z "$TARGET_BRANCH" ]; then
continue
fi

echo "Trying to cherry-pick to $TARGET_BRANCH..."

git reset --hard
git switch -c "$TARGET_BRANCH" "origin/$TARGET_BRANCH"

echo "Cherry-picking $SHA from $CURRENT_BRANCH to $TARGET_BRANCH..."
if git cherry-pick "$SHA"; then
git push origin "$TARGET_BRANCH"
echo "Cherry-pick successful. Pushed to $TARGET_BRANCH."
continue
fi

echo "Cherry-pick failed. Attempting to resolve conflicts..."

git cherry-pick --abort
gh auth setup-git
gh pr create \
--base "$TARGET_BRANCH" \
--head "$CURRENT_BRANCH" \
--title "Manual Cherry-pick needed: $SHA" \
--body "Cherry-pick of $SHA from $CURRENT_BRANCH to $TARGET_BRANCH failed due to conflicts."
exit 0
done
5 changes: 4 additions & 1 deletion .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -30,6 +30,7 @@ atlassian-ide-plugin.xml
*.zip
*.tar.gz
*.rar
*.php

# virtual machine crash logs, see http://www.java.com/en/download/help/error_hotspot.xml
hs_err_pid*
Expand Down Expand Up @@ -114,5 +115,7 @@ gradle-app.setting
# Common working directory
run/

php/

# Avoid ignoring Gradle wrapper jar file (.jar files are usually ignored)
!gradle-wrapper.jar
!gradle-wrapper.jar
2 changes: 1 addition & 1 deletion LICENSE
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
MIT License

Copyright (c) 2022 Pitan
Copyright (c) 2022-2025 Pitan

Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
Expand Down
128 changes: 128 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,128 @@
# MCPitanLib
## License
- MIT License

## 日本語
MCPitanLibはライブラリです。 1つのjarで複数のMCバージョンを対応させるためのものです。 <br />
開発中であるため、予告なく仕様が変更されることがあったり、不具合があるかもしれません。 <br />
私専用につくっているため、他の方が使うことをあまり想定していません。 <br />

クロスバージョンかつクロスプラットフォームを目指しています。

### 対応状況
- アイテムの追加
- ブロックの追加
- エンティティの追加
- ブロックエンティティの追加
- クリエイティブタブの追加
- GUIの追加
- サウンドの追加

となります。

### 前提MOD
- MODローダー
- [FabricMC](https://fabricmc.net/)
- [Minecraft Forge](https://files.minecraftforge.net/)
- [NeoForge](https://neoforged.net/)
- Architectury API ([CurseForge](https://www.curseforge.com/minecraft/mc-mods/architectury-api) | [Modrinth](https://modrinth.com/mod/architectury-api))

### ダウンロード
- [CurseForge](https://www.curseforge.com/minecraft/mc-mods/mcpitanlibarch)
- [Modrinth](https://modrinth.com/mod/mcpitanlibarch)

### 使い方
`build.gradle`に以下のように記述してください。
```groovy
repositories {
maven {
url = "https://maven.pitan76.net/"
}
}

dependencies {
// FabricMC
modImplementation "net.pitan76:mcpitanlib-fabric:${rootProject.mcpitanlib_version}"

// Minecraft Forge
//modImplementation "net.pitan76:mcpitanlib-forge:${rootProject.mcpitanlib_version}"

// NeoForge
//modImplementation "net.pitan76:mcpitanlib-neoforge:${rootProject.mcpitanlib_version}"
}
```

`gradle.properties`に以下のように記述してください。
```properties
# Example: mcpitanlib_version=+1.18.2:3.3.3
mcpitanlib_version=+x.x.x:x.x.x
```

バージョンは[GitHub Packages](https://github.com/PTOM76/maven/packages/?q=net.pitan76.mcpitanlib) (3.3.3以降) or [maven.pitan76.net](https://maven.pitan76.net/net/pitan76/) (3.3.3以前)で確認してください。

MCPitanLibを用いたMOD開発は「common/src/main/java/net/pitan76/mcpitanlib/test/ExampleMod.java」を参考にしてください。

## English
MCPitanLib is a library. It is for supporting multiple MC versions with one jar. <br />
It is under development, so the specification may change without notice, and there may be bugs. <br />
I am creating it for my own use, so I don't expect others to use it much. <br />

It aims to be cross-version and cross-platform.

### Supported features
- Adding items
- Adding blocks
- Adding entities
- Adding block entities
- Adding creative tabs
- Adding GUIs
- Adding sounds

### Required MOD
- MOD Loader
- [FabricMC](https://fabricmc.net/)
- [Minecraft Forge](https://files.minecraftforge.net/)
- [NeoForge](https://neoforged.net/)
- [Architectury API](https://www.curseforge.com/minecraft/mc-mods/architectury-api) ([CurseForge](https://www.curseforge.com/minecraft/mc-mods/architectury-api) | [Modrinth](https://modrinth.com/mod/architectury-api))

### Download
- [CurseForge](https://www.curseforge.com/minecraft/mc-mods/mcpitanlibarch)
- [Modrinth](https://modrinth.com/mod/mcpitanlibarch)

### How to use
Write as follows in `build.gradle`.
```groovy
repositories {
maven {
url = "https://maven.pitan76.net/"
}
}

dependencies {
// FabricMC
modImplementation "net.pitan76:mcpitanlib-fabric${rootProject.mcpitanlib_version}"

// Minecraft Forge
//modImplementation "net.pitan76:mcpitanlib-forge${rootProject.mcpitanlib_version}"

// NeoForge
//modImplementation "net.pitan76:mcpitanlib-neoforge${rootProject.mcpitanlib_version}"
}
```

Write as follows in `gradle.properties`.
```properties
# Example: mcpitanlib_version=+1.18.2:3.2.4
mcpitanlib_version=+x.x.x:x.x.x
```

Please check the version at [GitHub Packages](https://github.com/PTOM76/maven/packages/?q=net.pitan76.mcpitanlib) (for versions 3.3.3 and later) or [maven.pitan76.net](https://maven.pitan76.net/net/pitan76/) (for versions before 3.3.3).

For MOD development using MCPitanLib, refer to "common/src/main/java/net/pitan76/mcpitanlib/test/ExampleMod.java".

## Note
### Auto Cherry-Pick (GitHub Actions)
コミットメッセージに [cp] を含むと、Actionsで自動的にCherry-Pickを行います。 <br />
そのコミットしたブランチからそれより下位のバージョンのブランチにCherry-Pickし、コンフリを起こした場合はそこで停止し、PRを作成します。<br />
今のところ、そのPRは使えないので閉じる必要があります。(今後はissueにする予定です。)

106 changes: 99 additions & 7 deletions build.gradle
Original file line number Diff line number Diff line change
@@ -1,25 +1,115 @@
plugins {
id "architectury-plugin" version "3.4-SNAPSHOT"
id "dev.architectury.loom" version "0.11.0-SNAPSHOT" apply false
id "dev.architectury.loom" version "1.7-SNAPSHOT" apply false
id 'com.matthewprenger.cursegradle' version '1.+'
id "com.modrinth.minotaur" version "2.+"
}

architectury {
minecraft = rootProject.minecraft_version
}

def loadProperties(filename) {
def props = new Properties()
file(filename).withInputStream {
props.load(it)
}
return props
}

ext.info = loadProperties("$rootDir/info.properties")

subprojects {
apply plugin: "dev.architectury.loom"
apply plugin: "com.modrinth.minotaur"
apply plugin: "com.matthewprenger.cursegradle"

loom {
silentMojangMappingsLicense()
}

repositories {
maven { url "https://maven.pitan76.net/" }
maven { url "https://maven.neoforged.net/releases/" }
maven { url "https://maven.shedaniel.me/" }
}

dependencies {
minecraft "com.mojang:minecraft:${rootProject.minecraft_version}"
// The following line declares the mojmap mappings, you may use other mappings as well
// mappings loom.officialMojangMappings()
// The following line declares the yarn mappings you may select this one as well.
mappings "net.fabricmc:yarn:${rootProject.yarn_mappings}:v2"
//mappings "net.fabricmc:yarn:${rootProject.yarn_mappings}:v2"
mappings loom.layered() {
it.mappings("net.fabricmc:yarn:${rootProject.yarn_mappings}:v2")
it.mappings file("../mappings/121-1fix.tiny")
}

// https://mvnrepository.com/artifact/org.yaml/snakeyaml
implementation 'org.yaml:snakeyaml:2.0'
}

if (name in "fabric,neoforge".split(",")) {
var modLoader = name

if (System.getenv("CURSEFORGE_TOKEN") != null) {
curseforge {
apiKey = System.getenv("CURSEFORGE_TOKEN")
project {
id = '682213'
changelog = info.changelog
releaseType = modLoader == "fabric" ? 'release' : 'beta'
if (modLoader == "fabric") {
addGameVersion "Fabric"
}
if (modLoader == "forge") {
addGameVersion "Forge"
}
if (modLoader == "neoforge") {
addGameVersion "NeoForge"
}
addGameVersion '1.21'
addGameVersion '1.21.1'

relations {
if (modLoader == "fabric") {
requiredDependency "fabric-api"
}

requiredDependency 'architectury-api'
embeddedLibrary 'cloth-config'
embeddedLibrary 'compatdatapacks'
}

mainArtifact(tasks.remapJar)
}
options {
forgeGradleIntegration = false
}
}

}

if (System.getenv("MODRINTH_TOKEN") != null) {
modrinth {
token = System.getenv("MODRINTH_TOKEN")
projectId = 'mcpitanlibarch'
versionNumber = info.mod_version + "-" + modLoader
gameVersions = ['1.21', '1.21.1']
versionType = 'release'
uploadFile = tasks.remapJar
changelog = info.changelog
loaders = [modLoader]
dependencies {
if (modLoader == "fabric") {
required.project "fabric-api" // Fabric API
}
required.project "architectury-api"
embedded.project "cloth-config"
embedded.project "compatdatapacks"
}
}
}
}
}

Expand All @@ -28,9 +118,9 @@ allprojects {
apply plugin: "architectury-plugin"
apply plugin: "maven-publish"

archivesBaseName = rootProject.archives_base_name
version = rootProject.mod_version
group = rootProject.maven_group
archivesBaseName = info.archives_base_name
version = info.mod_version + "-" + rootProject.minecraft_version
group = info.maven_group

repositories {
// Add repositories to retrieve artifacts from in here.
Expand All @@ -40,9 +130,11 @@ allprojects {
// for more information about repositories.
}

tasks.withType(JavaCompile) {
tasks.withType(JavaCompile).configureEach {
options.encoding = "UTF-8"
options.release = 17
options.release = 21
sourceCompatibility = JavaVersion.VERSION_21
targetCompatibility = JavaVersion.VERSION_21
}

java {
Expand Down
Loading
Loading