Commit graph

105 commits

Author SHA1 Message Date
apple502j
215bbe96c2 Fix inconsistency of placed feature locations (#3369)
* Fix inconsistency of placed feature locations

`BiomeSource#getBiomes` mixin applies to all biome sources, including one for Overworld.
The return value is a set; however one caller in the worldgen code iterates over it: `PlacedFeatureIndexer`.
Using a hash set here randomizes the return value, affecting feature placement.
Use a linked hash set instead.

* Improve fix to only make changes when required.

---------

Co-authored-by: modmuss50 <modmuss50@gmail.com>
(cherry picked from commit 661cc8c6dc)
2023-10-08 13:14:49 +01:00
modmuss
d7b148e0ec Make some experimental APIs stable. (#3354)
* Make some experimental APIs stable.

* Imports.

(cherry picked from commit e3d2bf3f57)
2023-10-08 13:04:49 +01:00
apple502j
0737cd807b Biome API: javadoc fixes (#3348)
(cherry picked from commit d9a2869ba3)
2023-10-01 12:40:16 +01:00
modmuss
b3afc78b68
Setup unit tests & format gradle files. (#3073) 2023-05-30 13:07:11 +01:00
TelepathicGrunt
348a9c6486
Fixed end biome source injection (#2940) 2023-03-15 09:13:42 +00:00
modmuss50
fe9afa9d57 Fix build 2023-02-27 18:17:54 +00:00
modmuss50
9003cbe9c4 1.19.4-pre2
Just mapping updates
2023-02-27 16:56:40 +00:00
modmuss50
5da15ca1b9 1.19.4-pre1 2023-02-22 19:56:50 +00:00
Shnupbups
63b515f4db
BlockSetTypeRegistry and WoodTypeRegistry (#2916)
* BlockSetTypeRegistry and WoodTypeRegistry

Adds `BlockSetTypeRegistry` for creating `BlockSetType`s using Identifiers.
Also adds `WoodTypeRegistry` to replace `SignTypeRegistry`, matching the new more accurate Yarn name. The old `SignTypeRegistry` remains as deprecated for compatibility.

Also updates Yarn build.

* Delete SignTypeRegistry.java

Broke in the update anyway, no use keeping it

* Suggestions

* Whoops

* Suggestions
2023-02-22 12:54:42 +00:00
modmuss50
e45f7c6532 23w07a 2023-02-15 19:54:58 +00:00
modmuss50
a1ccd7bfed 23w04a 2023-01-24 16:59:43 +00:00
modmuss50
b69ba7fabe
23w03a (#2854)
* First look at 223w03a

* Fix login

* Support onboarding screen in client tests

* Fix AFTER_ENTITY_CHANGE_WORLD event

* Bump version
2023-01-18 21:21:41 +00:00
apple502j
b5d379b004
Biome modification API small enhancements (#2789)
* Allow OptionalInt in BiomeModificationContext

For some reason, vanilla uses `Optional<Integer>` instead of
the preferred `OptionalInt`. Add an override that allows passing
`OptionalInt`. For consistency with vanilla, the old method is NOT
deprecated.

* Do not rely on Identifier identity when checking registration

`Identifier` is a value-based class and should never be compared
using `==`. Luckily, this does not cause bugs right now.
(Using `equals` is worse, since it'll prevent spawning pigs.)
Instead use the proper method of checking if an entry is registered.

* Fix #2079
2023-01-02 13:05:35 +00:00
apple502j
f1e4495b13
Javadoc and typo fixes (#2782) 2022-12-23 15:20:04 +00:00
modmuss50
689f5e71bc 1.19.3-pre3 2022-11-29 15:59:16 +00:00
modmuss50
65e415cb4c
Add some useful helper methods to FabricDynamicRegistryProvider.Entries (#2692)
* Add some useful helper methods to FabricDynamicRegistryProvider.Entries

* Update fabric-data-generation-api-v1/src/main/java/net/fabricmc/fabric/api/datagen/v1/provider/FabricDynamicRegistryProvider.java

Co-authored-by: Juuz <6596629+Juuxel@users.noreply.github.com>

Co-authored-by: Juuz <6596629+Juuxel@users.noreply.github.com>
2022-11-26 19:58:25 +00:00
modmuss50
ceb5661e2d
Add DataGeneratorEntrypoint.buildRegistry (#2681) 2022-11-24 15:05:09 +00:00
Juuz
48349a3f5f Generate package-info files for all impl and mixin packages (#2615)
* Generate package-info files for all impl and mixin packages

* Add javadoc to generated package-infos, use multiline string

* Simplify code

* Remove manual ApiStatus.Internal on impl classes

* Update CONTRIBUTING.md to remove ApiStatus.Internal for impl classes

* Fix Gradle deprecations

* Fix more Gradle deprecations

* Add task metadata

* Support client-main split

* Remove workaround for client packages

* Try to fix Gradle 8 deprecations

* Try to fix Gradle 8 deprecations, part 2

I'm hoping that using the SourceDirectorySet instead of converting it to a
Set<File> (which is pointless?) will carry the build dependencies over.

* Add clean packageInfo task

Co-authored-by: modmuss50 <modmuss50@gmail.com>

(cherry picked from commit 0d0f21023d)
2022-11-22 16:35:52 +00:00
modmuss50
2894d6df22 1.19.3-pre1 2022-11-22 16:28:48 +00:00
modmuss50
49abcf7e64 Update mappings 2022-11-16 16:12:51 +00:00
apple502j
0d6838e783
Rename FabricWorldgenProvider to FabricDynamicRegistryProvider (#2638)
* Rename FabricWorldgenProvider

* Fix merge
2022-11-13 14:46:17 +00:00
apple502j
ce46c4cf92
Biome API: modify Nether biomes a bit earlier (#2650)
* Biome API: modify Nether biomes a bit earlier

* Add comment
2022-11-13 14:45:56 +00:00
modmuss50
f84bf2d968
22w45a (#2647) 2022-11-10 16:07:38 +00:00
modmuss50
f75bcd18f3
22w44a (#2632)
Co-authored-by: Sebastian Hartte <shartte@users.noreply.github.com>
2022-11-03 13:48:27 +00:00
modmuss50
65727739fb Rename FabricDataGenerator.create to createPack 2022-10-28 20:13:56 +01:00
modmuss50
11ba9c3b22
22w43a (#2610)
Co-authored-by: Technici4n <13494793+Technici4n@users.noreply.github.com>
2022-10-26 20:48:38 +01:00
modmuss50
75e98211bd
22w42a 🐫 (#2599)
Co-authored-by: shartte <shartte@users.noreply.github.com>
Co-authored-by: Juuz <6596629+Juuxel@users.noreply.github.com>
2022-10-22 20:38:33 +01:00
modmuss50
c6af733cfb
Cleanup incorrect mixin shadow annotations/access 2022-09-25 14:46:29 +01:00
apple502j
93d8cb82e8
Fix many javadoc issues (#2526)
Co-authored-by: Juuz <6596629+Juuxel@users.noreply.github.com>
2022-09-25 14:45:12 +01:00
modmuss50
aeb40ebeab
Rename and validate Mixin class names. (#2450)
And update loom.
2022-08-15 18:59:19 +01:00
apple502j
83a865928d
Make static-only classes final and unconstructible (#2421)
The following classes have been made final and unconstructible:

- All convention tags classes
- `FluidVariantAttributes`
- `FluidVariantRendering`

The following classes have been made unconstructible:

- `BiomeModifications`
- `ClientEntityEvents`
- `ClientTickEvents`
- `LootTableEvents`
- `FabricDefaultAttributeRegistry`
- `MinecartComparatorLogicRegistry`
- `StorageUtil`

The following classes have been explicitly marked as final. Note that actually extending such class has always been impossible due to missing public constructor:

- `VillagerInteractionRegistries`
- `VillagerPlantableRegistry`
- `ModelHelper`
- `StoragePreconditions`

While the first two are technically breaking changes, there is no actual or observed usage for any of those.
2022-08-06 19:04:11 +01:00
modmuss50
d5533c01e6 1.19.1-pre2 2022-06-30 18:19:22 +01:00
apple502j
b2a4a6244a
Fix Biome API bugs (#2282)
* Fix loading data pack biomes

* Add command to help test.

* Fix custom end biomes crash
closes #2292

* add plains biome to the end

* remove unnecessary field prefix

* End biomes now generate properly

* Remove test logging

* Remove test command (was barely functional)

* Fix checkstyle

* Some small refactors

* Save the sampler directly on MultiNoiseSampler instance (#1)

Co-authored-by: modmuss50 <modmuss50@gmail.com>
Co-authored-by: deirn <deirn@bai.lol>
2022-06-13 20:08:44 +01:00
modmuss50
e62f51a37f 1.19-rc1
Only mapping updates.
2022-06-02 15:41:09 +01:00
apple502j
14b3ae007b
Load mod-provided data packs and DRM entries (#2261)
* Load mod-provided data packs and DRM entries in CreateWorldScreen

Fixes #2225

* Fix ModifyArg target

* Fix injection failure

* Fix again

* checkstyle

* Fix it once again

* Add data pack load test to biome api testmod

* Also fix this for the dedicated server

* Fix TestServer not loading data packs

* Load dynamic registry in TestServer
2022-05-31 12:11:41 +01:00
modmuss50
9ff28f4026
Split client only code into its own sourceset. (#2179)
A common source of crashes on modded Minecraft servers comes from modders accidently calling client only code from the client, this PR is another large step towards elimitating that.

This PR has been months in the making and years in the planning, requiring major changes to Loom & Loader. In recent Minecraft versions Mojang has made it easier than ever to cleanly split the jar, going against the status-quo of merging the client and server into one jar.

From the start we have designed Fabric to have a very clear split between client and common (client & server) code. Fabric has always encoraged keeping client only code seprate from the server, this can be seen at a fundamental level with the entrypoints in Loader. Fabric API's have all been designed with this mind.

This PR provides a compile safety net around Fabric API using client only code on the server. Even though there are almost 400 changed files, minimal changes beyond moving the files were required to achieve this in Fabric API, thanks to the effort of all contributors in the past.

These changes should not affect modders or players in anyway, a single "universal" jar is still produced. Im happy to awnswer any questions.
2022-05-21 16:26:46 +01:00
modmuss50
23acfcd6a1 Update mappings. 2022-05-20 18:56:00 +01:00
modmuss50
55043e695a 1.19-pre1 2022-05-18 19:16:52 +01:00
modmuss50
56447d9b95 22w17a 2022-04-27 20:48:57 +01:00
modmuss50
8eae451042 22w15a 2022-04-13 19:03:57 +01:00
modmuss50
0c7c3953f9 Merge remote-tracking branch 'origin/1.18.2' into 1.19 2022-04-10 17:20:49 +01:00
Algeseven
7b0f312611
Make @see refer to the right class (#2085) 2022-04-10 16:27:32 +01:00
modmuss50
09a7afff2f 22w13a 2022-03-31 18:38:32 +01:00
modmuss50
a67d2aa505 22w12a 2022-03-24 20:18:23 +00:00
Player
c8c49daef7 Update mappings 2022-03-23 01:15:45 +01:00
Player
7463d67c85 22w11a 2022-03-18 00:33:37 +01:00
modmuss50
801ec85b51 Fix checkstyle issues missed after merging. 2022-03-03 18:36:57 +00:00
modmuss50
2873dd5713 1.18.2-pre2 2022-02-21 16:22:21 +00:00
modmuss50
58afd26713
1.18.2-pre1 Biome API (#2010)
* Fix BiomeSelectors.tag

* Update fabric-biome-api-v1/src/main/java/net/fabricmc/fabric/api/biome/v1/BiomeSelectionContext.java

Co-authored-by: Juuxel <6596629+Juuxel@users.noreply.github.com>

* Checkstyle

* Port Biome API

Co-authored-by: Juuxel <6596629+Juuxel@users.noreply.github.com>
2022-02-21 11:58:35 +00:00
modmuss50
5a05a77ac9 22w07a 2022-02-16 19:24:00 +00:00