GV

GeezerVison

The World Wide Web, restored to 800 pixels of glory.

Home|About|Gaming cabinet|Archives|How it works|Starter sites

On this site

  • Sign in
  • ActionsCI/CD and automation
  • CodespacesCloud development environments
  • All Features
  • Documentation
  • Training
  • Certifications
  • Build with Copilot
  • Customize Copilot
  • Integrations
  • Trending repos
  • GitHub Sponsors
  • Developer articles
  • Enterprises

This view

  • Original page
  • New address

GeezerVison is showing github.com — GitHub - ViaVersion/ViaAprilFools: ViaVersion addon to add support for some notable Minecraft snapshots

BranchesTags
Open more actions menu

Latest commit

 

History

361 Commits
361 Commits

Folders and files

NameName
Last commit message
Last commit date
.github
.github
 
 
.idea/copyright
.idea/copyright
 
 
build-logic
build-logic
 
 
bukkit
bukkit
 
 
common
common
 
 
fabric
fabric
 
 
gradle
gradle
 
 
sponge
sponge
 
 
velocity
velocity
 
 
.editorconfig
.editorconfig
 
 
.gitattributes
.gitattributes
 
 
.gitignore
.gitignore
 
 
LICENSE
LICENSE
 
 
README.md
README.md
 
 
build.gradle.kts
build.gradle.kts
 
 
gradle.properties
gradle.properties
 
 
gradlew
gradlew
 
 
gradlew.bat
gradlew.bat
 
 
settings.gradle.kts
settings.gradle.kts
 
 

Repository files navigation

ViaAprilFools

ViaVersion addon to add support for some notable Minecraft snapshots.

ViaAprilFools itself runs on Paper and Velocity servers and can be implemented in any other platform which supports ViaVersion.

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
  • 25w14craftmine

Added Client protocols

  • 3D Shareware
  • Combat Test 8c
  • 25w14craftmine

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.
  • ViaFabricPlus: Fabric mod for the latest Minecraft version with QoL fixes and enhancements to the gameplay.
  • ViaFabric: Client-side and server-side ViaVersion implementation for Fabric

Releases

Gradle/Maven

To use ViaAprilFools with Gradle/Maven you can use the ViaVersion maven server:

repositories {
    maven { url "https://repo.viaversion.com" }
}

dependencies {
    implementation("com.viaversion:viaaprilfools-common:x.x.x") // Get latest version from releases
}
<repositories>
    <repository>
        <id>viaversion</id>
        <url>https://repo.viaversion.com</url>
    </repository>
</repositories>

<dependencies>
    <dependency>
        <groupId>com.viaversion</groupId>
        <artifactId>viaaprilfools-common</artifactId>
        <version>x.x.x</version> <!-- Get latest version from releases -->
    </dependency>
</dependencies>

Jar File

If you just want the latest jar file you can download it from GitHub Actions or the ViaVersion 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 this documentation in order to create one.

Base Implementation

Loading the platform

To implement ViaAprilFools you need to create a new instance of its platform implementation class ViaAprilFoolsPlatformImpl when ViaVersion is being enabled. Here is an example:

new ViaAprilFoolsPlatformImpl();

This should be done in your ViaManagerImpl.initAndLoad() method call as enable listener (or otherwise after the Via manager is initialized).

Note

If you want your platform to support the client protocols, you need the override the getClientProtocol function in your version provider:

@Override
public ProtocolVersion getClientProtocol(UserConnection connection) {
    final ProtocolVersion version = connection.getProtocolInfo().protocolVersion();
    if (version.getVersionType() == VersionType.SPECIAL) {
        return ProtocolVersion.getProtocol(VersionType.SPECIAL, version.getOriginalVersion());
    } else {
        return super.getClientProtocol(connection);
    }
}

There is also a VAFServerVersionProvider which can act as wrapper class instead.

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 the ViaVersion Discord.

About

ViaVersion addon to add support for some notable Minecraft snapshots

hangar.papermc.io/ViaVersion/ViaAprilFools

Resources

Readme
GPL-3.0 license
Activity
Custom properties

Stars

20 stars

Watchers

4 watching

Forks

2 forks
Report repository

Releases

Sponsor this project

Used by

Contributors

Languages

You are visitor 01402503 — GeezerVison does not store the pages you look up.
Best viewed with Netscape Navigator 4.7 or Internet Explorer 6 at 800×600. No cookies required.