mirror of
https://github.com/ViaVersion/ViaFabricPlus.git
synced 2025-03-11 13:28:50 +01:00
Reformat the whole project
Also optimizes imports
This commit is contained in:
parent
fbd5b31e86
commit
79fdfad3f7
2
.github/FUNDING.yml
vendored
2
.github/FUNDING.yml
vendored
@ -1,3 +1,3 @@
|
||||
github: FlorianMichael
|
||||
custom: ["https://florianmichael.de/donate"]
|
||||
custom: [ "https://florianmichael.de/donate" ]
|
||||
ko_fi: rk_01
|
||||
|
2
.github/ISSUE_TEMPLATE/bug_report.yml
vendored
2
.github/ISSUE_TEMPLATE/bug_report.yml
vendored
@ -1,6 +1,6 @@
|
||||
name: Bug Report
|
||||
description: Report a bug in ViaFabricPlus
|
||||
labels: [bug]
|
||||
labels: [ bug ]
|
||||
|
||||
body:
|
||||
- type: markdown
|
||||
|
2
.github/workflows/build.yml
vendored
2
.github/workflows/build.yml
vendored
@ -1,5 +1,5 @@
|
||||
name: Build
|
||||
on: [pull_request, push, workflow_dispatch]
|
||||
on: [ pull_request, push, workflow_dispatch ]
|
||||
|
||||
jobs:
|
||||
build:
|
||||
|
@ -1,7 +1,10 @@
|
||||
# Contributing guidelines for the project
|
||||
|
||||
## Setting up a Workspace
|
||||
ViaFabricPlus uses Gradle, to make sure that it is installed properly you can check [Gradle's website](https://gradle.org/install/).
|
||||
|
||||
ViaFabricPlus uses Gradle, to make sure that it is installed properly you can
|
||||
check [Gradle's website](https://gradle.org/install/).
|
||||
|
||||
1. Clone the repository using `git clone https://github.com/ViaVersion/ViaFabricPlus`.
|
||||
2. CD into the local repository.
|
||||
3. Run `./gradlew genSources`.
|
||||
@ -9,37 +12,47 @@ ViaFabricPlus uses Gradle, to make sure that it is installed properly you can ch
|
||||
5. Run the mod.
|
||||
|
||||
## Update translation files
|
||||
Translation files are located in `src/main/resources/assets/viafabricplus/lang/`. To update them, you need to do the following:
|
||||
1. Copy the `en_us.json` file and rename it to the language code of the language you want to update (e.g. `de_de.json` for German)
|
||||
|
||||
Translation files are located in `src/main/resources/assets/viafabricplus/lang/`. To update them, you need to do the
|
||||
following:
|
||||
|
||||
1. Copy the `en_us.json` file and rename it to the language code of the language you want to update (e.g. `de_de.json`
|
||||
for German)
|
||||
2. Translate all values in the file to the language you want to update
|
||||
3. Do not change the keys of the values, only the values themselves
|
||||
4. Do not change the formatting of the file (e.g. the spaces between the keys and values or the order of the keys)
|
||||
5. Try to be consistent with Minecraft language files.
|
||||
6. Take a look at UN's guidelines for Gender-inclusive language: https://www.un.org/en/gender-inclusive-language/guidelines.shtml
|
||||
6. Take a look at UN's guidelines for Gender-inclusive
|
||||
language: https://www.un.org/en/gender-inclusive-language/guidelines.shtml
|
||||
7. Create a pull request and wait for it to be reviewed and merged.
|
||||
8. You're done, congrats!
|
||||
|
||||
## Add a new feature or fix a bug
|
||||
|
||||
1. Create a new branch for your feature/bugfix (e.g. `feature/fix-xyz` or `fix/fix-xyz`)
|
||||
2. Implement your feature/bugfix and make sure it works correctly
|
||||
3. Clean your code and make sure it is readable and understandable (e.g. use proper variable names)
|
||||
4. Use the Google java code style (https://google.github.io/styleguide/javaguide.html) and format your code accordingly
|
||||
5. If you're changing API, make sure to update the documentation in the `docs` folder, add javadocs to your code and don't break backwards compatibility if not necessary
|
||||
5. If you're changing API, make sure to update the documentation in the `docs` folder, add javadocs to your code and
|
||||
don't break backwards compatibility if not necessary
|
||||
6. Create a pull request and wait for it to be reviewed and merged.
|
||||
7. You're done, congrats!
|
||||
|
||||
## Adding protocol new fixes - which are important and which aren't?
|
||||
|
||||
Protocol fixes are the core functionality of ViaFabricPlus, they make ViaFabricPlus stand out from all other existing
|
||||
protocol translation platforms, and so it's even more important to keep them working.
|
||||
|
||||
When adding new fixes, you should always check if the fix is relevant for the current version of the game. If you're unsure,
|
||||
When adding new fixes, you should always check if the fix is relevant for the current version of the game. If you're
|
||||
unsure,
|
||||
ask in the ViaVersion discord.
|
||||
|
||||
In general, you should only implement changes which could be detected by the server or are relevant for the gameplay.
|
||||
In general, you should only implement changes which could be detected by the server or are relevant for the gameplay.
|
||||
|
||||
From experience, most changes are related to either movement or networking. If you contribute new fixes, please proof
|
||||
your changes by showing that they are relevant and also by providing a game source diff. **It's important that fixes
|
||||
are changing the actual change happend in the game and not just visual changes.**
|
||||
|
||||
## Maintaining the mod
|
||||
|
||||
See [MAINTAINING.md](docs/MAINTAINING.md) for more information on how to maintain the mod.
|
25
README.md
25
README.md
@ -9,19 +9,24 @@
|
||||
<a href="https://github.com/ViaVersion/ViaFabricPlus/actions/workflows/build.yml"><img src="https://github.com/ViaVersion/ViaFabricPlus/actions/workflows/build.yml/badge.svg?branch=main"></a>
|
||||
|
||||
#### Fabric mod to connect to EVERY Minecraft server version (Release, Beta, Alpha, Classic, Snapshots, Bedrock) with QoL fixes to the gameplay
|
||||
|
||||
</div>
|
||||
|
||||
# Why another protocol translator?
|
||||
ViaFabricPlus implements the [ViaVersion projects](https://github.com/ViaVersion) into Fabric and provides tons of fixes to the existing protocol translation which can't be implemented in the original ViaVersion project.
|
||||
|
||||
ViaFabricPlus implements the [ViaVersion projects](https://github.com/ViaVersion) into Fabric and provides tons of fixes
|
||||
to the existing protocol translation which can't be implemented in the original ViaVersion project.
|
||||
These fixes consist of movement changes, block/entity collisions, rendering changes, and many more.
|
||||
|
||||
At the time of writing, ViaFabricPlus is the only mod that supports joining all Minecraft server versions down to the first multiplayer version while implementing
|
||||
At the time of writing, ViaFabricPlus is the only mod that supports joining all Minecraft server versions down to the
|
||||
first multiplayer version while implementing
|
||||
legacy combat mechanics, movement, and rendering changes to make the gameplay feel more like the old days.
|
||||
|
||||
**On the other hand, ViaFabricPlus supports only the latest Minecraft client version, and only Fabric.**
|
||||
If you need ViaFabricPlus for older versions of the game, you can use [ViaFabric](https://viaversion.com/fabric)
|
||||
|
||||
## Supported Server versions
|
||||
|
||||
- Release (1.0.0 - 1.21.4)
|
||||
- Beta (b1.0 - b1.8.1)
|
||||
- Alpha (a1.0.15 - a1.2.6)
|
||||
@ -31,28 +36,36 @@ If you need ViaFabricPlus for older versions of the game, you can use [ViaFabric
|
||||
- Bedrock Edition 1.21.50 ([Some features are missing](https://github.com/RaphiMC/ViaBedrock#features))
|
||||
|
||||
## How to (Users)
|
||||
|
||||
- [A detailed guide on how to install and use the mod](docs/USAGE.md)
|
||||
- If you encounter any issues, please report them on either:
|
||||
- [the issue tracker](https://github.com/ViaVersion/ViaFabricPlus/issues)
|
||||
- [the ViaVersion Discord](https://discord.gg/viaversion)
|
||||
- [the issue tracker](https://github.com/ViaVersion/ViaFabricPlus/issues)
|
||||
- [the ViaVersion Discord](https://discord.gg/viaversion)
|
||||
|
||||
## How to (Developers)
|
||||
|
||||
- [Detailed guidelines for contributions as well as setting up a dev environment](CONTRIBUTING.md)
|
||||
- [API and integration examples for developers](docs/DEVELOPER_API.md)
|
||||
|
||||
## ViaFabric
|
||||
[ViaFabric](https://github.com/ViaVersion/ViaFabric) can be used for server-side purposes or when using older versions of the game.
|
||||
|
||||
[ViaFabric](https://github.com/ViaVersion/ViaFabric) can be used for server-side purposes or when using older versions
|
||||
of the game.
|
||||
|
||||
### Does it work with ViaFabricPlus:
|
||||
|
||||
- No, ViaFabricPlus cannot be used with ViaFabric.
|
||||
|
||||
### Differences with ViaFabric:
|
||||
|
||||
https://github.com/ViaVersion/ViaFabric?tab=readme-ov-file#differences-with-viafabricplus
|
||||
|
||||
## Credits
|
||||
|
||||
Special thanks to all our [Contributors](https://github.com/ViaVersion/ViaFabricPllus/graphs/contributors).
|
||||
|
||||
## Disclaimer
|
||||
It cannot be guaranteed that this mod is allowed on specific servers as it can possibly cause problems with anti-cheat plugins.\
|
||||
|
||||
It cannot be guaranteed that this mod is allowed on specific servers as it can possibly cause problems with anti-cheat
|
||||
plugins.\
|
||||
***(USE ONLY WITH CAUTION!)***
|
||||
|
@ -53,6 +53,7 @@ public abstract class AbstractSetting<T> {
|
||||
}
|
||||
|
||||
public abstract void write(final JsonObject object);
|
||||
|
||||
public abstract void read(final JsonObject object);
|
||||
|
||||
public void onValueChanged() {
|
||||
|
@ -38,9 +38,11 @@ public class ButtonSetting extends AbstractSetting<Runnable> {
|
||||
}
|
||||
|
||||
@Override
|
||||
public void write(JsonObject object) {}
|
||||
public void write(JsonObject object) {
|
||||
}
|
||||
|
||||
@Override
|
||||
public void read(JsonObject object) {}
|
||||
public void read(JsonObject object) {
|
||||
}
|
||||
|
||||
}
|
||||
|
@ -54,12 +54,12 @@ dependencies {
|
||||
vvDependencies "com.viaversion:viaversion-common:5.2.1"
|
||||
vvDependencies "com.viaversion:viabackwards-common:5.2.1"
|
||||
vvDependencies "com.viaversion:viaaprilfools-common:4.0.0"
|
||||
vvDependencies ("com.viaversion:vialoader:4.0.0") {
|
||||
vvDependencies("com.viaversion:vialoader:4.0.0") {
|
||||
exclude group: "com.google.guava", module: "guava"
|
||||
exclude group: "org.slf4j", module: "slf4j-api"
|
||||
}
|
||||
vvDependencies "net.raphimc:ViaLegacy:3.0.7-SNAPSHOT"
|
||||
vvDependencies ("net.raphimc:ViaBedrock:0.0.14-SNAPSHOT") {
|
||||
vvDependencies("net.raphimc:ViaBedrock:0.0.14-SNAPSHOT") {
|
||||
exclude group: "io.jsonwebtoken"
|
||||
exclude group: "com.mojang", module: "brigadier"
|
||||
}
|
||||
|
152
build.gradle
152
build.gradle
@ -1,112 +1,112 @@
|
||||
plugins {
|
||||
id "vfp.base-conventions"
|
||||
id "vfp.base-conventions"
|
||||
}
|
||||
|
||||
base {
|
||||
archivesName = "ViaFabricPlus"
|
||||
archivesName = "ViaFabricPlus"
|
||||
}
|
||||
|
||||
loom {
|
||||
accessWidenerPath = file("src/main/resources/viafabricplus.accesswidener")
|
||||
accessWidenerPath = file("src/main/resources/viafabricplus.accesswidener")
|
||||
}
|
||||
|
||||
configurations {
|
||||
jij // jar in jar configuration
|
||||
modJij // jar in jar configuration for mods
|
||||
jij // jar in jar configuration
|
||||
modJij // jar in jar configuration for mods
|
||||
|
||||
include.extendsFrom modJij
|
||||
modImplementation.extendsFrom modJij
|
||||
modCompileOnlyApi.extendsFrom modJij
|
||||
include.extendsFrom modJij
|
||||
modImplementation.extendsFrom modJij
|
||||
modCompileOnlyApi.extendsFrom modJij
|
||||
|
||||
// Include VV dependencies as jij
|
||||
jij.extendsFrom vvDependencies
|
||||
// Include VV dependencies as jij
|
||||
jij.extendsFrom vvDependencies
|
||||
}
|
||||
|
||||
dependencies {
|
||||
// Fabric API
|
||||
modJij fabricApi.module("fabric-api-base", project.fabric_api_version)
|
||||
modJij fabricApi.module("fabric-resource-loader-v0", project.fabric_api_version)
|
||||
modJij fabricApi.module("fabric-networking-api-v1", project.fabric_api_version)
|
||||
modJij fabricApi.module("fabric-command-api-v2", project.fabric_api_version)
|
||||
modJij fabricApi.module("fabric-lifecycle-events-v1", project.fabric_api_version)
|
||||
modJij fabricApi.module("fabric-particles-v1", project.fabric_api_version)
|
||||
modJij fabricApi.module("fabric-registry-sync-v0", project.fabric_api_version)
|
||||
// Fabric API
|
||||
modJij fabricApi.module("fabric-api-base", project.fabric_api_version)
|
||||
modJij fabricApi.module("fabric-resource-loader-v0", project.fabric_api_version)
|
||||
modJij fabricApi.module("fabric-networking-api-v1", project.fabric_api_version)
|
||||
modJij fabricApi.module("fabric-command-api-v2", project.fabric_api_version)
|
||||
modJij fabricApi.module("fabric-lifecycle-events-v1", project.fabric_api_version)
|
||||
modJij fabricApi.module("fabric-particles-v1", project.fabric_api_version)
|
||||
modJij fabricApi.module("fabric-registry-sync-v0", project.fabric_api_version)
|
||||
|
||||
// Sub projects, since they are Fabric mods as well (mainly to access the game code) we have to first
|
||||
// implement the namedElements (raw output) to compile against, then include the mappedElements into the output jar
|
||||
implementation compileOnlyApi(project(path: ":viafabricplus-api", configuration: "namedElements"))
|
||||
implementation compileOnlyApi(project(path: ":viafabricplus-api-legacy", configuration: "namedElements"))
|
||||
implementation compileOnlyApi(project(path: ":viafabricplus-visuals", configuration: "namedElements"))
|
||||
// Sub projects, since they are Fabric mods as well (mainly to access the game code) we have to first
|
||||
// implement the namedElements (raw output) to compile against, then include the mappedElements into the output jar
|
||||
implementation compileOnlyApi(project(path: ":viafabricplus-api", configuration: "namedElements"))
|
||||
implementation compileOnlyApi(project(path: ":viafabricplus-api-legacy", configuration: "namedElements"))
|
||||
implementation compileOnlyApi(project(path: ":viafabricplus-visuals", configuration: "namedElements"))
|
||||
|
||||
include project(":viafabricplus-api")
|
||||
include project(":viafabricplus-api-legacy")
|
||||
include project(":viafabricplus-visuals")
|
||||
include project(":viafabricplus-api")
|
||||
include project(":viafabricplus-api-legacy")
|
||||
include project(":viafabricplus-visuals")
|
||||
|
||||
// Dependencies exclusively to the root mod
|
||||
jij ("net.raphimc:MinecraftAuth:4.1.1") {
|
||||
exclude group: "com.google.code.gson", module: "gson"
|
||||
exclude group: "org.slf4j", module: "slf4j-api"
|
||||
}
|
||||
jij "net.lenni0451:Reflect:1.4.0"
|
||||
jij("net.lenni0451:MCPing:1.4.2") {
|
||||
exclude group: "com.google.code.gson", module: "gson"
|
||||
}
|
||||
jij("org.cloudburstmc.netty:netty-transport-raknet:1.0.0.CR3-SNAPSHOT") {
|
||||
exclude group: "io.netty"
|
||||
}
|
||||
jij "de.florianmichael:Classic4J:2.1.1-SNAPSHOT"
|
||||
// Dependencies exclusively to the root mod
|
||||
jij("net.raphimc:MinecraftAuth:4.1.1") {
|
||||
exclude group: "com.google.code.gson", module: "gson"
|
||||
exclude group: "org.slf4j", module: "slf4j-api"
|
||||
}
|
||||
jij "net.lenni0451:Reflect:1.4.0"
|
||||
jij("net.lenni0451:MCPing:1.4.2") {
|
||||
exclude group: "com.google.code.gson", module: "gson"
|
||||
}
|
||||
jij("org.cloudburstmc.netty:netty-transport-raknet:1.0.0.CR3-SNAPSHOT") {
|
||||
exclude group: "io.netty"
|
||||
}
|
||||
jij "de.florianmichael:Classic4J:2.1.1-SNAPSHOT"
|
||||
|
||||
// Only to compile against for the ModMenu integration
|
||||
modCompileOnly "com.terraformersmc:modmenu:12.0.0"
|
||||
// Only to compile against for the ModMenu integration
|
||||
modCompileOnly "com.terraformersmc:modmenu:12.0.0"
|
||||
|
||||
// Fabric's jar in jar system doesn't support transitive dependencies, so we have to manually add them
|
||||
afterEvaluate {
|
||||
configurations.jij.incoming.resolutionResult.allDependencies.each {
|
||||
dependencies.include(dependencies.implementation(dependencies.compileOnlyApi(it.requested.toString()) {
|
||||
transitive = false
|
||||
}))
|
||||
}
|
||||
}
|
||||
// Fabric's jar in jar system doesn't support transitive dependencies, so we have to manually add them
|
||||
afterEvaluate {
|
||||
configurations.jij.incoming.resolutionResult.allDependencies.each {
|
||||
dependencies.include(dependencies.implementation(dependencies.compileOnlyApi(it.requested.toString()) {
|
||||
transitive = false
|
||||
}))
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
processResources {
|
||||
filesMatching("fabric.mod.json") {
|
||||
expand(
|
||||
"version": project.version,
|
||||
"description": project.description,
|
||||
"implVersion": "git-${project.name}-${project.version}:${latestCommitHash().get()}",
|
||||
"mcVersion": mcVersion()
|
||||
)
|
||||
}
|
||||
filesMatching("fabric.mod.json") {
|
||||
expand(
|
||||
"version": project.version,
|
||||
"description": project.description,
|
||||
"implVersion": "git-${project.name}-${project.version}:${latestCommitHash().get()}",
|
||||
"mcVersion": mcVersion()
|
||||
)
|
||||
}
|
||||
}
|
||||
|
||||
String mcVersion() {
|
||||
if (project.supported_versions.isEmpty()) {
|
||||
return project.minecraft_version
|
||||
} else {
|
||||
return project.supported_versions
|
||||
}
|
||||
if (project.supported_versions.isEmpty()) {
|
||||
return project.minecraft_version
|
||||
} else {
|
||||
return project.supported_versions
|
||||
}
|
||||
}
|
||||
|
||||
Provider<String> latestCommitHash() {
|
||||
return providers.exec {
|
||||
commandLine = ["git", "rev-parse", "--short", "HEAD"]
|
||||
}.standardOutput.getAsText().map(String::trim)
|
||||
return providers.exec {
|
||||
commandLine = ["git", "rev-parse", "--short", "HEAD"]
|
||||
}.standardOutput.getAsText().map(String::trim)
|
||||
}
|
||||
|
||||
jar {
|
||||
// Rename the project's license file to LICENSE_<project_name> to avoid conflicts
|
||||
from("LICENSE") {
|
||||
rename {
|
||||
"${it}_${project.archivesBaseName}"
|
||||
}
|
||||
}
|
||||
// Rename the project's license file to LICENSE_<project_name> to avoid conflicts
|
||||
from("LICENSE") {
|
||||
rename {
|
||||
"${it}_${project.archivesBaseName}"
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
idea {
|
||||
module {
|
||||
["run"].each {
|
||||
excludeDirs << file("$it")
|
||||
}
|
||||
}
|
||||
module {
|
||||
["run"].each {
|
||||
excludeDirs << file("$it")
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -1,14 +1,19 @@
|
||||
# Developer API
|
||||
|
||||
ViaFabricPlus provides events and various utility functions for other mods to interface with it. Note that including
|
||||
ViaFabricPlus in your project comes with some requirements:
|
||||
|
||||
- The target version is Java 17
|
||||
- Fabric loom setup (As ViaFabricPlus is a Minecraft mod and has no API-only dependency like other projects)
|
||||
|
||||
## How to include the mod as dependency
|
||||
If you are targetting to only use the provided API, you should include the ```viafabricplus-api``` artifact. For including the internals use
|
||||
|
||||
If you are targetting to only use the provided API, you should include the ```viafabricplus-api``` artifact. For
|
||||
including the internals use
|
||||
```viafabricplus```. Including the internals will also provide the legacy compatibility layer.
|
||||
|
||||
### Gradle
|
||||
|
||||
```groovy
|
||||
repositories {
|
||||
mavenCentral()
|
||||
@ -36,6 +41,7 @@ dependencies {
|
||||
```
|
||||
|
||||
### Maven
|
||||
|
||||
```xml
|
||||
<repositories>
|
||||
<repository>
|
||||
@ -62,10 +68,13 @@ dependencies {
|
||||
```
|
||||
|
||||
## Using the API
|
||||
Get the general API using ``ViaFabricPlus.getImpl()`` which will return a ``ViaFabricPlusBase`` interface reflecting API functions for mods to use.
|
||||
|
||||
Get the general API using ``ViaFabricPlus.getImpl()`` which will return a ``ViaFabricPlusBase`` interface reflecting API
|
||||
functions for mods to use.
|
||||
All functions provided there are safe to use and will most likely never be removed.
|
||||
|
||||
#### Example
|
||||
|
||||
```java
|
||||
final ViaFabricPlusBase platform = ViaFabricPlus.getImpl();
|
||||
```
|
||||
@ -73,8 +82,10 @@ final ViaFabricPlusBase platform = ViaFabricPlus.getImpl();
|
||||
## Using event callbacks
|
||||
|
||||
The API provides two event callbacks which can be used:
|
||||
|
||||
- ``LoadingCycleCallback`` fired in various loading stages of ViaFabricPlus such as config or settings loading.
|
||||
- ``ChangeProtocolVersionCallback`` fired when the user changes the target version in the screen, or if the user joins a server with a different version.
|
||||
- ``ChangeProtocolVersionCallback`` fired when the user changes the target version in the screen, or if the user joins a
|
||||
server with a different version.
|
||||
|
||||
Event callbacks can be registered through the API:
|
||||
|
||||
@ -88,7 +99,8 @@ platform.registerOnChangeProtocolVersionCallback((oldVersion, newVersion) -> {
|
||||
|
||||
### Using the loading cycle callback
|
||||
|
||||
As your mod might load after ViaFabricPlus, you will need to register the loading cycle callback inside a `ViaFabricPlusLoadEntrypoint` marked as `viafabricplus`
|
||||
As your mod might load after ViaFabricPlus, you will need to register the loading cycle callback inside a
|
||||
`ViaFabricPlusLoadEntrypoint` marked as `viafabricplus`
|
||||
in your `fabric.mod.json` file. The entrypoint also acts as `INITAL_LOAD` stage.
|
||||
|
||||
```java
|
||||
@ -121,7 +133,8 @@ public class Example implements ViaFabricPlusLoadEntrypoint {
|
||||
|
||||
## More extensive API
|
||||
|
||||
For any version specific functionality, ViaFabricPlus provides common API functions. ViaFabricPlus uses [ViaVersion](https://github.com/ViaVersion/ViaVersion)
|
||||
For any version specific functionality, ViaFabricPlus provides common API functions. ViaFabricPlus
|
||||
uses [ViaVersion](https://github.com/ViaVersion/ViaVersion)
|
||||
for protocol translation, so the ViaVersion API can be used as well.
|
||||
|
||||
### Getting the current target version
|
||||
|
@ -1,5 +1,7 @@
|
||||
# Updating instructions for the project
|
||||
These steps are the usual process for updating ViaFabricPlus to a new version of the game. If you're unsure about something, ask in the ViaVersion discord.
|
||||
|
||||
These steps are the usual process for updating ViaFabricPlus to a new version of the game. If you're unsure about
|
||||
something, ask in the ViaVersion discord.
|
||||
|
||||
1. Update all upstream versions in `gradle.properties`. The main versions you need to update are:
|
||||
- `minecraft_version`
|
||||
@ -8,96 +10,118 @@ These steps are the usual process for updating ViaFabricPlus to a new version of
|
||||
- `fabric_api_version`
|
||||
|
||||
- `supported_versions` (if necessary)
|
||||
|
||||
|
||||
As well as the versions in the `dependencies` block in the `build.gradle` file.
|
||||
2. Increment the version number in `gradle.properties` by at least a minor version (e.g. 1.0.0 -> 1.1.0)
|
||||
3. Check all data dumps and diffs in the fixes/data package and update them if necessary, here is a list of some critical ones:
|
||||
3. Check all data dumps and diffs in the fixes/data package and update them if necessary, here is a list of some
|
||||
critical ones:
|
||||
- `ResourcePackHeaderDiff` (add the new version at the top of the list)
|
||||
- `ItemRegistryDiff` (add all new items/blocks added in the new version)
|
||||
- `EntityDimensionDiff` (add entity dimension changes)
|
||||
4. Update the `NATIVE_VERSION` field in the ProtocolTranslator class to the new version
|
||||
5. Update protocol constants in the `ViaFabricPlusProtocol` class
|
||||
|
||||
-------------
|
||||
|
||||
6. Check all mixins in the injection package if they still apply correctly, here is a list of some critical ones:
|
||||
- `MixinClientWorld#tickEntity` and `MixinClientWorld#tickPassenger`
|
||||
- `MixinPlayer#getBlockBreakingSpeed`
|
||||
7. mDecompile the game source code with the tool of your choice.
|
||||
8. Try to compile the mod and start porting the code until all existing fixes are working again.
|
||||
9. Diff the game code with the code of the previous version (e.g. using git) and implement all changes that could be relevant for ViaFabricPlus, those are:
|
||||
9. Diff the game code with the code of the previous version (e.g. using git) and implement all changes that could be
|
||||
relevant for ViaFabricPlus, those are:
|
||||
- General logic changes (e.g. `if (a && b)` -> `if (b || a)`)
|
||||
- Changes to the movement code (e.g. `player.yaw` -> `player.headYaw`)
|
||||
- Networking changes (e.g. sending a new packet / changing the packet structure)
|
||||
- Changes to visuals (e.g. animation changes)
|
||||
- Note: ViaVersion already implements most gameplay related changes for us, but you should always check for edge-cases. Since ViaVersion
|
||||
is primarily a server side plugin, it does not take care of client-side related / deeper changes. ViaFabricPlus often has to inject into
|
||||
- Note: ViaVersion already implements most gameplay related changes for us, but you should always check for
|
||||
edge-cases. Since ViaVersion
|
||||
is primarily a server side plugin, it does not take care of client-side related / deeper changes. ViaFabricPlus
|
||||
often has to inject into
|
||||
ViaVersion code to improve funcitonality for the client.
|
||||
|
||||
**Read more about which fixes should be added [HERE](../CONTRIBUTING.md#adding-protocol-new-fixes---which-are-important-and-which-arent)**
|
||||
|
||||
- From experience, the following packages contain the usual important changes (mojang mappings):
|
||||
- `net.minecraft`
|
||||
- `net.minecraft.client`
|
||||
- `net.minecraft.client.gui`
|
||||
- `net.minecraft.client.multiplayer`
|
||||
- `net.minecraft.client.player`
|
||||
- `net.minecraft.util`
|
||||
- `net.minecraft.world`
|
||||
- `net.minecraft.world.entity`
|
||||
- `net.minecraft.world.inventory`
|
||||
- `net.minecraft.world.item`
|
||||
- `net.minecraft.world.level`
|
||||
- `net.minecraft.world.level.block`
|
||||
**Read more about which fixes should be
|
||||
added [HERE](../CONTRIBUTING.md#adding-protocol-new-fixes---which-are-important-and-which-arent)**
|
||||
|
||||
- While the following packages (mojang mappings) can be skipped completely (most of the time):
|
||||
- `com.mojang`
|
||||
- `net.minecraft.advancements`
|
||||
- `net.minecraft.commands`
|
||||
- `net.minecraft.data`
|
||||
- `net.minecraft.gametest`
|
||||
- `net.minecraft.realms`
|
||||
- `net.minecraft.recipebook`
|
||||
- `net.minecraft.references`
|
||||
- `net.minecraft.resources`
|
||||
- `net.minecraft.server`
|
||||
- `net.minecraft.sounds`
|
||||
- `net.minecraft.stats`
|
||||
- `net.minecraft.tags`
|
||||
- From experience, the following packages contain the usual important changes (mojang mappings):
|
||||
- `net.minecraft`
|
||||
- `net.minecraft.client`
|
||||
- `net.minecraft.client.gui`
|
||||
- `net.minecraft.client.multiplayer`
|
||||
- `net.minecraft.client.player`
|
||||
- `net.minecraft.util`
|
||||
- `net.minecraft.world`
|
||||
- `net.minecraft.world.entity`
|
||||
- `net.minecraft.world.inventory`
|
||||
- `net.minecraft.world.item`
|
||||
- `net.minecraft.world.level`
|
||||
- `net.minecraft.world.level.block`
|
||||
|
||||
10. Check the ViaVersion/upstream protocol implementation for issues and report them if necessary or if these issues can't be fixed,
|
||||
without tons of work, implement a workaround in ViaFabricPlus.
|
||||
- While the following packages (mojang mappings) can be skipped completely (most of the time):
|
||||
- `com.mojang`
|
||||
- `net.minecraft.advancements`
|
||||
- `net.minecraft.commands`
|
||||
- `net.minecraft.data`
|
||||
- `net.minecraft.gametest`
|
||||
- `net.minecraft.realms`
|
||||
- `net.minecraft.recipebook`
|
||||
- `net.minecraft.references`
|
||||
- `net.minecraft.resources`
|
||||
- `net.minecraft.server`
|
||||
- `net.minecraft.sounds`
|
||||
- `net.minecraft.stats`
|
||||
- `net.minecraft.tags`
|
||||
|
||||
10. Check the ViaVersion/upstream protocol implementation for issues and report them if necessary or if these issues
|
||||
can't be fixed,
|
||||
without tons of work, implement a workaround in ViaFabricPlus.
|
||||
11. Run the game and check all GUIs and other visuals for issues.
|
||||
12. Clean your code and make sure it is readable and understandable, clientside fixes are sorted by their protocol versions, having
|
||||
newer fixes at the top of the file.
|
||||
12. Clean your code and make sure it is readable and understandable, clientside fixes are sorted by their protocol
|
||||
versions, having
|
||||
newer fixes at the top of the file.
|
||||
|
||||
-------------
|
||||
|
||||
13. Create a pull request and wait for it to be reviewed and merged.
|
||||
14. You're done, congrats!
|
||||
|
||||
## Git branches
|
||||
|
||||
- `main`: The main branch, this is where all changes are merged into
|
||||
- `dev`: Used for changes which needs reviewing by all developers, usually merged into `main` shortly after
|
||||
- `update/*`: Update branches, these are used to port ViaFabricPlus to newer versions of the game
|
||||
- `<version>`: Final release branches sorted by their Minecraft version (e.g. `1.8.9`, `1.16.5`, `1.17.1`, ...)
|
||||
|
||||
There are also older formats which aren't used anymore:
|
||||
- `recode/*`: Recode branches, these are used to port ViaFabricPlus to newer versions of the game or rewrite big parts of the code
|
||||
|
||||
- `recode/*`: Recode branches, these are used to port ViaFabricPlus to newer versions of the game or rewrite big parts
|
||||
of the code
|
||||
- `backport/*`: Backport branches, these are used to backport newer ViaFabricPlus versions to older versions of the game
|
||||
|
||||
## Project structure
|
||||
Every change made to the game is called a `feature`. Each feature has its package under both `features/` and `injection/mixin/features/`, organizing utility and mixin classes for easier project maintenance and porting
|
||||
|
||||
Every change made to the game is called a `feature`. Each feature has its package under both `features/` and
|
||||
`injection/mixin/features/`, organizing utility and mixin classes for easier project maintenance and porting
|
||||
Loading of features is done via `static` blocks and dummy `init` function called in the `FeaturesLoading` class.
|
||||
|
||||
## Versioning
|
||||
|
||||
The versioning should only be updated every release and should only have one update between each release.
|
||||
|
||||
- The versioning scheme is `major.minor.patch`, where:
|
||||
- `major` is incremented when breaking changes are made
|
||||
- `minor` is incremented when new features are added
|
||||
- `patch` is incremented when bug fixes are made
|
||||
|
||||
This scheme is used as follows:
|
||||
- `Major` versions are only incremented with breaking and fundamental changes to the existing codebase, such as migrating mappings
|
||||
or refactoring the entire codebase.
|
||||
|
||||
- `Minor` versions are incremented when the mod gets ported to a new version of the game or when huge features are added /
|
||||
upstream changes are implemented.
|
||||
- `Major` versions are only incremented with breaking and fundamental changes to the existing codebase, such as
|
||||
migrating mappings
|
||||
or refactoring the entire codebase.
|
||||
|
||||
- `Patch` versions are incremented when bug fixes are made or small features are added, they are the usual version increment.
|
||||
- `Minor` versions are incremented when the mod gets ported to a new version of the game or when huge features are
|
||||
added /
|
||||
upstream changes are implemented.
|
||||
|
||||
- `Patch` versions are incremented when bug fixes are made or small features are added, they are the usual version
|
||||
increment.
|
@ -1,33 +1,44 @@
|
||||
# Usage for ViaFabricPlus
|
||||
|
||||
## Introduction
|
||||
At the top left of the multiplayer screen is the ViaFabricPlus button, with it you can enter the main menu of the mod
|
||||
|
||||
At the top left of the multiplayer screen is the ViaFabricPlus button, with it you can enter the main menu of the mod
|
||||
where you can change the settings and set the protocol version, the position of the button can be changed in the
|
||||
Settings -> General -> multiplayer screen button orientation.
|
||||
|
||||

|
||||

|
||||
|
||||
In the Add/Edit Server screen there is a button where you can select a specific version for this server, when you ping or connect to this server,
|
||||
In the Add/Edit Server screen there is a button where you can select a specific version for this server, when you ping
|
||||
or connect to this server,
|
||||
ViaFabricPlus will use the version set there, the versions are stored in the servers.dat too
|
||||
|
||||

|
||||
|
||||
If you don't want to specify a specific version anymore, you can simply press the button and select **"Cancel and reset"**.
|
||||
If you don't want to specify a specific version anymore, you can simply press the button and select **"Cancel and reset"
|
||||
**.
|
||||
|
||||
## Commands
|
||||
You can use the ViaVersion commands with **/viafabricplus** or **/viaversion**, and a few classic only commands are also implemented:
|
||||
|
||||
You can use the ViaVersion commands with **/viafabricplus** or **/viaversion**, and a few classic only commands are also
|
||||
implemented:
|
||||
|
||||
- **/viafabricplus settime <Time (Long)>** - Changes the Clientside World Time, available from: **c0.28-c0.30**
|
||||
- **/viafabricplus listextensions** - Displays all classic protocol extensions, available in: **c0.30 CPE**
|
||||
|
||||
### Settings<br>
|
||||
For users only the settings in the **General**, **Bedrock**, **Authentication** and **Visual** tab are relevant, the other settings are only for developers, you should not change the settings in the **Debug** tab if you don't know what you are doing.
|
||||
|
||||
For users only the settings in the **General**, **Bedrock**, **Authentication** and **Visual** tab are relevant, the
|
||||
other settings are only for developers, you should not change the settings in the **Debug** tab if you don't know what
|
||||
you are doing.
|
||||

|
||||
|
||||
The settings are stored in the `settings.json` file. Account credentials for Bedrock/ClassiCube in `accounts.json`.
|
||||
|
||||
### Configuring the protocol translation libraries
|
||||
To change the protocol translation settings/features you can look into the config folder. You can find 4 config files there depending on the platforms loaded:
|
||||
|
||||
To change the protocol translation settings/features you can look into the config folder. You can find 4 config files
|
||||
there depending on the platforms loaded:
|
||||
|
||||
- `viaversion.yml` (ViaVersion)
|
||||
- `viabackwards.yml` (ViaBackwards)
|
||||
@ -35,31 +46,40 @@ To change the protocol translation settings/features you can look into the confi
|
||||
- `viabedrock.yml` (ViaBedrock)
|
||||
- `viaaprilfools.yml` (ViaAprilFools)
|
||||
|
||||
On it's first launch, ViaFabricPlus will generate the config files with proper default values. Don't touch the config files if you don't know what you are doing.
|
||||
On it's first launch, ViaFabricPlus will generate the config files with proper default values. Don't touch the config
|
||||
files if you don't know what you are doing.
|
||||
|
||||
## Debug HUD
|
||||
The debug HUD can be enabled in the settings, it shows some useful information about the connection and the protocol translation.
|
||||
|
||||
The debug HUD can be enabled in the settings, it shows some useful information about the connection and the protocol
|
||||
translation.
|
||||

|
||||
|
||||
### Bedrock edition
|
||||
|
||||
Keep in mind that the Java -> Bedrock support is still in beta phase, and therefore many things are not implemented
|
||||
yet and there is no guarantee that everything will work as it should.
|
||||
|
||||
To log in to a Bedrock account you can press the button **"Click to set account for Bedrock edition"** in the settings.
|
||||
|
||||
#### Bedrock Realms
|
||||
If you have a Bedrock account set in the settings, you can view its Bedrock Realms in the "Server lists" screen (can be found at the left bottom of the main GUI).
|
||||
|
||||
If you have a Bedrock account set in the settings, you can view its Bedrock Realms in the "Server lists" screen (can be
|
||||
found at the left bottom of the main GUI).
|
||||

|
||||
|
||||
|
||||
### ClassiCube and BetaCraft integration
|
||||
|
||||
In the main GUI there is a "Server lists" button where you can go to ClassiCube and BetaCraft server lists.
|
||||
|
||||
## BetaCraft
|
||||
|
||||

|
||||
|
||||
## ClassiCube
|
||||
|
||||

|
||||
|
||||
For ClassiCube you need an account, which you can make on the official website (https://www.classicube.net/), in case ClassiCube requires MultiFactor, an extra GUI will open in ViaFabricPlus.
|
||||
For ClassiCube you need an account, which you can make on the official website (https://www.classicube.net/), in case
|
||||
ClassiCube requires MultiFactor, an extra GUI will open in ViaFabricPlus.
|
||||

|
||||
|
@ -21,27 +21,27 @@
|
||||
|
||||
package com.viaversion.viafabricplus;
|
||||
|
||||
import com.viaversion.viafabricplus.api.ViaFabricPlusBase;
|
||||
import com.viaversion.viafabricplus.api.entrypoint.ViaFabricPlusLoadEntrypoint;
|
||||
import com.viaversion.viafabricplus.api.events.ChangeProtocolVersionCallback;
|
||||
import com.viaversion.viafabricplus.api.ViaFabricPlusBase;
|
||||
import com.viaversion.viafabricplus.api.events.LoadingCycleCallback;
|
||||
import com.viaversion.viafabricplus.api.settings.SettingGroup;
|
||||
import com.viaversion.viafabricplus.base.Events;
|
||||
import com.viaversion.viafabricplus.base.overriding_jars.ClassLoaderPriorityUtil;
|
||||
import com.viaversion.viafabricplus.base.sync_tasks.SyncTasks;
|
||||
import com.viaversion.viafabricplus.features.FeaturesLoading;
|
||||
import com.viaversion.viafabricplus.features.item.filter_creative_tabs.ItemRegistryDiff;
|
||||
import com.viaversion.viafabricplus.features.item.negative_item_count.NegativeItemUtil;
|
||||
import com.viaversion.viafabricplus.features.limitation.max_chat_length.MaxChatLength;
|
||||
import com.viaversion.viafabricplus.injection.access.base.IClientConnection;
|
||||
import com.viaversion.viafabricplus.injection.access.base.IServerInfo;
|
||||
import com.viaversion.viafabricplus.protocoltranslator.ProtocolTranslator;
|
||||
import com.viaversion.viafabricplus.protocoltranslator.translator.ItemTranslator;
|
||||
import com.viaversion.viafabricplus.util.ChatUtil;
|
||||
import com.viaversion.viafabricplus.base.sync_tasks.SyncTasks;
|
||||
import com.viaversion.viafabricplus.save.SaveManager;
|
||||
import com.viaversion.viafabricplus.screen.impl.ProtocolSelectionScreen;
|
||||
import com.viaversion.viafabricplus.screen.impl.settings.SettingsScreen;
|
||||
import com.viaversion.viafabricplus.settings.SettingsManager;
|
||||
import com.viaversion.viafabricplus.features.FeaturesLoading;
|
||||
import com.viaversion.viafabricplus.features.limitation.max_chat_length.MaxChatLength;
|
||||
import com.viaversion.viafabricplus.protocoltranslator.ProtocolTranslator;
|
||||
import com.viaversion.viafabricplus.util.ChatUtil;
|
||||
import com.viaversion.viaversion.api.connection.UserConnection;
|
||||
import com.viaversion.viaversion.api.minecraft.item.Item;
|
||||
import com.viaversion.viaversion.api.protocol.version.ProtocolVersion;
|
||||
|
@ -24,14 +24,14 @@ package com.viaversion.viafabricplus.features;
|
||||
import com.viaversion.viaaprilfools.api.AprilFoolsProtocolVersion;
|
||||
import com.viaversion.viafabricplus.api.events.LoadingCycleCallback;
|
||||
import com.viaversion.viafabricplus.base.Events;
|
||||
import com.viaversion.viafabricplus.features.emulation.armor_hud.ArmorHudEmulation1_8;
|
||||
import com.viaversion.viafabricplus.features.block.shape.CollisionShapes;
|
||||
import com.viaversion.viafabricplus.features.classic.cpe_extension.CPEAdditions;
|
||||
import com.viaversion.viafabricplus.features.emulation.armor_hud.ArmorHudEmulation1_8;
|
||||
import com.viaversion.viafabricplus.features.emulation.recipe.Recipes1_11_2;
|
||||
import com.viaversion.viafabricplus.features.entity.EntityDimensionDiff;
|
||||
import com.viaversion.viafabricplus.features.entity.attribute.EnchantmentAttributesEmulation1_20_6;
|
||||
import com.viaversion.viafabricplus.features.footstep_particle.FootStepParticle1_12_2;
|
||||
import com.viaversion.viafabricplus.features.networking.resource_pack_header.ResourcePackHeaderDiff;
|
||||
import com.viaversion.viafabricplus.features.emulation.recipe.Recipes1_11_2;
|
||||
import com.viaversion.viaversion.api.protocol.version.ProtocolVersion;
|
||||
import net.minecraft.client.MinecraftClient;
|
||||
|
||||
|
@ -62,7 +62,7 @@ public final class CPEAdditions {
|
||||
}
|
||||
|
||||
public static ClientboundPacketsc0_30cpe createNewPacket(final ClassicProtocolExtension classicProtocolExtension, final int packetId, final BiConsumer<UserConnection, ByteBuf> packetSplitter) {
|
||||
final ClientboundPacketsc0_30cpe packet = Enums.newInstance(ClientboundPacketsc0_30cpe.class, classicProtocolExtension.getName(), ClassicProtocolExtension.values().length, new Class[] { int.class, BiConsumer.class }, new Object[] { packetId, packetSplitter });
|
||||
final ClientboundPacketsc0_30cpe packet = Enums.newInstance(ClientboundPacketsc0_30cpe.class, classicProtocolExtension.getName(), ClassicProtocolExtension.values().length, new Class[]{int.class, BiConsumer.class}, new Object[]{packetId, packetSplitter});
|
||||
Enums.addEnumInstance(ClientboundPacketsc0_30cpe.class, packet);
|
||||
CUSTOM_PACKETS.put(packetId, packet);
|
||||
|
||||
|
@ -23,13 +23,13 @@ package com.viaversion.viafabricplus.features.emulation.armor_hud;
|
||||
|
||||
import com.viaversion.viafabricplus.ViaFabricPlus;
|
||||
import com.viaversion.viafabricplus.visuals.ViaFabricPlusVisuals;
|
||||
import com.viaversion.viafabricplus.visuals.settings.VisualSettings;
|
||||
import com.viaversion.viaversion.api.connection.UserConnection;
|
||||
import com.viaversion.viaversion.api.protocol.packet.PacketWrapper;
|
||||
import com.viaversion.viaversion.api.type.Types;
|
||||
import com.viaversion.viaversion.protocols.v1_8to1_9.Protocol1_8To1_9;
|
||||
import com.viaversion.viaversion.protocols.v1_8to1_9.data.ArmorTypes1_8;
|
||||
import com.viaversion.viaversion.protocols.v1_8to1_9.packet.ClientboundPackets1_9;
|
||||
import com.viaversion.viafabricplus.visuals.settings.VisualSettings;
|
||||
import net.fabricmc.fabric.api.client.event.lifecycle.v1.ClientTickEvents;
|
||||
import net.minecraft.client.MinecraftClient;
|
||||
import net.minecraft.item.ItemStack;
|
||||
|
@ -21,8 +21,8 @@
|
||||
|
||||
package com.viaversion.viafabricplus.features.emulation.recipe;
|
||||
|
||||
import com.viaversion.viaversion.api.protocol.version.ProtocolVersion;
|
||||
import com.viaversion.viafabricplus.protocoltranslator.ProtocolTranslator;
|
||||
import com.viaversion.viaversion.api.protocol.version.ProtocolVersion;
|
||||
import net.minecraft.block.entity.BannerPattern;
|
||||
import net.minecraft.component.DataComponentTypes;
|
||||
import net.minecraft.component.type.BannerPatternsComponent;
|
||||
@ -131,7 +131,8 @@ public final class AddBannerPatternRecipe extends SpecialCraftingRecipe {
|
||||
}
|
||||
}
|
||||
}
|
||||
if (!foundBaseItem || (!foundDye && ProtocolTranslator.getTargetVersion().newerThan(ProtocolVersion.v1_10))) matches = false;
|
||||
if (!foundBaseItem || (!foundDye && ProtocolTranslator.getTargetVersion().newerThan(ProtocolVersion.v1_10)))
|
||||
matches = false;
|
||||
} else if (input.size() == pattern.getRecipePattern().length * pattern.getRecipePattern()[0].length()) {
|
||||
DyeColor patternColor = null;
|
||||
for (int i = 0; i < input.size(); i++) {
|
||||
|
@ -21,8 +21,8 @@
|
||||
|
||||
package com.viaversion.viafabricplus.features.emulation.recipe;
|
||||
|
||||
import com.viaversion.viaversion.api.protocol.version.ProtocolVersion;
|
||||
import com.viaversion.viafabricplus.protocoltranslator.ProtocolTranslator;
|
||||
import com.viaversion.viaversion.api.protocol.version.ProtocolVersion;
|
||||
import net.minecraft.block.Blocks;
|
||||
import net.minecraft.client.MinecraftClient;
|
||||
import net.minecraft.client.network.ClientPlayNetworkHandler;
|
||||
|
@ -21,8 +21,8 @@
|
||||
|
||||
package com.viaversion.viafabricplus.features.entity.attribute;
|
||||
|
||||
import com.viaversion.viaversion.api.protocol.version.ProtocolVersion;
|
||||
import com.viaversion.viafabricplus.protocoltranslator.ProtocolTranslator;
|
||||
import com.viaversion.viaversion.api.protocol.version.ProtocolVersion;
|
||||
import net.fabricmc.fabric.api.client.event.lifecycle.v1.ClientTickEvents;
|
||||
import net.minecraft.enchantment.Enchantment;
|
||||
import net.minecraft.enchantment.EnchantmentHelper;
|
||||
|
@ -21,8 +21,8 @@
|
||||
|
||||
package com.viaversion.viafabricplus.features.entity.riding_offset;
|
||||
|
||||
import com.viaversion.viaversion.api.protocol.version.ProtocolVersion;
|
||||
import com.viaversion.viafabricplus.protocoltranslator.ProtocolTranslator;
|
||||
import com.viaversion.viaversion.api.protocol.version.ProtocolVersion;
|
||||
import net.minecraft.entity.Entity;
|
||||
import net.minecraft.entity.EntityDimensions;
|
||||
import net.minecraft.entity.EntityPose;
|
||||
|
@ -21,8 +21,8 @@
|
||||
|
||||
package com.viaversion.viafabricplus.features.footstep_particle;
|
||||
|
||||
import com.viaversion.viaversion.api.protocol.version.ProtocolVersion;
|
||||
import com.viaversion.viafabricplus.protocoltranslator.ProtocolTranslator;
|
||||
import com.viaversion.viaversion.api.protocol.version.ProtocolVersion;
|
||||
import net.fabricmc.fabric.api.client.particle.v1.ParticleFactoryRegistry;
|
||||
import net.fabricmc.fabric.api.particle.v1.FabricParticleTypes;
|
||||
import net.minecraft.client.particle.*;
|
||||
@ -35,7 +35,6 @@ import net.minecraft.registry.Registry;
|
||||
import net.minecraft.util.Identifier;
|
||||
import net.minecraft.util.math.MathHelper;
|
||||
import net.minecraft.util.math.Vec3d;
|
||||
import org.jetbrains.annotations.ApiStatus;
|
||||
|
||||
public final class FootStepParticle1_12_2 extends SpriteBillboardParticle {
|
||||
|
||||
|
@ -21,9 +21,9 @@
|
||||
|
||||
package com.viaversion.viafabricplus.features.interaction.r1_18_2_block_ack_emulation;
|
||||
|
||||
import com.viaversion.viaversion.api.protocol.version.ProtocolVersion;
|
||||
import com.viaversion.viafabricplus.ViaFabricPlusImpl;
|
||||
import com.viaversion.viafabricplus.protocoltranslator.ProtocolTranslator;
|
||||
import com.viaversion.viaversion.api.protocol.version.ProtocolVersion;
|
||||
import it.unimi.dsi.fastutil.objects.Object2ObjectLinkedOpenHashMap;
|
||||
import net.minecraft.block.Block;
|
||||
import net.minecraft.block.BlockState;
|
||||
|
@ -21,10 +21,10 @@
|
||||
|
||||
package com.viaversion.viafabricplus.features.item.filter_creative_tabs;
|
||||
|
||||
import com.viaversion.vialoader.util.VersionRange;
|
||||
import com.viaversion.viaversion.api.protocol.version.ProtocolVersion;
|
||||
import com.viaversion.viafabricplus.injection.access.base.IClientConnection;
|
||||
import com.viaversion.viafabricplus.protocoltranslator.ProtocolTranslator;
|
||||
import com.viaversion.vialoader.util.VersionRange;
|
||||
import com.viaversion.viaversion.api.protocol.version.ProtocolVersion;
|
||||
import net.minecraft.client.MinecraftClient;
|
||||
import net.minecraft.client.network.ClientPlayNetworkHandler;
|
||||
import net.minecraft.item.Item;
|
||||
|
@ -21,8 +21,8 @@
|
||||
|
||||
package com.viaversion.viafabricplus.features.networking.resource_pack_header;
|
||||
|
||||
import com.viaversion.viaversion.api.protocol.version.ProtocolVersion;
|
||||
import com.viaversion.viafabricplus.protocoltranslator.ProtocolTranslator;
|
||||
import com.viaversion.viaversion.api.protocol.version.ProtocolVersion;
|
||||
import net.minecraft.GameVersion;
|
||||
import net.minecraft.SaveVersion;
|
||||
import net.minecraft.SharedConstants;
|
||||
|
@ -21,11 +21,11 @@
|
||||
|
||||
package com.viaversion.viafabricplus.features.world.item_picking;
|
||||
|
||||
import com.viaversion.viafabricplus.protocoltranslator.ProtocolTranslator;
|
||||
import com.viaversion.viaversion.api.protocol.packet.PacketWrapper;
|
||||
import com.viaversion.viaversion.api.type.Types;
|
||||
import com.viaversion.viaversion.protocols.v1_21_2to1_21_4.Protocol1_21_2To1_21_4;
|
||||
import com.viaversion.viaversion.protocols.v1_21to1_21_2.packet.ServerboundPackets1_21_2;
|
||||
import com.viaversion.viafabricplus.protocoltranslator.ProtocolTranslator;
|
||||
import net.minecraft.block.Block;
|
||||
import net.minecraft.block.BlockState;
|
||||
import net.minecraft.block.entity.BlockEntity;
|
||||
|
@ -29,9 +29,11 @@ public interface IClientConnection {
|
||||
void viaFabricPlus$setupPreNettyDecryption();
|
||||
|
||||
ProtocolVersion viaFabricPlus$getTargetVersion();
|
||||
|
||||
void viaFabricPlus$setTargetVersion(final ProtocolVersion serverVersion);
|
||||
|
||||
UserConnection viaFabricPlus$getUserConnection();
|
||||
|
||||
void viaFabricPlus$setUserConnection(final UserConnection userConnection);
|
||||
|
||||
}
|
||||
|
@ -26,6 +26,7 @@ import com.viaversion.viaversion.api.protocol.version.ProtocolVersion;
|
||||
public interface IMultiValueDebugSampleLogImpl {
|
||||
|
||||
ProtocolVersion viaFabricPlus$getForcedVersion();
|
||||
|
||||
void viaFabricPlus$setForcedVersion(final ProtocolVersion version);
|
||||
|
||||
}
|
||||
|
@ -26,12 +26,15 @@ import com.viaversion.viaversion.api.protocol.version.ProtocolVersion;
|
||||
public interface IServerInfo {
|
||||
|
||||
ProtocolVersion viaFabricPlus$forcedVersion();
|
||||
|
||||
void viaFabricPlus$forceVersion(final ProtocolVersion version);
|
||||
|
||||
boolean viaFabricPlus$passedDirectConnectScreen();
|
||||
|
||||
void viaFabricPlus$passDirectConnectScreen(final boolean state);
|
||||
|
||||
ProtocolVersion viaFabricPlus$translatingVersion();
|
||||
|
||||
void viaFabricPlus$setTranslatingVersion(final ProtocolVersion version);
|
||||
|
||||
}
|
||||
|
@ -21,8 +21,8 @@
|
||||
|
||||
package com.viaversion.viafabricplus.injection.mixin.base.access;
|
||||
|
||||
import com.viaversion.viaversion.api.protocol.version.ProtocolVersion;
|
||||
import com.viaversion.viafabricplus.injection.access.base.IMultiValueDebugSampleLogImpl;
|
||||
import com.viaversion.viaversion.api.protocol.version.ProtocolVersion;
|
||||
import net.minecraft.util.profiler.MultiValueDebugSampleLogImpl;
|
||||
import org.spongepowered.asm.mixin.Mixin;
|
||||
import org.spongepowered.asm.mixin.Unique;
|
||||
|
@ -25,16 +25,16 @@ import com.llamalad7.mixinextras.injector.v2.WrapWithCondition;
|
||||
import com.llamalad7.mixinextras.injector.wrapoperation.Operation;
|
||||
import com.llamalad7.mixinextras.injector.wrapoperation.WrapOperation;
|
||||
import com.llamalad7.mixinextras.sugar.Local;
|
||||
import com.viaversion.viafabricplus.injection.access.base.IClientConnection;
|
||||
import com.viaversion.viafabricplus.injection.access.base.IMultiValueDebugSampleLogImpl;
|
||||
import com.viaversion.viafabricplus.protocoltranslator.ProtocolTranslator;
|
||||
import com.viaversion.viafabricplus.protocoltranslator.netty.ViaFabricPlusVLLegacyPipeline;
|
||||
import com.viaversion.vialoader.netty.CompressionReorderEvent;
|
||||
import com.viaversion.vialoader.netty.VLLegacyPipeline;
|
||||
import com.viaversion.vialoader.netty.VLPipeline;
|
||||
import com.viaversion.vialoader.netty.viabedrock.PingEncapsulationCodec;
|
||||
import com.viaversion.viaversion.api.connection.UserConnection;
|
||||
import com.viaversion.viaversion.api.protocol.version.ProtocolVersion;
|
||||
import com.viaversion.viafabricplus.injection.access.base.IClientConnection;
|
||||
import com.viaversion.viafabricplus.injection.access.base.IMultiValueDebugSampleLogImpl;
|
||||
import com.viaversion.viafabricplus.protocoltranslator.ProtocolTranslator;
|
||||
import com.viaversion.viafabricplus.protocoltranslator.netty.ViaFabricPlusVLLegacyPipeline;
|
||||
import io.netty.bootstrap.AbstractBootstrap;
|
||||
import io.netty.bootstrap.Bootstrap;
|
||||
import io.netty.channel.*;
|
||||
|
@ -21,15 +21,15 @@
|
||||
|
||||
package com.viaversion.viafabricplus.injection.mixin.base.integration;
|
||||
|
||||
import com.viaversion.viaversion.api.connection.ProtocolInfo;
|
||||
import com.viaversion.viaversion.api.connection.UserConnection;
|
||||
import com.viaversion.viafabricplus.protocoltranslator.protocol.storage.BedrockJoinGameTracker;
|
||||
import com.viaversion.viafabricplus.injection.ViaFabricPlusMixinPlugin;
|
||||
import com.viaversion.viafabricplus.injection.access.base.bedrock.IChunkTracker;
|
||||
import com.viaversion.viafabricplus.injection.access.base.bedrock.IRakSessionCodec;
|
||||
import com.viaversion.viafabricplus.protocoltranslator.ProtocolTranslator;
|
||||
import com.viaversion.viafabricplus.protocoltranslator.protocol.storage.BedrockJoinGameTracker;
|
||||
import com.viaversion.viafabricplus.settings.impl.GeneralSettings;
|
||||
import com.viaversion.viafabricplus.util.ChatUtil;
|
||||
import com.viaversion.viaversion.api.connection.ProtocolInfo;
|
||||
import com.viaversion.viaversion.api.connection.UserConnection;
|
||||
import net.minecraft.client.MinecraftClient;
|
||||
import net.minecraft.client.gui.hud.DebugHud;
|
||||
import net.minecraft.util.Formatting;
|
||||
|
@ -21,9 +21,9 @@
|
||||
|
||||
package com.viaversion.viafabricplus.injection.mixin.base.integration;
|
||||
|
||||
import com.viaversion.viaversion.api.protocol.version.ProtocolVersion;
|
||||
import com.viaversion.viafabricplus.injection.access.base.IClientConnection;
|
||||
import com.viaversion.viafabricplus.injection.access.base.IServerInfo;
|
||||
import com.viaversion.viaversion.api.protocol.version.ProtocolVersion;
|
||||
import net.minecraft.SharedConstants;
|
||||
import net.minecraft.client.network.ServerInfo;
|
||||
import net.minecraft.network.ClientConnection;
|
||||
|
@ -22,9 +22,9 @@
|
||||
package com.viaversion.viafabricplus.injection.mixin.base.integration;
|
||||
|
||||
import com.llamalad7.mixinextras.sugar.Local;
|
||||
import com.viaversion.viaversion.api.protocol.version.ProtocolVersion;
|
||||
import com.viaversion.viafabricplus.injection.access.base.IServerInfo;
|
||||
import com.viaversion.viafabricplus.save.impl.SettingsSave;
|
||||
import com.viaversion.viaversion.api.protocol.version.ProtocolVersion;
|
||||
import net.minecraft.client.network.ServerInfo;
|
||||
import net.minecraft.nbt.NbtCompound;
|
||||
import org.spongepowered.asm.mixin.Mixin;
|
||||
|
@ -21,8 +21,8 @@
|
||||
|
||||
package com.viaversion.viafabricplus.injection.mixin.base.integration;
|
||||
|
||||
import com.viaversion.viaversion.connection.UserConnectionImpl;
|
||||
import com.viaversion.viafabricplus.protocoltranslator.util.NoPacketSendChannel;
|
||||
import com.viaversion.viaversion.connection.UserConnectionImpl;
|
||||
import io.netty.buffer.ByteBuf;
|
||||
import io.netty.channel.Channel;
|
||||
import org.spongepowered.asm.mixin.Final;
|
||||
|
@ -31,7 +31,7 @@ import org.spongepowered.asm.mixin.injection.callback.CallbackInfoReturnable;
|
||||
@Mixin(value = ViaLegacyConfig.class, remap = false)
|
||||
public abstract class MixinViaLegacyConfig {
|
||||
|
||||
@Inject(method = { "isLegacySkullLoading", "isLegacySkinLoading" }, at = @At("HEAD"), cancellable = true)
|
||||
@Inject(method = {"isLegacySkullLoading", "isLegacySkinLoading"}, at = @At("HEAD"), cancellable = true)
|
||||
private void replaceWithVFPSetting(CallbackInfoReturnable<Boolean> cir) {
|
||||
cir.setReturnValue(GeneralSettings.INSTANCE.loadSkinsAndSkullsInLegacyVersions.getValue());
|
||||
}
|
||||
|
@ -22,11 +22,11 @@
|
||||
package com.viaversion.viafabricplus.injection.mixin.base.integration.bedrock;
|
||||
|
||||
import com.llamalad7.mixinextras.sugar.Local;
|
||||
import com.viaversion.viafabricplus.save.SaveManager;
|
||||
import com.viaversion.viaversion.api.connection.UserConnection;
|
||||
import com.viaversion.viafabricplus.ViaFabricPlusImpl;
|
||||
import com.viaversion.viafabricplus.injection.access.base.IClientConnection;
|
||||
import com.viaversion.viafabricplus.protocoltranslator.ProtocolTranslator;
|
||||
import com.viaversion.viafabricplus.save.SaveManager;
|
||||
import com.viaversion.viaversion.api.connection.UserConnection;
|
||||
import net.minecraft.network.ClientConnection;
|
||||
import net.raphimc.minecraftauth.step.bedrock.StepMCChain;
|
||||
import net.raphimc.minecraftauth.step.bedrock.session.StepFullBedrockSession;
|
||||
|
@ -21,9 +21,9 @@
|
||||
|
||||
package com.viaversion.viafabricplus.injection.mixin.base.integration.bedrock;
|
||||
|
||||
import com.viaversion.viafabricplus.protocoltranslator.protocol.storage.BedrockJoinGameTracker;
|
||||
import com.viaversion.viaversion.api.protocol.packet.PacketWrapper;
|
||||
import com.viaversion.viaversion.api.type.Type;
|
||||
import com.viaversion.viafabricplus.protocoltranslator.protocol.storage.BedrockJoinGameTracker;
|
||||
import net.raphimc.viabedrock.protocol.packet.JoinPackets;
|
||||
import net.raphimc.viabedrock.protocol.types.primitive.LongLEType;
|
||||
import net.raphimc.viabedrock.protocol.types.primitive.StringType;
|
||||
|
@ -21,8 +21,8 @@
|
||||
|
||||
package com.viaversion.viafabricplus.injection.mixin.base.integration.sync_tasks;
|
||||
|
||||
import com.viaversion.viafabricplus.base.sync_tasks.SyncTasks;
|
||||
import com.viaversion.viafabricplus.base.sync_tasks.DataCustomPayload;
|
||||
import com.viaversion.viafabricplus.base.sync_tasks.SyncTasks;
|
||||
import net.minecraft.client.network.ClientCommonNetworkHandler;
|
||||
import net.minecraft.network.packet.s2c.common.CustomPayloadS2CPacket;
|
||||
import org.spongepowered.asm.mixin.Mixin;
|
||||
|
@ -21,10 +21,10 @@
|
||||
|
||||
package com.viaversion.viafabricplus.injection.mixin.base.ui;
|
||||
|
||||
import com.viaversion.viaversion.api.protocol.version.ProtocolVersion;
|
||||
import com.viaversion.viafabricplus.injection.access.base.IServerInfo;
|
||||
import com.viaversion.viafabricplus.screen.impl.PerServerVersionScreen;
|
||||
import com.viaversion.viafabricplus.settings.impl.GeneralSettings;
|
||||
import com.viaversion.viaversion.api.protocol.version.ProtocolVersion;
|
||||
import net.minecraft.client.gui.screen.Screen;
|
||||
import net.minecraft.client.gui.screen.multiplayer.AddServerScreen;
|
||||
import net.minecraft.client.gui.widget.ButtonWidget;
|
||||
|
@ -23,15 +23,14 @@ package com.viaversion.viafabricplus.injection.mixin.base.ui;
|
||||
|
||||
import com.llamalad7.mixinextras.injector.wrapoperation.Operation;
|
||||
import com.llamalad7.mixinextras.injector.wrapoperation.WrapOperation;
|
||||
import com.viaversion.viafabricplus.save.SaveManager;
|
||||
import com.viaversion.viaversion.api.protocol.version.ProtocolVersion;
|
||||
import de.florianmichael.classic4j.model.classicube.account.CCAccount;
|
||||
import com.viaversion.viafabricplus.ViaFabricPlusImpl;
|
||||
import com.viaversion.viafabricplus.injection.access.base.IServerInfo;
|
||||
import com.viaversion.viafabricplus.protocoltranslator.ProtocolTranslator;
|
||||
import com.viaversion.viafabricplus.protocoltranslator.impl.provider.vialegacy.ViaFabricPlusClassicMPPassProvider;
|
||||
import com.viaversion.viafabricplus.protocoltranslator.util.ProtocolVersionDetector;
|
||||
import com.viaversion.viafabricplus.save.SaveManager;
|
||||
import com.viaversion.viafabricplus.settings.impl.AuthenticationSettings;
|
||||
import com.viaversion.viaversion.api.protocol.version.ProtocolVersion;
|
||||
import de.florianmichael.classic4j.model.classicube.account.CCAccount;
|
||||
import io.netty.channel.ChannelFuture;
|
||||
import net.minecraft.client.gui.screen.multiplayer.ConnectScreen;
|
||||
import net.minecraft.client.network.ServerInfo;
|
||||
|
@ -21,10 +21,10 @@
|
||||
|
||||
package com.viaversion.viafabricplus.injection.mixin.base.ui;
|
||||
|
||||
import com.viaversion.viaversion.api.connection.UserConnection;
|
||||
import com.viaversion.viafabricplus.protocoltranslator.ProtocolTranslator;
|
||||
import com.viaversion.viafabricplus.settings.impl.GeneralSettings;
|
||||
import com.viaversion.viafabricplus.util.ChatUtil;
|
||||
import com.viaversion.viaversion.api.connection.UserConnection;
|
||||
import net.minecraft.client.gui.DrawContext;
|
||||
import net.minecraft.client.gui.screen.DownloadingTerrainScreen;
|
||||
import net.minecraft.client.gui.screen.Screen;
|
||||
|
@ -24,12 +24,12 @@ package com.viaversion.viafabricplus.injection.mixin.base.ui;
|
||||
import com.llamalad7.mixinextras.injector.wrapoperation.Operation;
|
||||
import com.llamalad7.mixinextras.injector.wrapoperation.WrapOperation;
|
||||
import com.llamalad7.mixinextras.sugar.Local;
|
||||
import com.viaversion.viafabricplus.settings.impl.BedrockSettings;
|
||||
import com.viaversion.viaversion.api.protocol.version.ProtocolVersion;
|
||||
import com.viaversion.viafabricplus.injection.access.base.IServerInfo;
|
||||
import com.viaversion.viafabricplus.protocoltranslator.ProtocolTranslator;
|
||||
import com.viaversion.viafabricplus.screen.impl.ProtocolSelectionScreen;
|
||||
import com.viaversion.viafabricplus.settings.impl.BedrockSettings;
|
||||
import com.viaversion.viafabricplus.settings.impl.GeneralSettings;
|
||||
import com.viaversion.viaversion.api.protocol.version.ProtocolVersion;
|
||||
import net.minecraft.client.gui.screen.Screen;
|
||||
import net.minecraft.client.gui.screen.multiplayer.MultiplayerScreen;
|
||||
import net.minecraft.client.gui.widget.ButtonWidget;
|
||||
|
@ -42,7 +42,9 @@ import java.util.List;
|
||||
@Mixin(MultiplayerServerListWidget.ServerEntry.class)
|
||||
public abstract class MixinMultiplayerServerListWidget_ServerEntry {
|
||||
|
||||
@Shadow @Final private ServerInfo server;
|
||||
@Shadow
|
||||
@Final
|
||||
private ServerInfo server;
|
||||
|
||||
@WrapOperation(method = "render", at = @At(value = "INVOKE", target = "Lnet/minecraft/client/gui/screen/multiplayer/MultiplayerScreen;setTooltip(Lnet/minecraft/text/Text;)V"))
|
||||
private void drawTranslatingState(MultiplayerScreen instance, Text text, Operation<Void> original) {
|
||||
|
@ -21,8 +21,8 @@
|
||||
|
||||
package com.viaversion.viafabricplus.injection.mixin.compat.ipnext;
|
||||
|
||||
import com.viaversion.viaversion.api.protocol.version.ProtocolVersion;
|
||||
import com.viaversion.viafabricplus.protocoltranslator.ProtocolTranslator;
|
||||
import com.viaversion.viaversion.api.protocol.version.ProtocolVersion;
|
||||
import org.spongepowered.asm.mixin.Mixin;
|
||||
import org.spongepowered.asm.mixin.Pseudo;
|
||||
import org.spongepowered.asm.mixin.Shadow;
|
||||
@ -44,7 +44,7 @@ public abstract class MixinAutoRefillHandler_ItemSlotMonitor {
|
||||
@Shadow
|
||||
public int currentSlotId;
|
||||
|
||||
@Inject(method = { "checkHandle", "checkShouldHandle" }, at = @At("HEAD"), cancellable = true)
|
||||
@Inject(method = {"checkHandle", "checkShouldHandle"}, at = @At("HEAD"), cancellable = true)
|
||||
public void dontHandleOffhandSlot(CallbackInfo ci) {
|
||||
if (ProtocolTranslator.getTargetVersion().olderThanOrEqualTo(ProtocolVersion.v1_8)) {
|
||||
if (currentSlotId == 45) ci.cancel();
|
||||
|
@ -21,8 +21,8 @@
|
||||
|
||||
package com.viaversion.viafabricplus.injection.mixin.compat.lithium;
|
||||
|
||||
import com.viaversion.viaversion.api.protocol.version.ProtocolVersion;
|
||||
import com.viaversion.viafabricplus.protocoltranslator.ProtocolTranslator;
|
||||
import com.viaversion.viaversion.api.protocol.version.ProtocolVersion;
|
||||
import net.minecraft.entity.Entity;
|
||||
import org.spongepowered.asm.mixin.Mixin;
|
||||
import org.spongepowered.asm.mixin.injection.At;
|
||||
|
@ -59,9 +59,11 @@ public abstract class MixinTextRenderer {
|
||||
@Shadow
|
||||
public abstract int getWidth(OrderedText text);
|
||||
|
||||
@Shadow public abstract boolean isRightToLeft();
|
||||
@Shadow
|
||||
public abstract boolean isRightToLeft();
|
||||
|
||||
@Shadow protected abstract int drawInternal(OrderedText text, float x, float y, int color, boolean shadow, Matrix4f matrix, VertexConsumerProvider vertexConsumerProvider, TextRenderer.TextLayerType layerType, int backgroundColor, int light, boolean swapZIndex);
|
||||
@Shadow
|
||||
protected abstract int drawInternal(OrderedText text, float x, float y, int color, boolean shadow, Matrix4f matrix, VertexConsumerProvider vertexConsumerProvider, TextRenderer.TextLayerType layerType, int backgroundColor, int light, boolean swapZIndex);
|
||||
|
||||
@Inject(method = "draw(Ljava/lang/String;FFIZLorg/joml/Matrix4f;Lnet/minecraft/client/render/VertexConsumerProvider;Lnet/minecraft/client/font/TextRenderer$TextLayerType;II)I", at = @At("HEAD"), cancellable = true)
|
||||
private void allowNewLines_String(String text, float x, float y, int color, boolean shadow, Matrix4f matrix, VertexConsumerProvider vertexConsumers, TextRenderer.TextLayerType layerType, int backgroundColor, int light, CallbackInfoReturnable<Integer> cir) {
|
||||
|
@ -47,9 +47,12 @@ import org.spongepowered.asm.mixin.injection.callback.CallbackInfoReturnable;
|
||||
@Mixin(PlayerEntity.class)
|
||||
public abstract class MixinPlayerEntity extends LivingEntity {
|
||||
|
||||
@Shadow @Final private PlayerInventory inventory;
|
||||
@Shadow
|
||||
@Final
|
||||
private PlayerInventory inventory;
|
||||
|
||||
@Shadow public abstract boolean canHarvest(BlockState state);
|
||||
@Shadow
|
||||
public abstract boolean canHarvest(BlockState state);
|
||||
|
||||
protected MixinPlayerEntity(EntityType<? extends LivingEntity> entityType, World world) {
|
||||
super(entityType, world);
|
||||
|
@ -60,7 +60,7 @@ public abstract class MixinPaneBlock extends HorizontalConnectingBlock {
|
||||
final VoxelShape northEastCornerShape = VoxelShapes.union(northShape, eastShape);
|
||||
final VoxelShape southWestCornerShape = VoxelShapes.union(southShape, westShape);
|
||||
|
||||
viaFabricPlus$shape_r1_8 = new VoxelShape[] {
|
||||
viaFabricPlus$shape_r1_8 = new VoxelShape[]{
|
||||
VoxelShapes.empty(),
|
||||
Block.createCuboidShape(h, (float) 0.0, h + 1, i, (float) 16.0, 16.0D), // south
|
||||
Block.createCuboidShape(0.0D, (float) 0.0, h, i - 1, (float) 16.0, i), // west
|
||||
|
@ -29,7 +29,7 @@ import org.spongepowered.asm.mixin.injection.Redirect;
|
||||
@Mixin(value = CommonBoss.class, remap = false)
|
||||
public abstract class MixinCommonBoss {
|
||||
|
||||
@Redirect(method = { "<init>", "setHealth" }, at = @At(value = "INVOKE", target = "Lcom/google/common/base/Preconditions;checkArgument(ZLjava/lang/Object;)V"))
|
||||
@Redirect(method = {"<init>", "setHealth"}, at = @At(value = "INVOKE", target = "Lcom/google/common/base/Preconditions;checkArgument(ZLjava/lang/Object;)V"))
|
||||
private void ignoreHealthCheck(boolean expression, Object errorMessage) {
|
||||
}
|
||||
|
||||
|
@ -21,12 +21,12 @@
|
||||
|
||||
package com.viaversion.viafabricplus.injection.mixin.features.entity.metadata_handling;
|
||||
|
||||
import com.viaversion.viafabricplus.features.entity.metadata_handling.WolfHealthTracker1_14_4;
|
||||
import com.viaversion.viaversion.protocols.v1_14_3to1_14_4.packet.ClientboundPackets1_14_4;
|
||||
import com.viaversion.viaversion.protocols.v1_14_4to1_15.Protocol1_14_4To1_15;
|
||||
import com.viaversion.viaversion.protocols.v1_14_4to1_15.rewriter.EntityPacketRewriter1_15;
|
||||
import com.viaversion.viaversion.rewriter.EntityRewriter;
|
||||
import com.viaversion.viaversion.rewriter.entitydata.EntityDataFilter;
|
||||
import com.viaversion.viafabricplus.features.entity.metadata_handling.WolfHealthTracker1_14_4;
|
||||
import org.spongepowered.asm.mixin.Mixin;
|
||||
import org.spongepowered.asm.mixin.injection.At;
|
||||
import org.spongepowered.asm.mixin.injection.Redirect;
|
||||
|
@ -22,8 +22,8 @@
|
||||
package com.viaversion.viafabricplus.injection.mixin.features.entity.pose;
|
||||
|
||||
import com.mojang.authlib.GameProfile;
|
||||
import com.viaversion.viaversion.api.protocol.version.ProtocolVersion;
|
||||
import com.viaversion.viafabricplus.protocoltranslator.ProtocolTranslator;
|
||||
import com.viaversion.viaversion.api.protocol.version.ProtocolVersion;
|
||||
import net.minecraft.client.network.AbstractClientPlayerEntity;
|
||||
import net.minecraft.client.network.OtherClientPlayerEntity;
|
||||
import net.minecraft.client.world.ClientWorld;
|
||||
|
@ -22,9 +22,9 @@
|
||||
package com.viaversion.viafabricplus.injection.mixin.features.entity.r1_8_boat;
|
||||
|
||||
import com.llamalad7.mixinextras.sugar.Local;
|
||||
import com.viaversion.viaversion.api.protocol.version.ProtocolVersion;
|
||||
import com.viaversion.viafabricplus.features.entity.r1_8_boat.BoatRenderer1_8;
|
||||
import com.viaversion.viafabricplus.protocoltranslator.ProtocolTranslator;
|
||||
import com.viaversion.viaversion.api.protocol.version.ProtocolVersion;
|
||||
import net.minecraft.client.render.entity.EntityRenderDispatcher;
|
||||
import net.minecraft.client.render.entity.EntityRenderer;
|
||||
import net.minecraft.client.render.entity.EntityRendererFactory;
|
||||
|
@ -21,8 +21,8 @@
|
||||
|
||||
package com.viaversion.viafabricplus.injection.mixin.features.footstep_particle;
|
||||
|
||||
import com.viaversion.viaversion.api.data.MappingDataBase;
|
||||
import com.viaversion.viafabricplus.features.footstep_particle.FootStepParticle1_12_2;
|
||||
import com.viaversion.viaversion.api.data.MappingDataBase;
|
||||
import org.spongepowered.asm.mixin.Mixin;
|
||||
import org.spongepowered.asm.mixin.injection.At;
|
||||
import org.spongepowered.asm.mixin.injection.Inject;
|
||||
|
@ -21,8 +21,8 @@
|
||||
|
||||
package com.viaversion.viafabricplus.injection.mixin.features.footstep_particle;
|
||||
|
||||
import com.viaversion.viaversion.protocols.v1_12_2to1_13.data.ParticleIdMappings1_13;
|
||||
import com.viaversion.viafabricplus.features.footstep_particle.FootStepParticle1_12_2;
|
||||
import com.viaversion.viaversion.protocols.v1_12_2to1_13.data.ParticleIdMappings1_13;
|
||||
import org.spongepowered.asm.mixin.Final;
|
||||
import org.spongepowered.asm.mixin.Mixin;
|
||||
import org.spongepowered.asm.mixin.Shadow;
|
||||
|
@ -21,10 +21,10 @@
|
||||
|
||||
package com.viaversion.viafabricplus.injection.mixin.features.footstep_particle;
|
||||
|
||||
import com.viaversion.viafabricplus.features.footstep_particle.FootStepParticle1_12_2;
|
||||
import com.viaversion.viaversion.api.data.FullMappingsBase;
|
||||
import com.viaversion.viaversion.api.data.Mappings;
|
||||
import com.viaversion.viaversion.api.data.ParticleMappings;
|
||||
import com.viaversion.viafabricplus.features.footstep_particle.FootStepParticle1_12_2;
|
||||
import org.spongepowered.asm.mixin.Mixin;
|
||||
|
||||
import java.util.List;
|
||||
|
@ -22,15 +22,15 @@
|
||||
package com.viaversion.viafabricplus.injection.mixin.features.interaction.container_clicking;
|
||||
|
||||
import com.llamalad7.mixinextras.injector.v2.WrapWithCondition;
|
||||
import com.viaversion.viafabricplus.injection.access.base.IClientConnection;
|
||||
import com.viaversion.viafabricplus.injection.access.interaction.container_clicking.IScreenHandler;
|
||||
import com.viaversion.viafabricplus.protocoltranslator.ProtocolTranslator;
|
||||
import com.viaversion.viafabricplus.protocoltranslator.translator.ItemTranslator;
|
||||
import com.viaversion.viaversion.api.protocol.packet.PacketWrapper;
|
||||
import com.viaversion.viaversion.api.protocol.version.ProtocolVersion;
|
||||
import com.viaversion.viaversion.api.type.Types;
|
||||
import com.viaversion.viaversion.protocols.v1_16_1to1_16_2.packet.ServerboundPackets1_16_2;
|
||||
import com.viaversion.viaversion.protocols.v1_16_4to1_17.Protocol1_16_4To1_17;
|
||||
import com.viaversion.viafabricplus.injection.access.base.IClientConnection;
|
||||
import com.viaversion.viafabricplus.injection.access.interaction.container_clicking.IScreenHandler;
|
||||
import com.viaversion.viafabricplus.protocoltranslator.ProtocolTranslator;
|
||||
import com.viaversion.viafabricplus.protocoltranslator.translator.ItemTranslator;
|
||||
import net.minecraft.client.MinecraftClient;
|
||||
import net.minecraft.client.network.ClientPlayNetworkHandler;
|
||||
import net.minecraft.client.network.ClientPlayerInteractionManager;
|
||||
@ -40,7 +40,10 @@ import net.minecraft.network.packet.Packet;
|
||||
import net.minecraft.network.packet.c2s.play.ClickSlotC2SPacket;
|
||||
import net.minecraft.screen.slot.SlotActionType;
|
||||
import net.raphimc.vialegacy.api.LegacyProtocolVersion;
|
||||
import org.spongepowered.asm.mixin.*;
|
||||
import org.spongepowered.asm.mixin.Final;
|
||||
import org.spongepowered.asm.mixin.Mixin;
|
||||
import org.spongepowered.asm.mixin.Shadow;
|
||||
import org.spongepowered.asm.mixin.Unique;
|
||||
import org.spongepowered.asm.mixin.injection.At;
|
||||
import org.spongepowered.asm.mixin.injection.Inject;
|
||||
import org.spongepowered.asm.mixin.injection.ModifyVariable;
|
||||
|
@ -21,8 +21,8 @@
|
||||
|
||||
package com.viaversion.viafabricplus.injection.mixin.features.interaction.container_clicking;
|
||||
|
||||
import com.viaversion.viaversion.api.protocol.version.ProtocolVersion;
|
||||
import com.viaversion.viafabricplus.protocoltranslator.ProtocolTranslator;
|
||||
import com.viaversion.viaversion.api.protocol.version.ProtocolVersion;
|
||||
import net.minecraft.item.ItemStack;
|
||||
import net.minecraft.screen.AbstractCraftingScreenHandler;
|
||||
import net.minecraft.screen.CraftingScreenHandler;
|
||||
|
@ -21,9 +21,9 @@
|
||||
|
||||
package com.viaversion.viafabricplus.injection.mixin.features.interaction.container_clicking;
|
||||
|
||||
import com.viaversion.viaversion.api.protocol.version.ProtocolVersion;
|
||||
import com.viaversion.viafabricplus.injection.access.interaction.container_clicking.IScreenHandler;
|
||||
import com.viaversion.viafabricplus.protocoltranslator.ProtocolTranslator;
|
||||
import com.viaversion.viaversion.api.protocol.version.ProtocolVersion;
|
||||
import net.minecraft.item.ItemStack;
|
||||
import net.minecraft.screen.ScreenHandler;
|
||||
import org.spongepowered.asm.mixin.Mixin;
|
||||
|
@ -22,14 +22,14 @@
|
||||
package com.viaversion.viafabricplus.injection.mixin.features.interaction.r1_18_2_block_ack_emulation;
|
||||
|
||||
import com.viaversion.viafabricplus.base.sync_tasks.SyncTasks;
|
||||
import com.viaversion.viafabricplus.injection.access.interaction.r1_18_2_block_ack_emulation.IClientPlayerInteractionManager;
|
||||
import com.viaversion.viafabricplus.protocoltranslator.translator.BlockStateTranslator;
|
||||
import com.viaversion.viaversion.api.protocol.packet.ClientboundPacketType;
|
||||
import com.viaversion.viaversion.api.type.Types;
|
||||
import com.viaversion.viaversion.protocols.v1_17_1to1_18.packet.ClientboundPackets1_18;
|
||||
import com.viaversion.viaversion.protocols.v1_18_2to1_19.Protocol1_18_2To1_19;
|
||||
import com.viaversion.viaversion.protocols.v1_18_2to1_19.packet.ClientboundPackets1_19;
|
||||
import com.viaversion.viaversion.protocols.v1_18_2to1_19.rewriter.WorldPacketRewriter1_19;
|
||||
import com.viaversion.viafabricplus.injection.access.interaction.r1_18_2_block_ack_emulation.IClientPlayerInteractionManager;
|
||||
import com.viaversion.viafabricplus.protocoltranslator.translator.BlockStateTranslator;
|
||||
import net.minecraft.block.BlockState;
|
||||
import net.minecraft.client.MinecraftClient;
|
||||
import net.minecraft.network.packet.c2s.play.PlayerActionC2SPacket;
|
||||
|
@ -21,8 +21,8 @@
|
||||
|
||||
package com.viaversion.viafabricplus.injection.mixin.features.interaction.remove_fuel_slot;
|
||||
|
||||
import com.viaversion.viaversion.api.protocol.version.ProtocolVersion;
|
||||
import com.viaversion.viafabricplus.protocoltranslator.ProtocolTranslator;
|
||||
import com.viaversion.viaversion.api.protocol.version.ProtocolVersion;
|
||||
import net.minecraft.inventory.Inventory;
|
||||
import net.minecraft.screen.slot.Slot;
|
||||
import org.spongepowered.asm.mixin.Mixin;
|
||||
|
@ -21,8 +21,8 @@
|
||||
|
||||
package com.viaversion.viafabricplus.injection.mixin.features.interaction.remove_offhand_slot;
|
||||
|
||||
import com.viaversion.viaversion.api.protocol.version.ProtocolVersion;
|
||||
import com.viaversion.viafabricplus.protocoltranslator.ProtocolTranslator;
|
||||
import com.viaversion.viaversion.api.protocol.version.ProtocolVersion;
|
||||
import net.minecraft.screen.AbstractCraftingScreenHandler;
|
||||
import net.minecraft.screen.PlayerScreenHandler;
|
||||
import net.minecraft.screen.ScreenHandlerType;
|
||||
|
@ -21,9 +21,9 @@
|
||||
|
||||
package com.viaversion.viafabricplus.injection.mixin.features.interaction.replace_block_item_use_logic;
|
||||
|
||||
import com.viaversion.viaversion.api.protocol.version.ProtocolVersion;
|
||||
import com.viaversion.viafabricplus.protocoltranslator.ProtocolTranslator;
|
||||
import com.viaversion.viafabricplus.protocoltranslator.impl.ViaFabricPlusMappingDataLoader;
|
||||
import com.viaversion.viaversion.api.protocol.version.ProtocolVersion;
|
||||
import net.minecraft.block.Block;
|
||||
import net.minecraft.block.Blocks;
|
||||
import net.minecraft.entity.player.PlayerEntity;
|
||||
|
@ -22,7 +22,6 @@
|
||||
package com.viaversion.viafabricplus.injection.mixin.features.item.cooldown;
|
||||
|
||||
import com.viaversion.viafabricplus.protocoltranslator.ProtocolTranslator;
|
||||
import com.viaversion.viafabricplus.settings.impl.DebugSettings;
|
||||
import com.viaversion.viaversion.api.protocol.version.ProtocolVersion;
|
||||
import net.minecraft.entity.player.ItemCooldownManager;
|
||||
import org.spongepowered.asm.mixin.Mixin;
|
||||
|
@ -21,9 +21,9 @@
|
||||
|
||||
package com.viaversion.viafabricplus.injection.mixin.features.item.filter_creative_tabs;
|
||||
|
||||
import com.viaversion.viaversion.api.protocol.version.ProtocolVersion;
|
||||
import com.viaversion.viafabricplus.protocoltranslator.ProtocolTranslator;
|
||||
import com.viaversion.viafabricplus.settings.impl.GeneralSettings;
|
||||
import com.viaversion.viaversion.api.protocol.version.ProtocolVersion;
|
||||
import net.minecraft.item.ItemGroup;
|
||||
import net.minecraft.item.ItemGroups;
|
||||
import net.minecraft.registry.RegistryWrapper;
|
||||
|
@ -21,8 +21,8 @@
|
||||
|
||||
package com.viaversion.viafabricplus.injection.mixin.features.item.sword_blocking;
|
||||
|
||||
import com.viaversion.viaversion.api.protocol.version.ProtocolVersion;
|
||||
import com.viaversion.viafabricplus.protocoltranslator.ProtocolTranslator;
|
||||
import com.viaversion.viaversion.api.protocol.version.ProtocolVersion;
|
||||
import net.minecraft.entity.player.PlayerEntity;
|
||||
import net.minecraft.item.Item;
|
||||
import net.minecraft.item.SwordItem;
|
||||
|
@ -23,8 +23,8 @@ package com.viaversion.viafabricplus.injection.mixin.features.mouse_sensitivity;
|
||||
|
||||
import com.llamalad7.mixinextras.injector.wrapoperation.Operation;
|
||||
import com.llamalad7.mixinextras.injector.wrapoperation.WrapOperation;
|
||||
import com.viaversion.viafabricplus.protocoltranslator.ProtocolTranslator;
|
||||
import com.viaversion.viafabricplus.features.mouse_sensitivity.MouseSensitivity1_13_2;
|
||||
import com.viaversion.viafabricplus.protocoltranslator.ProtocolTranslator;
|
||||
import com.viaversion.viaversion.api.protocol.version.ProtocolVersion;
|
||||
import net.minecraft.client.Mouse;
|
||||
import net.minecraft.client.option.SimpleOption;
|
||||
|
@ -21,9 +21,9 @@
|
||||
|
||||
package com.viaversion.viafabricplus.injection.mixin.features.mouse_sensitivity;
|
||||
|
||||
import com.viaversion.viaversion.api.protocol.version.ProtocolVersion;
|
||||
import com.viaversion.viafabricplus.protocoltranslator.ProtocolTranslator;
|
||||
import com.viaversion.viafabricplus.features.mouse_sensitivity.MouseSensitivity1_13_2;
|
||||
import com.viaversion.viafabricplus.protocoltranslator.ProtocolTranslator;
|
||||
import com.viaversion.viaversion.api.protocol.version.ProtocolVersion;
|
||||
import net.minecraft.client.gui.DrawContext;
|
||||
import net.minecraft.client.gui.screen.Screen;
|
||||
import net.minecraft.client.gui.screen.option.GameOptionsScreen;
|
||||
|
@ -22,8 +22,8 @@
|
||||
package com.viaversion.viafabricplus.injection.mixin.features.movement;
|
||||
|
||||
import com.mojang.authlib.GameProfile;
|
||||
import com.viaversion.viaversion.api.protocol.version.ProtocolVersion;
|
||||
import com.viaversion.viafabricplus.protocoltranslator.ProtocolTranslator;
|
||||
import com.viaversion.viaversion.api.protocol.version.ProtocolVersion;
|
||||
import net.minecraft.client.MinecraftClient;
|
||||
import net.minecraft.client.input.Input;
|
||||
import net.minecraft.client.network.AbstractClientPlayerEntity;
|
||||
|
@ -35,7 +35,10 @@ import net.minecraft.util.shape.VoxelShape;
|
||||
import net.minecraft.world.World;
|
||||
import org.spongepowered.asm.mixin.Mixin;
|
||||
import org.spongepowered.asm.mixin.Shadow;
|
||||
import org.spongepowered.asm.mixin.injection.*;
|
||||
import org.spongepowered.asm.mixin.injection.At;
|
||||
import org.spongepowered.asm.mixin.injection.Inject;
|
||||
import org.spongepowered.asm.mixin.injection.Redirect;
|
||||
import org.spongepowered.asm.mixin.injection.Slice;
|
||||
import org.spongepowered.asm.mixin.injection.callback.CallbackInfoReturnable;
|
||||
|
||||
import java.util.List;
|
||||
|
@ -21,8 +21,8 @@
|
||||
|
||||
package com.viaversion.viafabricplus.injection.mixin.features.movement.collision;
|
||||
|
||||
import com.viaversion.viaversion.api.protocol.version.ProtocolVersion;
|
||||
import com.viaversion.viafabricplus.protocoltranslator.ProtocolTranslator;
|
||||
import com.viaversion.viaversion.api.protocol.version.ProtocolVersion;
|
||||
import net.minecraft.block.HoneyBlock;
|
||||
import org.spongepowered.asm.mixin.Mixin;
|
||||
import org.spongepowered.asm.mixin.injection.At;
|
||||
@ -32,7 +32,7 @@ import org.spongepowered.asm.mixin.injection.callback.CallbackInfoReturnable;
|
||||
@Mixin(HoneyBlock.class)
|
||||
public abstract class MixinHoneyBlock {
|
||||
|
||||
@Inject(method = { "method_65067", "method_65068" }, at = @At("HEAD"), cancellable = true)
|
||||
@Inject(method = {"method_65067", "method_65068"}, at = @At("HEAD"), cancellable = true)
|
||||
private static void simplifyVelocityComparisons(double d, CallbackInfoReturnable<Double> cir) {
|
||||
if (ProtocolTranslator.getTargetVersion().olderThanOrEqualTo(ProtocolVersion.v1_21)) {
|
||||
cir.setReturnValue(d);
|
||||
|
@ -21,8 +21,8 @@
|
||||
|
||||
package com.viaversion.viafabricplus.injection.mixin.features.movement.collision;
|
||||
|
||||
import com.viaversion.viaversion.api.protocol.version.ProtocolVersion;
|
||||
import com.viaversion.viafabricplus.protocoltranslator.ProtocolTranslator;
|
||||
import com.viaversion.viaversion.api.protocol.version.ProtocolVersion;
|
||||
import net.minecraft.block.Block;
|
||||
import net.minecraft.block.BlockState;
|
||||
import net.minecraft.block.SoulSandBlock;
|
||||
|
@ -21,8 +21,8 @@
|
||||
|
||||
package com.viaversion.viafabricplus.injection.mixin.features.movement.constants;
|
||||
|
||||
import com.viaversion.viaversion.api.protocol.version.ProtocolVersion;
|
||||
import com.viaversion.viafabricplus.protocoltranslator.ProtocolTranslator;
|
||||
import com.viaversion.viaversion.api.protocol.version.ProtocolVersion;
|
||||
import net.minecraft.client.render.entity.PlayerEntityRenderer;
|
||||
import net.minecraft.client.render.entity.state.PlayerEntityRenderState;
|
||||
import net.minecraft.entity.EntityPose;
|
||||
|
@ -21,13 +21,15 @@
|
||||
|
||||
package com.viaversion.viafabricplus.injection.mixin.features.movement.limitation;
|
||||
|
||||
import com.viaversion.viaversion.api.protocol.version.ProtocolVersion;
|
||||
import com.viaversion.viafabricplus.protocoltranslator.ProtocolTranslator;
|
||||
import net.minecraft.entity.*;
|
||||
import com.viaversion.viaversion.api.protocol.version.ProtocolVersion;
|
||||
import net.minecraft.entity.EntityType;
|
||||
import net.minecraft.entity.LivingEntity;
|
||||
import net.minecraft.entity.player.PlayerEntity;
|
||||
import net.minecraft.world.World;
|
||||
import org.spongepowered.asm.mixin.Mixin;
|
||||
import org.spongepowered.asm.mixin.injection.*;
|
||||
import org.spongepowered.asm.mixin.injection.At;
|
||||
import org.spongepowered.asm.mixin.injection.Inject;
|
||||
import org.spongepowered.asm.mixin.injection.callback.CallbackInfoReturnable;
|
||||
|
||||
@Mixin(PlayerEntity.class)
|
||||
|
@ -40,7 +40,8 @@ import org.spongepowered.asm.mixin.injection.callback.CallbackInfo;
|
||||
@Mixin(value = ClientPlayerEntity.class, priority = 2000)
|
||||
public abstract class MixinClientPlayerEntity extends AbstractClientPlayerEntity {
|
||||
|
||||
@Shadow public Input input;
|
||||
@Shadow
|
||||
public Input input;
|
||||
|
||||
public MixinClientPlayerEntity(ClientWorld world, GameProfile profile) {
|
||||
super(world, profile);
|
||||
|
@ -39,11 +39,14 @@ import org.spongepowered.asm.mixin.injection.callback.CallbackInfo;
|
||||
@Mixin(value = ClientPlayerEntity.class, priority = 2000)
|
||||
public abstract class MixinClientPlayerEntity extends AbstractClientPlayerEntity {
|
||||
|
||||
@Shadow protected abstract boolean shouldStopSprinting();
|
||||
@Shadow
|
||||
protected abstract boolean shouldStopSprinting();
|
||||
|
||||
@Shadow protected abstract void sendSneakingPacket();
|
||||
@Shadow
|
||||
protected abstract void sendSneakingPacket();
|
||||
|
||||
@Shadow private boolean inSneakingPose;
|
||||
@Shadow
|
||||
private boolean inSneakingPose;
|
||||
|
||||
public MixinClientPlayerEntity(ClientWorld world, GameProfile profile) {
|
||||
super(world, profile);
|
||||
|
@ -21,9 +21,9 @@
|
||||
|
||||
package com.viaversion.viafabricplus.injection.mixin.features.movement.water;
|
||||
|
||||
import com.viaversion.viaversion.api.protocol.version.ProtocolVersion;
|
||||
import com.viaversion.viafabricplus.protocoltranslator.ProtocolTranslator;
|
||||
import com.viaversion.viafabricplus.protocoltranslator.impl.ViaFabricPlusMappingDataLoader;
|
||||
import com.viaversion.viaversion.api.protocol.version.ProtocolVersion;
|
||||
import net.minecraft.block.*;
|
||||
import net.minecraft.fluid.FlowableFluid;
|
||||
import net.minecraft.util.math.BlockPos;
|
||||
|
@ -21,8 +21,8 @@
|
||||
|
||||
package com.viaversion.viafabricplus.injection.mixin.features.movement.water;
|
||||
|
||||
import com.viaversion.viaversion.api.protocol.version.ProtocolVersion;
|
||||
import com.viaversion.viafabricplus.protocoltranslator.ProtocolTranslator;
|
||||
import com.viaversion.viaversion.api.protocol.version.ProtocolVersion;
|
||||
import net.minecraft.entity.ItemEntity;
|
||||
import org.spongepowered.asm.mixin.Mixin;
|
||||
import org.spongepowered.asm.mixin.injection.At;
|
||||
|
@ -21,8 +21,8 @@
|
||||
|
||||
package com.viaversion.viafabricplus.injection.mixin.features.movement.water;
|
||||
|
||||
import com.viaversion.viaversion.api.protocol.version.ProtocolVersion;
|
||||
import com.viaversion.viafabricplus.protocoltranslator.ProtocolTranslator;
|
||||
import com.viaversion.viaversion.api.protocol.version.ProtocolVersion;
|
||||
import net.minecraft.entity.EntityType;
|
||||
import net.minecraft.entity.mob.SkeletonHorseEntity;
|
||||
import net.minecraft.entity.passive.AbstractHorseEntity;
|
||||
|
@ -23,8 +23,8 @@ package com.viaversion.viafabricplus.injection.mixin.features.networking.disable
|
||||
|
||||
import com.llamalad7.mixinextras.injector.v2.WrapWithCondition;
|
||||
import com.viaversion.viafabricplus.ViaFabricPlus;
|
||||
import com.viaversion.viaversion.api.protocol.version.ProtocolVersion;
|
||||
import com.viaversion.viafabricplus.visuals.settings.VisualSettings;
|
||||
import com.viaversion.viaversion.api.protocol.version.ProtocolVersion;
|
||||
import net.minecraft.client.font.TextRenderer;
|
||||
import net.minecraft.client.gui.DrawContext;
|
||||
import net.minecraft.client.gui.screen.multiplayer.MultiplayerScreen;
|
||||
@ -45,7 +45,8 @@ import java.util.List;
|
||||
import java.util.concurrent.ThreadPoolExecutor;
|
||||
import java.util.function.Function;
|
||||
|
||||
@Mixin(value = MultiplayerServerListWidget.ServerEntry.class, priority = 1001) // Apply after the mixin in the main project
|
||||
@Mixin(value = MultiplayerServerListWidget.ServerEntry.class, priority = 1001)
|
||||
// Apply after the mixin in the main project
|
||||
public abstract class MixinMultiplayerServerListWidget_ServerEntry {
|
||||
|
||||
@Shadow
|
||||
|
@ -21,9 +21,9 @@
|
||||
|
||||
package com.viaversion.viafabricplus.injection.mixin.features.networking.resource_pack_header;
|
||||
|
||||
import com.viaversion.viaversion.api.protocol.version.ProtocolVersion;
|
||||
import com.viaversion.viafabricplus.features.networking.resource_pack_header.ResourcePackHeaderDiff;
|
||||
import com.viaversion.viafabricplus.protocoltranslator.ProtocolTranslator;
|
||||
import com.viaversion.viaversion.api.protocol.version.ProtocolVersion;
|
||||
import net.minecraft.GameVersion;
|
||||
import org.spongepowered.asm.mixin.Mixin;
|
||||
import org.spongepowered.asm.mixin.injection.At;
|
||||
|
@ -21,8 +21,8 @@
|
||||
|
||||
package com.viaversion.viafabricplus.injection.mixin.features.networking.srv_resolving;
|
||||
|
||||
import com.viaversion.viaversion.api.protocol.version.ProtocolVersion;
|
||||
import com.viaversion.viafabricplus.protocoltranslator.ProtocolTranslator;
|
||||
import com.viaversion.viaversion.api.protocol.version.ProtocolVersion;
|
||||
import net.minecraft.client.network.Address;
|
||||
import net.minecraft.client.network.AddressResolver;
|
||||
import net.minecraft.client.network.AllowedAddressResolver;
|
||||
|
@ -21,8 +21,8 @@
|
||||
|
||||
package com.viaversion.viafabricplus.injection.mixin.features.networking.srv_resolving;
|
||||
|
||||
import com.viaversion.viaversion.api.protocol.version.ProtocolVersion;
|
||||
import com.viaversion.viafabricplus.protocoltranslator.ProtocolTranslator;
|
||||
import com.viaversion.viaversion.api.protocol.version.ProtocolVersion;
|
||||
import net.minecraft.client.network.AllowedAddressResolver;
|
||||
import net.minecraft.client.network.ServerAddress;
|
||||
import org.spongepowered.asm.mixin.Final;
|
||||
|
@ -22,8 +22,8 @@
|
||||
package com.viaversion.viafabricplus.injection.mixin.features.remove_newer_screen_features;
|
||||
|
||||
import com.viaversion.viafabricplus.ViaFabricPlus;
|
||||
import com.viaversion.viaversion.api.protocol.version.ProtocolVersion;
|
||||
import com.viaversion.viafabricplus.visuals.settings.VisualSettings;
|
||||
import com.viaversion.viaversion.api.protocol.version.ProtocolVersion;
|
||||
import net.minecraft.block.entity.JigsawBlockEntity;
|
||||
import net.minecraft.client.gui.DrawContext;
|
||||
import net.minecraft.client.gui.screen.Screen;
|
||||
|
@ -23,7 +23,6 @@ package com.viaversion.viafabricplus.injection.mixin.features.replace_blank_glyp
|
||||
|
||||
import com.viaversion.viafabricplus.features.replace_blank_glyph.BuiltinEmptyGlyph1_12_2;
|
||||
import com.viaversion.viafabricplus.protocoltranslator.ProtocolTranslator;
|
||||
import com.viaversion.viafabricplus.settings.impl.DebugSettings;
|
||||
import com.viaversion.viaversion.api.protocol.version.ProtocolVersion;
|
||||
import net.minecraft.client.font.*;
|
||||
import org.spongepowered.asm.mixin.Mixin;
|
||||
@ -38,9 +37,11 @@ import org.spongepowered.asm.mixin.injection.callback.CallbackInfoReturnable;
|
||||
@Mixin(FontStorage.class)
|
||||
public abstract class MixinFontStorage {
|
||||
|
||||
@Shadow private BakedGlyph blankBakedGlyph;
|
||||
@Shadow
|
||||
private BakedGlyph blankBakedGlyph;
|
||||
|
||||
@Shadow protected abstract BakedGlyph bake(RenderableGlyph c);
|
||||
@Shadow
|
||||
protected abstract BakedGlyph bake(RenderableGlyph c);
|
||||
|
||||
@Unique
|
||||
private BakedGlyph viaFabricPlus$blankBakedGlyph1_12_2;
|
||||
|
@ -21,8 +21,8 @@
|
||||
|
||||
package com.viaversion.viafabricplus.injection.mixin.features.sign_editor_reach;
|
||||
|
||||
import com.viaversion.viaversion.api.protocol.version.ProtocolVersion;
|
||||
import com.viaversion.viafabricplus.protocoltranslator.ProtocolTranslator;
|
||||
import com.viaversion.viaversion.api.protocol.version.ProtocolVersion;
|
||||
import net.minecraft.block.entity.SignBlockEntity;
|
||||
import net.minecraft.client.gui.screen.ingame.AbstractSignEditScreen;
|
||||
import org.spongepowered.asm.mixin.Final;
|
||||
|
@ -21,8 +21,8 @@
|
||||
|
||||
package com.viaversion.viafabricplus.injection.mixin.features.world.always_tick_entities;
|
||||
|
||||
import com.viaversion.viafabricplus.settings.impl.DebugSettings;
|
||||
import com.viaversion.viafabricplus.injection.access.world.always_tick_entities.IEntity;
|
||||
import com.viaversion.viafabricplus.settings.impl.DebugSettings;
|
||||
import net.minecraft.entity.Entity;
|
||||
import org.spongepowered.asm.mixin.Mixin;
|
||||
import org.spongepowered.asm.mixin.Unique;
|
||||
|
@ -21,8 +21,8 @@
|
||||
|
||||
package com.viaversion.viafabricplus.injection.mixin.features.world.remove_server_view_distance;
|
||||
|
||||
import com.viaversion.viaversion.api.protocol.version.ProtocolVersion;
|
||||
import com.viaversion.viafabricplus.protocoltranslator.ProtocolTranslator;
|
||||
import com.viaversion.viaversion.api.protocol.version.ProtocolVersion;
|
||||
import net.minecraft.client.option.GameOptions;
|
||||
import org.spongepowered.asm.mixin.Mixin;
|
||||
import org.spongepowered.asm.mixin.injection.At;
|
||||
|
@ -26,6 +26,15 @@ import com.mojang.brigadier.arguments.StringArgumentType;
|
||||
import com.mojang.brigadier.builder.LiteralArgumentBuilder;
|
||||
import com.mojang.brigadier.builder.RequiredArgumentBuilder;
|
||||
import com.viaversion.viafabricplus.base.Events;
|
||||
import com.viaversion.viafabricplus.injection.access.base.IClientConnection;
|
||||
import com.viaversion.viafabricplus.protocoltranslator.impl.command.ViaFabricPlusVLCommandHandler;
|
||||
import com.viaversion.viafabricplus.protocoltranslator.impl.platform.ViaFabricPlusViaLegacyPlatformImpl;
|
||||
import com.viaversion.viafabricplus.protocoltranslator.impl.platform.ViaFabricPlusViaVersionPlatformImpl;
|
||||
import com.viaversion.viafabricplus.protocoltranslator.impl.viaversion.ViaFabricPlusVLInjector;
|
||||
import com.viaversion.viafabricplus.protocoltranslator.impl.viaversion.ViaFabricPlusVLLoader;
|
||||
import com.viaversion.viafabricplus.protocoltranslator.netty.ViaFabricPlusVLLegacyPipeline;
|
||||
import com.viaversion.viafabricplus.protocoltranslator.protocol.ViaFabricPlusProtocol;
|
||||
import com.viaversion.viafabricplus.protocoltranslator.util.NoPacketSendChannel;
|
||||
import com.viaversion.vialoader.ViaLoader;
|
||||
import com.viaversion.vialoader.impl.platform.ViaAprilFoolsPlatformImpl;
|
||||
import com.viaversion.vialoader.impl.platform.ViaBackwardsPlatformImpl;
|
||||
@ -40,15 +49,6 @@ import com.viaversion.viaversion.api.protocol.version.ProtocolVersion;
|
||||
import com.viaversion.viaversion.api.protocol.version.VersionType;
|
||||
import com.viaversion.viaversion.connection.UserConnectionImpl;
|
||||
import com.viaversion.viaversion.protocol.ProtocolPipelineImpl;
|
||||
import com.viaversion.viafabricplus.protocoltranslator.protocol.ViaFabricPlusProtocol;
|
||||
import com.viaversion.viafabricplus.injection.access.base.IClientConnection;
|
||||
import com.viaversion.viafabricplus.protocoltranslator.impl.command.ViaFabricPlusVLCommandHandler;
|
||||
import com.viaversion.viafabricplus.protocoltranslator.impl.platform.ViaFabricPlusViaLegacyPlatformImpl;
|
||||
import com.viaversion.viafabricplus.protocoltranslator.impl.platform.ViaFabricPlusViaVersionPlatformImpl;
|
||||
import com.viaversion.viafabricplus.protocoltranslator.impl.viaversion.ViaFabricPlusVLInjector;
|
||||
import com.viaversion.viafabricplus.protocoltranslator.impl.viaversion.ViaFabricPlusVLLoader;
|
||||
import com.viaversion.viafabricplus.protocoltranslator.netty.ViaFabricPlusVLLegacyPipeline;
|
||||
import com.viaversion.viafabricplus.protocoltranslator.util.NoPacketSendChannel;
|
||||
import io.netty.channel.Channel;
|
||||
import io.netty.channel.ChannelOption;
|
||||
import io.netty.util.AttributeKey;
|
||||
|
@ -21,11 +21,11 @@
|
||||
|
||||
package com.viaversion.viafabricplus.protocoltranslator.impl;
|
||||
|
||||
import com.viaversion.viafabricplus.protocoltranslator.ProtocolTranslator;
|
||||
import com.viaversion.viaversion.api.data.MappingDataLoader;
|
||||
import com.viaversion.viaversion.api.protocol.version.ProtocolVersion;
|
||||
import com.viaversion.viaversion.libs.gson.JsonElement;
|
||||
import com.viaversion.viaversion.libs.gson.JsonObject;
|
||||
import com.viaversion.viafabricplus.protocoltranslator.ProtocolTranslator;
|
||||
import net.minecraft.block.Block;
|
||||
import net.minecraft.registry.Registries;
|
||||
|
||||
@ -84,7 +84,8 @@ public final class ViaFabricPlusMappingDataLoader extends MappingDataLoader {
|
||||
return null;
|
||||
}
|
||||
|
||||
public record Material(boolean blocksMovement, boolean burnable, boolean liquid, boolean blocksLight, boolean replaceable, boolean solid) {
|
||||
public record Material(boolean blocksMovement, boolean burnable, boolean liquid, boolean blocksLight,
|
||||
boolean replaceable, boolean solid) {
|
||||
}
|
||||
|
||||
}
|
||||
|
@ -21,11 +21,11 @@
|
||||
|
||||
package com.viaversion.viafabricplus.protocoltranslator.impl.command;
|
||||
|
||||
import com.viaversion.viafabricplus.protocoltranslator.ProtocolTranslator;
|
||||
import com.viaversion.viafabricplus.util.ChatUtil;
|
||||
import com.viaversion.viaversion.api.command.ViaCommandSender;
|
||||
import com.viaversion.viaversion.api.command.ViaSubCommand;
|
||||
import com.viaversion.viaversion.api.connection.UserConnection;
|
||||
import com.viaversion.viafabricplus.protocoltranslator.ProtocolTranslator;
|
||||
import com.viaversion.viafabricplus.util.ChatUtil;
|
||||
|
||||
public interface VFPViaSubCommand extends ViaSubCommand {
|
||||
|
||||
|
@ -21,9 +21,9 @@
|
||||
|
||||
package com.viaversion.viafabricplus.protocoltranslator.impl.command.classic;
|
||||
|
||||
import com.viaversion.viaversion.api.command.ViaCommandSender;
|
||||
import com.viaversion.viafabricplus.injection.access.base.IExtensionProtocolMetadataStorage;
|
||||
import com.viaversion.viafabricplus.protocoltranslator.impl.command.VFPViaSubCommand;
|
||||
import com.viaversion.viaversion.api.command.ViaCommandSender;
|
||||
import net.minecraft.util.Formatting;
|
||||
import net.raphimc.vialegacy.api.LegacyProtocolVersion;
|
||||
import net.raphimc.vialegacy.protocol.classic.c0_30cpetoc0_28_30.storage.ExtensionProtocolMetadataStorage;
|
||||
|
@ -21,8 +21,8 @@
|
||||
|
||||
package com.viaversion.viafabricplus.protocoltranslator.impl.command.classic;
|
||||
|
||||
import com.viaversion.viaversion.api.command.ViaCommandSender;
|
||||
import com.viaversion.viafabricplus.protocoltranslator.impl.command.VFPViaSubCommand;
|
||||
import com.viaversion.viaversion.api.command.ViaCommandSender;
|
||||
import net.minecraft.util.Formatting;
|
||||
import net.raphimc.vialegacy.api.LegacyProtocolVersion;
|
||||
import net.raphimc.vialegacy.protocol.alpha.a1_0_16_2toa1_0_17_1_0_17_4.storage.TimeLockStorage;
|
||||
|
@ -21,14 +21,14 @@
|
||||
|
||||
package com.viaversion.viafabricplus.protocoltranslator.impl.platform;
|
||||
|
||||
import com.viaversion.vialoader.impl.platform.ViaVersionPlatformImpl;
|
||||
import com.viaversion.viaversion.configuration.AbstractViaConfig;
|
||||
import com.viaversion.viaversion.libs.gson.JsonArray;
|
||||
import com.viaversion.viaversion.libs.gson.JsonObject;
|
||||
import com.viaversion.viafabricplus.ViaFabricPlusImpl;
|
||||
import com.viaversion.viafabricplus.injection.ViaFabricPlusMixinPlugin;
|
||||
import com.viaversion.viafabricplus.protocoltranslator.ProtocolTranslator;
|
||||
import com.viaversion.viafabricplus.protocoltranslator.impl.viaversion.ViaFabricPlusVLViaConfig;
|
||||
import com.viaversion.vialoader.impl.platform.ViaVersionPlatformImpl;
|
||||
import com.viaversion.viaversion.configuration.AbstractViaConfig;
|
||||
import com.viaversion.viaversion.libs.gson.JsonArray;
|
||||
import com.viaversion.viaversion.libs.gson.JsonObject;
|
||||
import net.fabricmc.loader.api.FabricLoader;
|
||||
|
||||
import java.io.File;
|
||||
|
@ -21,9 +21,9 @@
|
||||
|
||||
package com.viaversion.viafabricplus.protocoltranslator.impl.provider.viabedrock;
|
||||
|
||||
import com.viaversion.viafabricplus.protocoltranslator.netty.ViaFabricPlusVLLegacyPipeline;
|
||||
import com.viaversion.vialoader.netty.VLPipeline;
|
||||
import com.viaversion.viaversion.api.connection.UserConnection;
|
||||
import com.viaversion.viafabricplus.protocoltranslator.netty.ViaFabricPlusVLLegacyPipeline;
|
||||
import io.netty.channel.Channel;
|
||||
import net.raphimc.viabedrock.api.io.compression.ProtocolCompression;
|
||||
import net.raphimc.viabedrock.netty.AesEncryptionCodec;
|
||||
|
@ -21,9 +21,9 @@
|
||||
|
||||
package com.viaversion.viafabricplus.protocoltranslator.impl.provider.vialegacy;
|
||||
|
||||
import com.viaversion.viafabricplus.protocoltranslator.translator.ItemTranslator;
|
||||
import com.viaversion.viaversion.api.connection.UserConnection;
|
||||
import com.viaversion.viaversion.api.minecraft.item.Item;
|
||||
import com.viaversion.viafabricplus.protocoltranslator.translator.ItemTranslator;
|
||||
import net.minecraft.client.MinecraftClient;
|
||||
import net.minecraft.client.network.ClientPlayerEntity;
|
||||
import net.minecraft.item.ItemStack;
|
||||
|
@ -21,11 +21,11 @@
|
||||
|
||||
package com.viaversion.viafabricplus.protocoltranslator.impl.provider.vialegacy;
|
||||
|
||||
import com.viaversion.viafabricplus.ViaFabricPlusImpl;
|
||||
import com.viaversion.viafabricplus.settings.impl.AuthenticationSettings;
|
||||
import com.viaversion.viaversion.api.Via;
|
||||
import com.viaversion.viaversion.api.connection.UserConnection;
|
||||
import de.florianmichael.classic4j.BetaCraftHandler;
|
||||
import com.viaversion.viafabricplus.ViaFabricPlusImpl;
|
||||
import com.viaversion.viafabricplus.settings.impl.AuthenticationSettings;
|
||||
import net.raphimc.vialegacy.protocol.classic.c0_28_30toa1_0_15.provider.ClassicMPPassProvider;
|
||||
import net.raphimc.vialegacy.protocol.release.r1_2_4_5tor1_3_1_2.provider.OldAuthProvider;
|
||||
|
||||
|
@ -21,9 +21,9 @@
|
||||
|
||||
package com.viaversion.viafabricplus.protocoltranslator.impl.provider.vialegacy;
|
||||
|
||||
import com.viaversion.viaversion.api.connection.UserConnection;
|
||||
import com.viaversion.viafabricplus.injection.access.base.IClientConnection;
|
||||
import com.viaversion.viafabricplus.protocoltranslator.ProtocolTranslator;
|
||||
import com.viaversion.viaversion.api.connection.UserConnection;
|
||||
import net.raphimc.vialegacy.protocol.release.r1_6_4tor1_7_2_5.provider.EncryptionProvider;
|
||||
|
||||
public final class ViaFabricPlusEncryptionProvider extends EncryptionProvider {
|
||||
|
@ -21,11 +21,11 @@
|
||||
|
||||
package com.viaversion.viafabricplus.protocoltranslator.impl.provider.vialegacy;
|
||||
|
||||
import com.viaversion.viaversion.api.connection.UserConnection;
|
||||
import com.viaversion.viafabricplus.ViaFabricPlusImpl;
|
||||
import com.viaversion.viafabricplus.protocoltranslator.ProtocolTranslator;
|
||||
import com.viaversion.viafabricplus.settings.impl.AuthenticationSettings;
|
||||
import com.viaversion.viafabricplus.util.ChatUtil;
|
||||
import com.viaversion.viaversion.api.connection.UserConnection;
|
||||
import net.minecraft.client.MinecraftClient;
|
||||
import net.minecraft.text.Text;
|
||||
import net.raphimc.vialegacy.protocol.release.r1_2_4_5tor1_3_1_2.provider.OldAuthProvider;
|
||||
|
@ -21,10 +21,10 @@
|
||||
|
||||
package com.viaversion.viafabricplus.protocoltranslator.impl.provider.viaversion;
|
||||
|
||||
import com.viaversion.viafabricplus.protocoltranslator.ProtocolTranslator;
|
||||
import com.viaversion.viaversion.api.connection.UserConnection;
|
||||
import com.viaversion.viaversion.api.protocol.version.ProtocolVersion;
|
||||
import com.viaversion.viaversion.protocol.version.BaseVersionProvider;
|
||||
import com.viaversion.viafabricplus.protocoltranslator.ProtocolTranslator;
|
||||
|
||||
public final class ViaFabricPlusBaseVersionProvider extends BaseVersionProvider {
|
||||
|
||||
|
@ -38,7 +38,7 @@ public final class ViaFabricPlusCommandArgumentsProvider extends SignableCommand
|
||||
|
||||
if (network != null) {
|
||||
return SignedArgumentList.of(
|
||||
network.getCommandDispatcher().parse(command, network.getCommandSource())).
|
||||
network.getCommandDispatcher().parse(command, network.getCommandSource())).
|
||||
arguments().stream().
|
||||
map(function -> new Pair<>(function.getNodeName(), function.value())).
|
||||
toList();
|
||||
|
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in New Issue
Block a user