Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
620 commits
Select commit Hold shift + click to select a range
ed3681c
add APIs
PTOM76 Sep 13, 2024
ca1e4cd
add APIs
PTOM76 Sep 14, 2024
cc89239
add APIs
PTOM76 Sep 16, 2024
de804e2
add APIs
PTOM76 Sep 19, 2024
306b443
add APIs
PTOM76 Sep 27, 2024
dd98efe
add APIs
PTOM76 Sep 28, 2024
02d1f2c
add APIs
PTOM76 Sep 28, 2024
791d5e1
add APIs
PTOM76 Jul 13, 2024
36e0597
Fix APIs
PTOM76 Sep 30, 2024
004305b
Fix APIs2
PTOM76 Sep 30, 2024
4f41dc2
fix APIs3
PTOM76 Sep 30, 2024
a9c4c39
add APIs
PTOM76 Oct 6, 2024
00c8ba8
fix
PTOM76 Oct 6, 2024
71c3409
add APIs
PTOM76 Oct 8, 2024
a6248f0
fix mods.toml, fabric.mod.json
PTOM76 Oct 9, 2024
9f6adb7
Add APIs etc
PTOM76 Oct 12, 2024
68a8faa
fix APIs
PTOM76 Oct 12, 2024
08bfc94
remove compatdatapacks
PTOM76 Oct 12, 2024
9d8af62
fix ScreenUtil
PTOM76 Oct 12, 2024
6d0dae6
add apis-mpl v3
PTOM76 Oct 15, 2024
11faff2
use compatitemprovider
PTOM76 Nov 6, 2024
dd844ca
fix mixin
PTOM76 Nov 9, 2024
a27deba
add TagAPI and Fix CompatColor
PTOM76 Nov 9, 2024
e8f6e3c
changelog
PTOM76 Nov 9, 2024
597286d
fix1192
PTOM76 Nov 9, 2024
cfc29b5
use method_41185
PTOM76 Nov 9, 2024
2dda437
back TypedActionResult
PTOM76 Nov 9, 2024
0b70978
add Midohra Easy Builder API
PTOM76 Nov 9, 2024
2573463
fix StackActionResult
PTOM76 Nov 9, 2024
a8c0bce
fix APIs
PTOM76 Nov 10, 2024
0fb615e
Fix recipe api
PTOM76 Nov 10, 2024
1b5ba17
add create function
PTOM76 Nov 10, 2024
ebd878e
add APIs v3.0.3
PTOM76 Nov 12, 2024
0fbf1a9
fix APIs v3.0.3
PTOM76 Nov 12, 2024
6e63d2d
fix APIs v3.0.3-2
PTOM76 Nov 12, 2024
9f740c5
add with fix APIs v3.0.4
PTOM76 Nov 13, 2024
79e71b0
fix midohera api
PTOM76 Nov 16, 2024
d40b1e9
fix midohera api
PTOM76 Nov 16, 2024
21101f7
fix APIs
PTOM76 Nov 16, 2024
3d37470
1211
PTOM76 Nov 16, 2024
6585413
1204
PTOM76 Nov 16, 2024
cc4d14d
add APIs
PTOM76 Nov 20, 2024
6bd8c68
add APIs
PTOM76 Nov 23, 2024
581be99
1201--1
PTOM76 Nov 23, 2024
e3cde49
fix craft
PTOM76 Nov 23, 2024
52c4195
fix 1211
PTOM76 Nov 23, 2024
9d349d2
fix 1204
PTOM76 Nov 16, 2024
f7a2f47
fix 1201
PTOM76 Nov 23, 2024
9d16cbb
fix 1192
PTOM76 Nov 23, 2024
008b546
fix 1182
PTOM76 Nov 23, 2024
2ef862c
add APIs
PTOM76 Nov 26, 2024
7d64069
add APIs
PTOM76 Nov 29, 2024
93d22f9
1204
PTOM76 Nov 29, 2024
cbe97a7
ofDir
PTOM76 Nov 29, 2024
45fa7e9
1192
PTOM76 Nov 29, 2024
000c32c
1192-1
PTOM76 Nov 29, 2024
7eddf28
fix
PTOM76 Nov 30, 2024
88e93a2
add APIs
PTOM76 Dec 1, 2024
6863cd4
1211
PTOM76 Dec 1, 2024
e16c47c
1211-2
PTOM76 Dec 1, 2024
1a61f90
1204
PTOM76 Dec 1, 2024
78fe67e
removeneo
PTOM76 Dec 1, 2024
11f94ed
1192
PTOM76 Dec 1, 2024
69a22c7
1182
PTOM76 Dec 1, 2024
01ff576
ExtendSettings
PTOM76 Dec 1, 2024
f58b13e
fix apis 1192
PTOM76 Dec 7, 2024
deb8175
1211
PTOM76 Dec 7, 2024
94b8bac
1192
PTOM76 Dec 7, 2024
a0a1141
add apis
PTOM76 Jan 27, 2025
8ea6966
fix APIs
PTOM76 Feb 5, 2025
0b39f28
fix APIs
PTOM76 Feb 12, 2025
922b7fd
turtle_scute -> scute (-1.20.4)
PTOM76 Mar 21, 2025
31bc008
1204
PTOM76 Mar 22, 2025
61ebfc7
1201
PTOM76 Mar 22, 2025
bfa416f
1182
PTOM76 Mar 22, 2025
782dbef
add APIs
PTOM76 Mar 26, 2025
c76e744
fix api
PTOM76 Mar 31, 2025
8627039
add APIs (port to 1215)
PTOM76 Apr 3, 2025
743c135
1213
PTOM76 Apr 3, 2025
aff7b64
add APIs
PTOM76 Apr 6, 2025
3d070a5
fix APIs
PTOM76 Apr 6, 2025
6bf3770
add APIs
PTOM76 Apr 7, 2025
f3c1fd8
1201
PTOM76 Apr 8, 2025
bf0aa55
1192
PTOM76 Sep 26, 2022
7aa0400
add APIs
PTOM76 Apr 9, 2025
0c92d58
1211
PTOM76 Apr 9, 2025
7cecdfa
[cp] fix cp
PTOM76 Apr 13, 2025
1d3332d
[cp] add APIs
PTOM76 Apr 12, 2025
02ac496
[cp] fix boat
PTOM76 Apr 13, 2025
6be6078
[cp] set ITEM_DISPLAY to null
PTOM76 Apr 13, 2025
1f22992
fix entity
PTOM76 Apr 13, 2025
7b0ec47
[cp] fix readme
PTOM76 Apr 13, 2025
f5ed972
[cp] add note
PTOM76 Apr 13, 2025
3f4d576
[cp] Update README.md
PTOM76 Apr 13, 2025
6f3d668
[cp] add RenderUtil v2
PTOM76 Apr 15, 2025
fb48baa
[cp] change readme
PTOM76 Apr 16, 2025
fe8575f
[cp] add api to ItemEntityUtil
PTOM76 Apr 16, 2025
d7d4ab0
[cp] add method to ItemBuilder
PTOM76 Apr 19, 2025
e2c6f9b
[cp] fix builder
PTOM76 Apr 20, 2025
7350e01
[cp] fix builder
PTOM76 Apr 20, 2025
a191f14
[cp] move to built package
PTOM76 Apr 20, 2025
3298780
[cp] add share
PTOM76 Apr 20, 2025
e4713ea
[cp] rename isExit to isPresent
PTOM76 Apr 20, 2025
52e92c1
[cp] add BlockEntityBuilder
PTOM76 Apr 20, 2025
41552e6
[cp] add api to block builder
PTOM76 Apr 22, 2025
b7bb8f7
[cp] fix api to block builder
PTOM76 Apr 22, 2025
1c09158
[cp] fix #33
PTOM76 Apr 22, 2025
b7f894a
[cp] ascuboid
PTOM76 Apr 22, 2025
8cdc976
[cp] add isEmpty() in SimpleInventoryUtil
PTOM76 Apr 23, 2025
c4a4388
[cp] change info
PTOM76 Apr 26, 2025
dac7aa6
[cp] Add CompatWaterloggable
PTOM76 Apr 27, 2025
2494b4e
[cp] add isClient() to StateForNeighborUpdateArgs
PTOM76 Apr 27, 2025
079fbb3
[cp] add apis to easybuilder
PTOM76 Apr 28, 2025
51b74ec
[cp] add lang api
PTOM76 May 8, 2025
2285430
[cp] add apis rendering v2
PTOM76 May 23, 2025
ef7108b
[cp] add apis rendering
PTOM76 May 23, 2025
7b270f0
[cp] change VertexRendering calls to WorldRenderer
PTOM76 May 24, 2025
d6eae2a
[cp] fix VertexConsumerUtil
PTOM76 May 24, 2025
b1a7d43
[cp] delete render layer
PTOM76 May 24, 2025
39d2eff
[cp] use method_3258
PTOM76 May 24, 2025
18b06b3
[cp] fix LangUtil
PTOM76 May 24, 2025
7653ae6
[cp] drawFilledBox to use WorldRenderer.drawBox
PTOM76 May 24, 2025
bef27aa
[cp] info
PTOM76 May 24, 2025
49d6ef0
[cp] add null checks in ItemStack creation methods
PTOM76 May 24, 2025
aba44b2
[cp] bump mod version to 3.2.7
PTOM76 May 24, 2025
c47e3eb
[cp] fix CompatInventory
PTOM76 Jun 1, 2025
f53ab24
[cp] dump version 3.2.8
PTOM76 Jun 1, 2025
536fa6d
[cp] add GameOptionsWrapper
PTOM76 Jun 7, 2025
f3a6bfe
[cp] add Midohra method
PTOM76 Jun 13, 2025
28db087
[cp] add apis
PTOM76 Jun 13, 2025
9a53624
[cp] refactor: change blockEntityType to Supplier in BlockWithBlockEn…
PTOM76 Jun 13, 2025
e74d533
[cp] bump version to 3.2.9 and update copyright years in LICENSE
PTOM76 Jun 13, 2025
b2824b4
[cp] feat: add CompatPacketByteBuf and enhance networking methods for…
PTOM76 Jun 14, 2025
64e5036
[cp] feat: enhance rendering utilities and add WorldRendererUtil for …
PTOM76 Jun 14, 2025
650f1d3
[cp] remove create method in CompatRenderLayer
PTOM76 Jun 14, 2025
9a76606
[cp] remove draw method from CompatRenderLayer
PTOM76 Jun 14, 2025
73f94e7
[cp] fix
PTOM76 Jun 14, 2025
052d2e5
[cp] fix-1192: replace joml Matrix imports with Minecraft's Matrix cl…
PTOM76 Jun 14, 2025
4359347
[cp] fix: update next method in VertexConsumerUtil to return the next…
PTOM76 Jun 14, 2025
f55d8b0
[cp] bump version to 3.3.0 in info.properties
PTOM76 Jun 14, 2025
207b47c
[cp] feat: update DrawObjectMV methods to public and add ScreenUtil f…
PTOM76 Jun 15, 2025
1fc18e2
[cp] feat: add BlockEntityTypeBuilder for flexible block entity type …
PTOM76 Jun 15, 2025
614b109
[cp] feat: add getWidth and getHeight methods to ScreenUtil for scree…
PTOM76 Jun 15, 2025
9c8a15d
[cp] bump version to 3.3.1 in info.properties
PTOM76 Jun 15, 2025
43c5023
[cp] fix
PTOM76 Jun 15, 2025
70d62ec
[cp] fix-2
PTOM76 Jun 15, 2025
5d112c5
[cp] fix CompatActionResult
PTOM76 Jun 17, 2025
92c1031
[cp] add of(List<ItemStack>) to ItemStackList
PTOM76 Jun 17, 2025
01add80
[cp] bump version to 3.3.2 in info.properties
PTOM76 Jun 17, 2025
0361aa3
[cp] refactor: rename of method to of2 for clarity in ItemStackList
PTOM76 Jun 17, 2025
d8a0003
[cp] add copyFrom in NbtUtil
PTOM76 Jun 19, 2025
6e387e2
[cp] add NbtRWUtil
PTOM76 Jun 19, 2025
8c01d8a
[cp] bump version 3.3.3
PTOM76 Jun 19, 2025
d1fc3f1
[cp] feat: implement NbtRWUtil for enhanced NBT read/write operations
PTOM76 Jun 21, 2025
d27a968
[cp] feat: add methods to register render types for blocks and fluids…
PTOM76 Jun 22, 2025
57e7341
[cp] fix: implement BlockStatePropertyHolder in BlockScheduledTickEve…
PTOM76 Jun 22, 2025
119b080
[cp] fix-1214
PTOM76 Jun 22, 2025
6b2d293
[cp] add bat
PTOM76 Jun 22, 2025
09eef79
[cp] fix: update artifactId and add GitHub Packages repository config…
PTOM76 Jun 22, 2025
f873a7f
[cp] docs: update version references to include GitHub Packages for c…
PTOM76 Jun 23, 2025
a6db271
[cp] feat: add methods to check emptiness and copy NbtRWArgs in NbtRW…
PTOM76 Jun 24, 2025
09dadfb
[cp] feat: add ClippedInventory and ClippedItemStackList for inventor…
PTOM76 Jun 27, 2025
141b515
[cp] bump version 3.3.4
PTOM76 Jun 28, 2025
43622e8
[cp] bump version 3.3.5
PTOM76 Jul 5, 2025
48e7bae
[cp] bump version 3.3.6
PTOM76 Jul 5, 2025
206b41c
[cp] fix readNbt method to use ReadNbtArgs
PTOM76 Jul 6, 2025
969a8fd
[cp] fix: handle null Identifier in fromMinecraft method
PTOM76 Jul 6, 2025
13164c3
[cp] feat: add toString and getName methods to Direction class
PTOM76 Jul 6, 2025
9b85d5f
[cp] feat: add ChunkManagerUtil for chunk update management
PTOM76 Jul 6, 2025
4727a25
[cp] feat: add BlockColorEvent and related classes for block color ma…
PTOM76 Jul 6, 2025
3aef4f5
[cp] feat: add ExpectPlatform annotation for compatibility management
PTOM76 Jul 6, 2025
8802522
[cp] fix RenderAttachmentBlockEntity and RenderDataBlockEntityImpl fo…
PTOM76 Jul 6, 2025
5cd3ce9
[cp] fix RenderAttachmentBlockEntity and RenderDataBlockEntityImpl fo…
PTOM76 Jul 6, 2025
2372f05
[cp] feat: add methods for item stack serialization in NbtRWUtil
PTOM76 Jul 6, 2025
b6b9eec
[cp] fix: update block color registration to use new ColorHandlerEven…
PTOM76 Jul 6, 2025
c3a91c1
[cp] bump version 3.3.7
PTOM76 Jul 6, 2025
5012744
[cp] feat: add Registry of ChunkTicketType
PTOM76 Jul 6, 2025
90bb4b3
[cp] bump version 3.3.8
PTOM76 Jul 6, 2025
30811a0
[cp] feat: implement hashCode and equals methods for ChunkTicketType
PTOM76 Jul 6, 2025
fb78821
[cp] bump version 3.3.9
PTOM76 Jul 9, 2025
fda0770
[cp] version neoforge only fix.1
PTOM76 Jul 12, 2025
01190ca
[cp] add register for CompatIdentifier
PTOM76 Jul 12, 2025
11b1c7d
[cp] bump version 3.3.9
PTOM76 Jul 12, 2025
4b9b1c9
[cp] changelog
PTOM76 Jul 19, 2025
2fb3477
[cp] version 3.4.0
PTOM76 Aug 10, 2025
d56603a
[cp] fix-1204
PTOM76 Aug 10, 2025
c0a32b1
[cp] feat: add methods to retrieve block and block wrapper in TileTic…
PTOM76 Oct 19, 2025
639a0f1
[cp] HitResult API
PTOM76 Oct 19, 2025
a2106ae
[cp] bump version to 3.4.1 and update changelog
PTOM76 Oct 19, 2025
43e1b9d
[cp] aganist not working, retrun null
PTOM76 Oct 19, 2025
7a0e043
[cp] add ContainerUser
PTOM76 Oct 19, 2025
fa3ebf2
[cp] fix ContainerUser
PTOM76 Oct 19, 2025
a23b082
[cp] use CompatContainerUser
PTOM76 Oct 19, 2025
4d7e364
[cp] CompatKeyBinding
PTOM76 Oct 19, 2025
02bb8db
[cp] enable parallel builds and increase worker limit
PTOM76 Oct 19, 2025
45d137f
[cp] update publish and pull scripts for version 1.21.9 checkout and …
PTOM76 Oct 19, 2025
c5b7cf1
[cp] Add APIs, Fix APIs
PTOM76 Oct 23, 2025
b58cc89
[cp] add method that able to get world id to worldutil
PTOM76 Oct 23, 2025
86f4a9e
[cp] add writeToStack method to BlockEntityUtil
PTOM76 Oct 25, 2025
2769f95
[cp] rm compnent import
PTOM76 Oct 25, 2025
2a9e5e5
[cp] fix writeToStack
PTOM76 Oct 25, 2025
223e0ee
[cp] fix writeToStack1204
PTOM76 Oct 25, 2025
34b450d
[cp] fix writeToStack 1204
PTOM76 Oct 25, 2025
34553b8
[cp] fix getblockentitynbt
PTOM76 Oct 25, 2025
8eb74a1
[cp] add APIs, Vector, Entity getPos
PTOM76 Oct 25, 2025
cba78c9
[cp] fix 1192
PTOM76 Oct 25, 2025
cf3a2de
[cp] bump version 3.4.4
PTOM76 Feb 7, 2026
d0a3cf3
[cp] add CameraWrapper
PTOM76 Feb 7, 2026
4b28771
[cp] fix for 1.21.5 less
PTOM76 Feb 7, 2026
26ca52d
[cp] fix publish.bat
PTOM76 Feb 7, 2026
2e709bf
[cp] fix publish.bat
PTOM76 Feb 7, 2026
68da890
[cp] bump version 3.4.5
PTOM76 Feb 7, 2026
c429f13
[cp] bump version 3.4.6
PTOM76 Feb 8, 2026
0b2318a
[cp] changelog
PTOM76 Feb 8, 2026
35e237e
[cp] feat: add Box, Vector Utils, improve WorldUtils
PTOM76 Mar 18, 2026
f681050
[cp] Bump version 3.4.7
PTOM76 Mar 18, 2026
1e3ed5e
use vec3f
PTOM76 Mar 18, 2026
8213d73
[cp] use getLengthX/Y/Z
PTOM76 Mar 18, 2026
f30c2cc
[cp] fix: replace vec3d to x/y/z
PTOM76 Mar 18, 2026
560acd6
[cp] feat: add values, horizontal, vertical, hashCode, equals to Dire…
PTOM76 Mar 19, 2026
54a1a4f
[cp] feat: impl hashCode, equals methods in Box, BlockPos
PTOM76 Mar 19, 2026
2088d1b
[cp] feat: add message sending methods to Player class
PTOM76 Mar 20, 2026
ad254f6
[cp] feat: implement BlockApiLookupWrapper and BlockApiLookupWithDire…
PTOM76 Mar 20, 2026
00c0458
[cp] feat: add methods to retrieve Midohra world, position, state, an…
PTOM76 Mar 20, 2026
46c07f1
[cp] feat: add FluidWrapper methods and enhance FluidStateUtil for fl…
PTOM76 Mar 20, 2026
af1db6d
[cp] feat: add DirectionBoolPropertyUtil for managing directional boo…
PTOM76 Mar 20, 2026
bf8f5be
[cp] bump version 3.4.8
PTOM76 Mar 20, 2026
9a7a790
[cp] feat: enhance block entity rendering with new CompatItemRenderUt…
PTOM76 Mar 21, 2026
de2d317
[cp] feat: introduce CompatFormatting, CompatStyle, and CompatTextCol…
PTOM76 Mar 21, 2026
f47b455
[cp] docs: update README to include cross-version and cross-platform …
PTOM76 Mar 21, 2026
f730e86
[cp] chore: bump version 3.4.9
PTOM76 Mar 21, 2026
619d1fa
[cp] fix: parseOrThrow in CompatTextColor
PTOM76 Mar 21, 2026
72371ec
fix: fix CompatFormatting and TextUtil
PTOM76 Mar 21, 2026
f3e297e
[cp] feat: add CompatParticleType and CompatParticleTypes for enhance…
PTOM76 Mar 22, 2026
39a25a5
[cp] feat: add utility methods for BlockEntity and BlockPos iteration
PTOM76 Mar 22, 2026
307f747
[cp] feat: add utility methods for BlockState manipulation in IProper…
PTOM76 Mar 23, 2026
8bafa5d
[cp] feat: implement hashCode and equals methods for various wrapper …
PTOM76 Mar 23, 2026
0c0935b
[cp] feat: add canPlaceAt method and CanPlaceAtArgs class for block p…
PTOM76 Mar 23, 2026
0330002
[cp] chore: bump version 3.5.0
PTOM76 Mar 23, 2026
a16b9e0
[cp] feat: add methods for Midohra world and position handling in Com…
PTOM76 Mar 23, 2026
156f0b9
[cp] fix: update COPPER_FIRE_FLAME particle type to use FLAME type
PTOM76 Mar 23, 2026
b51c3f1
[cp] fix: update TINTED_LEAVES and FIREFLY particle types to use PALE…
PTOM76 Mar 23, 2026
64ccfcc
[cp] fix: update PALE_OAK_LEAVES and TINTED_LEAVES particle types to …
PTOM76 Mar 23, 2026
9236fdc
[cp] fix: add import for WorldView in CompatBlock.java
PTOM76 Mar 23, 2026
98b9388
[cp] fix CompatParticleTypes1211
PTOM76 Mar 23, 2026
6b309f0
[cp] fix: change canPlaceAt method visibility from protected to publi…
PTOM76 Mar 23, 2026
f96c98e
[cp] fix: CompatParticleTypes 1204
PTOM76 Mar 23, 2026
e235693
[cp] fix: CompatParticleTypes 1201
PTOM76 Mar 23, 2026
420204b
[cp] fix: CompatParticleTypes 1192
PTOM76 Mar 23, 2026
741a27a
[cp] fix: CompatParticleTypes 1182
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
3 changes: 3 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -30,6 +30,9 @@ atlassian-ide-plugin.xml
*.zip
*.tar.gz
*.rar
*.php

php/

# virtual machine crash logs, see http://www.java.com/en/download/help/error_hotspot.xml
hs_err_pid*
Expand Down
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にする予定です。)

97 changes: 92 additions & 5 deletions build.gradle
Original file line number Diff line number Diff line change
@@ -1,25 +1,110 @@
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.6-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"

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

if (name in "fabric,forge".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.18')
addGameVersion '1.18.1'
addGameVersion '1.18.2'

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

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

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.18', '1.18.1', '1.18.2']
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"
}
}
}
}
}

Expand All @@ -28,9 +113,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 +125,11 @@ allprojects {
// for more information about repositories.
}

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

java {
Expand Down
Loading
Loading