Commit graph

40 commits

Author SHA1 Message Date
apple502j
6fc22b9905
Improve 24w21b port (#3801)
* Delete `FabricDimensions`

This broke during the 1.21 cycle and can be easily replaced with `Entity#teleportTo`.

* Rename testmod data directories

* [Breaking] use singular path in GameTest

* Fix attribute modifier in testmod

* Small mixin refactors related to teleportTo

* Fix behavior change in ModNioResourcePack for invalid paths

* Fix javadocs referencing Identifier ctor

* Add new FabricCodecDataProvider ctor

* Move empty structure

* Fix transfer api testmod

* pro tip: don't write datagen output by hand

* Refactor networking API to remove redundant code

* Stop calling CustomDamageHandler in creative mode
2024-05-29 15:31:48 +01:00
modmuss
f4b7e42468
Update to loom 1.3 and use Mod Publish Plugin (#3158)
* Update to loom 1.3

* Fix more 1.3 deprecations

* Opps

* Move to mod publish plugin

* Revert some changes

* Fix some more Gradle deprecations

* Fix names

* Remove extra stuff

* Cleanup
2023-08-02 18:51:21 +01:00
modmuss
b3afc78b68
Setup unit tests & format gradle files. (#3073) 2023-05-30 13:07:11 +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
Player
f71b366fb1
Update command registration API to reflect 1.19 vanilla changes (#2227)
* Update command registration API to reflect vanilla changes

* Allow module versions in impl+mixin packages

* Use v2 module, keeping v1 for server commands at least

* update, address review

Co-authored-by: modmuss50 <modmuss50@gmail.com>
2022-05-20 18:39:10 +01:00
modmuss50
b4f4f6cda4 Update Loom and Loader. Cleanup/improve buildscript. 2021-11-12 15:02:54 +00:00
modmuss50
65d505fc8a Bump versions
All of the version need to be bumped due to fabric-api-base being updated, this highlights the need for a better solution.
2021-11-05 17:09:48 +00:00
modmuss50
168f4a3be2 Bump version 2021-10-31 11:13:10 +00:00
modmuss50
0b944752fc 21w43a 2021-10-27 20:48:33 +01:00
modmuss50
d1937ce458 21w40a 2021-10-07 16:10:04 +01:00
modmuss50
8f2c3e04fb Bump version 2021-09-21 11:41:06 +01:00
modmuss50
6cefd57746 1.17.1-rc2 2021-07-05 18:44:49 +01:00
modmuss50
a02b4463f9 21w19a 2021-05-12 20:23:04 +01:00
modmuss50
f08a69e19f 21w18a 2021-05-05 19:53:16 +01:00
modmuss50
413ddf6456 21w14a - Mappings update 2021-04-07 18:46:09 +01:00
modmuss50
23b3c92ea9 21w13a 2021-03-31 20:52:51 +01:00
modmuss50
03bff30f22 21w11a 2021-03-17 19:14:28 +00:00
modmuss50
524a2e859c Bump Version 2021-02-14 18:03:24 +00:00
modmuss50
2992645b97 21w06a 2021-02-10 18:58:49 +00:00
modmuss50
1eb2670e8a 21w05a 2021-02-03 19:53:20 +00:00
modmuss50
92519afafe Version bump 2021-01-19 19:38:22 +00:00
modmuss50
e1f1abb1c0 20w49a 2020-12-02 19:02:44 +00:00
modmuss50
b49af6f4d8 Bump version 2020-11-28 23:37:40 +00:00
modmuss50
880269e646 Bump version 2020-11-28 20:34:56 +00:00
Waterpicker
bbf4c01986 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:50:27 +00:00
Thalia Nero
9f7a7423f3 Add module dependencies to maven POM (#1104) 2020-11-15 19:46:01 +00:00
modmuss50
a71b3053ad
Rework Dimensions for 1.16 (#627)
* dim api initial port

* A whole bunch of work

* Checkstyle :)

* Minor tweaks based on feedback

* Update to latest snapshot

* Checkstyle ;)

* Some more dim work

* Re add default placer's, the example mod includes a test dim that currently marks the world as experimental

* license

* Fixup javadoc
2020-06-11 11:38:38 +01:00
modmuss50
6d41837a96 20w20a 2020-05-13 18:42:14 +01:00
modmuss50
686e6e57ad 20w18a 2020-04-29 17:49:19 +01:00
modmuss50
2fd224ca63 20w17a 2020-04-22 17:59:17 +01:00
modmuss50
a2a96bf9a5 20w15a 2020-04-08 16:03:19 +01:00
modmuss50
12a8474c3a Bump versions 2020-04-05 15:12:25 +01:00
modmuss50
d249f7b6d6 20w12a 2020-03-18 20:05:01 +00:00
Juuxel
b1726571e4 Fix day/night-cycle enabling in World.isDay and World.isNight being
hardcoded for Overworld, use Dimension.hasVisibleSky instead.

- World.isDay() and World.isNight() are now un-hardcoded.
  Instead of checking for the overworld, they check for a visible sky
  like clocks. The check is false for the nether and the end,
  so vanilla behaviour stays the same.
2020-03-05 13:55:54 +01:00
modmuss50
9421522d5a 20w06a 2020-02-05 18:05:59 +00:00
modmuss50
203491ea23 1.15.2-pre1 2020-01-14 20:50:51 +00:00
modmuss50
06c939b35c 1.15-pre3 - just mapping changes 2019-11-28 19:40:14 +00:00
Player
b7f9825dbb Add checkstyle verification for package names, fix non-API packages. 2019-11-03 20:14:45 +01:00
modmuss50
ccd269cfad 19w41a 2019-10-09 19:05:13 +01:00
grondag
96946203be
Bring dimension API to 1.15 branch (#373)
* Update versioning to match 1.15 branch

* Fix builtin mods being added as resource packs

* Update fabric-loader to replace deprecated methods

* Add more metadata to the modules (#353)

* Add fabric-api-base as a dep to fabric-networking-v0

* Allow for running fabric-api-base on the server-side environment (#360)

* Set curse version to 1.14.4
Also forces it to build again

* Fix NPE in fluid renderer mixin (#361)

* Fix NPE in fluid renderer mixin
* Ensure state, view, and pos are never null
* Bump fabric-rendering-fluids-v1 version

* Cooler dimension API, #309 (#319)

* pyro API

* Update fabric-dimensions-v1/src/main/java/net/fabricmc/fabric/api/dimension/EntityPlacer.java

clarify portalDir param

Co-Authored-By: Pyrofab <redstoneinfire@gmail.com>

* Update fabric-dimensions-v1/src/main/java/net/fabricmc/fabric/api/dimension/EntityPlacer.java

rename & clarify verticalOffset param

Co-Authored-By: Pyrofab <redstoneinfire@gmail.com>

* Update fabric-dimensions-v1/src/main/java/net/fabricmc/fabric/api/dimension/FabricDimensions.java

Co-Authored-By: Pyrofab <redstoneinfire@gmail.com>

* Update fabric-dimensions-v1/src/main/java/net/fabricmc/fabric/api/dimension/EntityPlacer.java

Co-Authored-By: Pyrofab <redstoneinfire@gmail.com>

* update parameter

* Add fabric-networking and fabric-registry-sync to dependencies

* Refactor FabricDimensionType to use a builder

Also adds a desiredRawId field separate from the actual raw
id fixed internally. The fixedRawId field is now set by
DimensionIdsFixer through reflection.
This change addresses concerns about the ability for any mod
to set a FabricDimensionType's raw id at any time.

* Improve javadoc of FabricDimensions#teleport

* Add an overload for FabricDimensions#teleport

* Update javadoc on DimensionIdsFixer

* Inline clientside packet handling

* Add side assertions to FabricDimensions#teleport

* Nuke minecraft's attempts to overwrite bad level properties

* Add license headers

* Reformat dimension API source code

* Update FabricDimensionType javadoc

* Remove redundant ThreadLocal from FabricDimensionInternals

* Fix crash on dedicated servers

* Fix Illegal Access during remapping

* Fix dimension remap exception propagation

* clarify EntityPlacer docs

* spacing fixes

* api.dimension -> api.dimension.v1

* Increment API patch version

Signifies inclusion of new Dimension API

* Partial fix to FabricDimensionType

* Bump dimension version

* Updates based on feedback
2019-09-22 08:32:08 -07:00