ViaVersion addon to add support for some notable Minecraft snapshots
Go to file
2023-02-21 21:32:55 +01:00
.github Initial commit 2023-01-14 14:24:21 +01:00
.idea/copyright Initial commit 2023-01-14 14:24:21 +01:00
gradle/wrapper Initial commit 2023-01-14 14:24:21 +01:00
src/main Updated Via usage 2023-02-21 21:32:55 +01:00
.gitattributes Initial commit 2023-01-14 14:24:21 +01:00
.gitignore Initial commit 2023-01-14 14:24:21 +01:00
build.gradle Updated Via* 2023-02-18 01:26:06 +01:00
gradle.properties Bump version 2023-02-18 01:26:34 +01:00
gradlew Initial commit 2023-01-14 14:24:21 +01:00
gradlew.bat Initial commit 2023-01-14 14:24:21 +01:00
LICENSE Initial commit 2023-01-14 14:24:21 +01:00
README.md Initial commit 2023-01-14 14:24:21 +01:00
settings.gradle Initial commit 2023-01-14 14:24:21 +01:00

ViaAprilFools

ViaVersion addon to add support for some notable minecraft snapshots.

ViaAprilFools is not usable by itself as a standalone software, as it is an addon for ViaVersion which adds more protocol translators. ViaAprilFools is intended to be implemented in a ViaVersion based protocol translator.

If you are looking to implement ViaAprilFools in your own software you can start by reading the Usage section.
If you just want to use ViaAprilFools yourself you can check out some projects which implement it in the Projects section.

Added Server protocols

  • 3D Shareware
  • 20w14infinite
  • Combat Test 8c

Added Client protocols

  • 3D Shareware

Projects implementing ViaAprilFools

  • ViaProxy: Standalone proxy which uses ViaVersion to translate between minecraft versions. Allows Minecraft 1.7+ clients to join to any version server.

Releases

Gradle/Maven

To use ViaAprilFools with Gradle/Maven you can use this Maven server or Jitpack.
You can also find instructions how to implement it into your build script there.

Jar File

If you just want the latest jar file you can download it from this Jenkins.

Usage

ViaAprilFools requires you to have an already functional ViaVersion implementation for your platform. If you don't have one you can check out ViaProtocolHack for an abstracted and simplified, but still customizable implementation, or ViaLoadingBase for a quick and easy implementation. You can also go to the official ViaVersion repositories and look at their server and proxy implementations.

Base Implementation

ViaAprilFools platform implementation

To get started you should create a class which implements the ViaAprilFools platform interface. Here is an example:

public class ViaAprilFoolsPlatformImpl implements ViaAprilFoolsPlatform {

    public ViaAprilFoolsPlatformImpl() {
        this.init(this.getDataFolder());
    }

    @Override
    public Logger getLogger() {
        return Via.getPlatform().getLogger();
    }

    @Override
    public File getDataFolder() {
        return Via.getPlatform().getDataFolder();
    }

}

This is a very basic implementation which just uses the ViaVersion logger and data folder.

Loading the platform

After you have created your platform implementation you should load it in your ViaVersion implementation. Here is an example:

Via.getManager().addEnableListener(ViaAprilFoolsPlatformImpl::new);

Make sure to add the enable listener before the Via manager is initialized (((ViaManagerImpl) Via.getManager()).init();).

Contact

If you encounter any issues, please report them on the issue tracker.
If you just want to talk or need help implementing ViaAprilFools feel free to join my Discord.