|
25 | 25 | import com.viaversion.viafabricplus.event.ChangeProtocolVersionCallback; |
26 | 26 | import com.viaversion.viafabricplus.event.PostGameLoadCallback; |
27 | 27 | import com.viaversion.viafabricplus.features.data.EntityDimensionDiff; |
28 | | -import com.viaversion.viafabricplus.features.data.ResourcePackHeaderDiff; |
29 | | -import com.viaversion.viafabricplus.features.data.recipe.Recipes1_11_2; |
| 28 | +import com.viaversion.viafabricplus.features2.networking.resource_pack_header.ResourcePackHeaderDiff; |
| 29 | +import com.viaversion.viafabricplus.features2.recipe_emulation.Recipes1_11_2; |
30 | 30 | import com.viaversion.viafabricplus.features.versioned.EnchantmentAttributesEmulation1_20_6; |
31 | 31 | import com.viaversion.viafabricplus.features2.cpe_extensions.CPEAdditions; |
32 | | -import com.viaversion.viafabricplus.features.versioned.classic.GridItemSelectionScreen; |
| 32 | +import com.viaversion.viafabricplus.features2.ui.classic_creative_menu.GridItemSelectionScreen; |
33 | 33 | import com.viaversion.viafabricplus.features.versioned.visual.ArmorHudEmulation1_8; |
34 | 34 | import com.viaversion.viafabricplus.features2.footstep_particle.FootStepParticle1_12_2; |
35 | | -import com.viaversion.viafabricplus.features.versioned.visual.UnicodeFontFix1_12_2; |
36 | | -import com.viaversion.viafabricplus.injection.access.IClientConnection; |
37 | | -import com.viaversion.viafabricplus.protocoltranslator.ProtocolTranslator; |
38 | | -import com.viaversion.viafabricplus.settings.impl.BedrockSettings; |
| 35 | +import com.viaversion.viafabricplus.features2.text_rendering.non_existing_characters.UnicodeFontFix1_12_2; |
39 | 36 | import com.viaversion.viafabricplus.settings.impl.VisualSettings; |
40 | | -import com.viaversion.viafabricplus.util.DataCustomPayload; |
| 37 | +import com.viaversion.viafabricplus.base.DataCustomPayload; |
41 | 38 | import net.minecraft.block.*; |
42 | 39 | import net.minecraft.client.MinecraftClient; |
43 | | -import net.minecraft.client.network.ClientPlayNetworkHandler; |
44 | | -import net.minecraft.network.PacketByteBuf; |
45 | | -import net.minecraft.network.RegistryByteBuf; |
46 | 40 | import net.minecraft.registry.Registries; |
47 | 41 | import net.raphimc.viaaprilfools.api.AprilFoolsProtocolVersion; |
48 | | -import net.raphimc.viabedrock.api.BedrockProtocolVersion; |
49 | | -import net.raphimc.viabedrock.protocol.data.ProtocolConstants; |
50 | 42 | import net.raphimc.vialegacy.api.LegacyProtocolVersion; |
51 | | -import net.raphimc.vialegacy.protocol.classic.c0_30cpetoc0_28_30.data.ClassicProtocolExtension; |
52 | | -import net.raphimc.vialegacy.protocol.classic.c0_30cpetoc0_28_30.storage.ExtensionProtocolMetadataStorage; |
53 | | -import org.jetbrains.annotations.ApiStatus; |
54 | | - |
55 | | -import java.util.Map; |
56 | | -import java.util.Objects; |
57 | | -import java.util.UUID; |
58 | | -import java.util.concurrent.ConcurrentHashMap; |
59 | | -import java.util.function.Consumer; |
60 | 43 |
|
61 | 44 | /** |
62 | 45 | * This class contains random fields and methods that are used to fix bugs on the client side |
63 | 46 | */ |
64 | 47 | public class ClientsideFeatures { |
65 | 48 |
|
66 | | - /** |
67 | | - * Contains all tasks that are waiting for a packet to be received, this system can be used to sync ViaVersion tasks with the correct thread |
68 | | - */ |
69 | | - private static final Map<String, Consumer<RegistryByteBuf>> PENDING_EXECUTION_TASKS = new ConcurrentHashMap<>(); |
70 | | - |
71 | | - /** |
72 | | - * This identifier is an internal identifier used to identify packets that are sent by ViaFabricPlus |
73 | | - */ |
74 | | - @ApiStatus.Internal |
75 | | - public static final String PACKET_SYNC_IDENTIFIER = UUID.randomUUID() + ":" + UUID.randomUUID(); |
76 | | - |
77 | | - /** |
78 | | - * This is an incremental index used for tablist entries to implement FIFO behavior <= 1.7 |
79 | | - */ |
80 | | - @ApiStatus.Internal |
81 | | - public static int globalTablistIndex = 0; |
82 | | - |
83 | 49 | static { |
84 | 50 | // Register additional CPE features |
85 | 51 | CPEAdditions.modifyMappings(); |
@@ -148,45 +114,4 @@ public static void init() { |
148 | 114 | // Calls the static block |
149 | 115 | } |
150 | 116 |
|
151 | | - /** |
152 | | - * Replaces the default port when parsing a server address if the default port should be replaced |
153 | | - * |
154 | | - * @param address The original address of the server |
155 | | - * @param version The protocol version |
156 | | - * @return The server address with the replaced default port |
157 | | - */ |
158 | | - public static String replaceDefaultPort(final String address, final ProtocolVersion version) { |
159 | | - // If the default port for this entry should be replaced, check if the address already contains a port |
160 | | - // We can't just replace vanilla's default port because a bedrock server might be running on the same port |
161 | | - if (BedrockSettings.global().replaceDefaultPort.getValue() && Objects.equals(version, BedrockProtocolVersion.bedrockLatest) && !address.contains(":")) { |
162 | | - return address + ":" + ProtocolConstants.BEDROCK_DEFAULT_PORT; |
163 | | - } else { |
164 | | - return address; |
165 | | - } |
166 | | - } |
167 | | - |
168 | | - /** |
169 | | - * Executes a task synchronized with the main thread from networking threads |
170 | | - * |
171 | | - * @param task The task to execute |
172 | | - * @return The uuid of the task |
173 | | - */ |
174 | | - public static String executeSyncTask(final Consumer<RegistryByteBuf> task) { |
175 | | - final String uuid = UUID.randomUUID().toString(); |
176 | | - PENDING_EXECUTION_TASKS.put(uuid, task); |
177 | | - return uuid; |
178 | | - } |
179 | | - |
180 | | - @ApiStatus.Internal |
181 | | - public static void handleSyncTask(final PacketByteBuf buf) { |
182 | | - final String uuid = buf.readString(); |
183 | | - |
184 | | - if (PENDING_EXECUTION_TASKS.containsKey(uuid)) { |
185 | | - MinecraftClient.getInstance().execute(() -> { // Execute the task on the main thread |
186 | | - final Consumer<RegistryByteBuf> task = PENDING_EXECUTION_TASKS.remove(uuid); |
187 | | - task.accept(new RegistryByteBuf(buf, MinecraftClient.getInstance().getNetworkHandler().getRegistryManager())); |
188 | | - }); |
189 | | - } |
190 | | - } |
191 | | - |
192 | 117 | } |
0 commit comments