Commit graph

41 commits

Author SHA1 Message Date
modmuss50
b3f2574b16 23w17a 2023-04-26 18:18:06 +01:00
qouteall
7f87f8fa9b Fix cannot load world after uninstalling dimension mod/datapack without breaking world presets. (#2856)
* Fix the issue that cannot load world after uninstalling a dimension mod/datapack, by making deserialization fail-soft, instead of removing non-vanilla dimensions.

* Fix style.

* Fix license.

* Small changes to FailSoftMapCodec.

* Make FailSoftMapCodec final.

* Revert "Make FailSoftMapCodec final."

This reverts commit 0c0642a1c4.

* Use ModifyVariable and change comments.

* Remove unnecessary `equals`

(cherry picked from commit 00a2eb1095)
2023-02-13 09:33:51 +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
49abcf7e64 Update mappings 2022-11-16 16:12:51 +00: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
apple502j
0dd10df6d4
Refactor Dimension API and fix a bug (#2486)
* Refactor dimension API to use less static var

* Refactor test code

* Fix end spawn platform generation with non-player teleport

* Fix wrong cast

* Add and refactor tests

* Fix spotless

* Mark impl as internal
2022-09-11 14:15:00 +01:00
modmuss50
aeb40ebeab
Rename and validate Mixin class names. (#2450)
And update loom.
2022-08-15 18:59:19 +01:00
deirn
a6d2f785a8
Fix custom dimension not getting loaded on first world load (#2345)
* re-enable custom dimension test

* port ServerBugfixMixin to 1.19

* fix custom dimension not loading on first load on client
2022-06-28 19:25:50 +01:00
modmuss50
72da3b3d5e
Handle teleporting within the same dimension better. (#2249) 2022-05-24 15:10:52 +01:00
qouteall
28d4ab27e2 Fix the issue of uninstalling a dimension mod or datapack (#2078)
* Fix the vanilla bug of uninstalling dimensions.

* fix license

* fix style

* Rename LevelStorageMixin and some minor changes.

(cherry picked from commit 01a4d43dcd)
2022-05-23 14:50:43 +01:00
modmuss50
d882b91555
Port to 22w06a (#1989)
This snapshot is possibly one of the most impactful for API we have ever had. This PR is an inital port to support 22w06a, stuff will be missing and broken. 

# Removed modules:
- fabric-mining-levels-v0 - Previously deprecated
- fabric-object-builders-v0 - Previously deprecated
- fabric-tag-extensions-v0
- fabric-tool-attribute-api-v1

# Modules with API breaking changes:
- fabric-biome-api-v1
- fabric-content-registries-v0
- fabric-data-generation-api-v1
- fabric-mining-level-api-v1
- fabric-object-builder-api-v1
- fabric-resource-conditions-api-v1
- fabric-structure-api-v1

# Impactful API changes:
### fabric-object-builder-api-v1
- Removed - FabricBlockSettings.breakByHand
- Removed - FabricBlockSettings.breakByTool  - Previously deprecated

# Notable changes

- fabric-registry-sync-v0 moves vanilla's new registry freezing to a later point in time, allowing mods to add to the registry during init.

# Known issues:
- ServerBugfixMixin used to fix https://bugs.mojang.com/browse/MC-195468 has not yet been ported.
2022-02-11 17:02:44 +00:00
KosmX
a1d9bbf544
Fix returning from the end always going to world spawn (#1946) 2022-01-05 20:05:38 +00:00
kohanis
d8e20785fa
Preventing END special events with dimensional api (#1938)
* Preventing END special events with dimensional api

* Style errors fix
2022-01-02 19:36:31 +00:00
Player
3ac43d9577 Revert Mixin compatibilityLevel bump, bump versions 2021-11-17 03:29:11 +01:00
modmuss50
e77d3ea62f 1.18-pre2 & Java 17 2021-11-16 18:41:10 +00:00
modmuss50
edf35c6176 Make dimension API stable. Remove usage of @Deprecated for experimental modules. 2021-10-31 10:59:59 +00:00
shartte
d7a7efac01
Fix running game tests / build [1.18] (#1731)
* Fix running game tests.

* Fix dimension api bugfix mixin. Of note: The Vanilla bug is still present, and the bugfix still needed.

* Fix references to unmatched RegistryOps method.
2021-09-17 23:32:44 +01:00
modmuss50
a02b4463f9 21w19a 2021-05-12 20:23:04 +01:00
modmuss50
f08a69e19f 21w18a 2021-05-05 19:53:16 +01:00
actuallyasmartname
14efdf6ee6
Add missing metadata to dimensions api, remove JCenter (#1428) 2021-04-25 20:29:06 +00:00
modmuss50
23b3c92ea9 21w13a 2021-03-31 20:52:51 +01:00
modmuss50
03bff30f22 21w11a 2021-03-17 19:14:28 +00:00
i509VCB
6692ae6057 Remove all inter-module dependencies on fabric-networking-v0 (#1291)
This migrates all uses of v0 networking to v1 api, and changes the readme to not mention networking-v0 in the example for dependencies.

This effectively makes v0 removable if it breaks in the future beyond repair. Though I expect v0 to last quite a bit longer.

(cherry picked from commit bf770ed853)
2021-02-14 17:56:36 +00:00
i509VCB
f8cf2bb436 Add custom value denoting module lifecycles. (#1253)
* Add custom value denoting module lifecycles.

* Make the module validation work.

My hand has been forced - we must use buildSrc since JsonSlurper is not available in main buildscript.

* Apply task to each project and dont cross projects

* A horrible hack

* Wait what

* It works now.

* Not needed

* Drop unneeded maven repo, cache map lookup

(cherry picked from commit daa38b3d82)
2021-01-19 18:54:23 +00:00
modmuss50
5341e62685 Fix crash on prod server as remap was disabled... 2020-11-28 23:36:21 +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
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
liach
655c8d6a5c
Fix javadoc jar generation and javadoc building (#550)
* Update build.gradle for testing

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

* Fix javadocs

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

Co-authored-by: liach <liach@users.noreply.github.com>
2020-04-05 15:07:27 +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
Player
dfdb52d6e5 Add checkstyle, format existing code accordingly. 2019-10-27 15:40:26 +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