Commit graph

138 commits

Author SHA1 Message Date
cpw
e6da5218b5 Try and be a bit nicer about handling bad [feature] definitions (#9606)
* Try and be a bit nicer about handling bad [feature] definitions - they're single square bracket defined and require strings for feature bound values.

* Some more tweaks to the feature system to output useful and well formatted error messages when bounds fail. Requires SPI 7.0.1 and the language string "fml.modloading.feature.missing" has changed.

* Use immutable lists where possible and generally tidy things a bit
2023-06-28 22:27:59 -04:00
Paint_Ninja
6d6d2a3732 Add example usage for configs to the MDK (#9596)
Demonstrates proper usage of different config value types, validation, transformation/parsing, load/reload handling and direct field access.
2023-06-27 13:57:20 +02:00
Paint_Ninja
7e52cbf56a Demonstrate configureEach in run configs (#9594) 2023-06-27 13:57:08 +02:00
Paint_Ninja
3ea735a901 Reduce verbosity of prepareRuns doc in MDK (#9593) 2023-06-27 13:56:58 +02:00
Paint_Ninja
9b6e4991b6 Lazily configure MDK tasks, improve IDE support (#9592) 2023-06-27 13:56:42 +02:00
SizableShrimp
773c579dab Forge 1.20
- Creative mode tabs are now a registry; the `BuildContents` event was renamed to `BuildCreativeModeTabContentsEvent` and moved it to its own class
- The pack format is now 15 for both resource packs and data packs
- `ScreenUtils` was deprecated in favor of a `GuiGraphics` extension
- Forge and the MDK were updated to Gradle 8 and FG6
- The Forge common config file was removed (it only contained the deprecated old fields for resource caching, which was removed in 1.19.3)
- Registry dummy entries were removed
- `RemappingVertexPipeline` was fixed to forward the `endVertex()` call
- Forge tool tags were removed in favor of vanilla ones

Co-authored-by: ChampionAsh5357 <ash@ashwork.net>
Co-authored-by: coehlrich <coehlrich@users.noreply.github.com>
Co-authored-by: Dennis C <11262040+XFactHD@users.noreply.github.com>
Co-authored-by: Matyrobbrt <matyrobbrt@gmail.com>
2023-06-07 20:55:09 -05:00
ChampionAsh5357
821c23e9ba Update and Regenerate Datapacks (#9419)
Add generation for pack.mcmeta
2023-03-28 13:33:59 -07:00
noeppi_noeppi
92f7a8ac57 Update pack versions (#9414) 2023-03-24 13:17:22 -07:00
Mysterious_Dev
10fd88714d Fix broken link for update checker docs in mdk (#9271) 2022-12-30 11:11:43 -08:00
Mysterious_Dev
b54d88379c Update link for Parchment "Getting Started" (#9243) 2022-12-26 13:19:44 -08:00
LexManos
8adb648b8d Redesign CreativeTab collection event to be a lot more straight forward. (#9198) 2022-12-10 15:03:23 -08:00
SizableShrimp
d2f2e94511 Forge 1.19.3
Created a CreativeModeTabEvent to register creative mode tabs and populate entries per tab
Moved datapack registries to DataPackRegistryEvent.NewRegistry event instead of tying them to ForgeRegistry
Made it easier for mods to datagen datapack builtin entries with DatapackBuiltinEntriesProvider
Provided access to lookupProvider for datagen
Updated dependencies to match versions used by vanilla and update JarJar to 0.3.18
Added a test mod for the new CreativeModeTabEvent
Throws better error message for Forge registries in tag datagen
Deleted ForgeRegistryTagsProvider
Updated ClientChatReceivedEvent and ServerChatEvent for Mojang changes
Added patches for both sign related methods in ModelLayers
Changed RegisterShadersEvent to use ResourceProvider
Migrated old Mojang math types to JOML

Co-authored-by: Marc Hermans <marc.hermans@ldtteam.com>
Co-authored-by: LexManos <LexManos@gmail.com>
Co-authored-by: sciwhiz12 <arnoldnunag12@gmail.com>
Co-authored-by: coehlrich <coehlrich@users.noreply.github.com>
2022-12-08 01:45:22 -06:00
Nexus-Dino
dce9115609 Add missing semi-colon near the Dist import statement in example mod. 2022-11-08 12:16:49 -08:00
Nexus-Dino
f66aa6f727 Fix ClientModEvents example not subscribing to client-sided events (#9097) 2022-10-21 13:22:57 -07:00
cpw
800cd6407e displayTest option in mods.toml (#8656)
* displayTest option in mods.toml
* "MATCH_VERSION" (or none) is existing match version string behaviour
* "IGNORE_SERVER_VERSION" accepts anything and sends special SERVERONLY string
* "IGNORE_ALL_VERSION" accepts anything and sends an empty string
* "NONE" allows the mod to supply their own displaytest using the IExtensionPoint mechanism.


* Update display test with feedback and added the mods.toml discussion in mdk.
2022-06-09 16:39:00 -04:00
SizableShrimp
8a16ae06c9 Update MDK for 1.19 changes (#8675) 2022-06-09 11:37:52 -07:00
SizableShrimp
54dd4e8da5 Forge 1.19
* Bump pack.mcmeta formats
* 1.19 biome modifiers
* Mark ClientPlayerNetworkEvent.LoggedOutEvent's getters as nullable
* Add docs and package-info to client extension interfaces package
* Move RenderBlockOverlayEvent hooks to ForgeHooksClient
* Add package-infos to client events package
* Rename SoundLoadEvent to SoundEngineLoadEvent

This reduces confusion from consumers which may think the
name SoundLoadEvent refers to an individual sound being loaded rather
than the sound engine.
* Document and change SoundLoadEvent to fire on mod bus

Previously, it fired on both the mod bus and the Forge bus, which is
confusing for consumers.
* Delete SoundSetupEvent

Looking at its original implementation shows that there isn't an
appropriate place in the new sound code to reinsert the event, and the
place of 'sound engine/manager initialization event' is taken already by SoundLoadEvent.
* Perform some cleanup on client events

 - Removed nullable annotations from ClientPlayerNetworkEvent
 - Renamed #getPartialTicks methods to #getPartialTick, to be consistent
  with vanilla's naming of the partial tick
 - Cleanup documentation to remove line breaks, use the
  spelling 'cancelled' over
  'canceled', and improve docs on existing and
   new methods.
* Remove EntityEvent.CanUpdate

Closes MinecraftForge/MinecraftForge#6394
* Switch to Jetbrains nullability annotations
* New PlayLevelSoundEvent; replaces old PlaySoundAtEntityEvent
* Remove ForgeWorldPresetScreens
* Remove IForgeRegistryEntry
* Remove use of List<Throwable> in FML's CompletableFutures
* Add docs to mod loading stages, stages, and phases
* Gradle 7.4.2
* Use SLF4J in FMLLoader and other subprojects
* Switch dynamic versions in subprojects to pinned ones
* Switch ForgeRoot and MDK to FG plugin markers
* Configure Forge javadoc task

The task now uses a custom stylesheet with MCForge elements, and
configured to combine the generation from the four FML subprojects
(fmlloader, fmlcore, javafmllanguage, mclanguage) and the Forge project
into the javadoc output.
* Update docs/md files, for 1.19 update and the move away from IRC to Discord.
* Make "Potentially dangerous alternative prefix" a debug warning, not info.

Co-authored-by: Curle <curle@gemwire.uk>
Co-authored-by: sciwhiz12 <arnoldnunag12@gmail.com>
Signed-off-by: SizableShrimp <sizableshrimp@sizableshrimp.me>
2022-06-07 15:31:26 -05:00
sciwhiz12
9a3c0ec02d Add pack-type-specific format versions in pack metadata. Fixes #8563 (#8612) 2022-05-31 10:36:44 -07:00
Paint_Ninja
c1b7b55c9e Use UTF-8 charset for Java compilation (#8486) 2022-03-06 14:53:15 +00:00
SizableShrimp
03379dea27 Update to 1.18.2
Co-authored-by: sciwhiz12 <arnoldnunag12@gmail.com>
Co-authored-by: Marc Hermans <marc.hermans@ldtteam.com>
Co-authored-by: LexManos <LexManos@gmail.com>
Co-authored-by: Curle <curle@gemwire.uk>
Signed-off-by: SizableShrimp <sizableshrimp@sizableshrimp.me>
2022-03-01 14:16:46 -08:00
sciwhiz12
7f65352e09 1.18.x Omnibus (#8239) 2022-03-01 18:59:37 +00:00
SizableShrimp
17b8c58404 [1.18] Integrate the gametest framework with Forge (#8225)
Signed-off-by: SizableShrimp <sizableshrimp@sizableshrimp.me>
2022-02-25 01:06:32 +00:00
LexManos
bd43048828 Fix dedicated server install. Closes #8226
Fix example mod
Fix obf issue with records. Closes #8228
Fix dependencies beingg out of sync from vanilla. Closes #8227
Disable mixin due to module incompatibility.
2021-11-30 16:22:58 -08:00
Curle
159afdac3f Initial port to 1.18
Co-authored-by: David Quintana <gigaherz@gmail.com>
Co-authored-by: SizableShrimp <sizableshrimp@sizableshrimp.me>
2021-11-30 17:42:18 +00:00
Cyborgmas
77eeae0066 Minor resource pack related fixes (#7884) 2021-08-23 10:52:17 -07:00
SizableShrimp
43918e3496 Update to 1.17
Update to Official classnames
Patchwork
Make the game compile and run
Merge in the new HUD overlay API
Merge in the new render properties API
PEEL
Use Gradle 7.2 snapshot to fix eclipse integration bug in 7.1, Would use 7.0 but FG needs 7.1 for some reason.
New FML installer
Update to 1.17.1

Co-authored-by: LexManos <lexmanos@gmail.com>
Co-authored-by: SizableShrimp <sizableshrimp@sizableshrimp.me>
Co-authored-by: cpw <cpw+github@weeksfamily.ca>
Co-authored-by: Curle <curle@gemwire.uk>
Co-authored-by: Unnoen <Unnoen@users.noreply.github.com>
Co-authored-by: covers1624 <laughlan.cov@internode.on.net>
Co-authored-by: DaemonUmbra <daemon.umbra@gmail.com>
Co-authored-by: gigaherz <gigaherz@gmail.com>
Signed-off-by: SizableShrimp <sizableshrimp@sizableshrimp.me>
2021-07-22 19:57:02 +01:00
SizableShrimp
25bec28365 ForgeGradle 5.1 and Gradle 7, which allows development on J16. Runtime still targets J8. (#7877) 2021-07-21 14:21:09 -07:00
AterAnimAvis
2ebe71dd9c Update for Forge's new maven (#7723) 2021-04-22 22:28:18 -07:00
LexManos
2228a32446 Use JGit instead of GrGit now that jcenter is going away.
Update missed mapped name in MDK.
2021-03-15 12:18:51 -07:00
LexManos
c8bca2c697 Regenerate patches with relative headers. This should lower conflicts in future PRs.
Convert Forge to use Official mappings.
Mojang released their obfuscation mappings but we have not used them up until now due to wanting to get their license to be more explicitly permissive.
It is clear that their intent is to allow us to use their names for developing mods like this.
See the full wording, and our interpretation here: https://github.com/MinecraftForge/MCPConfig/blob/master/Mojang.md
2021-03-09 14:21:48 -08:00
LexManos
7d7d9f3617 Update to FG4, and Gradle 6.8. 2021-03-09 13:27:46 -08:00
FledgeShiu
e14a0a16d9 Reduce default logging markers in the MDK. Modders can re-enable these for better debugging. (#7432)
Modders PLEASE read your damn log, and fix the errors we point out. Spamming modpacks with stack traces is just lazy programming.
2021-02-15 16:39:02 -08:00
LexManos
82bbd361bb Quiet down errors related to modders not changing their update urls from the default. 2020-12-26 11:39:14 -08:00
cpw
60f678cc08 Update event bus version (should be 3.0.5)
Tweak MDK to automatically populate recommended values for things like forge version, loader version and minecraft version.

Signed-off-by: cpw <cpw+github@weeksfamily.ca>
2020-11-06 21:11:26 -05:00
Flanks255
e686486665 Additions to the mdk build.gradle to accommodate datagens. (#7398) 2020-10-08 14:03:41 -07:00
LexManos
5dd948508a 1.16.3 Update
Also included a bunch of warning cleanups.
2020-09-10 12:01:45 -07:00
Yunus
0e2a3a6b14 Updated MDK and README for 1.16.2 (#7243) 2020-08-13 12:22:58 -07:00
cpw
d03fbe5331 Update MDK license to default to All rights reserved, and offer a link to chooseyourlicense.com as a place to research appropriate licenses.
Note: the license field _is_ backwards compatible and will simply be ignored on older forge versions.
Signed-off-by: cpw <cpw+github@weeksfamily.ca>
2020-07-27 21:06:48 -04:00
cpw
2c41698b3d Update coremods and spi, include mandatory license field in metadata. Added at top level of mods.toml file.
Signed-off-by: cpw <cpw+github@weeksfamily.ca>
2020-07-27 20:21:39 -04:00
LexManos
6e2d55542f Re-write checkATs function and automate making Items/Blocks public. 2020-06-29 19:33:34 -07:00
Yunus
f949b368b8 Updated MDK mods.toml versions (#6808) 2020-06-25 18:42:28 -07:00
LexManos
f7f7dab1dd Add --flat argument to data generators to not create data in mod specific directores.
Useful For Forge's test mods mainly.
Standardized data gen cache file's folder separators.
Added ItemModelProvider to BlockStateProvider for cleaner datagen code.
Added .gitattributes to fix datagen json's line endings correct on windows.
2020-06-03 16:57:07 -07:00
Unnoen
eaeed364ba Update version and support data on README. (#6429) 2020-02-14 12:02:00 -08:00
LexManos
27b368124d 1.15.2 Initial Update 2020-01-22 13:44:03 -08:00
tterrag
80d2e0ff5c Update to 1.15.1 2019-12-17 14:37:34 -05:00
LexManos
81766ad180 Fix Entity.getPersistentData function name. Closes #6131
Bump spec version for first 1.14.4 RB.
2019-09-12 09:12:30 -07:00
Thomas Aunvik
c8076eaf04 Updated Example Version Range for 1.14.4 (#5950)
* Updated Example Version Range for 1.14.4

* Also changed loader version and version range
2019-07-20 12:06:06 -04:00
LexManos
32b7e456d7 Fixed EntityJoinWorldEvent not being fired when player is added to ServerWorld. #5827
Fixed wrong example path for the access transformer in the MDK build.gradle. #5891
Added getters for mouse x/y velocity and if the middle-mouse button is being held down. #5776
Modify issue template for better clarity. #5874
Fixed grindstone not using ItemStack-sensitive getMaxDamage. #5831
Added ParticleManager.registerFactory to Forge's AT. #5896
Fixed NPE in SidedInvWrapper when side was null. #5787
Moved EndermanEntity.setAttackTarget super call to allow LivingSetAttackTargetEvent the ability to override default behavior. #5778
Added field to make "Looking at" debug info maximum distance configurable #5714
2019-07-08 18:42:12 -07:00
LexManos
35aab8b17a Split userdev data entry point into it's own provider to fix duplicate mod issue. 2019-06-25 18:03:51 -07:00
marcus8448
b02f3209df Update Example Mod (#5781) 2019-06-12 16:49:20 -07:00