Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
255 commits
Select commit Hold shift + click to select a range
50ba655
Special case water color in FluidVariantRenderHandler. (#5314)
modmuss50 Apr 15, 2026
034256a
Utilise BlockItemTagAppender (#5325)
Shnupbups Apr 15, 2026
bb1168a
Add iron and copper bars convention tags (#5297)
IchHabeHunger54 Apr 15, 2026
5a72ac2
Fix build
modmuss50 Apr 15, 2026
7db5c5e
Bump version
modmuss50 Apr 15, 2026
44aca97
fix: crowdin.yaml wildcard (#5333)
its-miroma Apr 15, 2026
39b5a39
Register a new fluid render handler for water. (#5331)
modmuss50 Apr 17, 2026
d4b930c
client gametest: make respawn radius 0 when using consistent world se…
deirn Apr 17, 2026
a5880d6
Clear CameraRenderState's extra data (#5337)
modmuss50 Apr 17, 2026
a54c0e4
Correct usage of WoodTypeBuilder in TealSignTest (#5339)
modmuss50 Apr 17, 2026
b1da775
refactor: re-add extraction events to `LevelRenderEvents` in accordan…
sylv256 Apr 17, 2026
7ca090e
Fix OxidizableBlockRegistry.registerWeatheringCopperBlocks registers …
modmuss50 Apr 17, 2026
eb1be56
Bump version
modmuss50 Apr 17, 2026
9a6cb68
26.2-snapshot-4 (#5350)
modmuss50 Apr 21, 2026
9d6daa9
Add ServerEntityEvents.ALLOW_LOAD, Entity.spawnReason() and Entity.is…
DennisOchulor Apr 27, 2026
5cad15a
Expand `c:hidden_from_recipe_viewers` (#5340)
cassiancc Apr 27, 2026
991fd34
client gametest: allow compute methods to return nullable (#5347)
deirn Apr 27, 2026
0ecb053
fix `VanillaTooltipOrderProvider` in remapped development environment…
cputnam-a11y Apr 27, 2026
92c9ab3
Bump version
modmuss50 Apr 27, 2026
0356ae4
Add constant interfaces to Contributing Guidelines (#5327)
sylv256 Apr 17, 2026
11e1c9a
26.2 snapshot 5 (#5364)
modmuss50 Apr 28, 2026
fcd927a
feat: `ClientHotbarScrollEvents` (#5330)
sylv256 May 3, 2026
99ca016
Add EntityFluidInteractionRegistry and FluidBehaviour api (#5335)
Patbox May 3, 2026
8e48e03
Add transitive access widener to `Minecraft#blockModelResolver` (#5349)
Jab125 May 3, 2026
633e8f0
Allow using Identifiers in advancement datagen (#5366)
CelDaemon May 3, 2026
8691a43
Add String#toLowerCase/toUpperCase without locale checkstyle (#5367)
kevinthegreat1 May 3, 2026
05ca793
Implement dynamic block tinting support with BlockTintsFactory integr…
marchermans May 3, 2026
94bd2ce
Update translations (#5342)
github-actions[bot] May 3, 2026
45fa491
Revert "Update translations (#5342)" (#5371)
modmuss50 May 3, 2026
0d7eb3d
Port cherry picked changes to 26.2
modmuss50 May 3, 2026
4c47a1c
Fix cherry picked mixin
modmuss50 May 3, 2026
e925364
Bump version
modmuss50 May 3, 2026
efcef49
26.2-snapshot-6
modmuss50 May 5, 2026
72073ef
Limit initial capacity of collections/maps when decoding packets
modmuss50 May 11, 2026
46a6d00
26.2-snapshot-7
modmuss50 May 12, 2026
d3d8447
Make DataResourceStore's method default (#5383)
modmuss50 May 14, 2026
87920b3
fix: crowdin one more time (#5381)
its-miroma May 14, 2026
9f6dd72
Bump CI actions to use Node 24 (#5378)
CelDaemon May 14, 2026
f201a25
[26.1] Froglight Conventional Tag (#5375)
cassiancc May 14, 2026
5f4a394
Implement Fabric Permission API (#5226)
Patbox May 14, 2026
1c8adc7
Cherry pick fixes
modmuss50 May 14, 2026
d8981f5
[26.1.2] Tag File Entry Removals (#5365)
ChrysanthCow May 14, 2026
ec3fb80
Bump version
modmuss50 May 14, 2026
3551ae3
Fix flaky tag removal tests (#5386)
modmuss50 May 14, 2026
4a7fa08
Improve gametest logging/error messages (#5385)
modmuss50 May 14, 2026
f1dcae8
Add Bounce disc to `c:music_discs` (#5384)
cassiancc May 19, 2026
62286e5
Fix dependency sorting for removing tag from tag (#5392)
ThePotatoArchivist May 19, 2026
794df31
Fix `fabric:remove` keys are not always optional. (#5396)
ChrysanthCow May 19, 2026
aa0fd6f
Rework AttachmentChange to (de)serialize the value as part of packet …
Patbox May 19, 2026
8972882
Update translations (#5379)
github-actions[bot] May 19, 2026
9fa688a
Expose NoiseRouterData (#5388)
FirstMegaGame4 May 19, 2026
2aae603
Merge remote-tracking branch 'origin/26.2' into 26.2
modmuss50 May 19, 2026
e098252
Fix build
modmuss50 May 19, 2026
c3c1032
Bump version
modmuss50 May 19, 2026
a8a7262
26.2-snapshot-8
modmuss50 May 19, 2026
0b561df
Update Gradle and Loom (#5398)
modmuss50 May 22, 2026
f83d74d
26.2-pre-1
modmuss50 May 26, 2026
9bf73fa
Remove unnecessary @Nullable in UseEntityCallback (fix #5353) (#5405)
Patbox May 28, 2026
7c33558
Handle extraction of permission level from non-level / custom impleme…
Patbox May 28, 2026
d3d2fc7
Add DecoratedPotPattern Content Registry (#5387)
FirstMegaGame4 May 28, 2026
62df61c
Bump version
modmuss50 May 28, 2026
cd72363
26.2-pre-2
modmuss50 May 28, 2026
8f57f7e
26.2-pre-3
modmuss50 Jun 2, 2026
d1756aa
26.2-pre-4
modmuss50 Jun 4, 2026
2c22e2b
Fix client game tests not running with vulkan (#5414)
modmuss50 Jun 7, 2026
c7bd5b8
Dismantle DynamicRegistries#getDynamicRegistries into two more specif…
FirstMegaGame4 Jun 7, 2026
10e9a28
Add `fabric:false` resource condition (#5410)
cassiancc Jun 7, 2026
db57954
Add TestInput.lookAt (#5413)
modmuss50 Jun 7, 2026
9fa98ac
Bump version
modmuss50 Jun 7, 2026
3568f87
26.2-pre-5
modmuss50 Jun 8, 2026
e73ab60
Port renderer api and indigo to 26.2 (#5406)
Rigner Jun 10, 2026
089d615
Delay dedicated server start until after ServerLifecycleEvents.SERVER…
modmuss50 Jun 10, 2026
00cb034
Add FabricClientCommandSource#attended() to require confirmation for …
modmuss50 Jun 10, 2026
9edec12
Fix warning about LevelExtractor missing resource reload id. (#5421)
modmuss50 Jun 10, 2026
e4d03ae
Bump version
modmuss50 Jun 10, 2026
a0e983a
26.2-pre-6
modmuss50 Jun 10, 2026
5eb8389
26.2-pre-6
modmuss50 Jun 11, 2026
eec4cc5
fix: use argsOnly for SimpleModelWrapperMixin.storeModelBakery (#5432)
ishland Jun 15, 2026
b7a678a
Fix jumping/swimming in custom fluids not using correct path (fix #54…
Patbox Jun 15, 2026
5d6ad85
26.2-rc-2
modmuss50 Jun 15, 2026
5e56e54
RecipeProvider: Output stonecutting recipes in result item’s namespac…
bluebear94 Jun 15, 2026
4575b05
Fix tags loaded event injection during client configuration finish in…
LambdAurora Jun 15, 2026
e14617e
Bump version
modmuss50 Jun 15, 2026
0c893bb
26.2
modmuss50 Jun 18, 2026
22d0830
Update apt before installing vulkan drivers
modmuss50 Jun 18, 2026
93d3a2f
Fix: No Glow Inside Sulfur Cube (#5442)
modmuss50 Jun 18, 2026
d86ccc6
Bump version
modmuss50 Jun 18, 2026
9463a5d
Add an atlas registry (#5390)
CelDaemon Jun 22, 2026
7aec7be
Expose registries in EnchantmentEvents.MODIFY (#5415)
Maganoos Jun 22, 2026
2b0d8a2
Add an API for registering custom FeatureRenderers (#5435)
SquidDev Jun 22, 2026
1f023a9
Add missing 26.2 content to C tags (#5443)
TelepathicGrunt Jun 22, 2026
ffbe971
Fix `ButtonList` `IndexOutOfBoundsException` for screens with rendera…
Fuzss Jun 22, 2026
82e81a4
Update Checkstyle report action to v3 (#5446)
Juuxel Jun 22, 2026
3be6f26
Update mod publish plugin
modmuss50 Jun 22, 2026
db46eff
Bump version
modmuss50 Jun 22, 2026
7b090b3
Add char typed events for handling `Screen::charTyped` (#4948)
Fuzss Jul 1, 2026
6fcd5f0
Modify entity type default attributes event (#5424)
TheDeathlyCow Jul 1, 2026
48e3c0b
fix: screen testmod crash (#5449)
Alex33856 Jul 1, 2026
9e7dc27
Make `FabricDataGenerator` extend `DataGenerator.Cached` rather than …
SuperMartijn642 Jul 1, 2026
67c8472
Add callback for registering custom `BuiltInBlockModels` (#5447)
Fuzss Jul 1, 2026
b4e97c1
Bump version
modmuss50 Jul 1, 2026
37925be
Fix: #5466 (#5474)
modmuss50 Jul 6, 2026
6988455
fixed FabricOrderedSubmitNodeCollector.submitCustom not being default…
TheTypholorian Jul 6, 2026
6929afe
Bump version
modmuss50 Jul 6, 2026
b7020ca
Don't cache PermissionLevel for EntityPermissionContext (fix #5476) (…
Patbox Jul 7, 2026
46ee045
Bump version
modmuss50 Jul 7, 2026
309832e
Update outdated readme (#5487)
Earthcomputer Jul 12, 2026
be49fc0
docs(CONTRIBUTING.md): make constructors private in utility classes (…
sylv256 Jul 16, 2026
5ed4990
Fix modded dimensions triggering experimental warning screen (#5485)
Patbox Jul 16, 2026
583e0a5
Extend `TooltipFlag` to allow for `shouldDisplayAllInformation` (#5483)
cassiancc Jul 16, 2026
d0a699d
Allow easier checking if entity is in fluid, fluid enter/leaves metho…
Patbox Jul 16, 2026
3280d9c
Bump version
modmuss50 Jul 16, 2026
b190d6f
Fix datagen crash with non-fabric-api tag providers (closes #5431) (#…
UpcraftLP Jul 17, 2026
27bccbf
Bump version
modmuss50 Jul 17, 2026
f5f9b31
Bump version
modmuss50 Jul 17, 2026
aed122a
Make BlockModelGenerators's PropertyDispatch fields public (#5513)
SquidDev Jul 28, 2026
11dbb7d
Fix getCapacity on an empty slot using air's capacity (#5511)
SquidDev Jul 28, 2026
536fad2
Generate package-infos on IDE sync (#5510)
DennisOchulor Jul 28, 2026
6d55f68
Fix removed synced attachments being resent to every new tracker (#5506)
NovaVanity Jul 28, 2026
515ac53
Replace network synchronizer with utility methods (#5484)
Earthcomputer Jul 28, 2026
49a69a7
Feat: add methods to modify components in FabricItem.Properties (#5434)
cputnam-a11y Jul 28, 2026
3e8afef
Bump version
modmuss50 Jul 28, 2026
bb2ed3f
Trigger chat message events for player-executed command messages (clo…
braniik Aug 10, 2026
58e078a
Add `AfterForeground` event (#5527)
Fuzss Aug 10, 2026
e442d8d
Make Permission API non-experimental (#5537)
Patbox Aug 10, 2026
37b1aa2
Make Fluid Behavior API non-experimental (#5538)
Patbox Aug 10, 2026
adde6dd
Bump version
modmuss50 Aug 10, 2026
c68f6cb
Add `ItemClickBehaviorCallback` (#5536)
Fuzss Aug 18, 2026
370a4fc
Bump version
modmuss50 Aug 18, 2026
0baf62e
Update module documentation to reflect changes to default game option…
Earthcomputer Sep 1, 2026
0f4f1dc
Don't run client gametest mod initializer if disabled (#5560)
Earthcomputer Sep 1, 2026
29b6eb0
Fix wrong injection for capturing entity spawn reason (#5559)
Fuzss Sep 1, 2026
5087f82
Fix incorrect Javadoc on beforeKeyRelease event (#5547)
adityaanikam Sep 1, 2026
672273e
Bump version
modmuss50 Sep 1, 2026
d84a373
Initial NeoForge environment setup
Su5eD Mar 26, 2026
5e312c3
Neo metadata generation
Su5eD Jun 4, 2026
71f595a
Port fabric-lifecycle-events-v1
Su5eD Jun 4, 2026
3fd1373
Fix failing tests
Su5eD Jun 4, 2026
18644ea
Port fabric-gametest-api-v1 and fabric-resource-loader-v1
Su5eD Jun 5, 2026
2a6a5f8
Port fabric-resource-conditions-api-v1
Su5eD Jun 5, 2026
94e1d36
Skip fabric-crash-report-info-v1
Su5eD Jun 5, 2026
b41f920
Port fabric-command-api-v2
Su5eD Jun 5, 2026
9b60187
Port fabric-sound-api-v1
Su5eD Jun 5, 2026
bced007
Port fabric-game-rule-api-v1
Su5eD Jun 5, 2026
71878f9
Port fabric-screen-api-v1
Su5eD Jun 5, 2026
b327567
Port fabric-block-getter-api-v2
Su5eD Jun 5, 2026
877e9f5
Port fabric-serialization-api-v1
Su5eD Jun 5, 2026
c27cde2
Port fabric-content-registries-v0
Su5eD Jun 8, 2026
55316f4
Port fabric-registry-sync-v0
Su5eD Jun 9, 2026
3d00159
Port fabric-message-api-v1
Su5eD Jun 10, 2026
2b03376
Port fabric-debug-api-v1
Su5eD Jun 10, 2026
8472aab
Port fabric-loot-api-v3
Su5eD Jun 10, 2026
ce13d57
Port fabric-key-mapping-api-v1
Su5eD Jun 10, 2026
b071806
Port fabric-client-gametest-api-v1
Su5eD Jun 10, 2026
9051316
Use entrypoints for finding game test methods
Su5eD Jun 10, 2026
8954e01
Port fabric-item-api-v1
Su5eD Jun 10, 2026
e13c6f5
Port fabric-creative-tab-api-v1
Su5eD Jun 10, 2026
b8759c2
Port fabric-permission-api-v1
Su5eD Jun 12, 2026
b287159
Port fabric-block-api-v1
Su5eD Jun 12, 2026
e2039ab
Port fabric-convention-tags-v2
Su5eD Jun 12, 2026
33362aa
Port fabric-tag-api-v1
Su5eD Jun 12, 2026
2252655
Port fabric-rendering-fluids-v1
Su5eD Jun 12, 2026
cc0e8c3
Port fabric-recipe-api-v1
Su5eD Jun 13, 2026
3cdb0a4
Port fabric-events-interaction-v0
Su5eD Jun 13, 2026
01e28e4
Port fabric-object-builder-api-v1
Su5eD Jun 14, 2026
f22b668
Port fabric-api-lookup-api-v1
Su5eD Jun 14, 2026
445199e
Port fabric-menu-api-v1
Su5eD Jun 14, 2026
5aca7ae
Port fabric-dimensions-v1
Su5eD Jun 14, 2026
9b66e97
Port fabric-resource-loader-v0
Su5eD Jun 14, 2026
91c0e90
Port fabric-biome-api-v1
Su5eD Jun 15, 2026
8cf16cc
Port fabric-data-generation-api-v1
Su5eD Jun 15, 2026
242bfcf
Networking part 1
Su5eD Jun 15, 2026
92ff4f9
Networking part 2
Su5eD Jun 16, 2026
48bd754
Networking part 3
Su5eD Jun 16, 2026
3b084df
Port fabric-transitive-access-wideners-v1
Su5eD Jun 17, 2026
60fb9d7
Port fabric-rendering-v1
Su5eD Jun 17, 2026
21a7fd7
Port fabric-entity-events-v1
Su5eD Jun 17, 2026
06cbb38
Port fabric-particles-v1
Su5eD Jun 17, 2026
5cd5247
Port fabric-data-attachment-api-v1
Su5eD Jun 17, 2026
35e09ee
Port rendering modules
Su5eD Jun 18, 2026
2b14356
Port fabric-transfer-api-v1
Su5eD Jun 20, 2026
3af221f
Implement registry remap callback
Su5eD Jun 20, 2026
930083f
Build fixes
Su5eD Jun 21, 2026
d6e5313
Setup CI
Su5eD Jun 21, 2026
5f5192e
Support concurrent registration
Su5eD Jun 21, 2026
ee19370
Add default fluid type for fabric fluids
Su5eD Jun 21, 2026
10eecfd
Bundle FFLoader
Su5eD Jun 21, 2026
c93c619
Update README
Su5eD Jun 21, 2026
0c1bcb3
Fix LivingEntityMixin overwriting self()
Su5eD Jun 21, 2026
527ade3
Update publishing
Su5eD Jun 21, 2026
7bd05e6
Fix CF publishing
Su5eD Jun 21, 2026
dba9ba6
Wrap Neo block state model codec
Su5eD Jun 22, 2026
e55fa1c
Add missing wrappers for extended block state model functions from Neo
Su5eD Jun 22, 2026
256a7aa
Fix CF publishing again
Su5eD Jun 22, 2026
5da9881
Fix FabricBlock default method conflict
Su5eD Jun 22, 2026
12da5b3
Fix interface injection targets
Su5eD Jun 22, 2026
9952678
Fix missing wrap op call arg
Su5eD Jun 22, 2026
d41ec00
Use Neo context in FRAPI
Su5eD Jun 23, 2026
3d8e017
Fix resource conditions not applying in neo overloaded method
Su5eD Jun 23, 2026
b3b9a5c
Add dynamic tint support for indigo
Su5eD Jun 23, 2026
28e21ad
Loosen dep constraints
Su5eD Jun 23, 2026
fe74b31
Add fabric loader mod aliases
Su5eD Jun 30, 2026
2956cd5
Fix NPE in useDefaultType
Su5eD Jun 30, 2026
723cd5b
Set compatible with 26.1.x
Su5eD Jun 30, 2026
9cbbf3c
Fix missing sendable channel information
Su5eD Jun 30, 2026
e3170ed
Fix clearing common channels
Su5eD Jun 30, 2026
fd677c0
Port entity attribute modification event
Su5eD Jul 1, 2026
ba01b47
Publish merged AT/ITF data
Su5eD Jul 3, 2026
821567d
Fix FFAPI freezing registry
Su5eD Jul 3, 2026
daed7d9
Fix dummy attachment serializer type cast error
Su5eD Jul 3, 2026
3c36bf1
Bump fabric loader to 2.5.83+0.19.3+26.1.2
Su5eD Jul 3, 2026
a15516f
Fix packet context missing in login flow
Su5eD Jul 6, 2026
3b04b15
Add missing FabricRegistry implementation
Su5eD Jul 6, 2026
d81f725
Add loader to api configuration
Su5eD Jul 7, 2026
7e37133
Fix fluid compat unit conversion
Su5eD Jul 7, 2026
0586004
Bridge Fabric fluid behavior to Neo fluid types
Su5eD Jul 7, 2026
66db793
Fix ModelBakeryMixin targeting unused constructor
Su5eD Jul 11, 2026
6d9ee2c
Improve fake player network compat
Su5eD Jul 12, 2026
2bef70c
Fix packet encoder context out of order
Su5eD Jul 14, 2026
0404dc4
Skip applying Fabric overlays when Neo overlays are defined
Su5eD Jul 14, 2026
91bcbac
Fix setAttached not accepting null value
Su5eD Jul 14, 2026
f76ab08
Send initial channels with Neo configuration
Su5eD Jul 15, 2026
27d9f04
Update versioning scheme to fit fabric mod dep constraints
Su5eD Jul 16, 2026
13a2865
Fix NPE with Neo Fake player net handler
Su5eD Jul 20, 2026
203ddbf
Fix NPE when copying attachments
Su5eD Jul 20, 2026
85fdb4f
Replace overwrite mixin with WrapOp
Su5eD Jul 20, 2026
5bc8507
Bridge recipe sync to NeoForge
Su5eD Jul 21, 2026
94f378d
Bridge ItemComponentTooltipProviderRegistry to Neo's TooltipAppenders
Su5eD Jul 21, 2026
96d6424
Fix Neo dep constraint
Su5eD Jul 21, 2026
37db1e2
Merge all subproject ATs in root
Su5eD Jul 22, 2026
3f533db
Fix BE valid blocks mixin conflict with Placebo
Su5eD Jul 22, 2026
83b357a
Remove lowcodefml from generated metadata
Su5eD Jul 25, 2026
ed64c9e
Fix PlayerBlockBreakEvents.BEFORE being called on the client
Su5eD Jul 25, 2026
dfc0a2a
Use enhanced AO mode by default
Su5eD Jul 26, 2026
3731f8b
Common Fluid Type behavior handling
Su5eD Aug 13, 2026
2d6917d
Clear dynamic registries after registration
Su5eD Aug 15, 2026
4443f2c
Remove dependency on meta project
Su5eD Aug 15, 2026
d6727f8
Move fluid attribute polyfill to shared module
Su5eD Aug 15, 2026
f311544
Add missing interface injection
Su5eD Aug 21, 2026
5a070ed
Adapt for latest NeoForge networking changes
Su5eD Aug 21, 2026
76b0714
Fix main menu music not playing
Su5eD Aug 22, 2026
5c9dba2
Add missing interface implementation mixin for FabricTooltipFlag
Su5eD Aug 24, 2026
13ba738
Update to 26.2
BluSpring Sep 15, 2026
c515bdb
Fix compiling
BluSpring Sep 15, 2026
df41866
Fix a bunch of compile errors from the update
BluSpring Sep 15, 2026
3245a39
Fix test mods
BluSpring Sep 15, 2026
3066526
More mixin fixes
BluSpring Sep 15, 2026
d89c763
More mixin fixes, now we load into a world
BluSpring Sep 15, 2026
2a7eb8c
Add iconFile info for mod menu icon
BluSpring Sep 15, 2026
746500b
Add iconFile info to fluid types module
BluSpring Sep 15, 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
  •  
  •  
  •  
67 changes: 67 additions & 0 deletions .github/ISSUE_TEMPLATE/bug_report.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,67 @@
name: 🐞 Bug Report
description: Report an issue you've encountered
labels: [ bug ]
body:
- type: markdown
attributes:
value: "## 👋 Welcome!"
- type: markdown
attributes:
value: |
### 📋 Checklist
Thank you for taking your time to report this bug!
Before reporting, please ensure that:
- You are using the **latest** available version of Forgified Fabric API
- You've installed a **minimal set of mods** required to reproduce the issue.
Issues with modpacks and excessive amount of mods will *not* be accepted, as they take a long time to diagnose.
Knowing which mods are causing problems allows us to focus on fixing the issue as soon as possible.
If you're unsure which mods might be at fault, try using [binary search](https://www.reddit.com/r/feedthebeast/comments/evpy6r/tips_for_modpack_authors_how_to_find_misbehaving/) - removing half of installed mods
repeatedly until the faulty mod is found.

> [!WARNING]
> Note: Custom server APIs (such as Mohist, Magma, Arclight) are **not supported**.
> This also applies to launchers for mobile platforms (Pojav, FoldCraft).
- type: dropdown
id: version
attributes:
label: Minecraft version
description: What version of Minecraft are you running? Please note that only the versions listed below are supported. If you're running an outdated version, update to receive support.
options:
- "26.1.x"
- "1.21.1 (LTS)"
default: 0
validations:
required: true
- type: input
id: description
attributes:
label: Describe the bug
description: "A clear and concise description of what the bug is."
validations:
required: true
- type: textarea
id: repro
attributes:
label: Steps to reproduce
description: |
How do you trigger this bug? Please walk us through it step by step.
If applicable, add screenshots to help explain your problem.
value: |
1.
2.
3.
...
validations:
required: true
- type: input
id: logs
attributes:
label: Logs
description: |
If applicable (crash, error output in console), please provide your debug.log **and** crash report
To upload logs, use an external paste site, such as [Github Gist](https://gist.github.com/) (recommended), [Ubuntu Pastebin](https://paste.ubuntu.com/) or [Pastebin](http://pastebin.com)
- type: textarea
id: context
attributes:
label: Additional context
description: "Add any other context about the problem here, such as your current environment or other mods that might be causing this bug."
10 changes: 5 additions & 5 deletions .github/ISSUE_TEMPLATE/config.yml
Original file line number Diff line number Diff line change
@@ -1,8 +1,8 @@
blank_issues_enabled: true
contact_links:
- name: FabricMC Discord
url: https://discord.gg/v6v4pMv
about: Please ask here for help with installing Fabric.
- name: Sinytra Discord
url: https://discord.sinytra.org
about: Please ask here for help with installing Forgified Fabric API.
- name: GitHub Discussions
url: https://github.com/FabricMC/fabric/discussions
about: Please look here for frequently asked questions and questions on how to use Fabric API.
url: https://github.com/Sinytra/ForgifiedFabricAPI/discussions
about: Please look here for frequently asked questions and questions on how to use Forgified Fabric API.
120 changes: 47 additions & 73 deletions .github/workflows/build.yml
Original file line number Diff line number Diff line change
@@ -1,91 +1,65 @@
name: Build
on: [push, pull_request]

on: [ push, pull_request, merge_group ]

jobs:
build:
runs-on: ubuntu-24.04
strategy:
matrix:
java: [ 25-ubuntu ]

runs-on: ubuntu-latest

container:
image: mcr.microsoft.com/openjdk/jdk:${{ matrix.java }}
options: --user root

steps:
- uses: actions/setup-java@v5
with:
distribution: 'microsoft'
java-version: '25'
- uses: actions/checkout@v6
- name: Install Git
run: apt update && apt install git -y && git --version

- name: Checkout repository
uses: actions/checkout@v6
with:
fetch-depth: 0
- uses: gradle/actions/wrapper-validation@v4
- run: ./gradlew check build outJar :buildSrc:check publishToMavenLocal --stacktrace
- uses: FabricMCBot/publish-checkstyle-report@4627c82002aa370b6cb2a3140f34c7a8c55a5297

- name: Validate wrapper
uses: gradle/actions/wrapper-validation@v5

- name: Setup Gradle
uses: gradle/actions/setup-gradle@v6
with:
gradle-home-cache-cleanup: true

- name: Setup env properties
shell: bash
run: |
mkdir -p ~/.gradle/
echo "GRADLE_USER_HOME=${HOME}/.gradle" >> $GITHUB_ENV

- name: Create placeholder assets dir
run: mkdir -p ${{ env.GRADLE_USER_HOME }}/caches/fabric-loom/assets

- name: Build with Gradle
run: ./gradlew build publishToMavenLocal --stacktrace

- uses: Juuxel/publish-checkstyle-report@v1
if: ${{ failure() }}
with:
reports: |
**/build/reports/checkstyle/*.xml
- uses: actions/upload-artifact@v7

- name: Upload build outputs
uses: actions/upload-artifact@v7
with:
name: Artifacts ${{ matrix.java }}
path: |
build/libs/
./*/build/libs/
build/publishMods/
- uses: actions/upload-artifact@v7
with:
name: Maven Local ${{ matrix.java }}
path: ~/.m2/repository/net/fabricmc/
- uses: actions/upload-artifact@v7
with:
name: Artifacts ${{ matrix.java }}
archive: false
path: |
build/out/

client_test:
runs-on: ubuntu-24.04
steps:
- uses: actions/checkout@v6
with:
fetch-depth: 0
- uses: actions/setup-java@v5
with:
distribution: 'microsoft'
java-version: '25'
- run: |
curl -L -o tracy-capture https://github.com/modmuss50/tracy-utils/releases/download/0.0.2/linux-x86_64-tracy-capture
chmod +x tracy-capture
mkdir run && echo "eula=true" >> run/eula.txt
- run: ./gradlew runClientGametest --stacktrace --warning-mode=fail
env:
ENABLE_TRACY: false
- uses: actions/upload-artifact@v7
if: always()
with:
name: Test Screenshots
path: run/screenshots
- uses: actions/upload-artifact@v7
if: always()
with:
name: Tracy Profile
path: profile.tracy

server_test:
runs-on: ubuntu-24.04
steps:
- uses: actions/checkout@v6
- name: Upload maven local
uses: actions/upload-artifact@v7
with:
fetch-depth: 0
- uses: actions/setup-java@v5
with:
distribution: 'microsoft'
java-version: '25'
- run: mkdir run && echo "eula=true" >> run/eula.txt
- run: ./gradlew runAutoTestServer runGametest --stacktrace --warning-mode=fail

check_resources:
runs-on: ubuntu-24.04
steps:
- uses: actions/checkout@v6
with:
fetch-depth: 0
- uses: actions/setup-java@v5
with:
distribution: 'microsoft'
java-version: '25'
- run: ./gradlew generateResources --stacktrace --warning-mode=fail
- run: if [ -n "$(git status --porcelain)" ]; then exit 1; fi
name: Maven Local ${{ matrix.java }}
path: /root/.m2/repository/org/sinytra/forgified-fabric-api/
14 changes: 0 additions & 14 deletions .github/workflows/manage_issues.yml

This file was deleted.

119 changes: 103 additions & 16 deletions .github/workflows/release.yml
Original file line number Diff line number Diff line change
@@ -1,35 +1,122 @@
name: Release
on: [workflow_dispatch] # Manual trigger
on:
workflow_dispatch:
inputs:
release_type:
description: 'The published artifact release type'
required: false
default: 'STABLE'
type: choice
options:
- STABLE
- BETA
- ALPHA

permissions:
actions: read
contents: write

jobs:
build:
runs-on: ubuntu-24.04
name: Build

runs-on: ubuntu-latest

outputs:
changelog: ${{ steps.changelog.outputs.changelog }}

container:
image: mcr.microsoft.com/openjdk/jdk:25-ubuntu
options: --user root

steps:
- uses: actions/setup-java@v5
with:
distribution: 'microsoft'
java-version: '25'
- uses: actions/checkout@v6
- name: Install Git
run: apt update && apt install git -y && git --version

- name: Add safe directory
run: git config --global --add safe.directory /__w/ForgifiedFabricAPI/ForgifiedFabricAPI

- name: Checkout repository
uses: actions/checkout@v6
with:
fetch-depth: 0

- uses: FabricMC/fabric-action-scripts@v2
id: changelog
with:
context: changelog
workflow_id: release.yml
- uses: gradle/actions/wrapper-validation@v4
- run: ./gradlew checkVersion build publish publishMods -x check --stacktrace --no-configuration-cache

- name: Validate wrapper
uses: gradle/actions/wrapper-validation@v5

- name: Setup Gradle
uses: gradle/actions/setup-gradle@v6
with:
cache-write-only: true

- name: Build with Gradle
run: ./gradlew clean build --stacktrace

publish:
strategy:
fail-fast: false
matrix:
include:
- name: Maven
task: publish
url: https://maven.su5ed.dev/releases/org/sinytra/forgified-fabric-api

- name: GitHub
task: publishGithub
url: https://github.com/Sinytra/ForgifiedFabricAPI/releases

- name: CurseForge
task: publishCurseforge
url: https://www.curseforge.com/minecraft/mc-mods/forgified-fabric-api

- name: Modrinth
task: publishModrinth
url: https://modrinth.com/mod/forgified-fabric-api

name: Publish ${{ matrix.name }}

needs: build

runs-on: ubuntu-latest

environment:
name: ${{ matrix.name }}
url: ${{ matrix.url }}

steps:
- name: Checkout repository
uses: actions/checkout@v6
with:
fetch-depth: 0

- name: Setup Java
uses: actions/setup-java@v5
with:
distribution: 'microsoft'
java-version: '25'

- name: Validate wrapper
uses: gradle/actions/wrapper-validation@v5

- name: Setup Gradle
uses: gradle/actions/setup-gradle@v6
with:
cache-read-only: true

- name: Publish with Gradle
run: ./gradlew clean build ${{ matrix.task }} --stacktrace
env:
PUBLISH_RELEASE_TYPE: ${{ inputs.release_type }}
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
CURSEFORGE_TOKEN: ${{ secrets.CURSEFORGE_TOKEN }}
MODRINTH_TOKEN: ${{ secrets.MODRINTH_TOKEN }}
MAVEN_URL: ${{ secrets.MAVEN_URL }}
MAVEN_USERNAME: ${{ secrets.MAVEN_USERNAME }}
MAVEN_PASSWORD: ${{ secrets.MAVEN_PASSWORD }}
CURSEFORGE_API_KEY: ${{ secrets.CURSEFORGE_API_KEY }}
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
MODRINTH_TOKEN: ${{ secrets.MODRINTH_TOKEN }}
CHANGELOG: ${{ steps.changelog.outputs.changelog }}
SIGNING_SERVER: ${{ secrets.SIGNING_SERVER }}
SIGNING_PGP_KEY: ${{ secrets.SIGNING_PGP_KEY }}
SIGNING_JAR_KEY: ${{ secrets.SIGNING_JAR_KEY }}
CHANGELOG: ${{ needs.build.outputs.changelog }}
Loading