Update to MC 1.14.1
The ReplayStudio update also fixes an issue with reading the PlayerListEntryPacket leading to NPEs during Quick Mode.
This commit is contained in:
@@ -11,7 +11,7 @@ import de.johni0702.minecraft.gui.element.GuiButton;
|
||||
import de.johni0702.minecraft.gui.layout.CustomLayout;
|
||||
import de.johni0702.minecraft.gui.layout.HorizontalLayout;
|
||||
import de.johni0702.minecraft.gui.utils.EventRegistrations;
|
||||
import net.minecraft.client.gui.menu.PauseMenuScreen;
|
||||
import net.minecraft.client.gui.screen.PauseScreen;
|
||||
|
||||
//#if MC>=11400
|
||||
import de.johni0702.minecraft.gui.versions.callbacks.InitScreenCallback;
|
||||
@@ -68,8 +68,8 @@ public class GuiRecordingControls extends EventRegistrations {
|
||||
|
||||
//#if MC>=11400
|
||||
{ on(InitScreenCallback.EVENT, (screen, buttons) -> {
|
||||
if (screen instanceof PauseMenuScreen) {
|
||||
show((PauseMenuScreen) screen);
|
||||
if (screen instanceof PauseScreen) {
|
||||
show((PauseScreen) screen);
|
||||
}
|
||||
}); }
|
||||
//#else
|
||||
@@ -88,7 +88,7 @@ public class GuiRecordingControls extends EventRegistrations {
|
||||
buttonPauseResume.setEnabled(!stopped);
|
||||
}
|
||||
|
||||
public void show(PauseMenuScreen gui) {
|
||||
public void show(PauseScreen gui) {
|
||||
VanillaGuiScreen.setup(gui).setLayout(new CustomLayout<GuiScreen>() {
|
||||
@Override
|
||||
protected void layout(GuiScreen container, int width, int height) {
|
||||
|
||||
@@ -8,12 +8,12 @@ import de.johni0702.minecraft.gui.container.VanillaGuiScreen;
|
||||
import de.johni0702.minecraft.gui.element.GuiCheckbox;
|
||||
import de.johni0702.minecraft.gui.layout.CustomLayout;
|
||||
import de.johni0702.minecraft.gui.utils.EventRegistrations;
|
||||
import net.minecraft.client.gui.menu.MultiplayerScreen;
|
||||
import net.minecraft.client.gui.menu.LevelSelectScreen;
|
||||
import net.minecraft.client.gui.screen.multiplayer.MultiplayerScreen;
|
||||
import net.minecraft.client.gui.screen.world.SelectWorldScreen;
|
||||
|
||||
//#if MC>=11400
|
||||
import de.johni0702.minecraft.gui.versions.callbacks.InitScreenCallback;
|
||||
import net.minecraft.client.gui.Screen;
|
||||
import net.minecraft.client.gui.screen.Screen;
|
||||
//#else
|
||||
//$$ import net.minecraftforge.client.event.GuiScreenEvent;
|
||||
//$$ import net.minecraftforge.common.MinecraftForge;
|
||||
@@ -38,8 +38,8 @@ public class GuiHandler extends EventRegistrations {
|
||||
//$$ public void onGuiInit(GuiScreenEvent.InitGuiEvent.Post event) {
|
||||
//$$ net.minecraft.client.gui.GuiScreen gui = getGui(event);
|
||||
//#endif
|
||||
if (gui instanceof LevelSelectScreen || gui instanceof MultiplayerScreen) {
|
||||
boolean sp = gui instanceof LevelSelectScreen;
|
||||
if (gui instanceof SelectWorldScreen || gui instanceof MultiplayerScreen) {
|
||||
boolean sp = gui instanceof SelectWorldScreen;
|
||||
SettingsRegistry settingsRegistry = mod.getSettingsRegistry();
|
||||
Setting<Boolean> setting = sp ? Setting.RECORD_SINGLEPLAYER : Setting.RECORD_SERVER;
|
||||
|
||||
|
||||
@@ -219,7 +219,7 @@ public class RecordingEventHandler extends EventRegistrations {
|
||||
packetListener.save(new EntityAnimationS2CPacket(
|
||||
player,
|
||||
//#if MC>=10904
|
||||
player.preferredHand == Hand.MAIN ? 0 : 3
|
||||
player.preferredHand == Hand.MAIN_HAND ? 0 : 3
|
||||
//#else
|
||||
//$$ 0
|
||||
//#endif
|
||||
@@ -248,14 +248,14 @@ public class RecordingEventHandler extends EventRegistrations {
|
||||
|
||||
//Inventory Handling
|
||||
//#if MC>=10904
|
||||
if (playerItems[0] != player.getStackInHand(Hand.MAIN)) {
|
||||
playerItems[0] = player.getStackInHand(Hand.MAIN);
|
||||
packetListener.save(new EntityEquipmentUpdateS2CPacket(player.getEntityId(), EquipmentSlot.HAND_MAIN, playerItems[0]));
|
||||
if (playerItems[0] != player.getStackInHand(Hand.MAIN_HAND)) {
|
||||
playerItems[0] = player.getStackInHand(Hand.MAIN_HAND);
|
||||
packetListener.save(new EntityEquipmentUpdateS2CPacket(player.getEntityId(), EquipmentSlot.MAINHAND, playerItems[0]));
|
||||
}
|
||||
|
||||
if (playerItems[1] != player.getStackInHand(Hand.OFF)) {
|
||||
playerItems[1] = player.getStackInHand(Hand.OFF);
|
||||
packetListener.save(new EntityEquipmentUpdateS2CPacket(player.getEntityId(), EquipmentSlot.HAND_OFF, playerItems[1]));
|
||||
if (playerItems[1] != player.getStackInHand(Hand.OFF_HAND)) {
|
||||
playerItems[1] = player.getStackInHand(Hand.OFF_HAND);
|
||||
packetListener.save(new EntityEquipmentUpdateS2CPacket(player.getEntityId(), EquipmentSlot.OFFHAND, playerItems[1]));
|
||||
}
|
||||
|
||||
if (playerItems[2] != player.getEquippedStack(EquipmentSlot.FEET)) {
|
||||
@@ -338,7 +338,7 @@ public class RecordingEventHandler extends EventRegistrations {
|
||||
wasHandActive = player.isUsingItem();
|
||||
lastActiveHand = player.getActiveHand();
|
||||
DataTracker dataManager = new DataTracker(null);
|
||||
int state = (wasHandActive ? 1 : 0) | (lastActiveHand == Hand.OFF ? 2 : 0);
|
||||
int state = (wasHandActive ? 1 : 0) | (lastActiveHand == Hand.OFF_HAND ? 2 : 0);
|
||||
//#if MC>=11300
|
||||
dataManager.startTracking(EntityLivingBaseAccessor.getLivingFlags(), (byte) state);
|
||||
//#else
|
||||
|
||||
@@ -53,7 +53,7 @@ public abstract class MixinNetHandlerPlayClient {
|
||||
if (gameController.player == null) return;
|
||||
|
||||
RecordingEventHandler handler = getRecordingEventHandler();
|
||||
if (handler != null && packet.getAction() == PlayerListS2CPacket.Action.ADD) {
|
||||
if (handler != null && packet.getAction() == PlayerListS2CPacket.Action.ADD_PLAYER) {
|
||||
// We cannot reference SPacketPlayerListItem.AddPlayerData directly for complicated (and yet to be
|
||||
// resolved) reasons (see https://github.com/MinecraftForge/ForgeGradle/issues/472), so we "simply" convert
|
||||
// the back to the MCProtocolLib equivalent and deal with that one.
|
||||
|
||||
@@ -23,7 +23,7 @@ import net.minecraft.network.NetworkState;
|
||||
import net.minecraft.network.Packet;
|
||||
import net.minecraft.util.PacketByteBuf;
|
||||
import net.minecraft.client.network.packet.*;
|
||||
import net.minecraft.text.StringTextComponent;
|
||||
import net.minecraft.network.chat.TextComponent;
|
||||
import org.apache.logging.log4j.LogManager;
|
||||
import org.apache.logging.log4j.Logger;
|
||||
|
||||
@@ -279,7 +279,7 @@ public class PacketListener extends ChannelInboundHandlerAdapter {
|
||||
if (packet instanceof CustomPayloadS2CPacket) {
|
||||
CustomPayloadS2CPacket p = (CustomPayloadS2CPacket) packet;
|
||||
if (Restrictions.PLUGIN_CHANNEL.equals(p.getChannel())) {
|
||||
packet = new DisconnectS2CPacket(new StringTextComponent("Please update to view this replay."));
|
||||
packet = new DisconnectS2CPacket(new TextComponent("Please update to view this replay."));
|
||||
save(packet);
|
||||
}
|
||||
}
|
||||
@@ -339,7 +339,7 @@ public class PacketListener extends ChannelInboundHandlerAdapter {
|
||||
}
|
||||
|
||||
//#if MC>=10800
|
||||
Integer packetId = connectionState.getPacketId(NetworkSide.CLIENT, packet);
|
||||
Integer packetId = connectionState.getPacketId(NetworkSide.CLIENTBOUND, packet);
|
||||
//#else
|
||||
//$$ Integer packetId = (Integer) connectionState.func_150755_b().inverse().get(packet.getClass());
|
||||
//#endif
|
||||
|
||||
@@ -4,7 +4,7 @@ import com.google.common.hash.Hashing;
|
||||
import com.google.common.io.Files;
|
||||
import com.replaymod.replaystudio.replay.ReplayFile;
|
||||
import net.minecraft.client.MinecraftClient;
|
||||
import net.minecraft.client.gui.menu.YesNoScreen;
|
||||
import net.minecraft.client.gui.screen.ConfirmScreen;
|
||||
import net.minecraft.client.options.ServerEntry;
|
||||
import net.minecraft.client.options.ServerList;
|
||||
import net.minecraft.client.resource.ClientResourcePackCreator;
|
||||
@@ -12,7 +12,7 @@ import org.apache.logging.log4j.LogManager;
|
||||
import org.apache.logging.log4j.Logger;
|
||||
|
||||
//#if MC>=11400
|
||||
import net.minecraft.text.TranslatableTextComponent;
|
||||
import net.minecraft.network.chat.TranslatableComponent;
|
||||
//#else
|
||||
//$$ import net.minecraft.client.gui.GuiYesNoCallback;
|
||||
//$$ import net.minecraft.client.resources.I18n;
|
||||
@@ -144,7 +144,7 @@ public class ResourcePackRecorder {
|
||||
} else {
|
||||
// Lambdas MUST NOT be used with methods that need re-obfuscation in FG prior to 2.2 (will result in AbstractMethodError)
|
||||
//#if MC>=11400
|
||||
mc.execute(() -> mc.openScreen(new YesNoScreen(result -> {
|
||||
mc.execute(() -> mc.openScreen(new ConfirmScreen(result -> {
|
||||
//#else
|
||||
//$$ //noinspection Convert2Lambda
|
||||
//$$ mc.addScheduledTask(() -> mc.displayGuiScreen(new GuiYesNo(new GuiYesNoCallback() {
|
||||
@@ -169,7 +169,7 @@ public class ResourcePackRecorder {
|
||||
mc.openScreen(null);
|
||||
}
|
||||
//#if MC>=11400
|
||||
, new TranslatableTextComponent("multiplayer.texturePrompt.line1"), new TranslatableTextComponent("multiplayer.texturePrompt.line2"))));
|
||||
, new TranslatableComponent("multiplayer.texturePrompt.line1"), new TranslatableComponent("multiplayer.texturePrompt.line2"))));
|
||||
//#else
|
||||
//$$ }, I18n.format("multiplayer.texturePrompt.line1"), I18n.format("multiplayer.texturePrompt.line2"), 0)));
|
||||
//#endif
|
||||
|
||||
Reference in New Issue
Block a user