added Classic loading progress renderer

ViaFabricPlusVisual: added old creative menu
added AddonAPI
This commit is contained in:
FlorianMichael 2023-02-23 21:58:37 +01:00
parent b4ca332455
commit f3f077ca38
44 changed files with 352 additions and 65 deletions

View File

@ -1,13 +1,17 @@
package de.florianmichael.viafabricplus_visual;
import com.viaversion.viaversion.api.protocol.version.ProtocolVersion;
import de.florianmichael.viafabricplus.ViaFabricPlusAddon;
import de.florianmichael.viafabricplus.platform.ProtocolRange;
import de.florianmichael.viafabricplus.value.impl.ProtocolSyncBooleanValue;
import de.florianmichael.viafabricplus_visual.definition.ArmorPointsDefinition;
import de.florianmichael.viafabricplus_visual.definition.c0_30.ClassicItemSelectionScreen;
import de.florianmichael.viafabricplus_visual.definition.v1_8_x.ArmorPointsDefinition;
import de.florianmichael.vialoadingbase.api.version.ComparableProtocolVersion;
import de.florianmichael.vialoadingbase.api.version.InternalProtocolList;
import net.fabricmc.api.ClientModInitializer;
import net.raphimc.vialegacy.api.LegacyProtocolVersion;
public class ViaFabricPlusVisual implements ClientModInitializer {
public class ViaFabricPlusVisual implements ViaFabricPlusAddon {
// 1.19.2 -> 1.19
public final static ProtocolSyncBooleanValue disableSecureChatWarning = new ProtocolSyncBooleanValue("Disable secure chat warning", ProtocolRange.andOlder(ProtocolVersion.v1_19));
@ -25,8 +29,17 @@ public class ViaFabricPlusVisual implements ClientModInitializer {
public final static ProtocolSyncBooleanValue emulateArmorHud = new ProtocolSyncBooleanValue("Emulate Armor hud", ProtocolRange.andOlder(ProtocolVersion.v1_8));
public final static ProtocolSyncBooleanValue removeNewerFeaturesFromCommandBlockScreen = new ProtocolSyncBooleanValue("Remove newer features from Command block screen", ProtocolRange.andOlder(ProtocolVersion.v1_8));
// a1_0_15 -> c0_28toc0_30
public final static ProtocolSyncBooleanValue replaceCreativeInventory = new ProtocolSyncBooleanValue("Replace creative inventory", ProtocolRange.andOlder(LegacyProtocolVersion.c0_28toc0_30));
@Override
public void onInitializeClient() {
public void onPostLoad() {
ArmorPointsDefinition.load();
ClassicItemSelectionScreen.create(InternalProtocolList.fromProtocolVersion(LegacyProtocolVersion.c0_28toc0_30));
}
@Override
public void onChangeVersion(ComparableProtocolVersion protocolVersion) {
ClassicItemSelectionScreen.INSTANCE.reload(protocolVersion);
}
}

View File

@ -0,0 +1,159 @@
package de.florianmichael.viafabricplus_visual.definition.c0_30;
import de.florianmichael.vialoadingbase.api.version.ComparableProtocolVersion;
import net.minecraft.client.MinecraftClient;
import net.minecraft.client.gui.screen.Screen;
import net.minecraft.client.sound.PositionedSoundInstance;
import net.minecraft.client.util.math.MatrixStack;
import net.minecraft.item.Item;
import net.minecraft.item.ItemStack;
import net.minecraft.item.Items;
import net.minecraft.sound.SoundEvents;
import net.minecraft.text.Text;
import net.minecraft.util.math.MathHelper;
import net.raphimc.vialegacy.api.LegacyProtocolVersion;
import java.util.ArrayList;
import java.util.List;
@SuppressWarnings("DataFlowIssue")
public class ClassicItemSelectionScreen extends Screen {
public static ClassicItemSelectionScreen INSTANCE;
private final static int MAX_ROW_DIVIDER = 9;
private final static int ITEM_XY_BOX_DIMENSION_CLASSIC = 25;
private final static int SIDE_OFFSET = 15;
private final static int ITEM_XY_BOX_DIMENSION_MODERN = 16;
public Item[][] itemGrid = null;
public ItemStack selectedItem = null;
public static void create(final ComparableProtocolVersion version) {
ClassicItemSelectionScreen.INSTANCE = new ClassicItemSelectionScreen();
ClassicItemSelectionScreen.INSTANCE.reload(version);
}
public ClassicItemSelectionScreen() {
super(Text.literal("Classic item selection"));
}
public void reload(final ComparableProtocolVersion version) {
final List<Item> allowedItems = new ArrayList<>();
allowedItems.add(Items.OAK_WOOD);
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(LegacyProtocolVersion.c0_0_19a_06)) {
allowedItems.add(Items.SPONGE);
if (version.isNewerThan(LegacyProtocolVersion.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);
if (version == LegacyProtocolVersion.c0_30cpe) {
allowedItems.add(Items.MAGMA_BLOCK);
allowedItems.add(Items.QUARTZ_PILLAR);
allowedItems.add(Items.SANDSTONE_STAIRS);
allowedItems.add(Items.STONE_BRICKS);
allowedItems.add(Items.COBBLESTONE_SLAB);
allowedItems.add(Items.ICE);
allowedItems.add(Items.SNOW);
}
}
}
itemGrid = new Item[MathHelper.ceil(allowedItems.size() / (double) MAX_ROW_DIVIDER)][MAX_ROW_DIVIDER];
int x = 0;
int y = 0;
for (Item allowedItem : allowedItems) {
itemGrid[y][x] = allowedItem;
x++;
if (x == MAX_ROW_DIVIDER) {
x = 0;
y++;
}
}
}
@Override
public boolean mouseClicked(double mouseX, double mouseY, int button) {
if (selectedItem != null) {
this.client.interactionManager.clickCreativeStack(selectedItem, MinecraftClient.getInstance().player.getInventory().selectedSlot + 36); // Beta Inventory Tracker
this.client.player.getInventory().main.set(MinecraftClient.getInstance().player.getInventory().selectedSlot, selectedItem);
this.client.player.playerScreenHandler.sendContentUpdates();
this.client.getSoundManager().play(PositionedSoundInstance.master(SoundEvents.UI_BUTTON_CLICK, 1.0F));
this.close();
}
return super.mouseClicked(mouseX, mouseY, button);
}
@Override
public void render(MatrixStack matrices, int mouseX, int mouseY, float delta) {
final int halfWidth = this.width / 2;
final int halfHeight = this.height / 2;
final int boxWidth = ITEM_XY_BOX_DIMENSION_CLASSIC * MAX_ROW_DIVIDER + SIDE_OFFSET * 2;
final int boxHeight = ITEM_XY_BOX_DIMENSION_CLASSIC * itemGrid.length + SIDE_OFFSET * 2 + SIDE_OFFSET;
final int renderX = halfWidth - boxWidth / 2;
final int renderY = halfHeight - boxHeight / 2;
fill(matrices, renderX, renderY, renderX + boxWidth, renderY + boxHeight, Integer.MIN_VALUE);
drawCenteredText(matrices, textRenderer, "Select block", renderX + boxWidth / 2, renderY + SIDE_OFFSET, -1);
selectedItem = null;
int y = SIDE_OFFSET + SIDE_OFFSET;
for (Item[] items : itemGrid) {
int x = SIDE_OFFSET;
for (Item item : items) {
if (item == null) continue;
if (mouseX > renderX + x && mouseY > renderY + y && mouseX < renderX + x + ITEM_XY_BOX_DIMENSION_CLASSIC && mouseY < renderY + y + ITEM_XY_BOX_DIMENSION_CLASSIC) {
fill(matrices, renderX + x, renderY + y, renderX + x + ITEM_XY_BOX_DIMENSION_CLASSIC, renderY + y + ITEM_XY_BOX_DIMENSION_CLASSIC, Integer.MAX_VALUE);
selectedItem = item.getDefaultStack();
}
MinecraftClient.getInstance().getItemRenderer().renderGuiItemIcon(item.getDefaultStack(), renderX + x + ITEM_XY_BOX_DIMENSION_MODERN / 4, renderY + y + ITEM_XY_BOX_DIMENSION_MODERN / 4);
x += ITEM_XY_BOX_DIMENSION_CLASSIC;
}
y += ITEM_XY_BOX_DIMENSION_CLASSIC;
}
super.render(matrices, mouseX, mouseY, delta);
}
}

View File

@ -1,4 +1,4 @@
package de.florianmichael.viafabricplus_visual.definition;
package de.florianmichael.viafabricplus_visual.definition.v1_8_x;
import com.viaversion.viaversion.protocols.protocol1_9to1_8.ArmorType;
import net.minecraft.client.MinecraftClient;

View File

@ -2,7 +2,7 @@ package de.florianmichael.viafabricplus_visual.injection.mixin;
import com.mojang.authlib.GameProfile;
import de.florianmichael.viafabricplus_visual.ViaFabricPlusVisual;
import de.florianmichael.viafabricplus_visual.definition.ArmorPointsDefinition;
import de.florianmichael.viafabricplus_visual.definition.v1_8_x.ArmorPointsDefinition;
import net.minecraft.client.network.AbstractClientPlayerEntity;
import net.minecraft.client.network.ClientPlayerEntity;
import net.minecraft.client.world.ClientWorld;

View File

@ -0,0 +1,21 @@
package de.florianmichael.viafabricplus_visual.injection.mixin;
import de.florianmichael.viafabricplus_visual.ViaFabricPlusVisual;
import de.florianmichael.viafabricplus_visual.definition.c0_30.ClassicItemSelectionScreen;
import net.minecraft.client.MinecraftClient;
import net.minecraft.client.gui.screen.ingame.CreativeInventoryScreen;
import org.spongepowered.asm.mixin.Mixin;
import org.spongepowered.asm.mixin.injection.At;
import org.spongepowered.asm.mixin.injection.Inject;
import org.spongepowered.asm.mixin.injection.callback.CallbackInfo;
@Mixin(CreativeInventoryScreen.class)
public class MixinCreativeInventoryScreen {
@Inject(method = "init", at = @At("RETURN"))
public void replaceCreativeMenu(CallbackInfo ci) {
if (ViaFabricPlusVisual.replaceCreativeInventory.getValue()) {
MinecraftClient.getInstance().setScreen(ClassicItemSelectionScreen.INSTANCE);
}
}
}

View File

@ -15,7 +15,7 @@
"sources": "https://github.com/FlorianMichael/ViaFabricPlus"
},
"entrypoints": {
"client": [
"viafabricplus": [
"de.florianmichael.viafabricplus_visual.ViaFabricPlusVisual"
]
},

View File

@ -14,5 +14,8 @@
],
"injectors": {
"defaultRequire": 1
}
},
"client": [
"MixinCreativeInventoryScreen"
]
}

View File

@ -5,7 +5,7 @@ minecraft_version=1.19.3
yarn_mappings=1.19.3+build.5
loader_version=0.14.14
mod_version=1.0.0
mod_version=1.2.1
maven_group=de.florianmichael
archives_base_name=viafabricplus

View File

@ -117,10 +117,13 @@ public class ViaFabricPlus {
providers.use(ClassicMPPassProvider.class, new ViaFabricPlusClassicMPPassProvider());
});
builder = builder.protocolReloader(protocolVersion -> {
FabricLoader.getInstance().getEntrypoints("viafabricplus", ViaFabricPlusAddon.class).forEach(viaFabricPlusAddon -> viaFabricPlusAddon.onChangeVersion(protocolVersion));
availableItemsInTargetVersion.clear();
availableItemsInTargetVersion.addAll(Registries.ITEM.stream().filter(item -> ItemReleaseVersionDefinition.contains(item, protocolVersion)).toList());
});
builder.build();
FabricLoader.getInstance().getEntrypoints("viafabricplus", ViaFabricPlusAddon.class).forEach(ViaFabricPlusAddon::onPreLoad);
}
public void postLoad() throws Exception {
@ -136,6 +139,8 @@ public class ViaFabricPlus {
throw new RuntimeException(e);
}
}));
FabricLoader.getInstance().getEntrypoints("viafabricplus", ViaFabricPlusAddon.class).forEach(ViaFabricPlusAddon::onPostLoad);
}
public void close() throws Exception {

View File

@ -0,0 +1,14 @@
package de.florianmichael.viafabricplus;
import de.florianmichael.vialoadingbase.api.version.ComparableProtocolVersion;
public interface ViaFabricPlusAddon {
default void onPreLoad() {
}
default void onPostLoad() {
}
default void onChangeVersion(final ComparableProtocolVersion protocolVersion) {
}
}

View File

@ -0,0 +1,30 @@
package de.florianmichael.viafabricplus.definition.c0_30;
import com.viaversion.viaversion.api.connection.UserConnection;
import de.florianmichael.viafabricplus.ViaFabricPlus;
import net.minecraft.client.MinecraftClient;
import net.minecraft.client.gui.DrawableHelper;
import net.minecraft.client.util.Window;
import net.minecraft.client.util.math.MatrixStack;
import net.raphimc.vialegacy.protocols.classic.protocola1_0_15toc0_28_30.storage.ClassicProgressStorage;
public class ClassicProgressRenderer extends DrawableHelper {
public static void renderProgress(final MatrixStack matrices) {
if (MinecraftClient.getInstance().getNetworkHandler() == null) return;
final UserConnection connection = MinecraftClient.getInstance().getNetworkHandler().getConnection().channel.attr(ViaFabricPlus.LOCAL_VIA_CONNECTION).get();
if (connection == null) return;
final ClassicProgressStorage classicProgressStorage = connection.get(ClassicProgressStorage.class);
if (classicProgressStorage == null) return;
final Window window = MinecraftClient.getInstance().getWindow();
drawCenteredText(
matrices,
MinecraftClient.getInstance().textRenderer,
"[ViaFabricPlus] " + classicProgressStorage.status,
window.getScaledWidth() / 2,
window.getScaledHeight() / 2 - 30,
-1
);
}
}

View File

@ -0,0 +1,18 @@
package de.florianmichael.viafabricplus.injection.mixin.bridge;
import de.florianmichael.viafabricplus.definition.c0_30.ClassicProgressRenderer;
import net.minecraft.client.gui.screen.ConnectScreen;
import net.minecraft.client.util.math.MatrixStack;
import org.spongepowered.asm.mixin.Mixin;
import org.spongepowered.asm.mixin.injection.At;
import org.spongepowered.asm.mixin.injection.Inject;
import org.spongepowered.asm.mixin.injection.callback.CallbackInfo;
@Mixin(ConnectScreen.class)
public class MixinConnectScreen {
@Inject(method = "render", at = @At("RETURN"))
public void renderClassicProgress(MatrixStack matrices, int mouseX, int mouseY, float delta, CallbackInfo ci) {
ClassicProgressRenderer.renderProgress(matrices);
}
}

View File

@ -57,6 +57,7 @@ public class MixinDebugHud {
}
}
}
information.add("");
}
cir.getReturnValue().addAll(information);
}

View File

@ -0,0 +1,18 @@
package de.florianmichael.viafabricplus.injection.mixin.bridge;
import de.florianmichael.viafabricplus.definition.c0_30.ClassicProgressRenderer;
import net.minecraft.client.gui.screen.DownloadingTerrainScreen;
import net.minecraft.client.util.math.MatrixStack;
import org.spongepowered.asm.mixin.Mixin;
import org.spongepowered.asm.mixin.injection.At;
import org.spongepowered.asm.mixin.injection.Inject;
import org.spongepowered.asm.mixin.injection.callback.CallbackInfo;
@Mixin(DownloadingTerrainScreen.class)
public class MixinDownloadingTerrainScreen {
@Inject(method = "render", at = @At("RETURN"))
public void renderClassicProgress(MatrixStack matrices, int mouseX, int mouseY, float delta, CallbackInfo ci) {
ClassicProgressRenderer.renderProgress(matrices);
}
}

View File

@ -1,4 +1,4 @@
package de.florianmichael.viafabricplus.injection.mixin.fixes.viaaprilfools;
package de.florianmichael.viafabricplus.injection.mixin.viaaprilfools;
import com.viaversion.viabackwards.api.BackwardsProtocol;
import com.viaversion.viaversion.api.protocol.remapper.PacketHandlers;

View File

@ -1,4 +1,4 @@
package de.florianmichael.viafabricplus.injection.mixin.fixes.vialegacy;
package de.florianmichael.viafabricplus.injection.mixin.vialegacy;
import com.viaversion.viaversion.api.connection.UserConnection;
import com.viaversion.viaversion.api.protocol.AbstractProtocol;

View File

@ -1,4 +1,4 @@
package de.florianmichael.viafabricplus.injection.mixin.fixes.vialoadingbase;
package de.florianmichael.viafabricplus.injection.mixin.vialoadingbase;
import com.viaversion.viaversion.configuration.AbstractViaConfig;
import de.florianmichael.vialoadingbase.internal.viaversion.CustomViaConfig;

View File

@ -1,4 +1,4 @@
package de.florianmichael.viafabricplus.injection.mixin.fixes.viaversion;
package de.florianmichael.viafabricplus.injection.mixin.viaversion;
import com.viaversion.viaversion.legacy.bossbar.CommonBoss;
import org.spongepowered.asm.mixin.Mixin;

View File

@ -1,4 +1,4 @@
package de.florianmichael.viafabricplus.injection.mixin.fixes.viaversion;
package de.florianmichael.viafabricplus.injection.mixin.viaversion;
import com.viaversion.viaversion.api.type.Type;
import com.viaversion.viaversion.protocol.packet.PacketWrapperImpl;

View File

@ -1,4 +1,4 @@
package de.florianmichael.viafabricplus.injection.mixin.fixes.viaversion;
package de.florianmichael.viafabricplus.injection.mixin.viaversion;
import com.viaversion.viaversion.api.protocol.version.ProtocolVersion;
import com.viaversion.viaversion.api.protocol.version.VersionRange;

View File

@ -1,4 +1,4 @@
package de.florianmichael.viafabricplus.injection.mixin.fixes.viaversion.protocol1_12to1_11_1;
package de.florianmichael.viafabricplus.injection.mixin.viaversion.protocol1_12to1_11_1;
import com.viaversion.viaversion.api.Via;
import com.viaversion.viaversion.api.minecraft.nbt.BinaryTagIO;

View File

@ -1,4 +1,4 @@
package de.florianmichael.viafabricplus.injection.mixin.fixes.viaversion.protocol1_13to1_12_2;
package de.florianmichael.viafabricplus.injection.mixin.viaversion.protocol1_13to1_12_2;
import com.viaversion.viaversion.api.connection.UserConnection;
import com.viaversion.viaversion.api.minecraft.BlockFace;

View File

@ -1,4 +1,4 @@
package de.florianmichael.viafabricplus.injection.mixin.fixes.viaversion.protocol1_13to1_12_2;
package de.florianmichael.viafabricplus.injection.mixin.viaversion.protocol1_13to1_12_2;
import com.viaversion.viaversion.api.connection.ProtocolInfo;
import com.viaversion.viaversion.api.connection.UserConnection;

View File

@ -1,4 +1,4 @@
package de.florianmichael.viafabricplus.injection.mixin.fixes.viaversion.protocol1_13to1_12_2;
package de.florianmichael.viafabricplus.injection.mixin.viaversion.protocol1_13to1_12_2;
import com.viaversion.viaversion.protocols.protocol1_13to1_12_2.packets.WorldPackets;
import org.spongepowered.asm.mixin.Mixin;

View File

@ -1,4 +1,4 @@
package de.florianmichael.viafabricplus.injection.mixin.fixes.viaversion.protocol1_14to1_13_2;
package de.florianmichael.viafabricplus.injection.mixin.viaversion.protocol1_14to1_13_2;
import com.viaversion.viaversion.api.protocol.packet.PacketWrapper;
import org.spongepowered.asm.mixin.Mixin;

View File

@ -1,4 +1,4 @@
package de.florianmichael.viafabricplus.injection.mixin.fixes.viaversion.protocol1_15to1_14_4;
package de.florianmichael.viafabricplus.injection.mixin.viaversion.protocol1_15to1_14_4;
import com.viaversion.viaversion.api.Via;
import com.viaversion.viaversion.api.connection.UserConnection;

View File

@ -1,4 +1,4 @@
package de.florianmichael.viafabricplus.injection.mixin.fixes.viaversion.protocol1_15to1_14_4;
package de.florianmichael.viafabricplus.injection.mixin.viaversion.protocol1_15to1_14_4;
import com.viaversion.viaversion.api.connection.UserConnection;
import com.viaversion.viaversion.protocols.protocol1_15to1_14_4.Protocol1_15To1_14_4;

View File

@ -1,4 +1,4 @@
package de.florianmichael.viafabricplus.injection.mixin.fixes.viaversion.protocol1_16_2to1_16_1;
package de.florianmichael.viafabricplus.injection.mixin.viaversion.protocol1_16_2to1_16_1;
import com.viaversion.viaversion.protocols.protocol1_16_2to1_16_1.packets.WorldPackets;
import org.spongepowered.asm.mixin.Mixin;

View File

@ -1,4 +1,4 @@
package de.florianmichael.viafabricplus.injection.mixin.fixes.viaversion.protocol1_16to1_15_2;
package de.florianmichael.viafabricplus.injection.mixin.viaversion.protocol1_16to1_15_2;
import com.viaversion.viaversion.api.protocol.AbstractProtocol;
import com.viaversion.viaversion.api.protocol.remapper.PacketHandlers;

View File

@ -1,4 +1,4 @@
package de.florianmichael.viafabricplus.injection.mixin.fixes.viaversion.protocol1_17to1_16_4;
package de.florianmichael.viafabricplus.injection.mixin.viaversion.protocol1_17to1_16_4;
import com.viaversion.viaversion.api.protocol.Protocol;
import com.viaversion.viaversion.api.protocol.packet.ClientboundPacketType;

View File

@ -1,4 +1,4 @@
package de.florianmichael.viafabricplus.injection.mixin.fixes.viaversion.protocol1_17to1_16_4;
package de.florianmichael.viafabricplus.injection.mixin.viaversion.protocol1_17to1_16_4;
import com.viaversion.viaversion.libs.fastutil.ints.IntList;
import com.viaversion.viaversion.protocols.protocol1_17to1_16_4.storage.InventoryAcknowledgements;

View File

@ -1,4 +1,4 @@
package de.florianmichael.viafabricplus.injection.mixin.fixes.viaversion.protocol1_17to1_16_4;
package de.florianmichael.viafabricplus.injection.mixin.viaversion.protocol1_17to1_16_4;
import com.viaversion.viaversion.api.protocol.Protocol;
import com.viaversion.viaversion.api.protocol.packet.ClientboundPacketType;

View File

@ -1,4 +1,4 @@
package de.florianmichael.viafabricplus.injection.mixin.fixes.viaversion.protocol1_18_2to1_18;
package de.florianmichael.viafabricplus.injection.mixin.viaversion.protocol1_18_2to1_18;
import com.viaversion.viaversion.api.connection.UserConnection;
import com.viaversion.viaversion.api.protocol.AbstractProtocol;

View File

@ -1,4 +1,4 @@
package de.florianmichael.viafabricplus.injection.mixin.fixes.viaversion.protocol1_19_1to1_19;
package de.florianmichael.viafabricplus.injection.mixin.viaversion.protocol1_19_1to1_19;
import com.viaversion.viaversion.api.Via;
import com.viaversion.viaversion.api.minecraft.ProfileKey;

View File

@ -1,4 +1,4 @@
package de.florianmichael.viafabricplus.injection.mixin.fixes.viaversion.protocol1_19_3to1_19_1;
package de.florianmichael.viafabricplus.injection.mixin.viaversion.protocol1_19_3to1_19_1;
import com.google.common.primitives.Longs;
import com.viaversion.viabackwards.protocol.protocol1_19_1to1_19_3.storage.NonceStorage;

View File

@ -1,4 +1,4 @@
package de.florianmichael.viafabricplus.injection.mixin.fixes.viaversion.protocol1_9to1_8;
package de.florianmichael.viafabricplus.injection.mixin.viaversion.protocol1_9to1_8;
import com.viaversion.viaversion.api.Via;
import com.viaversion.viaversion.api.minecraft.chunks.*;

View File

@ -1,4 +1,4 @@
package de.florianmichael.viafabricplus.injection.mixin.fixes.viaversion.protocol1_9to1_8;
package de.florianmichael.viafabricplus.injection.mixin.viaversion.protocol1_9to1_8;
import com.viaversion.viaversion.protocols.protocol1_9to1_8.providers.CommandBlockProvider;
import org.spongepowered.asm.mixin.Mixin;

View File

@ -1,4 +1,4 @@
package de.florianmichael.viafabricplus.injection.mixin.fixes.viaversion.protocol1_9to1_8;
package de.florianmichael.viafabricplus.injection.mixin.viaversion.protocol1_9to1_8;
import com.viaversion.viaversion.api.protocol.packet.PacketWrapper;
import com.viaversion.viaversion.api.type.Type;

View File

@ -1,4 +1,4 @@
package de.florianmichael.viafabricplus.injection.mixin.fixes.viaversion.protocol1_9to1_8;
package de.florianmichael.viafabricplus.injection.mixin.viaversion.protocol1_9to1_8;
import com.viaversion.viaversion.api.minecraft.metadata.Metadata;
import com.viaversion.viaversion.protocols.protocol1_9to1_8.storage.EntityTracker1_9;

View File

@ -1,4 +1,4 @@
package de.florianmichael.viafabricplus.injection.mixin.fixes.viaversion.protocol1_9to1_8;
package de.florianmichael.viafabricplus.injection.mixin.viaversion.protocol1_9to1_8;
import com.viaversion.viaversion.api.connection.UserConnection;
import com.viaversion.viaversion.api.minecraft.entities.EntityType;

View File

@ -1,4 +1,4 @@
package de.florianmichael.viafabricplus.injection.mixin.fixes.viaversion.protocol1_9to1_8;
package de.florianmichael.viafabricplus.injection.mixin.viaversion.protocol1_9to1_8;
import com.viaversion.viaversion.protocols.protocol1_9to1_8.storage.MovementTracker;
import org.spongepowered.asm.mixin.Mixin;

View File

@ -1,4 +1,4 @@
package de.florianmichael.viafabricplus.injection.mixin.fixes.viaversion.protocol1_9to1_8;
package de.florianmichael.viafabricplus.injection.mixin.viaversion.protocol1_9to1_8;
import com.viaversion.viaversion.protocols.protocol1_9to1_8.ViaIdleThread;
import org.spongepowered.asm.mixin.Mixin;

View File

@ -14,6 +14,7 @@ public class ProtocolSyncBooleanValue extends AbstractValue<Boolean> {
super(name + " (" + protocolRange.toString() + ")", true);
this.protocolRange = protocolRange;
this.syncWithProtocol = true;
}
@Override

View File

@ -92,36 +92,40 @@
"fixes.screen.screenhandler.MixinBrewingStandScreenHandler_FuelSlot",
"fixes.screen.screenhandler.MixinPlayerScreenHandler",
"fixes.screen.screenhandler.MixinScreenHandler",
"fixes.viaaprilfools.MixinProtocol1_16to20w14infinite",
"fixes.vialegacy.MixinProtocol1_8to1_7_6_10",
"fixes.vialoadingbase.MixinCustomViaConfig",
"fixes.viaversion.MixinCommonBoss",
"fixes.viaversion.MixinPacketWrapperImpl",
"fixes.viaversion.MixinProtocolVersion",
"fixes.viaversion.protocol1_12to1_11_1.MixinChatItemRewriter",
"fixes.viaversion.protocol1_13to1_12_2.MixinAbstractFenceConnectionHandler",
"fixes.viaversion.protocol1_13to1_12_2.MixinGlassConnectionHandler",
"fixes.viaversion.protocol1_13to1_12_2.MixinWorldPackets1_13",
"fixes.viaversion.protocol1_14to1_13_2.MixinInventoryPackets_2",
"fixes.viaversion.protocol1_15to1_14_4.MixinMetadataRewriter1_15To1_14_4",
"fixes.viaversion.protocol1_15to1_14_4.MixinProtocol1_15To1_14_4",
"fixes.viaversion.protocol1_16_2to1_16_1.MixinWorldPackets_2",
"fixes.viaversion.protocol1_16to1_15_2.MixinProtocol1_16To1_15_2",
"fixes.viaversion.protocol1_17to1_16_4.MixinEntityPackets1_17",
"fixes.viaversion.protocol1_17to1_16_4.MixinInventoryAcknowledgements",
"fixes.viaversion.protocol1_17to1_16_4.MixinWorldPackets1_17",
"fixes.viaversion.protocol1_18_2to1_18.MixinProtocol1_18_2To1_18",
"fixes.viaversion.protocol1_19_1to1_19.MixinProtocol1_19_1To1_19",
"fixes.viaversion.protocol1_19_3to1_19_1.MixinProtocol1_19_3To1_19_1",
"fixes.viaversion.protocol1_9to1_8.MixinChunk1_8Type",
"fixes.viaversion.protocol1_9to1_8.MixinCommandBlockProvider",
"fixes.viaversion.protocol1_9to1_8.MixinEntityPackets_6_1",
"fixes.viaversion.protocol1_9to1_8.MixinEntityTracker1_9",
"fixes.viaversion.protocol1_9to1_8.MixinMetadataRewriter1_9To1_8",
"fixes.viaversion.protocol1_9to1_8.MixinMovementTracker",
"fixes.viaversion.protocol1_9to1_8.MixinViaIdleThread"
"viaaprilfools.MixinProtocol1_16to20w14infinite",
"vialegacy.MixinProtocol1_8to1_7_6_10",
"vialoadingbase.MixinCustomViaConfig",
"viaversion.MixinCommonBoss",
"viaversion.MixinPacketWrapperImpl",
"viaversion.MixinProtocolVersion",
"viaversion.protocol1_12to1_11_1.MixinChatItemRewriter",
"viaversion.protocol1_13to1_12_2.MixinAbstractFenceConnectionHandler",
"viaversion.protocol1_13to1_12_2.MixinGlassConnectionHandler",
"viaversion.protocol1_13to1_12_2.MixinWorldPackets1_13",
"viaversion.protocol1_14to1_13_2.MixinInventoryPackets_2",
"viaversion.protocol1_15to1_14_4.MixinMetadataRewriter1_15To1_14_4",
"viaversion.protocol1_15to1_14_4.MixinProtocol1_15To1_14_4",
"viaversion.protocol1_16_2to1_16_1.MixinWorldPackets_2",
"viaversion.protocol1_16to1_15_2.MixinProtocol1_16To1_15_2",
"viaversion.protocol1_17to1_16_4.MixinEntityPackets1_17",
"viaversion.protocol1_17to1_16_4.MixinInventoryAcknowledgements",
"viaversion.protocol1_17to1_16_4.MixinWorldPackets1_17",
"viaversion.protocol1_18_2to1_18.MixinProtocol1_18_2To1_18",
"viaversion.protocol1_19_1to1_19.MixinProtocol1_19_1To1_19",
"viaversion.protocol1_19_3to1_19_1.MixinProtocol1_19_3To1_19_1",
"viaversion.protocol1_9to1_8.MixinChunk1_8Type",
"viaversion.protocol1_9to1_8.MixinCommandBlockProvider",
"viaversion.protocol1_9to1_8.MixinEntityPackets_6_1",
"viaversion.protocol1_9to1_8.MixinEntityTracker1_9",
"viaversion.protocol1_9to1_8.MixinMetadataRewriter1_9To1_8",
"viaversion.protocol1_9to1_8.MixinMovementTracker",
"viaversion.protocol1_9to1_8.MixinViaIdleThread"
],
"injectors": {
"defaultRequire": 1
}
},
"client": [
"bridge.MixinConnectScreen",
"bridge.MixinDownloadingTerrainScreen"
]
}