Commit graph

639 commits

Author SHA1 Message Date
i509VCB
4358fbc6b7
Networking V1: Hopefully the final fix (#1208)
THIS SHOULD WORK.
2020-12-09 18:21:45 +00:00
i509VCB
b08303c750
Networking V1: Fool me once shame on me. Fool me twice shame on me. (#1207) 2020-12-08 18:55:54 +00:00
i509VCB
33708c72c9
Fix networking v1 (#1205)
* Handle registration of global handlers as early as possible.

This may not be correct?

* Do not handle packets on game thread

* Add PLAY_READY event

* READY -> JOIN, some javadoc clarifications and impl oversight fixes

* Omit redundant PLAY and LOGIN prefixes in events

* Checkstyle go brr
2020-12-08 17:55:19 +00:00
i509VCB
3775d21f76
Fabric Networking API V1 (#1081)
* Networking api v1




Some final docs?


Licenses and testmod


Fix a bunch o imports and make things work for v1 (v0 is bork)


Make the testmod pass checkstyle and work


Docs for v1

* Deprecate v0 and implement using v1

* Drop files down one package due to package check error

* Fix issue with channel registration, add another testmod

* jaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaavadoc

* Make javadoc use `code`, move impl interface to package access

* this things

* Rename a few internal methods

* Mark all client side stuff client only, move client mixins

* Add null checks around the place, clarify some javadoc and method names

* Make FutureListeners uninstantiable

* Some internal nullable annotations

* An impl class I forgot to rename

* Some comments and clarify some client login handler javadoc

* Add a missing FunctionalInterface annotation

* Split play and login, move client stuff to right package

* No interface left behind

* Inline channel registries in api

* Login and play subpackages not needed

* Add helper method to create play custom packets

* hasGlobalChannel -> hasGlobalReceiver

* Just rename the collection method for now

* Inline PlayPacketSender into static methods

* Start on testmod idea for verifying dynamic registration

* Add client login events

* You don't say hello when talking to yourself.

Also more testmod stuff

* Make event names present tense

* Some javadoc and impl interface rename

* Change the test keybinding

* Begin working on dynamic reg

* Dynamic reg works, just need a lot of cleanup and reimpling global

* A few renames, readd global methods

* Try to reduce the amount of duplicate registration logic

* Reimplement dynamic accessors

* More impl

* Start reimplementing global receivers. Still very hacky solution.

* Reimplement some server global reciever stuff

* Add login init event for server login.

* Implement client login query start event

* Move event invocations into addon, don't dual register global recievers

* Finally reimplement global recievers for all networking phases

* A revelation: Send packets properly

This also finds the issue with screen getting the proper S2C channels, current on TODO list.

* Disconnect event does not need a packet sender

* Clarify, add methods to get channels net handler can recieve on client

* Unregister actually works now

* Bunch of null checks, add simpler login delay test for vanilla clients

* Add some debug logging entries, fix unregister on client's session reg

* Play channel event javadoc and rename login query handlers

* More channel -> channelName

* thisening

* Introduce the basics infrastructure for tracking global receivers

* Add more substantial javadoc to login connection events

* Javadoc, reimplement unreg methods on v0, 1 impl fix

* Implement tracking for global recievers

* Dont forget to start tracked sessions in 3/4 cases

* Global receiver docs and move methods in classes

* Complete null checks

* big boi javadoc part 1

* Finish the main javadoc, usage javadoc is left

* Set so has method is not needed

* Rename receiveable and sendable methods

* Add the two missing private ctors

* buildscript update to upstream

* Split out player finding stuff to networking player tracking API v1

Signed-off-by: liach <liach@users.noreply.github.com>

Forward v0 PlayerStream to new module, add entity track events

Rename module to player tracking

Well javadoc can make sense

Decide on tracking for the name

Update fabric-player-tracking-api-v1/src/main/java/net/fabricmc/fabric/api/networking/player/tracking/v1/package-info.java

Co-authored-by: Erlend Åmdal <erlend@aamdal.com>
Remove exceptions from javadoc that are not thrown

javadoc fix again

Handle a case where the player manager happens to be null

rename player tracking to player lookup

Yeet

* Cherrypick #1092

* Remove some redundant client networking methods, rename `(un)register` to `(un)registerReceiver`

* Simplify access to dynamic reg on client

* Param shifting, let users get sender.

* Warning about time and distance units

* Make sure these are client only

* Fix control flow in ClientPlayNetworking#send

* Correct example code javadoc

* javadoc correction in server login

* Put login delay tests behind system property

Also remove unnecessary junk added by old module that was merged together.

* Fix ordering so channel registrations during `PHASE`_INIT work

* Fix prod bug and an oversight

* Fix login when connecting to dedicated server

* Update registry sync to v0 to prevent issue with reg sync hanging client

* this is done
2020-12-05 19:06:42 +00:00
i509VCB
ffb68a877b
Add readme for fabric-lifecycle-events-v1 (#1119)
* Add readme for fabric-lifecycle-events-v1

* Spelling lol

* Update fabric-lifecycle-events-v1/README.md

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

* Don't document everything under the sun. Instead explain what there is

* Indicate > specify

* Consistent referral to the types of worlds.

* Update fabric-lifecycle-events-v1/README.md

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

* Update fabric-lifecycle-events-v1/README.md

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

* Grammer go brr

Co-authored-by: Juuxel <6596629+Juuxel@users.noreply.github.com>
2020-12-05 19:04:01 +00:00
modmuss50
9a6c758109 Bump version 2020-11-28 23:36:50 +00:00
modmuss50
1b5982a1ee Fix crash on prod server as remap was disabled... 2020-11-28 23:36:01 +00:00
modmuss50
e77439c75e Bump version 2020-11-28 20:32:25 +00:00
Vincent Lee
7b0dfdfd06
Add tag builder method for the new optional entries (#1173)
* Add tag builder method for the new optional entries

* Address comments

* Rename addOptional to addOptionalObject

* Flesh out doc

* Move mixin to target proper class
2020-11-28 19:47:30 +00:00
Waterpicker
3f591ea5c5
Update the Dimension API (#1172)
* Reimplement Dimension API

* Forgot to update dimension-api mixins.json

* Did suggested changes.

* Move Nullable import.

* Remove unneeded whitespace

* Added automatic testing testmod feature.

* ...Removed unused imports...

* And other stuff the auto style system complains about...

* ...

* Drop Networking

* Completed suggested changes.

* Revert "Completed suggested changes."

This reverts commit 97740e6134.

* Did requested changes.

* Forgot colon

* Turn plural to singular

Co-authored-by: i509VCB <git@i509.me>
2020-11-28 19:47:10 +00:00
Technici4n
39266da312
Cache the fuel time map in the fuel registry (#1108)
* Cache the fuel time map in the fuel registry

* Use a faster map for the fuel times

* Rebuild the fuel times map on the client side too

* Use more compatible mixins

* Replace a function overwrite by a TAIL inject

* Mixin formatting

* Indentation

* Make cache thread-safe, switch to boxed collection (IHM) since most
uses yield boxed results, refactor cache clearing

* fix import formatting

Co-authored-by: Player <player@player.to>
2020-11-28 19:46:56 +00:00
modmuss50
2857667513 Bump version 2020-11-24 19:54:33 +00:00
modmuss50
38c296de71
Assign a new ID to client only registry entries when syncing. (#1179)
* Assign a new ID to client only registry entries when syncing.

Fixes #1165

* Cleanup + review comments
2020-11-24 19:51:28 +00:00
modmuss50
f1d8af0667 Bump version 2020-11-23 20:24:44 +00:00
modmuss50
55442f3ace
Fix MC-149777 - java.util.ConcurrentModificationException when using Java 11 or above (#1176)
* Fix MC-149777

* Fix license
2020-11-23 19:32:55 +00:00
i509VCB
23017ec78b
Drop use of remote buildscripts (#1175) 2020-11-23 19:32:45 +00:00
i509VCB
ab87788dbc
Add command to audit mixin environment in game (#1174)
* Add command to audit mixin environment in game

* Throw assertion error instead and add success message

Assertion errors will bypass the command exceptions being eaten.
2020-11-23 19:32:33 +00:00
modmuss50
6d328b5e45 Bump version 2020-11-21 18:53:05 +00:00
modmuss50
0f03523de5
Fix MC-202036 - Shifting biome IDs (#1168)
* First pass on PersistentDynamicRegistryHandler, not tested

* Extra debugging + fix it not working

* Fix build

* Minor tweaks

* checkstyle ;)

* Improve comments + fix issues with tag reading/writing

* Simplify mixin
2020-11-21 18:32:20 +00:00
modmuss50
2e23b97ce0 Bump version 2020-11-15 19:58:17 +00:00
RedstoneParadox
18f3e47f61
End Biomes Api [1.16] Take Two (#1164)
* Create EndBiomes.java

* Revert "Create EndBiomes.java"

This reverts commit 4d1736fad9.

* Revert "Revert "Create EndBiomes.java""

This reverts commit 673c508d82.

* Rename ContinentalBiomeEntry to WeightedBiomeEntry

* Complete API for adding biomes to the end

* Mixin to end biome source

* Revert "Rename ContinentalBiomeEntry to WeightedBiomeEntry"

This reverts commit 849197e15d18c26af2a6f2aa1766b7d73d9a7144.

* Revert "Revert "Rename ContinentalBiomeEntry to WeightedBiomeEntry""

This reverts commit c2aa4ab097eb3daed71e82d4e77142671ed04316.

* Create SimpleLayerRandomnessSource for use with end biome source mixin

* Renamed MAIN region to MAIN_ISLANDS

* Create test mod

* Added pickFromNoise method to WeightedBiomePicker

* Javadoc and licensing info

* Comply with checkstyle

* Internalize EndRegion

* Added stretching when getting the biome for the end

* Rename EndBiomes to TheEndBiomes to be consistent with yarn mappings

* Fix typo

Courtesy of i509VBC

Co-authored-by: i509VCB <i509vcb@gmail.com>

* Add @Unique to private fields in MixinTheEndBiomeSource

* Made end test biome consistent in style with previous test

Courtesy of i509VBC

Co-authored-by: i509VCB <i509vcb@gmail.com>

* Fix imports

* Didn't know test mods needed to follow the checkstyle

* SimpleLayerRandomnessSource's random is now use to instantiate its noise sampler

* A very important note

* Update javadoc for adding biomes to the Main Island region

* Remove method that is leftover from when EndRegion was part of the API

* Ported 1.16.1 biomes-api-v1 to 1.16.2.
Public API changes:
- Removed flagging biomes as suitable for player spawns since that is now handled in the Biome Builder.
- Changed API over to RegistryKey's, not because it's necessary, but because it is more ergonomic since Vanilla Biomes in BuiltInBiomes are now all exposed as keys, rather than instances.

* Increase memory size to fix build failures.

* Add the ability to add modded dimensions to the regions of the end.

* Hopefully fixed everything that went wrong during the rebase

* Update fabric-biome-api-v1.mixins.json

* Finally got custom end biomes to generate

* Thanks for nothing, GitHub Desktop

* Bad GitHub Desktop

* Bad newline no cookie

* Got everything to follow the checkstyle

* Bring branch up-to-date with main repo (#11)

* Revert "Bring branch up-to-date with main repo (#11)"

This reverts commit dc47106241.

* Remove some stuff that's not supposed to be there

* Fix git silliness

* Update FabricBiomeTest.java

* TheEndBiomes is now Deprecated to match OverworldBiomes and NetherBiomes

* Update some checkNotNull messages

* Change the noise scale when replacing end biomes

* Bad space no cookie

* Remove unnecessary code

* Remove unused imports

* Set up InternalBiomeData to treat End Midlands and End Barrens as border biomes

* Changed the API to reflect midlands and barrens biomes being considered border biomes

* Start work on getting the new system fully working

* Finally got everything working and cleaned up the Javadoc

* Fixed checkstyle violations

* Fix checkstyle violations again

* Drop fabric_ prefix

* Calling SimpleLayerRandomnessSource#nextInt() now throws an exception

* If the midlands or barrens biome picker is null, the replacement key defaults to the vanilla one

* Fix usage of vanilla identifier

* Update MixinTheEndBiomeSource.java

* Fix checkstyle violations

Co-authored-by: i509VCB <i509vcb@gmail.com>
Co-authored-by: Sebastian Hartte <sebastian@hartte.de>
2020-11-15 19:21:24 +00:00
Thalia Nero
6a2618f55c
Add module dependencies to maven POM (#1104) 2020-11-15 19:15:35 +00:00
shedaniel
f21864f86d
fabric-rendering-v1: Custom Armor Model & Texture (#963)
* Moving testmod id to rendering-v1

Signed-off-by: shedaniel <daniel@shedaniel.me>

Moving testmod to rendering-v1

Signed-off-by: shedaniel <daniel@shedaniel.me>

Reviews

Signed-off-by: shedaniel <daniel@shedaniel.me>

prefix the extensions with armor

Signed-off-by: shedaniel <daniel@shedaniel.me>

change name

Signed-off-by: shedaniel <daniel@shedaniel.me>

drop custom

Signed-off-by: shedaniel <daniel@shedaniel.me>

thing

Signed-off-by: shedaniel <daniel@shedaniel.me>

javadocs

Signed-off-by: shedaniel <daniel@shedaniel.me>

fix imports

Signed-off-by: shedaniel <daniel@shedaniel.me>

forgot to do asItem

Signed-off-by: shedaniel <daniel@shedaniel.me>

add null checks and convert to ItemConvertible

Signed-off-by: shedaniel <daniel@shedaniel.me>

fix license

Signed-off-by: shedaniel <daniel@shedaniel.me>

did thing

Signed-off-by: shedaniel <daniel@shedaniel.me>

it now compiles

Signed-off-by: shedaniel <daniel@shedaniel.me>

change to a registry

Signed-off-by: shedaniel <daniel@shedaniel.me>

add @Unique

Signed-off-by: shedaniel <daniel@shedaniel.me>

migrate to fabric-item-api-v1

Signed-off-by: shedaniel <daniel@shedaniel.me>

did some renaming and improvements

Signed-off-by: shedaniel <daniel@shedaniel.me>

don't need that

Signed-off-by: shedaniel <daniel@shedaniel.me>

armor

Signed-off-by: shedaniel <daniel@shedaniel.me>

* add license to CustomArmorTests

Signed-off-by: shedaniel <daniel@shedaniel.me>

* Add @Nullable annotations and fix compile

Signed-off-by: shedaniel <daniel@shedaniel.me>

* javadoc

Signed-off-by: shedaniel <daniel@shedaniel.me>

* Fix reviews

Signed-off-by: shedaniel <daniel@shedaniel.me>

* Update fabric-rendering-v1/src/main/java/net/fabricmc/fabric/mixin/client/rendering/MixinArmorFeatureRenderer.java

Co-authored-by: Erlend Åmdal <erlend@aamdal.com>

* Add registerSimpleTexture
Pass through secondLayer and suffix
Use Identifier's over strings
Fix the test mod

* license fix

Co-authored-by: Erlend Åmdal <erlend@aamdal.com>
Co-authored-by: modmuss50 <modmuss50@gmail.com>
2020-11-15 19:07:24 +00:00
modmuss50
ba858fb8b7
Spin up a dedicated server on github actions + add run tasks for test mods. (#1163)
* Add test mod run tasks, add a very basic auto test server task

* License header

* Minor cleanup

* Fix bad depends
2020-11-15 19:06:27 +00:00
modmuss50
1944f3e03b Version bump 2020-11-13 19:12:53 +00:00
modmuss50
ec7e203b38 Revert "End Biomes Api [1.16] (#830)"
This reverts commit ee897308
2020-11-13 19:07:01 +00:00
modmuss50
bc33382a44 Revert "Fix end biome test mod crashing."
This reverts commit fdae552e
2020-11-13 19:06:46 +00:00
modmuss50
fdae552e73 Fix end biome test mod crashing. 2020-11-13 18:44:36 +00:00
RedstoneParadox
ee8973087c
End Biomes Api [1.16] (#830)
* Create EndBiomes.java

* Revert "Create EndBiomes.java"

This reverts commit 4d1736fad9.

* Revert "Revert "Create EndBiomes.java""

This reverts commit 673c508d82.

* Rename ContinentalBiomeEntry to WeightedBiomeEntry

* Complete API for adding biomes to the end

* Mixin to end biome source

* Revert "Rename ContinentalBiomeEntry to WeightedBiomeEntry"

This reverts commit 849197e15d18c26af2a6f2aa1766b7d73d9a7144.

* Revert "Revert "Rename ContinentalBiomeEntry to WeightedBiomeEntry""

This reverts commit c2aa4ab097eb3daed71e82d4e77142671ed04316.

* Create SimpleLayerRandomnessSource for use with end biome source mixin

* Renamed MAIN region to MAIN_ISLANDS

* Create test mod

* Added pickFromNoise method to WeightedBiomePicker

* Javadoc and licensing info

* Comply with checkstyle

* Internalize EndRegion

* Added stretching when getting the biome for the end

* Rename EndBiomes to TheEndBiomes to be consistent with yarn mappings

* Fix typo

Courtesy of i509VBC

Co-authored-by: i509VCB <i509vcb@gmail.com>

* Add @Unique to private fields in MixinTheEndBiomeSource

* Made end test biome consistent in style with previous test

Courtesy of i509VBC

Co-authored-by: i509VCB <i509vcb@gmail.com>

* Fix imports

* Didn't know test mods needed to follow the checkstyle

* SimpleLayerRandomnessSource's random is now use to instantiate its noise sampler

* A very important note

* Update javadoc for adding biomes to the Main Island region

* Remove method that is leftover from when EndRegion was part of the API

* Ported 1.16.1 biomes-api-v1 to 1.16.2.
Public API changes:
- Removed flagging biomes as suitable for player spawns since that is now handled in the Biome Builder.
- Changed API over to RegistryKey's, not because it's necessary, but because it is more ergonomic since Vanilla Biomes in BuiltInBiomes are now all exposed as keys, rather than instances.

* Increase memory size to fix build failures.

* Add the ability to add modded dimensions to the regions of the end.

* Hopefully fixed everything that went wrong during the rebase

* Update fabric-biome-api-v1.mixins.json

* Finally got custom end biomes to generate

* Thanks for nothing, GitHub Desktop

* Bad GitHub Desktop

* Bad newline no cookie

* Got everything to follow the checkstyle

* Bring branch up-to-date with main repo (#11)

* Revert "Bring branch up-to-date with main repo (#11)"

This reverts commit dc47106241.

* Remove some stuff that's not supposed to be there

* Fix git silliness

* Update FabricBiomeTest.java

* TheEndBiomes is now Deprecated to match OverworldBiomes and NetherBiomes

* Update some checkNotNull messages

* Change the noise scale when replacing end biomes

* Bad space no cookie

* Remove unnecessary code

* Remove unused imports

* Set up InternalBiomeData to treat End Midlands and End Barrens as border biomes

* Changed the API to reflect midlands and barrens biomes being considered border biomes

* Start work on getting the new system fully working

* Finally got everything working and cleaned up the Javadoc

* Fixed checkstyle violations

* Fix checkstyle violations again

* Drop fabric_ prefix

* Calling SimpleLayerRandomnessSource#nextInt() now throws an exception

Co-authored-by: i509VCB <i509vcb@gmail.com>
Co-authored-by: Sebastian Hartte <sebastian@hartte.de>
2020-11-13 18:22:02 +00:00
LambdAurora
05f948543b
Internal refactor, remove legacy code, fix FabricMC/fabric#878. (#1134) 2020-11-13 18:21:24 +00:00
modmuss50
c2f49c1532 Set the java compiler --release arg when building on j9+.
Thanks to https://github.com/FabricMC/fabric-example-mod/pull/71 for this snippet.
2020-11-10 19:58:58 +00:00
modmuss50
c932210082 Version bump 2020-11-07 20:31:16 +00:00
Virtuoel
6f447a6e9c
Fix items with sword tool tag not instantly breaking bamboo (#1110)
* Fix items with sword tool tag not instantly breaking bamboo

* Consolidate mixins

* Add Javadoc to injection
2020-11-07 19:56:13 +00:00
modmuss50
44a0cbed56 Remove build number from github 2020-11-05 18:53:10 +00:00
modmuss50
7bdf7b1890 Fix release 2020-11-05 18:42:17 +00:00
modmuss50
2209e98bb5 Publish releases using github actions (#1124)
* Publish releases using github actions

* # Conflicts:
#	build.gradle

* Remove build number + add task to check version has not already been released
2020-11-05 18:30:03 +00:00
modmuss50
6672c51bec 1.16.4 2020-11-02 18:52:08 +00:00
modmuss50
8367596d56 Bump Version 2020-10-30 20:44:41 +00:00
shartte
f5a9be8988
Biome Modification API (#1097)
* Biome Modification API

* Improved docs on Mixins.

* Added convenience methods to select biomes by mob-spawns, and added a top-level convenience method to add new spawns.

* Checkstyle fixes.

* Replace a reference to DRM with DynamicRegistryManager

* Replaced integer order with phase-based ordering.

* Changed to @Deprecated

* Checkstyle fix

* Added category selector.
2020-10-30 20:08:54 +00:00
modmuss50
a89534abff Add back renamed lightLevel method, I believe the root cause of this issue is in tiny remapper 2020-10-28 08:44:17 +00:00
modmuss50
a4467d2a9c Bump version 2020-10-27 18:36:48 +00:00
i509VCB
74aedfbe43
Update command api to use new non-tail constructor inject (#1140)
* Update command api to use new non-tail constructor inject

This removes a redirect in fabric api and fixes the location of the command api's icon.

* Update lifecycle events for command-api-v1 testmod
2020-10-27 18:18:09 +00:00
i509VCB
25b143484c
Tweak entity type builder generics to eliminate explicit type arguments (#1094)
* Tweak entity type builder generics to eliminate explicit type arguments

* Apply different generic on the entity factory method
2020-10-26 20:57:02 +00:00
modmuss50
9580fa8f9a Update loom and loader 2020-10-23 09:15:02 +01:00
i509VCB
eacb8ba396
Update yarn mappings (#1127) 2020-10-22 18:54:44 +01:00
Ege
8f6b00f9a3
Add Turkish language (#1128) 2020-10-22 18:54:12 +01:00
modmuss50
2b462379ad Bump versions 2020-10-18 18:38:30 +01:00
shedaniel
e1e947a65f
Clean up to tool-attributes, add annotations and add test for custom … (#1073)
* Clean up to tool-attributes, add annotations and add test for custom tool types.

Signed-off-by: shedaniel <daniel@shedaniel.me>

* Change version to 1.2.3

Signed-off-by: shedaniel <daniel@shedaniel.me>

* remove unrelated change

Signed-off-by: shedaniel <daniel@shedaniel.me>

* Turn build.gradle to tabs

Signed-off-by: shedaniel <daniel@shedaniel.me>

* Fix checkstyle

Signed-off-by: shedaniel <daniel@shedaniel.me>

* Fix some review issues

Signed-off-by: shedaniel <daniel@shedaniel.me>

* Add license to package-info.java

Signed-off-by: shedaniel <daniel@shedaniel.me>

* Remove line between the javadoc and the package line

Signed-off-by: shedaniel <daniel@shedaniel.me>

* Move the @NotNull annotation

Signed-off-by: shedaniel <daniel@shedaniel.me>
2020-10-18 18:32:16 +01:00
Technici4n
16a658fec4
Fix sprite and spriteBake (#1122) 2020-10-18 18:28:31 +01:00
i509VCB
fdf52297d0
Use " consistently in main gradle buildscript and some deprecation (#1116)
This also moves use of deprecated `classifier` from AbstractArchiveTask to `archiveClassifier`

Also this moves loader to the Globals class.

This PR does not touch the individual modules since there are other PRs open which modify those.
2020-10-11 21:28:03 +01:00