diff --git a/build.gradle b/build.gradle index d6c3604..6080444 100644 --- a/build.gradle +++ b/build.gradle @@ -23,8 +23,8 @@ repositories { } dependencies { - compileOnly "com.viaversion:viaversion-common:4.10.0-24w07a-SNAPSHOT" - compileOnly "com.viaversion:viabackwards-common:4.10.0-24w07a-SNAPSHOT" + compileOnly "com.viaversion:viaversion-common:4.10.0-24w09a-SNAPSHOT" + compileOnly "com.viaversion:viabackwards-common:4.10.0-24w09a-SNAPSHOT" compileOnly "org.yaml:snakeyaml:2.2" compileOnly "com.google.guava:guava:33.1.0-jre" compileOnly "io.netty:netty-handler:4.1.108.Final" diff --git a/src/main/java/net/raphimc/viaaprilfools/api/AprilFoolsMappings.java b/src/main/java/net/raphimc/viaaprilfools/api/AprilFoolsMappings.java new file mode 100644 index 0000000..261bbc6 --- /dev/null +++ b/src/main/java/net/raphimc/viaaprilfools/api/AprilFoolsMappings.java @@ -0,0 +1,51 @@ +/* + * This file is part of ViaAprilFools - https://github.com/RaphiMC/ViaAprilFools + * Copyright (C) 2021-2024 RK_01/RaphiMC and contributors + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ +package net.raphimc.viaaprilfools.api; + +import com.viaversion.viabackwards.api.data.BackwardsMappingDataLoader; +import com.viaversion.viabackwards.api.data.BackwardsMappings; +import com.viaversion.viaversion.api.protocol.Protocol; +import com.viaversion.viaversion.libs.opennbt.tag.builtin.CompoundTag; +import net.raphimc.viaaprilfools.ViaAprilFools; +import org.checkerframework.checker.nullness.qual.Nullable; + +import java.util.logging.Logger; + +public class AprilFoolsMappings extends BackwardsMappings { + + private static final BackwardsMappingDataLoader LOADER = new BackwardsMappingDataLoader(AprilFoolsMappings.class, "assets/viaaprilfools/data/"); + + public AprilFoolsMappings(String unmappedVersion, String mappedVersion, @Nullable Class> vvProtocolClass) { + super(unmappedVersion, mappedVersion, vvProtocolClass); + } + + @Override + protected @Nullable CompoundTag readMappingsFile(String name) { + return LOADER.loadNBT(name); + } + + @Override + protected @Nullable CompoundTag readUnmappedIdentifiersFile(String name) { + return LOADER.loadNBT(name, true); + } + + @Override + protected Logger getLogger() { + return ViaAprilFools.getPlatform().getLogger(); + } +} diff --git a/src/main/java/net/raphimc/viaaprilfools/protocols/protocol1_14to3D_Shareware/Protocol1_14to3D_Shareware.java b/src/main/java/net/raphimc/viaaprilfools/protocols/protocol1_14to3D_Shareware/Protocol1_14to3D_Shareware.java index 43bca2f..c864457 100644 --- a/src/main/java/net/raphimc/viaaprilfools/protocols/protocol1_14to3D_Shareware/Protocol1_14to3D_Shareware.java +++ b/src/main/java/net/raphimc/viaaprilfools/protocols/protocol1_14to3D_Shareware/Protocol1_14to3D_Shareware.java @@ -28,13 +28,14 @@ import com.viaversion.viaversion.api.type.types.chunk.ChunkType1_14; import com.viaversion.viaversion.protocols.protocol1_14to1_13_2.ClientboundPackets1_14; import com.viaversion.viaversion.protocols.protocol1_14to1_13_2.Protocol1_14To1_13_2; import com.viaversion.viaversion.protocols.protocol1_14to1_13_2.ServerboundPackets1_14; +import net.raphimc.viaaprilfools.api.AprilFoolsMappings; import net.raphimc.viaaprilfools.protocols.protocol1_14to3D_Shareware.packets.BlockItemPackets3D_Shareware; import net.raphimc.viaaprilfools.protocols.protocol1_14to3D_Shareware.packets.EntityPackets3D_Shareware; import net.raphimc.viaaprilfools.protocols.protocol1_14to3D_Shareware.storage.ChunkCenterTracker3D_Shareware; public class Protocol1_14to3D_Shareware extends BackwardsProtocol { - public static final BackwardsMappings MAPPINGS = new BackwardsMappings("3D_Shareware", "1.14", Protocol1_14To1_13_2.class); + public static final BackwardsMappings MAPPINGS = new AprilFoolsMappings("3D_Shareware", "1.14", Protocol1_14To1_13_2.class); private static final int SERVERSIDE_VIEW_DISTANCE = 64; private final BlockItemPackets3D_Shareware blockItemPackets = new BlockItemPackets3D_Shareware(this); diff --git a/src/main/java/net/raphimc/viaaprilfools/protocols/protocol1_16to20w14infinite/Protocol1_16to20w14infinite.java b/src/main/java/net/raphimc/viaaprilfools/protocols/protocol1_16to20w14infinite/Protocol1_16to20w14infinite.java index 44c1f79..4a6f963 100644 --- a/src/main/java/net/raphimc/viaaprilfools/protocols/protocol1_16to20w14infinite/Protocol1_16to20w14infinite.java +++ b/src/main/java/net/raphimc/viaaprilfools/protocols/protocol1_16to20w14infinite/Protocol1_16to20w14infinite.java @@ -35,6 +35,7 @@ import com.viaversion.viaversion.protocols.protocol1_16to1_15_2.provider.PlayerA import com.viaversion.viaversion.rewriter.RecipeRewriter; import com.viaversion.viaversion.rewriter.StatisticsRewriter; import com.viaversion.viaversion.rewriter.TagRewriter; +import net.raphimc.viaaprilfools.api.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; @@ -43,7 +44,7 @@ import java.util.UUID; public class Protocol1_16to20w14infinite extends BackwardsProtocol { - public static final BackwardsMappings MAPPINGS = new BackwardsMappings("20w14infinite", "1.16", Protocol1_16To1_15_2.class); + public static final BackwardsMappings MAPPINGS = new AprilFoolsMappings("20w14infinite", "1.16", Protocol1_16To1_15_2.class); private static final UUID ZERO_UUID = new UUID(0, 0); private final BlockItemPackets20w14infinite blockItemPackets = new BlockItemPackets20w14infinite(this); diff --git a/src/main/resources/assets/viaversion/data/identifiers-20w14infinite.nbt b/src/main/resources/assets/viaaprilfools/data/identifiers-20w14infinite.nbt similarity index 100% rename from src/main/resources/assets/viaversion/data/identifiers-20w14infinite.nbt rename to src/main/resources/assets/viaaprilfools/data/identifiers-20w14infinite.nbt diff --git a/src/main/resources/assets/viaversion/data/identifiers-3D_Shareware.nbt b/src/main/resources/assets/viaaprilfools/data/identifiers-3D_Shareware.nbt similarity index 100% rename from src/main/resources/assets/viaversion/data/identifiers-3D_Shareware.nbt rename to src/main/resources/assets/viaaprilfools/data/identifiers-3D_Shareware.nbt diff --git a/src/main/resources/assets/viabackwards/data/mappings-20w14infiniteto1.16.nbt b/src/main/resources/assets/viaaprilfools/data/mappings-20w14infiniteto1.16.nbt similarity index 100% rename from src/main/resources/assets/viabackwards/data/mappings-20w14infiniteto1.16.nbt rename to src/main/resources/assets/viaaprilfools/data/mappings-20w14infiniteto1.16.nbt diff --git a/src/main/resources/assets/viabackwards/data/mappings-3D_Sharewareto1.14.nbt b/src/main/resources/assets/viaaprilfools/data/mappings-3D_Sharewareto1.14.nbt similarity index 100% rename from src/main/resources/assets/viabackwards/data/mappings-3D_Sharewareto1.14.nbt rename to src/main/resources/assets/viaaprilfools/data/mappings-3D_Sharewareto1.14.nbt