Skip to content

Commit

Permalink
Port to upstream changes
Browse files Browse the repository at this point in the history
  • Loading branch information
FlorianMichael committed May 17, 2024
1 parent 4e898b8 commit ddda269
Show file tree
Hide file tree
Showing 30 changed files with 836 additions and 1,131 deletions.
7 changes: 3 additions & 4 deletions build.gradle
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@ plugins {
}

base {
java.toolchain.languageVersion = JavaLanguageVersion.of(8)
java.toolchain.languageVersion = JavaLanguageVersion.of(17)
compileJava.options.encoding = compileTestJava.options.encoding = javadoc.options.encoding = "UTF-8"

group = project.maven_group ?: rootProject.maven_group
Expand All @@ -23,8 +23,8 @@ repositories {
}

dependencies {
compileOnly "com.viaversion:viaversion-common:4.10.1"
compileOnly "com.viaversion:viabackwards-common:4.10.1"
compileOnly "com.viaversion:viaversion-common:5.0.0-SNAPSHOT"
compileOnly "com.viaversion:viabackwards-common:5.0.0-SNAPSHOT"
compileOnly "org.yaml:snakeyaml:2.2"
compileOnly "com.google.guava:guava:33.2.0-jre"
compileOnly "io.netty:netty-handler:4.1.109.Final"
Expand All @@ -41,7 +41,6 @@ sourceSets {

java {
withSourcesJar()
withJavadocJar()
}

jar {
Expand Down
2 changes: 1 addition & 1 deletion gradle.properties
Original file line number Diff line number Diff line change
Expand Up @@ -4,4 +4,4 @@ org.gradle.configureondemand=true

maven_group=net.raphimc
maven_name=ViaAprilFools
maven_version=2.0.13-SNAPSHOT
maven_version=3.0.0-SNAPSHOT
Original file line number Diff line number Diff line change
Expand Up @@ -24,11 +24,12 @@
import java.util.Collections;
import java.util.List;
import java.util.Map;
import java.util.logging.Logger;

public class ViaAprilFoolsConfig extends Config implements net.raphimc.viaaprilfools.platform.ViaAprilFoolsConfig {

public ViaAprilFoolsConfig(final File configFile) {
super(configFile);
public ViaAprilFoolsConfig(final File configFile, final Logger logger) {
super(configFile, logger);
}

@Override
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -17,28 +17,28 @@
*/
package net.raphimc.viaaprilfools.api.data;

import com.viaversion.viabackwards.api.data.BackwardsMappings;
import com.viaversion.viabackwards.api.data.BackwardsMappingData;
import com.viaversion.viaversion.api.protocol.Protocol;
import com.viaversion.viaversion.libs.opennbt.tag.builtin.CompoundTag;
import com.viaversion.nbt.tag.CompoundTag;
import net.raphimc.viaaprilfools.ViaAprilFools;
import org.checkerframework.checker.nullness.qual.Nullable;

import java.util.logging.Logger;

public class AprilFoolsMappings extends BackwardsMappings {
public class AprilFoolsMappingData extends BackwardsMappingData {

public AprilFoolsMappings(String unmappedVersion, String mappedVersion, @Nullable Class<? extends Protocol<?, ?, ?, ?>> vvProtocolClass) {
public AprilFoolsMappingData(String unmappedVersion, String mappedVersion, @Nullable Class<? extends Protocol<?, ?, ?, ?>> vvProtocolClass) {
super(unmappedVersion, mappedVersion, vvProtocolClass);
}

@Override
protected @Nullable CompoundTag readMappingsFile(String name) {
return VAFMappingDataLoader.INSTANCE.loadNBTFromDir(name);
return AprilFoolsMappingDataLoader.INSTANCE.loadNBTFromDir(name);
}

@Override
protected @Nullable CompoundTag readUnmappedIdentifiersFile(String name) {
return VAFMappingDataLoader.INSTANCE.loadNBT(name, true);
return AprilFoolsMappingDataLoader.INSTANCE.loadNBT(name, true);
}

@Override
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -23,12 +23,12 @@
import java.io.File;
import java.util.logging.Logger;

public class VAFMappingDataLoader extends BackwardsMappingDataLoader {
public class AprilFoolsMappingDataLoader extends BackwardsMappingDataLoader {

public static final VAFMappingDataLoader INSTANCE = new VAFMappingDataLoader();
public static final AprilFoolsMappingDataLoader INSTANCE = new AprilFoolsMappingDataLoader();

public VAFMappingDataLoader() {
super(VAFMappingDataLoader.class, "assets/viaaprilfools/data/");
public AprilFoolsMappingDataLoader() {
super(AprilFoolsMappingDataLoader.class, "assets/viaaprilfools/data/");
}

@Override
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -23,18 +23,18 @@
import net.raphimc.viaaprilfools.ViaAprilFools;
import net.raphimc.viaaprilfools.ViaAprilFoolsConfig;
import net.raphimc.viaaprilfools.api.AprilFoolsProtocolVersion;
import net.raphimc.viaaprilfools.protocols.protocol1_14to3D_Shareware.Protocol1_14to3D_Shareware;
import net.raphimc.viaaprilfools.protocols.protocol1_16_2toCombatTest8c.Protocol1_16_2toCombatTest8c;
import net.raphimc.viaaprilfools.protocols.protocol1_16to20w14infinite.Protocol1_16to20w14infinite;
import net.raphimc.viaaprilfools.protocols.protocol3D_Sharewareto1_14.Protocol3D_Sharewareto1_14;
import net.raphimc.viaaprilfools.protocol.s3d_sharewaretov1_14.Protocol1_14to3D_Shareware;
import net.raphimc.viaaprilfools.protocol.scombattest8ctov1_16_2.Protocol1_16_2toCombatTest8c;
import net.raphimc.viaaprilfools.protocol.s20w14infinitetov1_16.Protocol20w14infiniteTo1_16;
import net.raphimc.viaaprilfools.protocol.v1_14tos3d_shareware.Protocol3D_Sharewareto1_14;

import java.io.File;
import java.util.logging.Logger;

public interface ViaAprilFoolsPlatform {

default void init(final File configFile) {
final ViaAprilFoolsConfig config = new ViaAprilFoolsConfig(configFile);
final ViaAprilFoolsConfig config = new ViaAprilFoolsConfig(configFile, getLogger());
config.reload();
ViaAprilFools.init(this, config);
Via.getManager().getConfigurationProvider().register(config);
Expand All @@ -43,7 +43,7 @@ default void init(final File configFile) {
final ProtocolManager protocolManager = Via.getManager().getProtocolManager();
protocolManager.registerProtocol(new Protocol1_14to3D_Shareware(), ProtocolVersion.v1_14, AprilFoolsProtocolVersion.s3d_shareware);
protocolManager.registerProtocol(new Protocol3D_Sharewareto1_14(), AprilFoolsProtocolVersion.s3d_shareware, ProtocolVersion.v1_14);
protocolManager.registerProtocol(new Protocol1_16to20w14infinite(), ProtocolVersion.v1_16, AprilFoolsProtocolVersion.s20w14infinite);
protocolManager.registerProtocol(new Protocol20w14infiniteTo1_16(), ProtocolVersion.v1_16, AprilFoolsProtocolVersion.s20w14infinite);
protocolManager.registerProtocol(new Protocol1_16_2toCombatTest8c(), ProtocolVersion.v1_16_2, AprilFoolsProtocolVersion.sCombatTest8c);
}

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -15,102 +15,102 @@
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
package net.raphimc.viaaprilfools.protocols.protocol1_16to20w14infinite;
package net.raphimc.viaaprilfools.protocol.s20w14infinitetov1_16;

import com.viaversion.viabackwards.api.BackwardsProtocol;
import com.viaversion.viabackwards.api.data.BackwardsMappings;
import com.viaversion.viabackwards.api.data.BackwardsMappingData;
import com.viaversion.viabackwards.api.rewriters.SoundRewriter;
import com.viaversion.viaversion.api.Via;
import com.viaversion.viaversion.api.connection.UserConnection;
import com.viaversion.viaversion.api.minecraft.RegistryType;
import com.viaversion.viaversion.api.minecraft.entities.EntityTypes1_16;
import com.viaversion.viaversion.api.protocol.remapper.PacketHandlers;
import com.viaversion.viaversion.api.protocol.version.ProtocolVersion;
import com.viaversion.viaversion.api.type.Type;
import com.viaversion.viaversion.api.type.Types;
import com.viaversion.viaversion.data.entity.EntityTrackerBase;
import com.viaversion.viaversion.protocols.protocol1_16to1_15_2.ClientboundPackets1_16;
import com.viaversion.viaversion.protocols.protocol1_16to1_15_2.Protocol1_16To1_15_2;
import com.viaversion.viaversion.protocols.protocol1_16to1_15_2.ServerboundPackets1_16;
import com.viaversion.viaversion.protocols.protocol1_16to1_15_2.provider.PlayerAbilitiesProvider;
import com.viaversion.viaversion.protocols.v1_15_2to1_16.Protocol1_15_2To1_16;
import com.viaversion.viaversion.protocols.v1_15_2to1_16.packet.ClientboundPackets1_16;
import com.viaversion.viaversion.protocols.v1_15_2to1_16.packet.ServerboundPackets1_16;
import com.viaversion.viaversion.protocols.v1_15_2to1_16.provider.PlayerAbilitiesProvider;
import com.viaversion.viaversion.rewriter.RecipeRewriter;
import com.viaversion.viaversion.rewriter.StatisticsRewriter;
import com.viaversion.viaversion.rewriter.TagRewriter;
import net.raphimc.viaaprilfools.api.data.AprilFoolsMappings;
import net.raphimc.viaaprilfools.protocols.protocol1_16to20w14infinite.metadata.MetadataRewriter1_16to20w14infinite;
import net.raphimc.viaaprilfools.protocols.protocol1_16to20w14infinite.packets.BlockItemPackets20w14infinite;
import net.raphimc.viaaprilfools.protocols.protocol1_16to20w14infinite.packets.EntityPackets20w14infinite;
import net.raphimc.viaaprilfools.api.data.AprilFoolsMappingData;
import net.raphimc.viaaprilfools.protocol.s20w14infinitetov1_16.rewriter.EntityPacketRewriter20w14infinite;
import net.raphimc.viaaprilfools.protocol.s20w14infinitetov1_16.packet.ClientboundPackets20w14infinite;
import net.raphimc.viaaprilfools.protocol.s20w14infinitetov1_16.packet.ServerboundPackets20w14infinite;
import net.raphimc.viaaprilfools.protocol.s20w14infinitetov1_16.rewriter.BlockItemPacketRewriter20w14infinite;

import java.util.UUID;

public class Protocol1_16to20w14infinite extends BackwardsProtocol<ClientboundPackets20w14infinite, ClientboundPackets1_16, ServerboundPackets20w14infinite, ServerboundPackets1_16> {
public class Protocol20w14infiniteTo1_16 extends BackwardsProtocol<ClientboundPackets20w14infinite, ClientboundPackets1_16, ServerboundPackets20w14infinite, ServerboundPackets1_16> {

public static final BackwardsMappings MAPPINGS = new AprilFoolsMappings("20w14infinite", "1.16", Protocol1_16To1_15_2.class);
public static final BackwardsMappingData MAPPINGS = new AprilFoolsMappingData("20w14infinite", "1.16", Protocol1_15_2To1_16.class);
private static final UUID ZERO_UUID = new UUID(0, 0);

private final BlockItemPackets20w14infinite blockItemPackets = new BlockItemPackets20w14infinite(this);
private final MetadataRewriter1_16to20w14infinite metadataRewriter = new MetadataRewriter1_16to20w14infinite(this);
private final BlockItemPacketRewriter20w14infinite itemRewriter = new BlockItemPacketRewriter20w14infinite(this);
private final EntityPacketRewriter20w14infinite entityRewriter = new EntityPacketRewriter20w14infinite(this);
private final TagRewriter<ClientboundPackets20w14infinite> tagRewriter = new TagRewriter<>(this);

public Protocol1_16to20w14infinite() {
public Protocol20w14infiniteTo1_16() {
super(ClientboundPackets20w14infinite.class, ClientboundPackets1_16.class, ServerboundPackets20w14infinite.class, ServerboundPackets1_16.class);
}

@Override
protected void registerPackets() {
super.registerPackets();

tagRewriter.register(ClientboundPackets20w14infinite.TAGS, RegistryType.ENTITY);
new StatisticsRewriter<>(this).register(ClientboundPackets20w14infinite.STATISTICS);
EntityPackets20w14infinite.register(this);
tagRewriter.register(ClientboundPackets20w14infinite.UPDATE_TAGS, RegistryType.ENTITY);
new StatisticsRewriter<>(this).register(ClientboundPackets20w14infinite.AWARD_STATS);
final SoundRewriter<ClientboundPackets20w14infinite> soundRewriter = new SoundRewriter<>(this);
soundRewriter.registerSound(ClientboundPackets20w14infinite.SOUND);
soundRewriter.registerSound(ClientboundPackets20w14infinite.ENTITY_SOUND);
soundRewriter.registerNamedSound(ClientboundPackets20w14infinite.NAMED_SOUND);
soundRewriter.registerSound(ClientboundPackets20w14infinite.SOUND_ENTITY);
soundRewriter.registerNamedSound(ClientboundPackets20w14infinite.CUSTOM_SOUND);
soundRewriter.registerStopSound(ClientboundPackets20w14infinite.STOP_SOUND);
new RecipeRewriter<>(this).register(ClientboundPackets20w14infinite.DECLARE_RECIPES);
new RecipeRewriter<>(this).register(ClientboundPackets20w14infinite.UPDATE_RECIPES);

this.registerClientbound(ClientboundPackets20w14infinite.CHAT_MESSAGE, new PacketHandlers() {
this.registerClientbound(ClientboundPackets20w14infinite.CHAT, new PacketHandlers() {
@Override
public void register() {
map(Type.COMPONENT);
map(Type.BYTE);
map(Types.COMPONENT);
map(Types.BYTE);
handler(wrapper -> {
wrapper.write(Type.UUID, ZERO_UUID); // Sender uuid - always send as 'system'
wrapper.write(Types.UUID, ZERO_UUID); // Sender uuid - always send as 'system'
});
}
});

this.cancelServerbound(ServerboundPackets1_16.GENERATE_JIGSAW);
this.registerServerbound(ServerboundPackets1_16.INTERACT_ENTITY, new PacketHandlers() {
this.cancelServerbound(ServerboundPackets1_16.JIGSAW_GENERATE);
this.registerServerbound(ServerboundPackets1_16.INTERACT, new PacketHandlers() {
@Override
public void register() {
handler(wrapper -> {
wrapper.passthrough(Type.VAR_INT); // Entity Id
int action = wrapper.passthrough(Type.VAR_INT);
wrapper.passthrough(Types.VAR_INT); // Entity Id
int action = wrapper.passthrough(Types.VAR_INT);
if (action == 0 || action == 2) {
if (action == 2) {
// Location
wrapper.passthrough(Type.FLOAT);
wrapper.passthrough(Type.FLOAT);
wrapper.passthrough(Type.FLOAT);
wrapper.passthrough(Types.FLOAT);
wrapper.passthrough(Types.FLOAT);
wrapper.passthrough(Types.FLOAT);
}

wrapper.passthrough(Type.VAR_INT); // Hand
wrapper.passthrough(Types.VAR_INT); // Hand
}

// New boolean: Whether the client is sneaking/pressing shift
wrapper.read(Type.BOOLEAN);
wrapper.read(Types.BOOLEAN);
});
}
});
this.registerServerbound(ServerboundPackets1_16.PLAYER_ABILITIES, new PacketHandlers() {
@Override
public void register() {
map(Type.BYTE); // Flags
map(Types.BYTE); // Flags
handler(wrapper -> {
final PlayerAbilitiesProvider playerAbilities = Via.getManager().getProviders().get(PlayerAbilitiesProvider.class);
wrapper.write(Type.FLOAT, playerAbilities.getFlyingSpeed(wrapper.user()));
wrapper.write(Type.FLOAT, playerAbilities.getWalkingSpeed(wrapper.user()));
wrapper.write(Types.FLOAT, playerAbilities.getFlyingSpeed(wrapper.user()));
wrapper.write(Types.FLOAT, playerAbilities.getWalkingSpeed(wrapper.user()));
});
}
});
Expand Down Expand Up @@ -160,6 +160,7 @@ protected void onMappingDataLoaded() {
tagRewriter.addEmptyTags(RegistryType.ENTITY, "minecraft:arrows", "minecraft:beehive_inhabitors", "minecraft:raiders", "minecraft:skeletons");
tagRewriter.addEmptyTags(RegistryType.ITEM, "minecraft:beds", "minecraft:coals", "minecraft:fences", "minecraft:flowers",
"minecraft:lectern_books", "minecraft:music_discs", "minecraft:small_flowers", "minecraft:tall_flowers", "minecraft:trapdoors", "minecraft:walls", "minecraft:wooden_fences");
super.onMappingDataLoaded();
}

@Override
Expand All @@ -169,17 +170,17 @@ public void init(UserConnection userConnection) {
}

@Override
public BlockItemPackets20w14infinite getItemRewriter() {
return this.blockItemPackets;
public BlockItemPacketRewriter20w14infinite getItemRewriter() {
return this.itemRewriter;
}

@Override
public MetadataRewriter1_16to20w14infinite getEntityRewriter() {
return this.metadataRewriter;
public EntityPacketRewriter20w14infinite getEntityRewriter() {
return this.entityRewriter;
}

@Override
public BackwardsMappings getMappingData() {
public BackwardsMappingData getMappingData() {
return MAPPINGS;
}

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,7 @@
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
package net.raphimc.viaaprilfools.protocols.protocol1_16to20w14infinite.data;
package net.raphimc.viaaprilfools.protocol.s20w14infinitetov1_16.data;

import com.viaversion.viaversion.libs.fastutil.ints.IntArrayList;
import com.viaversion.viaversion.libs.fastutil.ints.IntList;
Expand Down
Loading

0 comments on commit ddda269

Please sign in to comment.