mirror of
https://github.com/ViaVersion/ViaFabricPlus.git
synced 2024-11-21 11:46:49 +01:00
updated docs/ folder
This commit is contained in:
parent
5057809c30
commit
9f80ee41e1
@ -4,20 +4,44 @@ ViaFabricPlus provides various events and APIs for developers to use. This page
|
|||||||
## Events
|
## Events
|
||||||
ViaFabricPlus events are using the [Fabric Event API](https://fabricmc.net/wiki/tutorial:events). You can register to them like this:
|
ViaFabricPlus events are using the [Fabric Event API](https://fabricmc.net/wiki/tutorial:events). You can register to them like this:
|
||||||
```java
|
```java
|
||||||
ChangeProtocolVersionCallback.EVENT.register(versionEnum -> {
|
ChangeProtocolVersionCallback.EVENT.register((oldVersion, newVersion) -> {
|
||||||
System.out.println("Version changed to " + versionEnum.getName());
|
System.out.println("Version changed to " + newVersion.getName());
|
||||||
});
|
});
|
||||||
```
|
```
|
||||||
### ViaFabricPlus has 7 events at the moment
|
### ViaFabricPlus has 8 events at the moment
|
||||||
| Callback class name | Description |
|
| Callback class name | Description |
|
||||||
|--------------------------------------|---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
|
|--------------------------------------|---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
|
||||||
| ChangeProtocolVersionCallback | Called when the user changes the target version in the screen, or if you connect to a server for which a specific version has been selected, you disconnect, the event for the actual version is also called. |
|
| ChangeProtocolVersionCallback | Called when the user changes the target version in the screen, or if you connect to a server for which a specific version has been selected, you disconnect, the event for the actual version is also called. |
|
||||||
| DisconnectCallback | Called when the user disconnects from a server. |
|
| DisconnectCallback | Called when the user disconnects from a server |
|
||||||
|
| LoadCallback | Called at the earliest point ViaFabricPlus is injecting too |
|
||||||
|
| LoadClassicProtocolExtensionCallback | Called when the classic server sends the protocol extensions (only in **c0.30 CPE**) |
|
||||||
| PostGameLoadCallback | Called when Minecraft is finished with loading all its components |
|
| PostGameLoadCallback | Called when Minecraft is finished with loading all its components |
|
||||||
| PostViaVersionLoadCallback | Called when ViaVersion is loaded and ready to use |
|
| PostViaVersionLoadCallback | Called when ViaVersion is loaded and ready to use |
|
||||||
| RegisterSettingsCallback | Called after the default setting groups are loaded and before the setting config is loaded |
|
| RegisterSettingsCallback | Called after the default setting groups are loaded and before the setting config is loaded |
|
||||||
| LoadClassicProtocolExtensionCallback | Called when the classic server sends the protocol extensions (only in **c0.30 CPE**) |
|
| LoadSaveFiles | Called before and after the save files are loaded |
|
||||||
| LoadCallback | Called at the earliest point ViaFabricPlus is injecting too |
|
|
||||||
|
## Get and set the current protocol version
|
||||||
|
```java
|
||||||
|
final VersionEnum version = ProtocolHack.getTargetVersion();
|
||||||
|
if (version == VersionEnum.r1_8) {
|
||||||
|
ProtocolHack.setTargetVersion(VersionEnum.r1_9);
|
||||||
|
}
|
||||||
|
```
|
||||||
|
|
||||||
|
## Get a Minecraft ClientConnection by channel
|
||||||
|
```java
|
||||||
|
final ClientConnection connection = channel.attr(ProtocolHack.CLIENT_CONNECTION_ATTRIBUTE_KEY).get();
|
||||||
|
```
|
||||||
|
|
||||||
|
## Interact with UserConnection objects
|
||||||
|
```java
|
||||||
|
// If ViaVersion is translating, this field will return the user connection of the client
|
||||||
|
final UserConnection userConnection = ProtocolHack.getPlayNetworkUserConnection();
|
||||||
|
|
||||||
|
// If you need a dummy user connection for testing, you can use this method
|
||||||
|
final UserConnection cursedDummy = ProtocolHack.createDummyUserConnection(ProtocolHack.NATIVE_VERSION, VersionEnum.r1_18_2);
|
||||||
|
// The cursedDummy field now contains all protocols from the native version to 1.18.2
|
||||||
|
```
|
||||||
|
|
||||||
## ViaVersion internals
|
## ViaVersion internals
|
||||||
### Add CustomPayload channels for versions below 1.13
|
### Add CustomPayload channels for versions below 1.13
|
||||||
|
@ -26,10 +26,10 @@ import net.fabricmc.fabric.api.event.EventFactory;
|
|||||||
/**
|
/**
|
||||||
* This event is fired when ViaFabricPlus has loaded its save files, and before it starts reading the values from the save files.
|
* This event is fired when ViaFabricPlus has loaded its save files, and before it starts reading the values from the save files.
|
||||||
*/
|
*/
|
||||||
public interface SaveFilesCallback {
|
public interface LoadSaveFilesCallback {
|
||||||
|
|
||||||
Event<SaveFilesCallback> EVENT = EventFactory.createArrayBacked(SaveFilesCallback.class, listeners -> (saveManager, state) -> {
|
Event<LoadSaveFilesCallback> EVENT = EventFactory.createArrayBacked(LoadSaveFilesCallback.class, listeners -> (saveManager, state) -> {
|
||||||
for (SaveFilesCallback listener : listeners) {
|
for (LoadSaveFilesCallback listener : listeners) {
|
||||||
listener.onLoadSaveFiles(saveManager, state);
|
listener.onLoadSaveFiles(saveManager, state);
|
||||||
}
|
}
|
||||||
});
|
});
|
@ -19,7 +19,7 @@
|
|||||||
|
|
||||||
package de.florianmichael.viafabricplus.save;
|
package de.florianmichael.viafabricplus.save;
|
||||||
|
|
||||||
import de.florianmichael.viafabricplus.event.SaveFilesCallback;
|
import de.florianmichael.viafabricplus.event.LoadSaveFilesCallback;
|
||||||
import de.florianmichael.viafabricplus.save.impl.AccountsSave;
|
import de.florianmichael.viafabricplus.save.impl.AccountsSave;
|
||||||
import de.florianmichael.viafabricplus.save.impl.SettingsSave;
|
import de.florianmichael.viafabricplus.save.impl.SettingsSave;
|
||||||
import de.florianmichael.viafabricplus.settings.SettingsManager;
|
import de.florianmichael.viafabricplus.settings.SettingsManager;
|
||||||
@ -35,7 +35,7 @@ public class SaveManager {
|
|||||||
private final AccountsSave accountsSave;
|
private final AccountsSave accountsSave;
|
||||||
|
|
||||||
public SaveManager(final SettingsManager settingsManager) {
|
public SaveManager(final SettingsManager settingsManager) {
|
||||||
SaveFilesCallback.EVENT.invoker().onLoadSaveFiles(this, SaveFilesCallback.State.PRE);
|
LoadSaveFilesCallback.EVENT.invoker().onLoadSaveFiles(this, LoadSaveFilesCallback.State.PRE);
|
||||||
|
|
||||||
// Register saves
|
// Register saves
|
||||||
add(
|
add(
|
||||||
@ -55,7 +55,7 @@ public class SaveManager {
|
|||||||
}
|
}
|
||||||
}));
|
}));
|
||||||
|
|
||||||
SaveFilesCallback.EVENT.invoker().onLoadSaveFiles(this, SaveFilesCallback.State.POST);
|
LoadSaveFilesCallback.EVENT.invoker().onLoadSaveFiles(this, LoadSaveFilesCallback.State.POST);
|
||||||
}
|
}
|
||||||
|
|
||||||
public void add(final AbstractSave... saves) {
|
public void add(final AbstractSave... saves) {
|
||||||
|
Loading…
Reference in New Issue
Block a user