From b8152d13ca55a734ecc12418bd12bc917868d6d1 Mon Sep 17 00:00:00 2001
From: FlorianMichael <60033407+FlorianMichael@users.noreply.github.com>
Date: Mon, 27 Nov 2023 16:15:28 +0100
Subject: [PATCH] Cleaned source code tree
---
....java => ActionResultException1_12_2.java} | 4 +-
...istener.java => ArmorHudEmulation1_8.java} | 2 +-
.../viafabricplus/fixes/BlockFixes.java | 74 -------------------
.../fixes/ChestHandler1_13_2.java | 50 -------------
.../ClientPlayerInteractionManager1_18_2.java | 41 +++-------
.../viafabricplus/fixes/ClientsideFixes.java | 37 ++++++++--
.../ClassicItemSelectionScreen.java | 70 +++---------------
.../ClassicWorldHeightInjections.java | 2 +-
.../CustomClassicProtocolExtensions.java | 6 +-
.../{impl => }/ListExtensionsCommand.java | 3 +-
.../command/{impl => }/SetTimeCommand.java | 3 +-
.../{diff => data}/ItemRegistryDiff.java | 2 +-
.../fixes/{diff => data}/Material1_19_4.java | 2 +-
.../{diff => data}/RenderableGlyphDiff.java | 2 +-
.../recipe/AddBannerPatternRecipe.java | 2 +-
.../recipe/BannerPattern_1_13_2.java | 2 +-
.../fixes/{ => data}/recipe/RecipeInfo.java | 2 +-
.../{ => data}/recipe/Recipes1_11_2.java | 2 +-
.../fixes/{boat => entity}/BoatModel1_8.java | 2 +-
.../{boat => entity}/BoatRenderer1_8.java | 2 +-
.../EntityDimensionReplacements.java} | 4 +-
.../EntityRidingOffsetsPre1_20_2.java} | 4 +-
.../replacement}/BuiltinEmptyGlyph1_12_2.java | 2 +-
.../replacement}/KeyPairResponse1_19_0.java | 2 +-
.../PendingUpdateManager1_18_2.java | 2 +-
.../authlib/MixinYggdrasilUserApiService.java | 2 +-
.../fixes/minecraft/MixinClientWorld.java | 2 +-
.../fixes/minecraft/MixinFlowableFluid.java | 2 +-
.../fixes/minecraft/MixinFontStorage.java | 4 +-
.../fixes/minecraft/MixinMinecraftClient.java | 2 +-
.../mixin/fixes/minecraft/MixinMouse.java | 4 +-
.../minecraft/block/MixinSoulSandBlock.java | 8 ++
.../minecraft/entity/MixinBoatEntity.java | 6 +-
.../fixes/minecraft/entity/MixinEntity.java | 6 +-
.../minecraft/entity/MixinEntityModels.java | 2 +-
.../entity/MixinEntityRenderDispatcher.java | 2 +-
.../minecraft/entity/MixinLivingEntity.java | 6 +-
.../fixes/minecraft/item/MixinAxeItem.java | 2 +-
.../item/MixinItemGroup_EntriesImpl.java | 2 +-
.../item/MixinItemPlacementContext.java | 2 +-
.../minecraft/item/MixinPickaxeItem.java | 2 +-
.../MixinClientPlayNetworkHandler.java | 4 +-
.../MixinClientPlayerInteractionManager.java | 12 +--
.../screen/MixinCreativeInventoryScreen.java | 2 +-
.../screen/MixinMouseOptionsScreen.java | 4 +-
.../MixinCraftingScreenHandler.java | 2 +-
.../MixinPlayerScreenHandler.java | 2 +-
.../viaversion/MixinEntityPackets1_17.java | 2 +-
.../viaversion/MixinInventoryPackets.java | 28 ++++++-
.../viaversion/MixinUserConnectionImpl.java | 2 +-
.../viaversion/MixinWorldPackets1_17.java | 2 +-
.../viaversion/MixinWorldPackets1_19.java | 15 +++-
.../protocolhack/ProtocolHack.java | 2 +-
.../ViaFabricPlusVLCommandHandler.java | 4 +-
.../util/MathUtil.java} | 4 +-
.../util/NoPacketSendChannel.java | 7 +-
56 files changed, 171 insertions(+), 299 deletions(-)
rename src/main/java/de/florianmichael/viafabricplus/fixes/{ActionResultException.java => ActionResultException1_12_2.java} (89%)
rename src/main/java/de/florianmichael/viafabricplus/fixes/{ArmorUpdateListener.java => ArmorHudEmulation1_8.java} (98%)
delete mode 100644 src/main/java/de/florianmichael/viafabricplus/fixes/BlockFixes.java
delete mode 100644 src/main/java/de/florianmichael/viafabricplus/fixes/ChestHandler1_13_2.java
rename src/main/java/de/florianmichael/viafabricplus/fixes/classic/{screen => }/ClassicItemSelectionScreen.java (60%)
rename src/main/java/de/florianmichael/viafabricplus/{injection/reference => fixes/classic}/ClassicWorldHeightInjections.java (99%)
rename src/main/java/de/florianmichael/viafabricplus/fixes/classic/command/{impl => }/ListExtensionsCommand.java (93%)
rename src/main/java/de/florianmichael/viafabricplus/fixes/classic/command/{impl => }/SetTimeCommand.java (93%)
rename src/main/java/de/florianmichael/viafabricplus/fixes/{diff => data}/ItemRegistryDiff.java (99%)
rename src/main/java/de/florianmichael/viafabricplus/fixes/{diff => data}/Material1_19_4.java (99%)
rename src/main/java/de/florianmichael/viafabricplus/fixes/{diff => data}/RenderableGlyphDiff.java (99%)
rename src/main/java/de/florianmichael/viafabricplus/fixes/{ => data}/recipe/AddBannerPatternRecipe.java (99%)
rename src/main/java/de/florianmichael/viafabricplus/fixes/{ => data}/recipe/BannerPattern_1_13_2.java (98%)
rename src/main/java/de/florianmichael/viafabricplus/fixes/{ => data}/recipe/RecipeInfo.java (99%)
rename src/main/java/de/florianmichael/viafabricplus/fixes/{ => data}/recipe/Recipes1_11_2.java (99%)
rename src/main/java/de/florianmichael/viafabricplus/fixes/{boat => entity}/BoatModel1_8.java (98%)
rename src/main/java/de/florianmichael/viafabricplus/fixes/{boat => entity}/BoatRenderer1_8.java (98%)
rename src/main/java/de/florianmichael/viafabricplus/fixes/{EntityHitboxUpdateListener.java => entity/EntityDimensionReplacements.java} (98%)
rename src/main/java/de/florianmichael/viafabricplus/fixes/{EntityHeightOffsetsPre1_20_2.java => entity/EntityRidingOffsetsPre1_20_2.java} (98%)
rename src/main/java/de/florianmichael/viafabricplus/{injection/reference => fixes/replacement}/BuiltinEmptyGlyph1_12_2.java (96%)
rename src/main/java/de/florianmichael/viafabricplus/{injection/reference => fixes/replacement}/KeyPairResponse1_19_0.java (95%)
rename src/main/java/de/florianmichael/viafabricplus/fixes/{ => replacement}/PendingUpdateManager1_18_2.java (96%)
rename src/main/java/de/florianmichael/viafabricplus/{util/MouseSensitivityUtil.java => protocolhack/util/MathUtil.java} (93%)
rename src/main/java/de/florianmichael/viafabricplus/{ => protocolhack}/util/NoPacketSendChannel.java (72%)
diff --git a/src/main/java/de/florianmichael/viafabricplus/fixes/ActionResultException.java b/src/main/java/de/florianmichael/viafabricplus/fixes/ActionResultException1_12_2.java
similarity index 89%
rename from src/main/java/de/florianmichael/viafabricplus/fixes/ActionResultException.java
rename to src/main/java/de/florianmichael/viafabricplus/fixes/ActionResultException1_12_2.java
index c24a9e74..1df1c4ca 100644
--- a/src/main/java/de/florianmichael/viafabricplus/fixes/ActionResultException.java
+++ b/src/main/java/de/florianmichael/viafabricplus/fixes/ActionResultException1_12_2.java
@@ -21,11 +21,11 @@ package de.florianmichael.viafabricplus.fixes;
import net.minecraft.util.ActionResult;
-public class ActionResultException extends RuntimeException {
+public class ActionResultException1_12_2 extends RuntimeException {
private final ActionResult actionResult;
- public ActionResultException(final ActionResult actionResult) {
+ public ActionResultException1_12_2(final ActionResult actionResult) {
this.actionResult = actionResult;
}
diff --git a/src/main/java/de/florianmichael/viafabricplus/fixes/ArmorUpdateListener.java b/src/main/java/de/florianmichael/viafabricplus/fixes/ArmorHudEmulation1_8.java
similarity index 98%
rename from src/main/java/de/florianmichael/viafabricplus/fixes/ArmorUpdateListener.java
rename to src/main/java/de/florianmichael/viafabricplus/fixes/ArmorHudEmulation1_8.java
index 6d7efa19..fc1eb481 100644
--- a/src/main/java/de/florianmichael/viafabricplus/fixes/ArmorUpdateListener.java
+++ b/src/main/java/de/florianmichael/viafabricplus/fixes/ArmorHudEmulation1_8.java
@@ -34,7 +34,7 @@ import net.minecraft.registry.Registries;
import java.util.UUID;
-public class ArmorUpdateListener {
+public class ArmorHudEmulation1_8 {
private static final UUID ARMOR_POINTS_UUID = UUID.fromString("2AD3F246-FEE1-4E67-B886-69FD380BB150");
diff --git a/src/main/java/de/florianmichael/viafabricplus/fixes/BlockFixes.java b/src/main/java/de/florianmichael/viafabricplus/fixes/BlockFixes.java
deleted file mode 100644
index d8cfb6fe..00000000
--- a/src/main/java/de/florianmichael/viafabricplus/fixes/BlockFixes.java
+++ /dev/null
@@ -1,74 +0,0 @@
-/*
- * This file is part of ViaFabricPlus - https://github.com/FlorianMichael/ViaFabricPlus
- * Copyright (C) 2021-2023 FlorianMichael/EnZaXD
- * Copyright (C) 2023 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 de.florianmichael.viafabricplus.fixes;
-
-import de.florianmichael.viafabricplus.event.ChangeProtocolVersionCallback;
-import net.minecraft.block.*;
-import net.minecraft.client.MinecraftClient;
-import net.minecraft.registry.Registries;
-import net.raphimc.vialoader.util.VersionEnum;
-
-public class BlockFixes {
-
- private static final float DEFAULT_SOUL_SAND_VELOCITY_MULTIPLIER = Blocks.SOUL_SAND.getVelocityMultiplier();
- private static final float _1_14_4_SOUL_SAND_VELOCITY_MULTIPLIER = 1F;
-
- public static void init() {
- ChangeProtocolVersionCallback.EVENT.register((oldVersion, newVersion) -> MinecraftClient.getInstance().execute(() -> {
- // Soul sand velocity multiplier
- if (isNewerThan(oldVersion, newVersion, VersionEnum.r1_14_4)) {
- Blocks.SOUL_SAND.velocityMultiplier = DEFAULT_SOUL_SAND_VELOCITY_MULTIPLIER;
- }
- if (isOlderThanOrEqualTo(oldVersion, newVersion, VersionEnum.r1_14_4)) {
- Blocks.SOUL_SAND.velocityMultiplier = _1_14_4_SOUL_SAND_VELOCITY_MULTIPLIER;
- }
-
- // Reloads all bounding boxes
- for (Block block : Registries.BLOCK) {
- if (block instanceof AnvilBlock || block instanceof BedBlock || block instanceof BrewingStandBlock
- || block instanceof CarpetBlock || block instanceof CauldronBlock || block instanceof ChestBlock
- || block instanceof EnderChestBlock || block instanceof EndPortalBlock || block instanceof EndPortalFrameBlock
- || block instanceof FarmlandBlock || block instanceof FenceBlock || block instanceof FenceGateBlock
- || block instanceof HopperBlock || block instanceof LadderBlock || block instanceof LeavesBlock
- || block instanceof LilyPadBlock || block instanceof PaneBlock || block instanceof PistonBlock
- || block instanceof PistonHeadBlock || block instanceof SnowBlock || block instanceof WallBlock
- || block instanceof CropBlock || block instanceof FlowerbedBlock
- ) {
- for (BlockState state : block.getStateManager().getStates()) {
- state.initShapeCache();
- }
- }
- }
- }));
- }
-
- private static boolean isOlderThanOrEqualTo(final VersionEnum oldVersion, final VersionEnum newVersion, final VersionEnum toCheck) {
- return oldVersion.isNewerThan(toCheck) && newVersion.isOlderThanOrEqualTo(toCheck);
- }
-
- private static boolean isNewerThan(final VersionEnum oldVersion, final VersionEnum newVersion, final VersionEnum toCheck) {
- return newVersion.isNewerThan(toCheck) && oldVersion.isOlderThanOrEqualTo(toCheck);
- }
-
- private static boolean didCrossBoundary(final VersionEnum oldVersion, final VersionEnum newVersion, final VersionEnum toCheck) {
- return isNewerThan(oldVersion, newVersion, toCheck) || isOlderThanOrEqualTo(oldVersion, newVersion, toCheck);
- }
-
-}
diff --git a/src/main/java/de/florianmichael/viafabricplus/fixes/ChestHandler1_13_2.java b/src/main/java/de/florianmichael/viafabricplus/fixes/ChestHandler1_13_2.java
deleted file mode 100644
index 674eed54..00000000
--- a/src/main/java/de/florianmichael/viafabricplus/fixes/ChestHandler1_13_2.java
+++ /dev/null
@@ -1,50 +0,0 @@
-/*
- * This file is part of ViaFabricPlus - https://github.com/FlorianMichael/ViaFabricPlus
- * Copyright (C) 2021-2023 FlorianMichael/EnZaXD
- * Copyright (C) 2023 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 de.florianmichael.viafabricplus.fixes;
-
-import net.minecraft.client.MinecraftClient;
-import net.minecraft.client.gui.screen.ingame.GenericContainerScreen;
-import net.minecraft.inventory.SimpleInventory;
-import net.minecraft.network.PacketByteBuf;
-import net.minecraft.screen.GenericContainerScreenHandler;
-import net.minecraft.text.Text;
-import net.minecraft.util.math.MathHelper;
-
-import java.util.function.Consumer;
-
-public class ChestHandler1_13_2 {
-
- public static final Consumer OLD_PACKET_HANDLER = data -> {
- final MinecraftClient mc = MinecraftClient.getInstance();
-
- try {
- final int windowId = data.readUnsignedByte();
- final int slots = data.readUnsignedByte();
- final Text title = data.readText();
-
- final GenericContainerScreenHandler screenHandler = new GenericContainerScreenHandler(null, windowId, mc.player.getInventory(), new SimpleInventory(slots), MathHelper.ceil(slots / 9F));
- mc.player.currentScreenHandler = screenHandler;
- mc.setScreen(new GenericContainerScreen(screenHandler, mc.player.getInventory(), title));
- } catch (Throwable t) {
- throw new RuntimeException("Failed to handle OpenWindow packet data", t);
- }
- };
-
-}
diff --git a/src/main/java/de/florianmichael/viafabricplus/fixes/ClientPlayerInteractionManager1_18_2.java b/src/main/java/de/florianmichael/viafabricplus/fixes/ClientPlayerInteractionManager1_18_2.java
index 45330343..3ffc43e5 100644
--- a/src/main/java/de/florianmichael/viafabricplus/fixes/ClientPlayerInteractionManager1_18_2.java
+++ b/src/main/java/de/florianmichael/viafabricplus/fixes/ClientPlayerInteractionManager1_18_2.java
@@ -21,12 +21,10 @@ package de.florianmichael.viafabricplus.fixes;
import de.florianmichael.viafabricplus.ViaFabricPlus;
import de.florianmichael.viafabricplus.protocolhack.ProtocolHack;
-import de.florianmichael.viafabricplus.protocolhack.translator.BlockStateTranslator;
import it.unimi.dsi.fastutil.objects.Object2ObjectLinkedOpenHashMap;
import net.minecraft.block.Block;
import net.minecraft.block.BlockState;
import net.minecraft.client.MinecraftClient;
-import net.minecraft.network.PacketByteBuf;
import net.minecraft.network.packet.c2s.play.PlayerActionC2SPacket;
import net.minecraft.util.math.BlockPos;
import net.minecraft.util.math.Vec2f;
@@ -34,24 +32,8 @@ import net.minecraft.util.math.Vec3d;
import net.raphimc.vialoader.util.VersionEnum;
import org.apache.commons.lang3.tuple.Pair;
-import java.util.function.Consumer;
-
public class ClientPlayerInteractionManager1_18_2 {
-
- public static final Consumer OLD_PACKET_HANDLER = data -> {
- try {
- final var pos = data.readBlockPos();
- final var blockState = BlockStateTranslator.via1_18_2toMc(data.readVarInt());
- final var action = data.readEnumConstant(PlayerActionC2SPacket.Action.class);
- final var allGood = data.readBoolean();
-
- ClientPlayerInteractionManager1_18_2.handleBlockBreakAck(pos, blockState, action, allGood);
- } catch (Throwable t) {
- throw new RuntimeException("Failed to handle BlockBreakAck packet data", t);
- }
- };
-
- private static final Object2ObjectLinkedOpenHashMap, PositionAndRotation> UNACKED_ACTIONS = new Object2ObjectLinkedOpenHashMap<>();
+ private static final Object2ObjectLinkedOpenHashMap, Pair> UN_ACKED_ACTIONS = new Object2ObjectLinkedOpenHashMap<>();
public static void trackPlayerAction(final PlayerActionC2SPacket.Action action, final BlockPos blockPos) {
final var player = MinecraftClient.getInstance().player;
@@ -63,7 +45,7 @@ public class ClientPlayerInteractionManager1_18_2 {
} else {
rotation = new Vec2f(player.getYaw(), player.getPitch());
}
- UNACKED_ACTIONS.put(Pair.of(blockPos, action), new PositionAndRotation(player.getPos(), rotation));
+ UN_ACKED_ACTIONS.put(Pair.of(blockPos, action), Pair.of(player.getPos(), rotation));
}
public static void handleBlockBreakAck(final BlockPos blockPos, final BlockState expectedState, final PlayerActionC2SPacket.Action action, final boolean allGood) {
@@ -71,32 +53,29 @@ public class ClientPlayerInteractionManager1_18_2 {
if (player == null) return;
final var world = MinecraftClient.getInstance().getNetworkHandler().getWorld();
- final var oldPlayerState = UNACKED_ACTIONS.remove(Pair.of(blockPos, action));
+ final var oldPlayerState = UN_ACKED_ACTIONS.remove(Pair.of(blockPos, action));
final var actualState = world.getBlockState(blockPos);
if ((oldPlayerState == null || !allGood || action != PlayerActionC2SPacket.Action.START_DESTROY_BLOCK && actualState != expectedState) && (actualState != expectedState || ProtocolHack.getTargetVersion().isOlderThanOrEqualTo(VersionEnum.r1_15_2))) {
world.setBlockState(blockPos, expectedState, Block.NOTIFY_ALL | Block.FORCE_STATE);
if (oldPlayerState != null && (ProtocolHack.getTargetVersion().isOlderThanOrEqualTo(VersionEnum.r1_16_1) || (world == player.getWorld() && player.collidesWithStateAtPos(blockPos, expectedState)))) {
- final Vec3d oldPlayerPosition = oldPlayerState.position;
- if (oldPlayerState.rotation != null) {
- player.updatePositionAndAngles(oldPlayerPosition.x, oldPlayerPosition.y, oldPlayerPosition.z, oldPlayerState.rotation.x, oldPlayerState.rotation.y);
+ final Vec3d oldPlayerPosition = oldPlayerState.getKey();
+ if (oldPlayerState.getValue() != null) {
+ player.updatePositionAndAngles(oldPlayerPosition.x, oldPlayerPosition.y, oldPlayerPosition.z, oldPlayerState.getValue().x, oldPlayerState.getValue().y);
} else {
player.updatePosition(oldPlayerPosition.x, oldPlayerPosition.y, oldPlayerPosition.z);
}
}
}
- while (UNACKED_ACTIONS.size() >= 50) {
- ViaFabricPlus.global().getLogger().warn("Too many unacked block actions, dropping {}", UNACKED_ACTIONS.firstKey());
- UNACKED_ACTIONS.removeFirst();
+ while (UN_ACKED_ACTIONS.size() >= 50) {
+ ViaFabricPlus.global().getLogger().warn("Too many unacked block actions, dropping {}", UN_ACKED_ACTIONS.firstKey());
+ UN_ACKED_ACTIONS.removeFirst();
}
}
public static void clearUnackedActions() {
- UNACKED_ACTIONS.clear();
- }
-
- private record PositionAndRotation(Vec3d position, Vec2f rotation) {
+ UN_ACKED_ACTIONS.clear();
}
}
diff --git a/src/main/java/de/florianmichael/viafabricplus/fixes/ClientsideFixes.java b/src/main/java/de/florianmichael/viafabricplus/fixes/ClientsideFixes.java
index 12e2b955..5b96eff2 100644
--- a/src/main/java/de/florianmichael/viafabricplus/fixes/ClientsideFixes.java
+++ b/src/main/java/de/florianmichael/viafabricplus/fixes/ClientsideFixes.java
@@ -23,13 +23,16 @@ import de.florianmichael.viafabricplus.event.ChangeProtocolVersionCallback;
import de.florianmichael.viafabricplus.event.DisconnectCallback;
import de.florianmichael.viafabricplus.event.LoadClassicProtocolExtensionCallback;
import de.florianmichael.viafabricplus.event.PostGameLoadCallback;
+import de.florianmichael.viafabricplus.fixes.entity.EntityDimensionReplacements;
import de.florianmichael.viafabricplus.fixes.classic.CustomClassicProtocolExtensions;
-import de.florianmichael.viafabricplus.fixes.classic.screen.ClassicItemSelectionScreen;
+import de.florianmichael.viafabricplus.fixes.classic.ClassicItemSelectionScreen;
import de.florianmichael.viafabricplus.injection.ViaFabricPlusMixinPlugin;
import de.florianmichael.viafabricplus.protocolhack.provider.vialegacy.ViaFabricPlusClassicMPPassProvider;
+import net.minecraft.block.*;
import net.minecraft.client.MinecraftClient;
import net.minecraft.client.font.FontStorage;
import net.minecraft.network.PacketByteBuf;
+import net.minecraft.registry.Registries;
import net.raphimc.vialegacy.protocols.classic.protocolc0_28_30toc0_28_30cpe.data.ClassicProtocolExtension;
import net.raphimc.vialoader.util.VersionEnum;
@@ -60,15 +63,19 @@ public class ClientsideFixes {
public static void init() {
CustomClassicProtocolExtensions.create();
+
PostGameLoadCallback.EVENT.register(() -> {
- EntityHitboxUpdateListener.init();
- ArmorUpdateListener.init();
- BlockFixes.init();
+ // Handles and updates entity dimension changes in <= 1.17
+ EntityDimensionReplacements.init();
+
+ // Ticks the armor hud manually in <= 1.8.x
+ ArmorHudEmulation1_8.init();
});
DisconnectCallback.EVENT.register(() -> {
// Reset the MP-pass
ViaFabricPlusClassicMPPassProvider.classiCubeMPPass = null;
+
// Remove all previous unacked player actions
ClientPlayerInteractionManager1_18_2.clearUnackedActions();
});
@@ -86,16 +93,34 @@ public class ClientsideFixes {
currentChatLength = 256;
}
- // Text Renderer invisible character fix
if (!ViaFabricPlusMixinPlugin.DASH_LOADER_PRESENT) {
+ // Clear all font caches to enforce a reload of all fonts (this is needed because we change the font renderer behavior)
for (FontStorage storage : MinecraftClient.getInstance().fontManager.fontStorages.values()) {
storage.glyphRendererCache.clear();
storage.glyphCache.clear();
}
}
+ // Reloads all bounding boxes of the blocks that we changed
+ for (Block block : Registries.BLOCK) {
+ if (block instanceof AnvilBlock || block instanceof BedBlock || block instanceof BrewingStandBlock
+ || block instanceof CarpetBlock || block instanceof CauldronBlock || block instanceof ChestBlock
+ || block instanceof EnderChestBlock || block instanceof EndPortalBlock || block instanceof EndPortalFrameBlock
+ || block instanceof FarmlandBlock || block instanceof FenceBlock || block instanceof FenceGateBlock
+ || block instanceof HopperBlock || block instanceof LadderBlock || block instanceof LeavesBlock
+ || block instanceof LilyPadBlock || block instanceof PaneBlock || block instanceof PistonBlock
+ || block instanceof PistonHeadBlock || block instanceof SnowBlock || block instanceof WallBlock
+ || block instanceof CropBlock || block instanceof FlowerbedBlock
+ ) {
+ for (BlockState state : block.getStateManager().getStates()) {
+ state.initShapeCache();
+ }
+ }
+ }
+
+ // Rebuilds the item selection screen grid
if (newVersion.isOlderThanOrEqualTo(VersionEnum.c0_28toc0_30)) {
- ClassicItemSelectionScreen.INSTANCE.reload(newVersion, false);
+ ClassicItemSelectionScreen.INSTANCE.rebuildGridOverlay();
}
}));
diff --git a/src/main/java/de/florianmichael/viafabricplus/fixes/classic/screen/ClassicItemSelectionScreen.java b/src/main/java/de/florianmichael/viafabricplus/fixes/classic/ClassicItemSelectionScreen.java
similarity index 60%
rename from src/main/java/de/florianmichael/viafabricplus/fixes/classic/screen/ClassicItemSelectionScreen.java
rename to src/main/java/de/florianmichael/viafabricplus/fixes/classic/ClassicItemSelectionScreen.java
index 1fb929b1..9f1dac79 100644
--- a/src/main/java/de/florianmichael/viafabricplus/fixes/classic/screen/ClassicItemSelectionScreen.java
+++ b/src/main/java/de/florianmichael/viafabricplus/fixes/classic/ClassicItemSelectionScreen.java
@@ -17,22 +17,21 @@
* along with this program. If not, see .
*/
-package de.florianmichael.viafabricplus.fixes.classic.screen;
+package de.florianmichael.viafabricplus.fixes.classic;
+import de.florianmichael.viafabricplus.fixes.data.ItemRegistryDiff;
import de.florianmichael.viafabricplus.screen.base.VFPScreen;
import net.minecraft.client.gui.DrawContext;
import net.minecraft.item.Item;
import net.minecraft.item.ItemStack;
-import net.minecraft.item.Items;
+import net.minecraft.registry.Registries;
import net.minecraft.util.math.MathHelper;
-import net.raphimc.vialoader.util.VersionEnum;
import java.util.ArrayList;
import java.util.List;
@SuppressWarnings("DataFlowIssue")
public class ClassicItemSelectionScreen extends VFPScreen {
-
public static final ClassicItemSelectionScreen INSTANCE = new ClassicItemSelectionScreen();
private static final int MAX_ROW_DIVIDER = 9;
@@ -47,66 +46,15 @@ public class ClassicItemSelectionScreen extends VFPScreen {
super("Classic item selection", false);
}
- public void reload(final VersionEnum version, final boolean hasCustomBlocksV1) {
+ public void rebuildGridOverlay() {
final List- allowedItems = new ArrayList<>();
- allowedItems.add(Items.OAK_LOG);
- allowedItems.add(Items.OAK_PLANKS);
- allowedItems.add(Items.STONE);
- allowedItems.add(Items.COBBLESTONE);
- allowedItems.add(Items.MOSSY_COBBLESTONE);
- allowedItems.add(Items.BRICKS);
- allowedItems.add(Items.IRON_BLOCK);
- allowedItems.add(Items.GOLD_BLOCK);
- allowedItems.add(Items.GLASS);
- allowedItems.add(Items.DIRT);
- allowedItems.add(Items.GRAVEL);
- allowedItems.add(Items.SAND);
- allowedItems.add(Items.OBSIDIAN);
- allowedItems.add(Items.COAL_ORE);
- allowedItems.add(Items.IRON_ORE);
- allowedItems.add(Items.GOLD_ORE);
- allowedItems.add(Items.OAK_LEAVES);
- allowedItems.add(Items.OAK_SAPLING);
- allowedItems.add(Items.BOOKSHELF);
- allowedItems.add(Items.TNT);
- if (version.isNewerThan(VersionEnum.c0_0_19a_06)) {
- allowedItems.add(Items.SPONGE);
- if (version.isNewerThan(VersionEnum.c0_0_20ac0_27)) {
- allowedItems.add(Items.WHITE_WOOL);
- allowedItems.add(Items.ORANGE_WOOL);
- allowedItems.add(Items.MAGENTA_WOOL);
- allowedItems.add(Items.LIGHT_BLUE_WOOL);
- allowedItems.add(Items.YELLOW_WOOL);
- allowedItems.add(Items.LIME_WOOL);
- allowedItems.add(Items.PINK_WOOL);
- allowedItems.add(Items.CYAN_WOOL);
- allowedItems.add(Items.BLUE_WOOL);
- allowedItems.add(Items.BROWN_WOOL);
- allowedItems.add(Items.GREEN_WOOL);
- allowedItems.add(Items.BROWN_MUSHROOM);
- allowedItems.add(Items.GRAY_WOOL);
- allowedItems.add(Items.LIGHT_GRAY_WOOL);
- allowedItems.add(Items.PURPLE_WOOL);
- allowedItems.add(Items.RED_WOOL);
- allowedItems.add(Items.BLACK_WOOL);
- allowedItems.add(Items.SMOOTH_STONE_SLAB);
- allowedItems.add(Items.POPPY);
- allowedItems.add(Items.DANDELION);
- allowedItems.add(Items.RED_MUSHROOM);
+
+ // Calculate all visible items
+ for (Item item : Registries.ITEM) {
+ if (ItemRegistryDiff.keepItem(item)) {
+ allowedItems.add(item);
}
}
- if (hasCustomBlocksV1) {
- allowedItems.add(Items.MAGMA_BLOCK);
- allowedItems.add(Items.QUARTZ_PILLAR);
- allowedItems.add(Items.SANDSTONE);
- allowedItems.add(Items.STONE_BRICKS);
- allowedItems.add(Items.COBBLESTONE_SLAB);
- allowedItems.add(Items.ICE);
- allowedItems.add(Items.SNOW);
- allowedItems.add(Items.BEDROCK);
- allowedItems.add(Items.WATER_BUCKET);
- allowedItems.add(Items.LAVA_BUCKET);
- }
itemGrid = new Item[MathHelper.ceil(allowedItems.size() / (double) MAX_ROW_DIVIDER)][MAX_ROW_DIVIDER];
int x = 0;
diff --git a/src/main/java/de/florianmichael/viafabricplus/injection/reference/ClassicWorldHeightInjections.java b/src/main/java/de/florianmichael/viafabricplus/fixes/classic/ClassicWorldHeightInjections.java
similarity index 99%
rename from src/main/java/de/florianmichael/viafabricplus/injection/reference/ClassicWorldHeightInjections.java
rename to src/main/java/de/florianmichael/viafabricplus/fixes/classic/ClassicWorldHeightInjections.java
index 5b26b9d8..46f34192 100644
--- a/src/main/java/de/florianmichael/viafabricplus/injection/reference/ClassicWorldHeightInjections.java
+++ b/src/main/java/de/florianmichael/viafabricplus/fixes/classic/ClassicWorldHeightInjections.java
@@ -17,7 +17,7 @@
* along with this program. If not, see .
*/
-package de.florianmichael.viafabricplus.injection.reference;
+package de.florianmichael.viafabricplus.fixes.classic;
import com.viaversion.viaversion.api.Via;
import com.viaversion.viaversion.api.connection.UserConnection;
diff --git a/src/main/java/de/florianmichael/viafabricplus/fixes/classic/CustomClassicProtocolExtensions.java b/src/main/java/de/florianmichael/viafabricplus/fixes/classic/CustomClassicProtocolExtensions.java
index 7165124e..e8b10746 100644
--- a/src/main/java/de/florianmichael/viafabricplus/fixes/classic/CustomClassicProtocolExtensions.java
+++ b/src/main/java/de/florianmichael/viafabricplus/fixes/classic/CustomClassicProtocolExtensions.java
@@ -20,9 +20,7 @@
package de.florianmichael.viafabricplus.fixes.classic;
import com.viaversion.viaversion.api.connection.UserConnection;
-import de.florianmichael.viafabricplus.fixes.classic.screen.ClassicItemSelectionScreen;
import de.florianmichael.viafabricplus.event.LoadClassicProtocolExtensionCallback;
-import de.florianmichael.viafabricplus.protocolhack.ProtocolHack;
import io.netty.buffer.ByteBuf;
import net.lenni0451.reflect.Enums;
import net.raphimc.vialegacy.protocols.classic.protocolc0_28_30toc0_28_30cpe.ClientboundPacketsc0_30cpe;
@@ -45,7 +43,9 @@ public class CustomClassicProtocolExtensions {
EXT_WEATHER_TYPE = createNewPacket(ClassicProtocolExtension.ENV_WEATHER_TYPE, 31, (user, buf) -> buf.readByte());
LoadClassicProtocolExtensionCallback.EVENT.register(classicProtocolExtension -> {
- if (classicProtocolExtension == ClassicProtocolExtension.CUSTOM_BLOCKS) ClassicItemSelectionScreen.INSTANCE.reload(ProtocolHack.getTargetVersion(), true);
+ if (classicProtocolExtension == ClassicProtocolExtension.CUSTOM_BLOCKS) {
+ ClassicItemSelectionScreen.INSTANCE.rebuildGridOverlay();
+ }
});
}
diff --git a/src/main/java/de/florianmichael/viafabricplus/fixes/classic/command/impl/ListExtensionsCommand.java b/src/main/java/de/florianmichael/viafabricplus/fixes/classic/command/ListExtensionsCommand.java
similarity index 93%
rename from src/main/java/de/florianmichael/viafabricplus/fixes/classic/command/impl/ListExtensionsCommand.java
rename to src/main/java/de/florianmichael/viafabricplus/fixes/classic/command/ListExtensionsCommand.java
index 7e2c7db2..cc4d38ca 100644
--- a/src/main/java/de/florianmichael/viafabricplus/fixes/classic/command/impl/ListExtensionsCommand.java
+++ b/src/main/java/de/florianmichael/viafabricplus/fixes/classic/command/ListExtensionsCommand.java
@@ -17,11 +17,10 @@
* along with this program. If not, see .
*/
-package de.florianmichael.viafabricplus.fixes.classic.command.impl;
+package de.florianmichael.viafabricplus.fixes.classic.command;
import com.viaversion.viaversion.api.command.ViaCommandSender;
import com.viaversion.viaversion.api.connection.UserConnection;
-import de.florianmichael.viafabricplus.fixes.classic.command.ClassicViaSubCommand;
import de.florianmichael.viafabricplus.injection.access.IExtensionProtocolMetadataStorage;
import net.minecraft.util.Formatting;
import net.raphimc.vialegacy.protocols.classic.protocolc0_28_30toc0_28_30cpe.storage.ExtensionProtocolMetadataStorage;
diff --git a/src/main/java/de/florianmichael/viafabricplus/fixes/classic/command/impl/SetTimeCommand.java b/src/main/java/de/florianmichael/viafabricplus/fixes/classic/command/SetTimeCommand.java
similarity index 93%
rename from src/main/java/de/florianmichael/viafabricplus/fixes/classic/command/impl/SetTimeCommand.java
rename to src/main/java/de/florianmichael/viafabricplus/fixes/classic/command/SetTimeCommand.java
index e260eb78..2968e1ad 100644
--- a/src/main/java/de/florianmichael/viafabricplus/fixes/classic/command/impl/SetTimeCommand.java
+++ b/src/main/java/de/florianmichael/viafabricplus/fixes/classic/command/SetTimeCommand.java
@@ -17,11 +17,10 @@
* along with this program. If not, see .
*/
-package de.florianmichael.viafabricplus.fixes.classic.command.impl;
+package de.florianmichael.viafabricplus.fixes.classic.command;
import com.viaversion.viaversion.api.command.ViaCommandSender;
import com.viaversion.viaversion.api.connection.UserConnection;
-import de.florianmichael.viafabricplus.fixes.classic.command.ClassicViaSubCommand;
import net.minecraft.util.Formatting;
import net.raphimc.vialoader.util.VersionEnum;
import net.raphimc.vialegacy.protocols.alpha.protocola1_0_17_1_0_17_4toa1_0_16_2.storage.TimeLockStorage;
diff --git a/src/main/java/de/florianmichael/viafabricplus/fixes/diff/ItemRegistryDiff.java b/src/main/java/de/florianmichael/viafabricplus/fixes/data/ItemRegistryDiff.java
similarity index 99%
rename from src/main/java/de/florianmichael/viafabricplus/fixes/diff/ItemRegistryDiff.java
rename to src/main/java/de/florianmichael/viafabricplus/fixes/data/ItemRegistryDiff.java
index 63ea905c..f4f4a17f 100644
--- a/src/main/java/de/florianmichael/viafabricplus/fixes/diff/ItemRegistryDiff.java
+++ b/src/main/java/de/florianmichael/viafabricplus/fixes/data/ItemRegistryDiff.java
@@ -17,7 +17,7 @@
* along with this program. If not, see .
*/
-package de.florianmichael.viafabricplus.fixes.diff;
+package de.florianmichael.viafabricplus.fixes.data;
import de.florianmichael.viafabricplus.injection.access.IClientConnection;
import de.florianmichael.viafabricplus.protocolhack.ProtocolHack;
diff --git a/src/main/java/de/florianmichael/viafabricplus/fixes/diff/Material1_19_4.java b/src/main/java/de/florianmichael/viafabricplus/fixes/data/Material1_19_4.java
similarity index 99%
rename from src/main/java/de/florianmichael/viafabricplus/fixes/diff/Material1_19_4.java
rename to src/main/java/de/florianmichael/viafabricplus/fixes/data/Material1_19_4.java
index 7a787667..c2e1374b 100644
--- a/src/main/java/de/florianmichael/viafabricplus/fixes/diff/Material1_19_4.java
+++ b/src/main/java/de/florianmichael/viafabricplus/fixes/data/Material1_19_4.java
@@ -17,7 +17,7 @@
* along with this program. If not, see .
*/
-package de.florianmichael.viafabricplus.fixes.diff;
+package de.florianmichael.viafabricplus.fixes.data;
import de.florianmichael.viafabricplus.protocolhack.ProtocolHack;
import net.minecraft.block.Block;
diff --git a/src/main/java/de/florianmichael/viafabricplus/fixes/diff/RenderableGlyphDiff.java b/src/main/java/de/florianmichael/viafabricplus/fixes/data/RenderableGlyphDiff.java
similarity index 99%
rename from src/main/java/de/florianmichael/viafabricplus/fixes/diff/RenderableGlyphDiff.java
rename to src/main/java/de/florianmichael/viafabricplus/fixes/data/RenderableGlyphDiff.java
index f6cdd3e8..2855ec24 100644
--- a/src/main/java/de/florianmichael/viafabricplus/fixes/diff/RenderableGlyphDiff.java
+++ b/src/main/java/de/florianmichael/viafabricplus/fixes/data/RenderableGlyphDiff.java
@@ -17,7 +17,7 @@
* along with this program. If not, see .
*/
-package de.florianmichael.viafabricplus.fixes.diff;
+package de.florianmichael.viafabricplus.fixes.data;
import de.florianmichael.viafabricplus.protocolhack.ProtocolHack;
import it.unimi.dsi.fastutil.ints.Int2ObjectMap;
diff --git a/src/main/java/de/florianmichael/viafabricplus/fixes/recipe/AddBannerPatternRecipe.java b/src/main/java/de/florianmichael/viafabricplus/fixes/data/recipe/AddBannerPatternRecipe.java
similarity index 99%
rename from src/main/java/de/florianmichael/viafabricplus/fixes/recipe/AddBannerPatternRecipe.java
rename to src/main/java/de/florianmichael/viafabricplus/fixes/data/recipe/AddBannerPatternRecipe.java
index af592b52..5196c301 100644
--- a/src/main/java/de/florianmichael/viafabricplus/fixes/recipe/AddBannerPatternRecipe.java
+++ b/src/main/java/de/florianmichael/viafabricplus/fixes/data/recipe/AddBannerPatternRecipe.java
@@ -17,7 +17,7 @@
* along with this program. If not, see .
*/
-package de.florianmichael.viafabricplus.fixes.recipe;
+package de.florianmichael.viafabricplus.fixes.data.recipe;
import de.florianmichael.viafabricplus.protocolhack.ProtocolHack;
import net.minecraft.block.entity.BannerBlockEntity;
diff --git a/src/main/java/de/florianmichael/viafabricplus/fixes/recipe/BannerPattern_1_13_2.java b/src/main/java/de/florianmichael/viafabricplus/fixes/data/recipe/BannerPattern_1_13_2.java
similarity index 98%
rename from src/main/java/de/florianmichael/viafabricplus/fixes/recipe/BannerPattern_1_13_2.java
rename to src/main/java/de/florianmichael/viafabricplus/fixes/data/recipe/BannerPattern_1_13_2.java
index 4c50734b..9e1d3d4f 100644
--- a/src/main/java/de/florianmichael/viafabricplus/fixes/recipe/BannerPattern_1_13_2.java
+++ b/src/main/java/de/florianmichael/viafabricplus/fixes/data/recipe/BannerPattern_1_13_2.java
@@ -17,7 +17,7 @@
* along with this program. If not, see .
*/
-package de.florianmichael.viafabricplus.fixes.recipe;
+package de.florianmichael.viafabricplus.fixes.data.recipe;
import net.minecraft.block.Blocks;
import net.minecraft.item.ItemStack;
diff --git a/src/main/java/de/florianmichael/viafabricplus/fixes/recipe/RecipeInfo.java b/src/main/java/de/florianmichael/viafabricplus/fixes/data/recipe/RecipeInfo.java
similarity index 99%
rename from src/main/java/de/florianmichael/viafabricplus/fixes/recipe/RecipeInfo.java
rename to src/main/java/de/florianmichael/viafabricplus/fixes/data/recipe/RecipeInfo.java
index 7b868e6e..5e7360d2 100644
--- a/src/main/java/de/florianmichael/viafabricplus/fixes/recipe/RecipeInfo.java
+++ b/src/main/java/de/florianmichael/viafabricplus/fixes/data/recipe/RecipeInfo.java
@@ -17,7 +17,7 @@
* along with this program. If not, see .
*/
-package de.florianmichael.viafabricplus.fixes.recipe;
+package de.florianmichael.viafabricplus.fixes.data.recipe;
import net.minecraft.item.ItemConvertible;
import net.minecraft.item.ItemStack;
diff --git a/src/main/java/de/florianmichael/viafabricplus/fixes/recipe/Recipes1_11_2.java b/src/main/java/de/florianmichael/viafabricplus/fixes/data/recipe/Recipes1_11_2.java
similarity index 99%
rename from src/main/java/de/florianmichael/viafabricplus/fixes/recipe/Recipes1_11_2.java
rename to src/main/java/de/florianmichael/viafabricplus/fixes/data/recipe/Recipes1_11_2.java
index 5740ec29..363a19ca 100644
--- a/src/main/java/de/florianmichael/viafabricplus/fixes/recipe/Recipes1_11_2.java
+++ b/src/main/java/de/florianmichael/viafabricplus/fixes/data/recipe/Recipes1_11_2.java
@@ -17,7 +17,7 @@
* along with this program. If not, see .
*/
-package de.florianmichael.viafabricplus.fixes.recipe;
+package de.florianmichael.viafabricplus.fixes.data.recipe;
import de.florianmichael.viafabricplus.protocolhack.ProtocolHack;
import net.minecraft.block.Blocks;
diff --git a/src/main/java/de/florianmichael/viafabricplus/fixes/boat/BoatModel1_8.java b/src/main/java/de/florianmichael/viafabricplus/fixes/entity/BoatModel1_8.java
similarity index 98%
rename from src/main/java/de/florianmichael/viafabricplus/fixes/boat/BoatModel1_8.java
rename to src/main/java/de/florianmichael/viafabricplus/fixes/entity/BoatModel1_8.java
index f9b21ab9..56180164 100644
--- a/src/main/java/de/florianmichael/viafabricplus/fixes/boat/BoatModel1_8.java
+++ b/src/main/java/de/florianmichael/viafabricplus/fixes/entity/BoatModel1_8.java
@@ -17,7 +17,7 @@
* along with this program. If not, see .
*/
-package de.florianmichael.viafabricplus.fixes.boat;
+package de.florianmichael.viafabricplus.fixes.entity;
import com.google.common.collect.ImmutableList;
import net.minecraft.client.model.*;
diff --git a/src/main/java/de/florianmichael/viafabricplus/fixes/boat/BoatRenderer1_8.java b/src/main/java/de/florianmichael/viafabricplus/fixes/entity/BoatRenderer1_8.java
similarity index 98%
rename from src/main/java/de/florianmichael/viafabricplus/fixes/boat/BoatRenderer1_8.java
rename to src/main/java/de/florianmichael/viafabricplus/fixes/entity/BoatRenderer1_8.java
index 197572e1..5e8149b0 100644
--- a/src/main/java/de/florianmichael/viafabricplus/fixes/boat/BoatRenderer1_8.java
+++ b/src/main/java/de/florianmichael/viafabricplus/fixes/entity/BoatRenderer1_8.java
@@ -17,7 +17,7 @@
* along with this program. If not, see .
*/
-package de.florianmichael.viafabricplus.fixes.boat;
+package de.florianmichael.viafabricplus.fixes.entity;
import net.minecraft.client.render.OverlayTexture;
import net.minecraft.client.render.VertexConsumer;
diff --git a/src/main/java/de/florianmichael/viafabricplus/fixes/EntityHitboxUpdateListener.java b/src/main/java/de/florianmichael/viafabricplus/fixes/entity/EntityDimensionReplacements.java
similarity index 98%
rename from src/main/java/de/florianmichael/viafabricplus/fixes/EntityHitboxUpdateListener.java
rename to src/main/java/de/florianmichael/viafabricplus/fixes/entity/EntityDimensionReplacements.java
index 9f38f66b..c47d042a 100644
--- a/src/main/java/de/florianmichael/viafabricplus/fixes/EntityHitboxUpdateListener.java
+++ b/src/main/java/de/florianmichael/viafabricplus/fixes/entity/EntityDimensionReplacements.java
@@ -17,7 +17,7 @@
* along with this program. If not, see .
*/
-package de.florianmichael.viafabricplus.fixes;
+package de.florianmichael.viafabricplus.fixes.entity;
import de.florianmichael.viafabricplus.event.ChangeProtocolVersionCallback;
import net.minecraft.client.MinecraftClient;
@@ -28,7 +28,7 @@ import net.raphimc.vialoader.util.VersionEnum;
import java.util.LinkedHashMap;
import java.util.Map;
-public class EntityHitboxUpdateListener {
+public class EntityDimensionReplacements {
private static final Map, Map> ENTITY_DIMENSIONS = linkedHashMap(
EntityType.WITHER, linkedHashMap(
diff --git a/src/main/java/de/florianmichael/viafabricplus/fixes/EntityHeightOffsetsPre1_20_2.java b/src/main/java/de/florianmichael/viafabricplus/fixes/entity/EntityRidingOffsetsPre1_20_2.java
similarity index 98%
rename from src/main/java/de/florianmichael/viafabricplus/fixes/EntityHeightOffsetsPre1_20_2.java
rename to src/main/java/de/florianmichael/viafabricplus/fixes/entity/EntityRidingOffsetsPre1_20_2.java
index ea1e9950..f0f203e0 100644
--- a/src/main/java/de/florianmichael/viafabricplus/fixes/EntityHeightOffsetsPre1_20_2.java
+++ b/src/main/java/de/florianmichael/viafabricplus/fixes/entity/EntityRidingOffsetsPre1_20_2.java
@@ -17,7 +17,7 @@
* along with this program. If not, see .
*/
-package de.florianmichael.viafabricplus.fixes;
+package de.florianmichael.viafabricplus.fixes.entity;
import de.florianmichael.viafabricplus.protocolhack.ProtocolHack;
import net.minecraft.entity.Entity;
@@ -36,7 +36,7 @@ import net.minecraft.util.math.MathHelper;
import net.raphimc.vialoader.util.VersionEnum;
import org.joml.Vector3f;
-public class EntityHeightOffsetsPre1_20_2 {
+public class EntityRidingOffsetsPre1_20_2 {
public static Vector3f getMountedHeightOffset(final Entity entity, final Entity passenger) {
float yOffset = entity.getHeight() * 0.75F;
diff --git a/src/main/java/de/florianmichael/viafabricplus/injection/reference/BuiltinEmptyGlyph1_12_2.java b/src/main/java/de/florianmichael/viafabricplus/fixes/replacement/BuiltinEmptyGlyph1_12_2.java
similarity index 96%
rename from src/main/java/de/florianmichael/viafabricplus/injection/reference/BuiltinEmptyGlyph1_12_2.java
rename to src/main/java/de/florianmichael/viafabricplus/fixes/replacement/BuiltinEmptyGlyph1_12_2.java
index f220cc84..fdbb05c9 100644
--- a/src/main/java/de/florianmichael/viafabricplus/injection/reference/BuiltinEmptyGlyph1_12_2.java
+++ b/src/main/java/de/florianmichael/viafabricplus/fixes/replacement/BuiltinEmptyGlyph1_12_2.java
@@ -17,7 +17,7 @@
* along with this program. If not, see .
*/
-package de.florianmichael.viafabricplus.injection.reference;
+package de.florianmichael.viafabricplus.fixes.replacement;
import net.minecraft.client.font.Glyph;
import net.minecraft.client.font.GlyphRenderer;
diff --git a/src/main/java/de/florianmichael/viafabricplus/injection/reference/KeyPairResponse1_19_0.java b/src/main/java/de/florianmichael/viafabricplus/fixes/replacement/KeyPairResponse1_19_0.java
similarity index 95%
rename from src/main/java/de/florianmichael/viafabricplus/injection/reference/KeyPairResponse1_19_0.java
rename to src/main/java/de/florianmichael/viafabricplus/fixes/replacement/KeyPairResponse1_19_0.java
index 4d904229..0e422874 100644
--- a/src/main/java/de/florianmichael/viafabricplus/injection/reference/KeyPairResponse1_19_0.java
+++ b/src/main/java/de/florianmichael/viafabricplus/fixes/replacement/KeyPairResponse1_19_0.java
@@ -17,7 +17,7 @@
* along with this program. If not, see .
*/
-package de.florianmichael.viafabricplus.injection.reference;
+package de.florianmichael.viafabricplus.fixes.replacement;
import com.mojang.authlib.yggdrasil.response.KeyPairResponse;
diff --git a/src/main/java/de/florianmichael/viafabricplus/fixes/PendingUpdateManager1_18_2.java b/src/main/java/de/florianmichael/viafabricplus/fixes/replacement/PendingUpdateManager1_18_2.java
similarity index 96%
rename from src/main/java/de/florianmichael/viafabricplus/fixes/PendingUpdateManager1_18_2.java
rename to src/main/java/de/florianmichael/viafabricplus/fixes/replacement/PendingUpdateManager1_18_2.java
index 585e571e..84cfbc4e 100644
--- a/src/main/java/de/florianmichael/viafabricplus/fixes/PendingUpdateManager1_18_2.java
+++ b/src/main/java/de/florianmichael/viafabricplus/fixes/replacement/PendingUpdateManager1_18_2.java
@@ -17,7 +17,7 @@
* along with this program. If not, see .
*/
-package de.florianmichael.viafabricplus.fixes;
+package de.florianmichael.viafabricplus.fixes.replacement;
import net.minecraft.block.BlockState;
import net.minecraft.client.network.ClientPlayerEntity;
diff --git a/src/main/java/de/florianmichael/viafabricplus/injection/mixin/fixes/authlib/MixinYggdrasilUserApiService.java b/src/main/java/de/florianmichael/viafabricplus/injection/mixin/fixes/authlib/MixinYggdrasilUserApiService.java
index 321f0125..b6b282a3 100644
--- a/src/main/java/de/florianmichael/viafabricplus/injection/mixin/fixes/authlib/MixinYggdrasilUserApiService.java
+++ b/src/main/java/de/florianmichael/viafabricplus/injection/mixin/fixes/authlib/MixinYggdrasilUserApiService.java
@@ -24,7 +24,7 @@ import com.mojang.authlib.yggdrasil.YggdrasilUserApiService;
import com.mojang.authlib.yggdrasil.response.KeyPairResponse;
import de.florianmichael.viafabricplus.ViaFabricPlus;
import de.florianmichael.viafabricplus.injection.access.ILegacyKeySignatureStorage;
-import de.florianmichael.viafabricplus.injection.reference.KeyPairResponse1_19_0;
+import de.florianmichael.viafabricplus.fixes.replacement.KeyPairResponse1_19_0;
import org.spongepowered.asm.mixin.Final;
import org.spongepowered.asm.mixin.Mixin;
import org.spongepowered.asm.mixin.Shadow;
diff --git a/src/main/java/de/florianmichael/viafabricplus/injection/mixin/fixes/minecraft/MixinClientWorld.java b/src/main/java/de/florianmichael/viafabricplus/injection/mixin/fixes/minecraft/MixinClientWorld.java
index d2e2f518..2bc42e08 100644
--- a/src/main/java/de/florianmichael/viafabricplus/injection/mixin/fixes/minecraft/MixinClientWorld.java
+++ b/src/main/java/de/florianmichael/viafabricplus/injection/mixin/fixes/minecraft/MixinClientWorld.java
@@ -19,7 +19,7 @@
package de.florianmichael.viafabricplus.injection.mixin.fixes.minecraft;
-import de.florianmichael.viafabricplus.fixes.PendingUpdateManager1_18_2;
+import de.florianmichael.viafabricplus.fixes.replacement.PendingUpdateManager1_18_2;
import de.florianmichael.viafabricplus.injection.access.IEntity;
import de.florianmichael.viafabricplus.settings.impl.DebugSettings;
import net.minecraft.client.network.ClientPlayNetworkHandler;
diff --git a/src/main/java/de/florianmichael/viafabricplus/injection/mixin/fixes/minecraft/MixinFlowableFluid.java b/src/main/java/de/florianmichael/viafabricplus/injection/mixin/fixes/minecraft/MixinFlowableFluid.java
index 44192019..8dc2e1d6 100644
--- a/src/main/java/de/florianmichael/viafabricplus/injection/mixin/fixes/minecraft/MixinFlowableFluid.java
+++ b/src/main/java/de/florianmichael/viafabricplus/injection/mixin/fixes/minecraft/MixinFlowableFluid.java
@@ -19,7 +19,7 @@
package de.florianmichael.viafabricplus.injection.mixin.fixes.minecraft;
-import de.florianmichael.viafabricplus.fixes.diff.Material1_19_4;
+import de.florianmichael.viafabricplus.fixes.data.Material1_19_4;
import de.florianmichael.viafabricplus.protocolhack.ProtocolHack;
import net.minecraft.block.*;
import net.minecraft.fluid.FlowableFluid;
diff --git a/src/main/java/de/florianmichael/viafabricplus/injection/mixin/fixes/minecraft/MixinFontStorage.java b/src/main/java/de/florianmichael/viafabricplus/injection/mixin/fixes/minecraft/MixinFontStorage.java
index 9c4d0464..c351507f 100644
--- a/src/main/java/de/florianmichael/viafabricplus/injection/mixin/fixes/minecraft/MixinFontStorage.java
+++ b/src/main/java/de/florianmichael/viafabricplus/injection/mixin/fixes/minecraft/MixinFontStorage.java
@@ -20,8 +20,8 @@
package de.florianmichael.viafabricplus.injection.mixin.fixes.minecraft;
import com.llamalad7.mixinextras.sugar.Local;
-import de.florianmichael.viafabricplus.fixes.diff.RenderableGlyphDiff;
-import de.florianmichael.viafabricplus.injection.reference.BuiltinEmptyGlyph1_12_2;
+import de.florianmichael.viafabricplus.fixes.data.RenderableGlyphDiff;
+import de.florianmichael.viafabricplus.fixes.replacement.BuiltinEmptyGlyph1_12_2;
import de.florianmichael.viafabricplus.protocolhack.ProtocolHack;
import it.unimi.dsi.fastutil.objects.Object2IntMap;
import it.unimi.dsi.fastutil.objects.Object2IntOpenHashMap;
diff --git a/src/main/java/de/florianmichael/viafabricplus/injection/mixin/fixes/minecraft/MixinMinecraftClient.java b/src/main/java/de/florianmichael/viafabricplus/injection/mixin/fixes/minecraft/MixinMinecraftClient.java
index e8521bfa..e0ce89b1 100644
--- a/src/main/java/de/florianmichael/viafabricplus/injection/mixin/fixes/minecraft/MixinMinecraftClient.java
+++ b/src/main/java/de/florianmichael/viafabricplus/injection/mixin/fixes/minecraft/MixinMinecraftClient.java
@@ -24,7 +24,7 @@ import com.viaversion.viaversion.api.protocol.packet.PacketWrapper;
import com.viaversion.viaversion.api.type.Type;
import com.viaversion.viaversion.protocols.protocol1_12to1_11_1.Protocol1_12To1_11_1;
import com.viaversion.viaversion.protocols.protocol1_9_3to1_9_1_2.ServerboundPackets1_9_3;
-import de.florianmichael.viafabricplus.fixes.diff.ItemRegistryDiff;
+import de.florianmichael.viafabricplus.fixes.data.ItemRegistryDiff;
import de.florianmichael.viafabricplus.injection.access.IMouseKeyboard;
import de.florianmichael.viafabricplus.protocolhack.ProtocolHack;
import de.florianmichael.viafabricplus.settings.impl.DebugSettings;
diff --git a/src/main/java/de/florianmichael/viafabricplus/injection/mixin/fixes/minecraft/MixinMouse.java b/src/main/java/de/florianmichael/viafabricplus/injection/mixin/fixes/minecraft/MixinMouse.java
index 9c5bef66..2b1fb40a 100644
--- a/src/main/java/de/florianmichael/viafabricplus/injection/mixin/fixes/minecraft/MixinMouse.java
+++ b/src/main/java/de/florianmichael/viafabricplus/injection/mixin/fixes/minecraft/MixinMouse.java
@@ -22,7 +22,7 @@ package de.florianmichael.viafabricplus.injection.mixin.fixes.minecraft;
import de.florianmichael.viafabricplus.injection.access.IMouseKeyboard;
import de.florianmichael.viafabricplus.protocolhack.ProtocolHack;
import de.florianmichael.viafabricplus.settings.impl.DebugSettings;
-import de.florianmichael.viafabricplus.util.MouseSensitivityUtil;
+import de.florianmichael.viafabricplus.protocolhack.util.MathUtil;
import net.minecraft.client.MinecraftClient;
import net.minecraft.client.Mouse;
import net.minecraft.client.option.SimpleOption;
@@ -59,7 +59,7 @@ public abstract class MixinMouse implements IMouseKeyboard {
@Redirect(method = "updateMouse", at = @At(value = "INVOKE", target = "Lnet/minecraft/client/option/SimpleOption;getValue()Ljava/lang/Object;", ordinal = 0))
private Object adjustMouseSensitivity1_13_2(SimpleOption instance) {
if (ProtocolHack.getTargetVersion().isOlderThanOrEqualTo(VersionEnum.r1_13_2)) {
- return (double) MouseSensitivityUtil.get1_13SliderValue(instance.getValue().floatValue()).keyFloat();
+ return (double) MathUtil.get1_13SliderValue(instance.getValue().floatValue()).keyFloat();
}
return instance.getValue();
diff --git a/src/main/java/de/florianmichael/viafabricplus/injection/mixin/fixes/minecraft/block/MixinSoulSandBlock.java b/src/main/java/de/florianmichael/viafabricplus/injection/mixin/fixes/minecraft/block/MixinSoulSandBlock.java
index 2d4618be..70bd4c3c 100644
--- a/src/main/java/de/florianmichael/viafabricplus/injection/mixin/fixes/minecraft/block/MixinSoulSandBlock.java
+++ b/src/main/java/de/florianmichael/viafabricplus/injection/mixin/fixes/minecraft/block/MixinSoulSandBlock.java
@@ -56,4 +56,12 @@ public abstract class MixinSoulSandBlock extends Block {
}
}
+ @Override
+ public float getVelocityMultiplier() {
+ if (ProtocolHack.getTargetVersion().isOlderThanOrEqualTo(VersionEnum.r1_14_4)) {
+ return 1F;
+ }
+
+ return super.getVelocityMultiplier();
+ }
}
diff --git a/src/main/java/de/florianmichael/viafabricplus/injection/mixin/fixes/minecraft/entity/MixinBoatEntity.java b/src/main/java/de/florianmichael/viafabricplus/injection/mixin/fixes/minecraft/entity/MixinBoatEntity.java
index 56c89589..fc73abf5 100644
--- a/src/main/java/de/florianmichael/viafabricplus/injection/mixin/fixes/minecraft/entity/MixinBoatEntity.java
+++ b/src/main/java/de/florianmichael/viafabricplus/injection/mixin/fixes/minecraft/entity/MixinBoatEntity.java
@@ -19,7 +19,7 @@
package de.florianmichael.viafabricplus.injection.mixin.fixes.minecraft.entity;
-import de.florianmichael.viafabricplus.fixes.EntityHeightOffsetsPre1_20_2;
+import de.florianmichael.viafabricplus.fixes.entity.EntityRidingOffsetsPre1_20_2;
import de.florianmichael.viafabricplus.protocolhack.ProtocolHack;
import net.minecraft.block.Block;
import net.minecraft.block.BlockState;
@@ -301,8 +301,8 @@ public abstract class MixinBoatEntity extends Entity {
@Inject(method = "updatePassengerPosition", at = @At(value = "HEAD"), cancellable = true)
private void updatePassengerPosition1_8(Entity passenger, PositionUpdater positionUpdater, CallbackInfo ci) {
if (ProtocolHack.getTargetVersion().isOlderThanOrEqualTo(VersionEnum.r1_8)) {
- final Vec3d newPosition = new Vec3d(EntityHeightOffsetsPre1_20_2.getMountedHeightOffset(this, passenger)).add(this.getPos());
- positionUpdater.accept(passenger, newPosition.x, newPosition.y + EntityHeightOffsetsPre1_20_2.getHeightOffset(passenger), newPosition.z);
+ final Vec3d newPosition = new Vec3d(EntityRidingOffsetsPre1_20_2.getMountedHeightOffset(this, passenger)).add(this.getPos());
+ positionUpdater.accept(passenger, newPosition.x, newPosition.y + EntityRidingOffsetsPre1_20_2.getHeightOffset(passenger), newPosition.z);
ci.cancel();
}
}
diff --git a/src/main/java/de/florianmichael/viafabricplus/injection/mixin/fixes/minecraft/entity/MixinEntity.java b/src/main/java/de/florianmichael/viafabricplus/injection/mixin/fixes/minecraft/entity/MixinEntity.java
index 3be38056..f26615d5 100644
--- a/src/main/java/de/florianmichael/viafabricplus/injection/mixin/fixes/minecraft/entity/MixinEntity.java
+++ b/src/main/java/de/florianmichael/viafabricplus/injection/mixin/fixes/minecraft/entity/MixinEntity.java
@@ -19,7 +19,7 @@
package de.florianmichael.viafabricplus.injection.mixin.fixes.minecraft.entity;
-import de.florianmichael.viafabricplus.fixes.EntityHeightOffsetsPre1_20_2;
+import de.florianmichael.viafabricplus.fixes.entity.EntityRidingOffsetsPre1_20_2;
import de.florianmichael.viafabricplus.injection.access.IEntity;
import de.florianmichael.viafabricplus.protocolhack.ProtocolHack;
import it.unimi.dsi.fastutil.objects.Object2DoubleMap;
@@ -77,14 +77,14 @@ public abstract class MixinEntity implements IEntity {
@Inject(method = "getRidingOffset", at = @At("HEAD"), cancellable = true)
private void getRidingOffset1_20_1(Entity vehicle, CallbackInfoReturnable cir) {
if (ProtocolHack.getTargetVersion().isOlderThanOrEqualTo(VersionEnum.r1_20tor1_20_1)) {
- cir.setReturnValue((float) EntityHeightOffsetsPre1_20_2.getHeightOffset((Entity) (Object) this));
+ cir.setReturnValue((float) EntityRidingOffsetsPre1_20_2.getHeightOffset((Entity) (Object) this));
}
}
@Redirect(method = "getPassengerRidingPos", at = @At(value = "INVOKE", target = "Lnet/minecraft/entity/Entity;getPassengerAttachmentPos(Lnet/minecraft/entity/Entity;Lnet/minecraft/entity/EntityDimensions;F)Lorg/joml/Vector3f;"))
private Vector3f getPassengerRidingPos1_20_1(Entity instance, Entity passenger, EntityDimensions dimensions, float scaleFactor) {
if (ProtocolHack.getTargetVersion().isOlderThanOrEqualTo(VersionEnum.r1_20tor1_20_1)) {
- return EntityHeightOffsetsPre1_20_2.getMountedHeightOffset(instance, passenger);
+ return EntityRidingOffsetsPre1_20_2.getMountedHeightOffset(instance, passenger);
}
return getPassengerAttachmentPos(passenger, dimensions, scaleFactor);
diff --git a/src/main/java/de/florianmichael/viafabricplus/injection/mixin/fixes/minecraft/entity/MixinEntityModels.java b/src/main/java/de/florianmichael/viafabricplus/injection/mixin/fixes/minecraft/entity/MixinEntityModels.java
index 7b2f3716..b5955def 100644
--- a/src/main/java/de/florianmichael/viafabricplus/injection/mixin/fixes/minecraft/entity/MixinEntityModels.java
+++ b/src/main/java/de/florianmichael/viafabricplus/injection/mixin/fixes/minecraft/entity/MixinEntityModels.java
@@ -20,7 +20,7 @@
package de.florianmichael.viafabricplus.injection.mixin.fixes.minecraft.entity;
import com.google.common.collect.ImmutableMap;
-import de.florianmichael.viafabricplus.fixes.boat.BoatModel1_8;
+import de.florianmichael.viafabricplus.fixes.entity.BoatModel1_8;
import net.minecraft.client.model.TexturedModelData;
import net.minecraft.client.render.entity.model.EntityModelLayer;
import net.minecraft.client.render.entity.model.EntityModels;
diff --git a/src/main/java/de/florianmichael/viafabricplus/injection/mixin/fixes/minecraft/entity/MixinEntityRenderDispatcher.java b/src/main/java/de/florianmichael/viafabricplus/injection/mixin/fixes/minecraft/entity/MixinEntityRenderDispatcher.java
index 84aa62d4..6d8034af 100644
--- a/src/main/java/de/florianmichael/viafabricplus/injection/mixin/fixes/minecraft/entity/MixinEntityRenderDispatcher.java
+++ b/src/main/java/de/florianmichael/viafabricplus/injection/mixin/fixes/minecraft/entity/MixinEntityRenderDispatcher.java
@@ -19,7 +19,7 @@
package de.florianmichael.viafabricplus.injection.mixin.fixes.minecraft.entity;
-import de.florianmichael.viafabricplus.fixes.boat.BoatRenderer1_8;
+import de.florianmichael.viafabricplus.fixes.entity.BoatRenderer1_8;
import de.florianmichael.viafabricplus.protocolhack.ProtocolHack;
import net.minecraft.client.render.entity.EntityRenderDispatcher;
import net.minecraft.client.render.entity.EntityRenderer;
diff --git a/src/main/java/de/florianmichael/viafabricplus/injection/mixin/fixes/minecraft/entity/MixinLivingEntity.java b/src/main/java/de/florianmichael/viafabricplus/injection/mixin/fixes/minecraft/entity/MixinLivingEntity.java
index 9a4abaef..75c16638 100644
--- a/src/main/java/de/florianmichael/viafabricplus/injection/mixin/fixes/minecraft/entity/MixinLivingEntity.java
+++ b/src/main/java/de/florianmichael/viafabricplus/injection/mixin/fixes/minecraft/entity/MixinLivingEntity.java
@@ -19,7 +19,7 @@
package de.florianmichael.viafabricplus.injection.mixin.fixes.minecraft.entity;
-import de.florianmichael.viafabricplus.fixes.EntityHeightOffsetsPre1_20_2;
+import de.florianmichael.viafabricplus.fixes.entity.EntityRidingOffsetsPre1_20_2;
import de.florianmichael.viafabricplus.protocolhack.ProtocolHack;
import de.florianmichael.viafabricplus.settings.impl.DebugSettings;
import net.minecraft.block.BlockState;
@@ -76,14 +76,14 @@ public abstract class MixinLivingEntity extends Entity {
@Inject(method = "getRidingOffset", at = @At("HEAD"), cancellable = true)
private void getRidingOffset1_20_1(Entity vehicle, CallbackInfoReturnable cir) {
if (ProtocolHack.getTargetVersion().isOlderThanOrEqualTo(VersionEnum.r1_20tor1_20_1)) {
- cir.setReturnValue((float) EntityHeightOffsetsPre1_20_2.getHeightOffset(this));
+ cir.setReturnValue((float) EntityRidingOffsetsPre1_20_2.getHeightOffset(this));
}
}
@Redirect(method = "getPassengerRidingPos", at = @At(value = "INVOKE", target = "Lnet/minecraft/entity/LivingEntity;getPassengerAttachmentPos(Lnet/minecraft/entity/Entity;Lnet/minecraft/entity/EntityDimensions;F)Lorg/joml/Vector3f;"))
private Vector3f getPassengerRidingPos1_20_1(LivingEntity instance, Entity entity, EntityDimensions entityDimensions, float v) {
if (ProtocolHack.getTargetVersion().isOlderThanOrEqualTo(VersionEnum.r1_20tor1_20_1)) {
- return EntityHeightOffsetsPre1_20_2.getMountedHeightOffset(instance, entity);
+ return EntityRidingOffsetsPre1_20_2.getMountedHeightOffset(instance, entity);
}
return getPassengerAttachmentPos(entity, entityDimensions, v);
diff --git a/src/main/java/de/florianmichael/viafabricplus/injection/mixin/fixes/minecraft/item/MixinAxeItem.java b/src/main/java/de/florianmichael/viafabricplus/injection/mixin/fixes/minecraft/item/MixinAxeItem.java
index bbe06293..6334d9e5 100644
--- a/src/main/java/de/florianmichael/viafabricplus/injection/mixin/fixes/minecraft/item/MixinAxeItem.java
+++ b/src/main/java/de/florianmichael/viafabricplus/injection/mixin/fixes/minecraft/item/MixinAxeItem.java
@@ -20,7 +20,7 @@
package de.florianmichael.viafabricplus.injection.mixin.fixes.minecraft.item;
import com.google.common.collect.ImmutableSet;
-import de.florianmichael.viafabricplus.fixes.diff.Material1_19_4;
+import de.florianmichael.viafabricplus.fixes.data.Material1_19_4;
import de.florianmichael.viafabricplus.protocolhack.ProtocolHack;
import net.minecraft.block.Block;
import net.minecraft.block.BlockState;
diff --git a/src/main/java/de/florianmichael/viafabricplus/injection/mixin/fixes/minecraft/item/MixinItemGroup_EntriesImpl.java b/src/main/java/de/florianmichael/viafabricplus/injection/mixin/fixes/minecraft/item/MixinItemGroup_EntriesImpl.java
index 5bf526d7..708602a7 100644
--- a/src/main/java/de/florianmichael/viafabricplus/injection/mixin/fixes/minecraft/item/MixinItemGroup_EntriesImpl.java
+++ b/src/main/java/de/florianmichael/viafabricplus/injection/mixin/fixes/minecraft/item/MixinItemGroup_EntriesImpl.java
@@ -19,7 +19,7 @@
package de.florianmichael.viafabricplus.injection.mixin.fixes.minecraft.item;
-import de.florianmichael.viafabricplus.fixes.diff.ItemRegistryDiff;
+import de.florianmichael.viafabricplus.fixes.data.ItemRegistryDiff;
import de.florianmichael.viafabricplus.settings.impl.GeneralSettings;
import net.minecraft.client.MinecraftClient;
import net.minecraft.item.Item;
diff --git a/src/main/java/de/florianmichael/viafabricplus/injection/mixin/fixes/minecraft/item/MixinItemPlacementContext.java b/src/main/java/de/florianmichael/viafabricplus/injection/mixin/fixes/minecraft/item/MixinItemPlacementContext.java
index 2317f28a..7cb6c628 100644
--- a/src/main/java/de/florianmichael/viafabricplus/injection/mixin/fixes/minecraft/item/MixinItemPlacementContext.java
+++ b/src/main/java/de/florianmichael/viafabricplus/injection/mixin/fixes/minecraft/item/MixinItemPlacementContext.java
@@ -19,7 +19,7 @@
package de.florianmichael.viafabricplus.injection.mixin.fixes.minecraft.item;
-import de.florianmichael.viafabricplus.fixes.diff.Material1_19_4;
+import de.florianmichael.viafabricplus.fixes.data.Material1_19_4;
import de.florianmichael.viafabricplus.protocolhack.ProtocolHack;
import net.minecraft.block.Block;
import net.minecraft.block.Blocks;
diff --git a/src/main/java/de/florianmichael/viafabricplus/injection/mixin/fixes/minecraft/item/MixinPickaxeItem.java b/src/main/java/de/florianmichael/viafabricplus/injection/mixin/fixes/minecraft/item/MixinPickaxeItem.java
index 2f3e1b0e..76029856 100644
--- a/src/main/java/de/florianmichael/viafabricplus/injection/mixin/fixes/minecraft/item/MixinPickaxeItem.java
+++ b/src/main/java/de/florianmichael/viafabricplus/injection/mixin/fixes/minecraft/item/MixinPickaxeItem.java
@@ -20,7 +20,7 @@
package de.florianmichael.viafabricplus.injection.mixin.fixes.minecraft.item;
import com.google.common.collect.ImmutableSet;
-import de.florianmichael.viafabricplus.fixes.diff.Material1_19_4;
+import de.florianmichael.viafabricplus.fixes.data.Material1_19_4;
import de.florianmichael.viafabricplus.protocolhack.ProtocolHack;
import net.fabricmc.yarn.constants.MiningLevels;
import net.minecraft.block.Block;
diff --git a/src/main/java/de/florianmichael/viafabricplus/injection/mixin/fixes/minecraft/network/MixinClientPlayNetworkHandler.java b/src/main/java/de/florianmichael/viafabricplus/injection/mixin/fixes/minecraft/network/MixinClientPlayNetworkHandler.java
index 17e3ebad..2ae852fe 100644
--- a/src/main/java/de/florianmichael/viafabricplus/injection/mixin/fixes/minecraft/network/MixinClientPlayNetworkHandler.java
+++ b/src/main/java/de/florianmichael/viafabricplus/injection/mixin/fixes/minecraft/network/MixinClientPlayNetworkHandler.java
@@ -20,8 +20,8 @@
package de.florianmichael.viafabricplus.injection.mixin.fixes.minecraft.network;
import com.llamalad7.mixinextras.injector.WrapWithCondition;
-import de.florianmichael.viafabricplus.fixes.recipe.RecipeInfo;
-import de.florianmichael.viafabricplus.fixes.recipe.Recipes1_11_2;
+import de.florianmichael.viafabricplus.fixes.data.recipe.RecipeInfo;
+import de.florianmichael.viafabricplus.fixes.data.recipe.Recipes1_11_2;
import de.florianmichael.viafabricplus.protocolhack.ProtocolHack;
import de.florianmichael.viafabricplus.settings.impl.VisualSettings;
import net.minecraft.client.MinecraftClient;
diff --git a/src/main/java/de/florianmichael/viafabricplus/injection/mixin/fixes/minecraft/network/MixinClientPlayerInteractionManager.java b/src/main/java/de/florianmichael/viafabricplus/injection/mixin/fixes/minecraft/network/MixinClientPlayerInteractionManager.java
index 036bf0b2..ad06a5a4 100644
--- a/src/main/java/de/florianmichael/viafabricplus/injection/mixin/fixes/minecraft/network/MixinClientPlayerInteractionManager.java
+++ b/src/main/java/de/florianmichael/viafabricplus/injection/mixin/fixes/minecraft/network/MixinClientPlayerInteractionManager.java
@@ -25,7 +25,7 @@ import com.viaversion.viaversion.api.protocol.packet.PacketWrapper;
import com.viaversion.viaversion.api.type.Type;
import com.viaversion.viaversion.protocols.protocol1_16_2to1_16_1.ServerboundPackets1_16_2;
import com.viaversion.viaversion.protocols.protocol1_17to1_16_4.Protocol1_17To1_16_4;
-import de.florianmichael.viafabricplus.fixes.ActionResultException;
+import de.florianmichael.viafabricplus.fixes.ActionResultException1_12_2;
import de.florianmichael.viafabricplus.fixes.ClientPlayerInteractionManager1_18_2;
import de.florianmichael.viafabricplus.injection.access.IClientConnection;
import de.florianmichael.viafabricplus.injection.access.IScreenHandler;
@@ -202,13 +202,13 @@ public abstract class MixinClientPlayerInteractionManager {
final ItemUsageContext itemUsageContext = new ItemUsageContext(player, hand, checkHitResult);
final ItemPlacementContext itemPlacementContext = new ItemPlacementContext(itemUsageContext);
if (!itemPlacementContext.canPlace() || ((BlockItem) itemPlacementContext.getStack().getItem()).getPlacementState(itemPlacementContext) == null) {
- throw new ActionResultException(ActionResult.PASS);
+ throw new ActionResultException1_12_2(ActionResult.PASS);
}
}
this.networkHandler.sendPacket(new PlayerInteractBlockC2SPacket(hand, hitResult, 0));
if (itemStack.isEmpty()) {
- throw new ActionResultException(ActionResult.PASS);
+ throw new ActionResultException1_12_2(ActionResult.PASS);
}
final ItemUsageContext itemUsageContext = new ItemUsageContext(player, hand, checkHitResult);
ActionResult actionResult;
@@ -222,7 +222,7 @@ public abstract class MixinClientPlayerInteractionManager {
if (!actionResult.isAccepted()) {
actionResult = ActionResult.PASS; // In <= 1.12.2 FAIL is the same as PASS
}
- throw new ActionResultException(actionResult);
+ throw new ActionResultException1_12_2(actionResult);
}
}
@@ -255,7 +255,7 @@ public abstract class MixinClientPlayerInteractionManager {
try {
mutableObject.setValue(this.interactBlockInternal(clientPlayerEntity, hand, blockHitResult));
return new PlayerInteractBlockC2SPacket(hand, blockHitResult, sequence);
- } catch (ActionResultException e) {
+ } catch (ActionResultException1_12_2 e) {
mutableObject.setValue(e.getActionResult());
throw e;
}
@@ -265,7 +265,7 @@ public abstract class MixinClientPlayerInteractionManager {
private void catchPacketCancelException(ClientPlayerInteractionManager instance, ClientWorld world, SequencedPacketCreator packetCreator) {
try {
this.sendSequencedPacket(world, packetCreator);
- } catch (ActionResultException ignored) {
+ } catch (ActionResultException1_12_2 ignored) {
}
}
diff --git a/src/main/java/de/florianmichael/viafabricplus/injection/mixin/fixes/minecraft/screen/MixinCreativeInventoryScreen.java b/src/main/java/de/florianmichael/viafabricplus/injection/mixin/fixes/minecraft/screen/MixinCreativeInventoryScreen.java
index be3f1c47..34ee5fb2 100644
--- a/src/main/java/de/florianmichael/viafabricplus/injection/mixin/fixes/minecraft/screen/MixinCreativeInventoryScreen.java
+++ b/src/main/java/de/florianmichael/viafabricplus/injection/mixin/fixes/minecraft/screen/MixinCreativeInventoryScreen.java
@@ -19,7 +19,7 @@
package de.florianmichael.viafabricplus.injection.mixin.fixes.minecraft.screen;
-import de.florianmichael.viafabricplus.fixes.classic.screen.ClassicItemSelectionScreen;
+import de.florianmichael.viafabricplus.fixes.classic.ClassicItemSelectionScreen;
import de.florianmichael.viafabricplus.settings.impl.VisualSettings;
import net.minecraft.client.MinecraftClient;
import net.minecraft.client.gui.screen.ingame.CreativeInventoryScreen;
diff --git a/src/main/java/de/florianmichael/viafabricplus/injection/mixin/fixes/minecraft/screen/MixinMouseOptionsScreen.java b/src/main/java/de/florianmichael/viafabricplus/injection/mixin/fixes/minecraft/screen/MixinMouseOptionsScreen.java
index 2a0f7bdd..312cb59a 100644
--- a/src/main/java/de/florianmichael/viafabricplus/injection/mixin/fixes/minecraft/screen/MixinMouseOptionsScreen.java
+++ b/src/main/java/de/florianmichael/viafabricplus/injection/mixin/fixes/minecraft/screen/MixinMouseOptionsScreen.java
@@ -20,7 +20,7 @@
package de.florianmichael.viafabricplus.injection.mixin.fixes.minecraft.screen;
import de.florianmichael.viafabricplus.protocolhack.ProtocolHack;
-import de.florianmichael.viafabricplus.util.MouseSensitivityUtil;
+import de.florianmichael.viafabricplus.protocolhack.util.MathUtil;
import net.minecraft.client.gui.DrawContext;
import net.minecraft.client.gui.screen.Screen;
import net.minecraft.client.gui.screen.option.GameOptionsScreen;
@@ -48,7 +48,7 @@ public abstract class MixinMouseOptionsScreen extends GameOptionsScreen {
@Inject(method = "render", at = @At("RETURN"))
private void render1_13SliderValue(DrawContext drawContext, int mouseX, int mouseY, float delta, CallbackInfo ci) {
if (ProtocolHack.getTargetVersion().isOlderThanOrEqualTo(VersionEnum.r1_13_2) && this.buttonList.getWidgetFor(this.gameOptions.getMouseSensitivity()).isHovered()) {
- drawContext.drawTooltip(textRenderer, Text.of("<=1.13.2 Sensitivity: " + MouseSensitivityUtil.get1_13SliderValue(this.gameOptions.getMouseSensitivity().getValue().floatValue()).valueInt() + "%"), mouseX, mouseY);
+ drawContext.drawTooltip(textRenderer, Text.of("<=1.13.2 Sensitivity: " + MathUtil.get1_13SliderValue(this.gameOptions.getMouseSensitivity().getValue().floatValue()).valueInt() + "%"), mouseX, mouseY);
}
}
diff --git a/src/main/java/de/florianmichael/viafabricplus/injection/mixin/fixes/minecraft/screen/screenhandler/MixinCraftingScreenHandler.java b/src/main/java/de/florianmichael/viafabricplus/injection/mixin/fixes/minecraft/screen/screenhandler/MixinCraftingScreenHandler.java
index 4cc16fef..d83f39be 100644
--- a/src/main/java/de/florianmichael/viafabricplus/injection/mixin/fixes/minecraft/screen/screenhandler/MixinCraftingScreenHandler.java
+++ b/src/main/java/de/florianmichael/viafabricplus/injection/mixin/fixes/minecraft/screen/screenhandler/MixinCraftingScreenHandler.java
@@ -19,7 +19,7 @@
package de.florianmichael.viafabricplus.injection.mixin.fixes.minecraft.screen.screenhandler;
-import de.florianmichael.viafabricplus.fixes.recipe.Recipes1_11_2;
+import de.florianmichael.viafabricplus.fixes.data.recipe.Recipes1_11_2;
import de.florianmichael.viafabricplus.protocolhack.ProtocolHack;
import net.minecraft.inventory.Inventory;
import net.minecraft.inventory.RecipeInputInventory;
diff --git a/src/main/java/de/florianmichael/viafabricplus/injection/mixin/fixes/minecraft/screen/screenhandler/MixinPlayerScreenHandler.java b/src/main/java/de/florianmichael/viafabricplus/injection/mixin/fixes/minecraft/screen/screenhandler/MixinPlayerScreenHandler.java
index 7606bc1e..9d1c22f3 100644
--- a/src/main/java/de/florianmichael/viafabricplus/injection/mixin/fixes/minecraft/screen/screenhandler/MixinPlayerScreenHandler.java
+++ b/src/main/java/de/florianmichael/viafabricplus/injection/mixin/fixes/minecraft/screen/screenhandler/MixinPlayerScreenHandler.java
@@ -19,7 +19,7 @@
package de.florianmichael.viafabricplus.injection.mixin.fixes.minecraft.screen.screenhandler;
-import de.florianmichael.viafabricplus.fixes.recipe.Recipes1_11_2;
+import de.florianmichael.viafabricplus.fixes.data.recipe.Recipes1_11_2;
import de.florianmichael.viafabricplus.protocolhack.ProtocolHack;
import net.minecraft.inventory.CraftingInventory;
import net.minecraft.inventory.Inventory;
diff --git a/src/main/java/de/florianmichael/viafabricplus/injection/mixin/fixes/viaversion/MixinEntityPackets1_17.java b/src/main/java/de/florianmichael/viafabricplus/injection/mixin/fixes/viaversion/MixinEntityPackets1_17.java
index 083d03fd..46713ff6 100644
--- a/src/main/java/de/florianmichael/viafabricplus/injection/mixin/fixes/viaversion/MixinEntityPackets1_17.java
+++ b/src/main/java/de/florianmichael/viafabricplus/injection/mixin/fixes/viaversion/MixinEntityPackets1_17.java
@@ -25,7 +25,7 @@ import com.viaversion.viaversion.api.protocol.remapper.PacketHandler;
import com.viaversion.viaversion.protocols.protocol1_16_2to1_16_1.ClientboundPackets1_16_2;
import com.viaversion.viaversion.protocols.protocol1_17to1_16_4.Protocol1_17To1_16_4;
import com.viaversion.viaversion.protocols.protocol1_17to1_16_4.packets.EntityPackets;
-import de.florianmichael.viafabricplus.injection.reference.ClassicWorldHeightInjections;
+import de.florianmichael.viafabricplus.fixes.classic.ClassicWorldHeightInjections;
import org.spongepowered.asm.mixin.Mixin;
import org.spongepowered.asm.mixin.injection.At;
import org.spongepowered.asm.mixin.injection.Redirect;
diff --git a/src/main/java/de/florianmichael/viafabricplus/injection/mixin/fixes/viaversion/MixinInventoryPackets.java b/src/main/java/de/florianmichael/viafabricplus/injection/mixin/fixes/viaversion/MixinInventoryPackets.java
index fcceb7c7..28a555f8 100644
--- a/src/main/java/de/florianmichael/viafabricplus/injection/mixin/fixes/viaversion/MixinInventoryPackets.java
+++ b/src/main/java/de/florianmichael/viafabricplus/injection/mixin/fixes/viaversion/MixinInventoryPackets.java
@@ -24,9 +24,14 @@ import com.viaversion.viaversion.api.type.Type;
import com.viaversion.viaversion.libs.gson.JsonElement;
import com.viaversion.viaversion.protocols.protocol1_14to1_13_2.ClientboundPackets1_14;
import com.viaversion.viaversion.protocols.protocol1_14to1_13_2.packets.InventoryPackets;
-import de.florianmichael.viafabricplus.fixes.ChestHandler1_13_2;
import de.florianmichael.viafabricplus.fixes.ClientsideFixes;
import de.florianmichael.viafabricplus.protocolhack.translator.TextComponentTranslator;
+import net.minecraft.client.MinecraftClient;
+import net.minecraft.client.gui.screen.ingame.GenericContainerScreen;
+import net.minecraft.inventory.SimpleInventory;
+import net.minecraft.screen.GenericContainerScreenHandler;
+import net.minecraft.text.Text;
+import net.minecraft.util.math.MathHelper;
import org.spongepowered.asm.mixin.Mixin;
import org.spongepowered.asm.mixin.injection.At;
import org.spongepowered.asm.mixin.injection.Inject;
@@ -41,11 +46,26 @@ public abstract class MixinInventoryPackets {
if ((type.equals("minecraft:container") || type.equals("minecraft:chest")) && (slots > 54 || slots <= 0)) {
ci.cancel();
- final String uuid = ClientsideFixes.executeSyncTask(ChestHandler1_13_2.OLD_PACKET_HANDLER);
+ final String uuid = ClientsideFixes.executeSyncTask(data -> {
+ final MinecraftClient mc = MinecraftClient.getInstance();
+
+ try {
+ final int syncId = data.readUnsignedByte();
+ final int size = data.readUnsignedByte();
+ final Text title1_20 = data.readText();
+
+ final GenericContainerScreenHandler screenHandler = new GenericContainerScreenHandler(null, syncId, mc.player.getInventory(), new SimpleInventory(size), MathHelper.ceil(size / 9F));
+ mc.player.currentScreenHandler = screenHandler;
+ mc.setScreen(new GenericContainerScreen(screenHandler, mc.player.getInventory(), title1_20));
+ } catch (Throwable t) {
+ throw new RuntimeException("Failed to handle OpenWindow packet data", t);
+ }
+ });
+
wrapper.clearPacket();
wrapper.setPacketType(ClientboundPackets1_14.PLUGIN_MESSAGE);
- wrapper.write(Type.STRING, ClientsideFixes.PACKET_SYNC_IDENTIFIER);
- wrapper.write(Type.STRING, uuid);
+ wrapper.write(Type.STRING, ClientsideFixes.PACKET_SYNC_IDENTIFIER); // sync task header
+ wrapper.write(Type.STRING, uuid); // sync task id
wrapper.write(Type.UNSIGNED_BYTE, windowId);
wrapper.write(Type.UNSIGNED_BYTE, slots);
wrapper.write(Type.COMPONENT, TextComponentTranslator.via1_14toViaLatest(title));
diff --git a/src/main/java/de/florianmichael/viafabricplus/injection/mixin/fixes/viaversion/MixinUserConnectionImpl.java b/src/main/java/de/florianmichael/viafabricplus/injection/mixin/fixes/viaversion/MixinUserConnectionImpl.java
index 9f6f6fb0..f939a2d4 100644
--- a/src/main/java/de/florianmichael/viafabricplus/injection/mixin/fixes/viaversion/MixinUserConnectionImpl.java
+++ b/src/main/java/de/florianmichael/viafabricplus/injection/mixin/fixes/viaversion/MixinUserConnectionImpl.java
@@ -20,7 +20,7 @@
package de.florianmichael.viafabricplus.injection.mixin.fixes.viaversion;
import com.viaversion.viaversion.connection.UserConnectionImpl;
-import de.florianmichael.viafabricplus.util.NoPacketSendChannel;
+import de.florianmichael.viafabricplus.protocolhack.util.NoPacketSendChannel;
import io.netty.buffer.ByteBuf;
import io.netty.channel.Channel;
import org.spongepowered.asm.mixin.Final;
diff --git a/src/main/java/de/florianmichael/viafabricplus/injection/mixin/fixes/viaversion/MixinWorldPackets1_17.java b/src/main/java/de/florianmichael/viafabricplus/injection/mixin/fixes/viaversion/MixinWorldPackets1_17.java
index 2eb1096f..9282452b 100644
--- a/src/main/java/de/florianmichael/viafabricplus/injection/mixin/fixes/viaversion/MixinWorldPackets1_17.java
+++ b/src/main/java/de/florianmichael/viafabricplus/injection/mixin/fixes/viaversion/MixinWorldPackets1_17.java
@@ -25,7 +25,7 @@ import com.viaversion.viaversion.api.protocol.remapper.PacketHandler;
import com.viaversion.viaversion.protocols.protocol1_16_2to1_16_1.ClientboundPackets1_16_2;
import com.viaversion.viaversion.protocols.protocol1_17to1_16_4.Protocol1_17To1_16_4;
import com.viaversion.viaversion.protocols.protocol1_17to1_16_4.packets.WorldPackets;
-import de.florianmichael.viafabricplus.injection.reference.ClassicWorldHeightInjections;
+import de.florianmichael.viafabricplus.fixes.classic.ClassicWorldHeightInjections;
import org.spongepowered.asm.mixin.Mixin;
import org.spongepowered.asm.mixin.injection.At;
import org.spongepowered.asm.mixin.injection.Redirect;
diff --git a/src/main/java/de/florianmichael/viafabricplus/injection/mixin/fixes/viaversion/MixinWorldPackets1_19.java b/src/main/java/de/florianmichael/viafabricplus/injection/mixin/fixes/viaversion/MixinWorldPackets1_19.java
index eb94c536..5d4d88ca 100644
--- a/src/main/java/de/florianmichael/viafabricplus/injection/mixin/fixes/viaversion/MixinWorldPackets1_19.java
+++ b/src/main/java/de/florianmichael/viafabricplus/injection/mixin/fixes/viaversion/MixinWorldPackets1_19.java
@@ -27,6 +27,8 @@ import com.viaversion.viaversion.protocols.protocol1_19to1_18_2.Protocol1_19To1_
import com.viaversion.viaversion.protocols.protocol1_19to1_18_2.packets.WorldPackets;
import de.florianmichael.viafabricplus.fixes.ClientPlayerInteractionManager1_18_2;
import de.florianmichael.viafabricplus.fixes.ClientsideFixes;
+import de.florianmichael.viafabricplus.protocolhack.translator.BlockStateTranslator;
+import net.minecraft.network.packet.c2s.play.PlayerActionC2SPacket;
import org.spongepowered.asm.mixin.Mixin;
import org.spongepowered.asm.mixin.injection.At;
import org.spongepowered.asm.mixin.injection.Redirect;
@@ -39,7 +41,18 @@ public abstract class MixinWorldPackets1_19 {
instance.registerClientbound(ClientboundPackets1_18.ACKNOWLEDGE_PLAYER_DIGGING, ClientboundPackets1_19.PLUGIN_MESSAGE, wrapper -> {
wrapper.resetReader();
- final var uuid = ClientsideFixes.executeSyncTask(ClientPlayerInteractionManager1_18_2.OLD_PACKET_HANDLER);
+ final var uuid = ClientsideFixes.executeSyncTask(data -> {
+ try {
+ final var pos = data.readBlockPos();
+ final var blockState = BlockStateTranslator.via1_18_2toMc(data.readVarInt());
+ final var action = data.readEnumConstant(PlayerActionC2SPacket.Action.class);
+ final var allGood = data.readBoolean();
+
+ ClientPlayerInteractionManager1_18_2.handleBlockBreakAck(pos, blockState, action, allGood);
+ } catch (Throwable t) {
+ throw new RuntimeException("Failed to handle BlockBreakAck packet data", t);
+ }
+ });
wrapper.write(Type.STRING, ClientsideFixes.PACKET_SYNC_IDENTIFIER);
wrapper.write(Type.STRING, uuid);
});
diff --git a/src/main/java/de/florianmichael/viafabricplus/protocolhack/ProtocolHack.java b/src/main/java/de/florianmichael/viafabricplus/protocolhack/ProtocolHack.java
index 0d0ab1d4..9284972e 100644
--- a/src/main/java/de/florianmichael/viafabricplus/protocolhack/ProtocolHack.java
+++ b/src/main/java/de/florianmichael/viafabricplus/protocolhack/ProtocolHack.java
@@ -38,7 +38,7 @@ import de.florianmichael.viafabricplus.protocolhack.impl.ViaFabricPlusVLInjector
import de.florianmichael.viafabricplus.protocolhack.impl.ViaFabricPlusVLLoader;
import de.florianmichael.viafabricplus.protocolhack.impl.platform.ViaFabricPlusViaLegacyPlatformImpl;
import de.florianmichael.viafabricplus.protocolhack.netty.ViaFabricPlusVLLegacyPipeline;
-import de.florianmichael.viafabricplus.util.NoPacketSendChannel;
+import de.florianmichael.viafabricplus.protocolhack.util.NoPacketSendChannel;
import io.netty.channel.Channel;
import io.netty.util.AttributeKey;
import net.fabricmc.fabric.api.client.command.v2.ClientCommandRegistrationCallback;
diff --git a/src/main/java/de/florianmichael/viafabricplus/protocolhack/command/ViaFabricPlusVLCommandHandler.java b/src/main/java/de/florianmichael/viafabricplus/protocolhack/command/ViaFabricPlusVLCommandHandler.java
index d14b5f34..5e359e32 100644
--- a/src/main/java/de/florianmichael/viafabricplus/protocolhack/command/ViaFabricPlusVLCommandHandler.java
+++ b/src/main/java/de/florianmichael/viafabricplus/protocolhack/command/ViaFabricPlusVLCommandHandler.java
@@ -23,8 +23,8 @@ import com.mojang.brigadier.arguments.StringArgumentType;
import com.mojang.brigadier.context.CommandContext;
import com.mojang.brigadier.suggestion.Suggestions;
import com.mojang.brigadier.suggestion.SuggestionsBuilder;
-import de.florianmichael.viafabricplus.fixes.classic.command.impl.ListExtensionsCommand;
-import de.florianmichael.viafabricplus.fixes.classic.command.impl.SetTimeCommand;
+import de.florianmichael.viafabricplus.fixes.classic.command.ListExtensionsCommand;
+import de.florianmichael.viafabricplus.fixes.classic.command.SetTimeCommand;
import net.fabricmc.fabric.api.client.command.v2.FabricClientCommandSource;
import net.raphimc.vialoader.impl.viaversion.VLCommandHandler;
diff --git a/src/main/java/de/florianmichael/viafabricplus/util/MouseSensitivityUtil.java b/src/main/java/de/florianmichael/viafabricplus/protocolhack/util/MathUtil.java
similarity index 93%
rename from src/main/java/de/florianmichael/viafabricplus/util/MouseSensitivityUtil.java
rename to src/main/java/de/florianmichael/viafabricplus/protocolhack/util/MathUtil.java
index 92f1a455..f80fdb31 100644
--- a/src/main/java/de/florianmichael/viafabricplus/util/MouseSensitivityUtil.java
+++ b/src/main/java/de/florianmichael/viafabricplus/protocolhack/util/MathUtil.java
@@ -17,11 +17,11 @@
* along with this program. If not, see .
*/
-package de.florianmichael.viafabricplus.util;
+package de.florianmichael.viafabricplus.protocolhack.util;
import it.unimi.dsi.fastutil.floats.FloatIntPair;
-public class MouseSensitivityUtil {
+public class MathUtil {
public static FloatIntPair get1_13SliderValue(final float value1_14) {
final int oldSliderWidth = 150 - 8;
diff --git a/src/main/java/de/florianmichael/viafabricplus/util/NoPacketSendChannel.java b/src/main/java/de/florianmichael/viafabricplus/protocolhack/util/NoPacketSendChannel.java
similarity index 72%
rename from src/main/java/de/florianmichael/viafabricplus/util/NoPacketSendChannel.java
rename to src/main/java/de/florianmichael/viafabricplus/protocolhack/util/NoPacketSendChannel.java
index 3e9cecab..39b7cff6 100644
--- a/src/main/java/de/florianmichael/viafabricplus/util/NoPacketSendChannel.java
+++ b/src/main/java/de/florianmichael/viafabricplus/protocolhack/util/NoPacketSendChannel.java
@@ -17,10 +17,15 @@
* along with this program. If not, see .
*/
-package de.florianmichael.viafabricplus.util;
+package de.florianmichael.viafabricplus.protocolhack.util;
import io.netty.channel.local.LocalChannel;
+/**
+ * This class can be used when creating dummy {@link com.viaversion.viaversion.api.connection.UserConnection} instances.
+ * This class will prevent packets created by ViaVersion from being sent to the server. This is mainly used in the
+ * translator system. See {@link de.florianmichael.viafabricplus.protocolhack.translator} for more information.
+ */
public class NoPacketSendChannel extends LocalChannel {
public static final NoPacketSendChannel INSTANCE = new NoPacketSendChannel();