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:
Jonas Herzig
2019-05-20 13:38:38 +02:00
parent 0e086d91a6
commit e5ee6a3d94
49 changed files with 198 additions and 208 deletions

View File

@@ -21,11 +21,11 @@ import de.johni0702.minecraft.gui.container.GuiScreen;
import lombok.Getter;
import net.minecraft.client.MinecraftClient;
import net.minecraft.util.Identifier;
import net.minecraft.text.TextComponent;
import net.minecraft.text.Style;
import net.minecraft.text.StringTextComponent;
import net.minecraft.text.TranslatableTextComponent;
import net.minecraft.text.TextFormat;
import net.minecraft.network.chat.Component;
import net.minecraft.network.chat.Style;
import net.minecraft.network.chat.TextComponent;
import net.minecraft.network.chat.TranslatableComponent;
import net.minecraft.ChatFormat;
import org.apache.commons.io.FileUtils;
//#if MC>=11400
@@ -34,7 +34,7 @@ import com.replaymod.core.versions.LangResourcePack;
import net.fabricmc.api.ClientModInitializer;
import net.fabricmc.loader.api.FabricLoader;
import net.minecraft.SharedConstants;
import net.minecraft.client.options.GameOption;
import net.minecraft.client.options.Option;
import net.minecraft.resource.DirectoryResourcePack;
import net.minecraft.resource.ResourcePackCreator;
import net.minecraft.resource.ResourcePackContainer;
@@ -236,9 +236,9 @@ public class ReplayMod implements
//#if MC>=11300
DirectoryResourcePack jGuiResourcePack = new DirectoryResourcePack(new File("../jGui/src/main/resources")) {
@Override
protected InputStream openFilename(String resourceName) throws IOException {
protected InputStream openFile(String resourceName) throws IOException {
try {
return super.openFilename(resourceName);
return super.openFile(resourceName);
//#else
//$$ List<IResourcePack> defaultResourcePacks = ((MinecraftAccessor) mc).getDefaultResourcePacks();
//$$ FolderResourcePack jGuiResourcePack = new FolderResourcePack(new File("../jGui/src/main/resources")) {
@@ -262,10 +262,10 @@ public class ReplayMod implements
}
};
//#if MC>=11300
mc.method_1520().addCreator(new ResourcePackCreator() {
mc.getResourcePackContainerManager().addCreator(new ResourcePackCreator() {
@Override
public <T extends ResourcePackContainer> void registerContainer(Map<String, T> map, ResourcePackContainer.Factory<T> factory) {
map.put("jgui", ResourcePackContainer.of("jgui", true, () -> jGuiResourcePack, factory, ResourcePackContainer.SortingDirection.BOTTOM));
map.put("jgui", ResourcePackContainer.of("jgui", true, () -> jGuiResourcePack, factory, ResourcePackContainer.InsertionPosition.BOTTOM));
}
});
//#else
@@ -335,7 +335,7 @@ public class ReplayMod implements
//#if MC>=10800
if (!MCVer.hasOptifine()) {
//#if MC>=11400
GameOption.RENDER_DISTANCE.setMax(64f);
Option.RENDER_DISTANCE.setMax(64f);
//#else
//$$ GameSettings.Options.RENDER_DISTANCE.setValueMax(64f);
//#endif
@@ -513,13 +513,13 @@ public class ReplayMod implements
if (getSettingsRegistry().get(Setting.NOTIFICATIONS)) {
// Some nostalgia: "§8[§6Replay Mod§8]§r Your message goes here"
//#if MC>=10904
Style coloredDarkGray = new Style().setColor(TextFormat.DARK_GRAY);
Style coloredGold = new Style().setColor(TextFormat.GOLD);
TextComponent text = new StringTextComponent("[").setStyle(coloredDarkGray)
.append(new TranslatableTextComponent("replaymod.title").setStyle(coloredGold))
.append(new StringTextComponent("] "))
.append(new TranslatableTextComponent(message, args).setStyle(new Style()
.setColor(warning ? TextFormat.RED : TextFormat.DARK_GREEN)));
Style coloredDarkGray = new Style().setColor(ChatFormat.DARK_GRAY);
Style coloredGold = new Style().setColor(ChatFormat.GOLD);
Component text = new TextComponent("[").setStyle(coloredDarkGray)
.append(new TranslatableComponent("replaymod.title").setStyle(coloredGold))
.append(new TextComponent("] "))
.append(new TranslatableComponent(message, args).setStyle(new Style()
.setColor(warning ? ChatFormat.RED : ChatFormat.DARK_GREEN)));
//#else
//$$ ChatStyle coloredDarkGray = new ChatStyle().setColor(EnumChatFormatting.DARK_GRAY);
//$$ ChatStyle coloredGold = new ChatStyle().setColor(EnumChatFormatting.GOLD);

View File

@@ -15,7 +15,7 @@ import de.johni0702.minecraft.gui.utils.lwjgl.ReadableDimension;
//#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;

View File

@@ -19,7 +19,7 @@ import java.util.List;
public class GuiReplaySettings extends AbstractGuiScreen<GuiReplaySettings> {
public GuiReplaySettings(final net.minecraft.client.gui.Screen parent, final SettingsRegistry settingsRegistry) {
public GuiReplaySettings(final net.minecraft.client.gui.screen.Screen parent, final SettingsRegistry settingsRegistry) {
final GuiButton doneButton = new GuiButton(this).setI18nLabel("gui.done").setSize(200, 20).onClick(new Runnable() {
@Override
public void run() {

View File

@@ -3,8 +3,8 @@ package com.replaymod.core.handler;
import com.replaymod.core.mixin.GuiMainMenuAccessor;
import de.johni0702.minecraft.gui.utils.EventRegistrations;
import net.minecraft.client.MinecraftClient;
import net.minecraft.client.gui.MainMenuScreen;
import net.minecraft.client.gui.Screen;
import net.minecraft.client.gui.screen.TitleScreen;
import net.minecraft.client.gui.screen.Screen;
import net.minecraft.realms.RealmsScreenProxy;
import org.lwjgl.opengl.GL11;
@@ -35,8 +35,8 @@ public class MainMenuHandler extends EventRegistrations {
//$$ GuiScreen guiScreen = getGui(event);
//$$ List<GuiButton> buttonList = getButtonList(event);
//#endif
if (guiScreen instanceof MainMenuScreen) {
MainMenuScreen gui = (MainMenuScreen) guiScreen;
if (guiScreen instanceof TitleScreen) {
TitleScreen gui = (TitleScreen) guiScreen;
int realmsOffset = 0;
//#if MC>=11400
for (AbstractButtonWidget button : buttonList) {

View File

@@ -1,11 +1,11 @@
package com.replaymod.core.mixin;
import net.minecraft.client.gui.MainMenuScreen;
import net.minecraft.client.gui.Screen;
import net.minecraft.client.gui.screen.TitleScreen;
import net.minecraft.client.gui.screen.Screen;
import org.spongepowered.asm.mixin.Mixin;
import org.spongepowered.asm.mixin.gen.Accessor;
@Mixin(MainMenuScreen.class)
@Mixin(TitleScreen.class)
public interface GuiMainMenuAccessor {
//#if MC>=10904
@Accessor("realmsNotificationGui")

View File

@@ -1,6 +1,6 @@
package com.replaymod.core.mixin;
import net.minecraft.client.gui.Screen;
import net.minecraft.client.gui.screen.Screen;
import org.spongepowered.asm.mixin.Mixin;
import org.spongepowered.asm.mixin.gen.Accessor;

View File

@@ -30,7 +30,7 @@ public class MixinGameRenderer {
method = "render",
at = @At(
value = "INVOKE",
target = "Lnet/minecraft/client/gui/Screen;render(IIF)V",
target = "Lnet/minecraft/client/gui/screen/Screen;render(IIF)V",
shift = At.Shift.AFTER
)
)

View File

@@ -11,7 +11,7 @@ import com.replaymod.core.events.PostRenderCallback;
import com.replaymod.core.events.PreRenderCallback;
import de.johni0702.minecraft.gui.versions.callbacks.OpenGuiScreenCallback;
import de.johni0702.minecraft.gui.versions.callbacks.PreTickCallback;
import net.minecraft.client.gui.Screen;
import net.minecraft.client.gui.screen.Screen;
import org.spongepowered.asm.mixin.injection.Inject;
import org.spongepowered.asm.mixin.injection.callback.CallbackInfo;
//#else
@@ -71,7 +71,7 @@ public abstract class MixinMinecraft
PreTickCallback.EVENT.invoker().preTick();
}
@Inject(method = "openScreen", at = @At(value = "FIELD", target = "Lnet/minecraft/client/MinecraftClient;currentScreen:Lnet/minecraft/client/gui/Screen;"))
@Inject(method = "openScreen", at = @At(value = "FIELD", target = "Lnet/minecraft/client/MinecraftClient;currentScreen:Lnet/minecraft/client/gui/screen/Screen;"))
private void openGuiScreen(Screen newGuiScreen, CallbackInfo ci) {
OpenGuiScreenCallback.EVENT.invoker().openGuiScreen(newGuiScreen);
}

View File

@@ -20,7 +20,7 @@ import java.util.List;
public class MixinModResourcePackUtil {
@Inject(method = "appendModResourcePacks", at = @At("RETURN"), remap = false)
private static void injectRMLangPack(List<ResourcePack> packList, ResourceType type, CallbackInfo ci) {
if (type != ResourceType.ASSETS) return;
if (type != ResourceType.CLIENT_RESOURCES) return;
for (int i = 0; i < packList.size(); i++) {
ResourcePack pack = packList.get(i);

View File

@@ -5,7 +5,7 @@ import com.replaymod.core.events.KeyBindingEventCallback;
import de.johni0702.minecraft.gui.versions.callbacks.MouseCallback;
import net.minecraft.client.Mouse;
import net.minecraft.client.gui.Element;
import net.minecraft.client.gui.Screen;
import net.minecraft.client.gui.screen.Screen;
import org.spongepowered.asm.mixin.Mixin;
import org.spongepowered.asm.mixin.Shadow;
import org.spongepowered.asm.mixin.injection.At;
@@ -47,7 +47,7 @@ public class MixinMouseListener {
@Redirect(
method = "onMouseScroll",
at = @At(value = "INVOKE", target = "Lnet/minecraft/client/gui/Screen;mouseScrolled(DDD)Z")
at = @At(value = "INVOKE", target = "Lnet/minecraft/client/gui/screen/Screen;mouseScrolled(DDD)Z")
)
private boolean mouseScroll(Screen element, double x, double y, double scroll) {
if (MouseCallback.EVENT.invoker().mouseScroll(x, y, scroll)) {

View File

@@ -3,7 +3,7 @@ package com.replaymod.core.mixin;
import de.johni0702.minecraft.gui.versions.callbacks.InitScreenCallback;
import net.minecraft.client.MinecraftClient;
import net.minecraft.client.gui.Screen;
import net.minecraft.client.gui.screen.Screen;
import net.minecraft.client.gui.widget.AbstractButtonWidget;
import org.spongepowered.asm.mixin.Final;
import org.spongepowered.asm.mixin.Mixin;

View File

@@ -21,7 +21,7 @@ import de.johni0702.minecraft.gui.utils.Colors;
import de.johni0702.minecraft.gui.utils.lwjgl.Dimension;
import de.johni0702.minecraft.gui.utils.lwjgl.ReadableDimension;
import de.johni0702.minecraft.gui.versions.MCVer;
import net.minecraft.client.gui.Screen;
import net.minecraft.client.gui.screen.Screen;
import net.minecraft.util.crash.CrashReport;
import net.minecraft.util.Identifier;
import org.apache.commons.io.Charsets;

View File

@@ -3,7 +3,7 @@ package com.replaymod.core.versions;
import com.google.gson.Gson;
import com.replaymod.core.ReplayMod;
import net.minecraft.resource.AbstractFilenameResourcePack;
import net.minecraft.resource.AbstractFileResourcePack;
import net.minecraft.resource.ResourceNotFoundException;
import net.minecraft.resource.ResourceType;
import net.minecraft.util.Identifier;
@@ -39,7 +39,7 @@ import java.util.stream.Collectors;
* Resource pack which on-the-fly converts pre-1.13 language files into 1.13 json format.
* Also remaps `replaymod.input.*` bindings to `key.replaymod.*` as convention on Fabric.
*/
public class LangResourcePack extends AbstractFilenameResourcePack {
public class LangResourcePack extends AbstractFileResourcePack {
private static final Gson GSON = new Gson();
private static final String NAME = "replaymod_lang";
private static final Pattern JSON_FILE_PATTERN = Pattern.compile("^assets/" + ReplayMod.MOD_ID + "/lang/([a-z][a-z])_([a-z][a-z]).json$");
@@ -98,7 +98,7 @@ public class LangResourcePack extends AbstractFilenameResourcePack {
}
@Override
protected InputStream openFilename(String path) throws IOException {
protected InputStream openFile(String path) throws IOException {
if ("pack.mcmeta".equals(path)) {
return new ByteArrayInputStream("{\"pack\": {\"description\": \"ReplayMod language files\", \"pack_format\": 4}}".getBytes(StandardCharsets.UTF_8));
}
@@ -130,7 +130,7 @@ public class LangResourcePack extends AbstractFilenameResourcePack {
}
@Override
protected boolean containsFilename(String path) {
protected boolean containsFile(String path) {
Path langPath = langPath(path);
return langPath != null && Files.exists(langPath);
}
@@ -138,7 +138,7 @@ public class LangResourcePack extends AbstractFilenameResourcePack {
@Override
public Collection<Identifier> findResources(ResourceType resourcePackType, String path, int maxDepth, Predicate<String> filter) {
if (resourcePackType == ResourceType.ASSETS && "lang".equals(path)) {
if (resourcePackType == ResourceType.CLIENT_RESOURCES && "lang".equals(path)) {
Path base = baseLangPath();
//#if MC<11400
//$$ if (base == null) return Collections.emptyList();
@@ -165,7 +165,7 @@ public class LangResourcePack extends AbstractFilenameResourcePack {
@Override
public Set<String> getNamespaces(ResourceType resourcePackType) {
if (resourcePackType == ResourceType.ASSETS) {
if (resourcePackType == ResourceType.CLIENT_RESOURCES) {
return Collections.singleton("replaymod");
} else {
return Collections.emptySet();

View File

@@ -4,7 +4,7 @@ import com.replaymod.core.mixin.GuiScreenAccessor;
import com.replaymod.core.mixin.MinecraftAccessor;
import net.minecraft.client.MinecraftClient;
import net.minecraft.client.gui.widget.ButtonWidget;
import net.minecraft.client.gui.Screen;
import net.minecraft.client.gui.screen.Screen;
import net.minecraft.client.world.ClientWorld;
import net.minecraft.client.render.Tessellator;
import net.minecraft.client.render.entity.EntityRenderDispatcher;

View File

@@ -12,7 +12,7 @@ import net.minecraft.util.crash.CrashReport;
//#if MC>=11400
import de.johni0702.minecraft.gui.versions.callbacks.InitScreenCallback;
import net.minecraft.client.gui.Screen;
import net.minecraft.client.gui.screen.Screen;
import net.minecraft.client.gui.widget.AbstractButtonWidget;
import java.util.List;
//#else

View File

@@ -102,7 +102,7 @@ public class PlayerOverviewGui extends GuiScreen implements Closeable {
renderer.bindTexture(texture);
renderer.drawTexturedRect(0, 0, 8, 8, 16, 16, 8, 8, 64, 64);
//#if MC>=10809
if (p.isSkinOverlayVisible(PlayerModelPart.HEAD)) {
if (p.isSkinOverlayVisible(PlayerModelPart.HAT)) {
//#else
//#if MC>=10800
//$$ if (p.func_175148_a(EnumPlayerModelParts.HAT)) {

View File

@@ -71,7 +71,7 @@ public abstract class UriScheme {
public static UriScheme create() {
switch (SystemUtil.getOperatingSystem()) {
case UNIX:
case LINUX:
return new LinuxUriScheme();
case WINDOWS:
return new WindowsUriScheme();

View File

@@ -9,7 +9,7 @@ import de.johni0702.minecraft.gui.utils.EventRegistrations;
//#if MC>=11400
import de.johni0702.minecraft.gui.versions.callbacks.OpenGuiScreenCallback;
import net.minecraft.client.gui.Screen;
import net.minecraft.client.gui.screen.Screen;
//#else
//$$ import net.minecraftforge.client.event.GuiScreenEvent;
//$$ import net.minecraftforge.eventbus.api.SubscribeEvent;

View File

@@ -39,7 +39,7 @@ import de.johni0702.minecraft.gui.utils.Consumer;
import de.johni0702.minecraft.gui.utils.lwjgl.Dimension;
import de.johni0702.minecraft.gui.utils.lwjgl.ReadableDimension;
import org.apache.commons.lang3.StringUtils;
import net.minecraft.text.TextFormat;
import net.minecraft.ChatFormat;
import java.awt.image.BufferedImage;
import java.io.IOException;
@@ -417,9 +417,9 @@ public class GuiReplayCenter extends GuiScreen {
this.downloaded = downloaded;
ReplayMetaData metaData = fileInfo.getMetadata();
name.setText(TextFormat.UNDERLINE + Utils.fileNameToReplayName(fileInfo.getName()));
name.setText(ChatFormat.UNDERLINE + Utils.fileNameToReplayName(fileInfo.getName()));
author.setI18nText("replaymod.gui.center.author",
"" + TextFormat.GRAY + TextFormat.ITALIC, fileInfo.getOwner());
"" + ChatFormat.GRAY + ChatFormat.ITALIC, fileInfo.getOwner());
if (StringUtils.isEmpty(metaData.getServerName())) {
server.setI18nText("replaymod.gui.iphidden").setColor(Colors.DARK_RED);
} else {
@@ -443,7 +443,7 @@ public class GuiReplayCenter extends GuiScreen {
favorites.setText("" + fileInfo.getFavorites());
likes.setText("" + fileInfo.getRatings().getPositive());
dislikes.setText("" + fileInfo.getRatings().getNegative());
category.setText(TextFormat.ITALIC + Optional.fromNullable(Category.fromId(fileInfo.getCategory()))
category.setText(ChatFormat.ITALIC + Optional.fromNullable(Category.fromId(fileInfo.getCategory()))
.or(Category.MISCELLANEOUS).toNiceString());
addElements(null, durationPanel, downloadsPanel);

View File

@@ -10,7 +10,7 @@ import de.johni0702.minecraft.gui.element.GuiButton;
import de.johni0702.minecraft.gui.element.GuiLabel;
import de.johni0702.minecraft.gui.element.advanced.GuiProgressBar;
import de.johni0702.minecraft.gui.layout.CustomLayout;
import net.minecraft.text.TextFormat;
import net.minecraft.ChatFormat;
import java.io.File;
import java.io.IOException;
@@ -34,7 +34,7 @@ public class GuiReplayDownloading extends AbstractGuiScreen<GuiReplayDownloading
this.apiClient = mod.getApiClient();
setTitle(new GuiLabel().setI18nText("replaymod.gui.viewer.download.title"));
final GuiLabel subTitle = new GuiLabel(this).setI18nText("replaymod.gui.viewer.download.message",
TextFormat.UNDERLINE + name + TextFormat.RESET);
ChatFormat.UNDERLINE + name + ChatFormat.RESET);
setLayout(new CustomLayout<GuiReplayDownloading>() {
@Override
protected void layout(GuiReplayDownloading container, int width, int height) {

View File

@@ -10,12 +10,12 @@ import com.replaymod.replay.handler.GuiHandler.InjectedButton;
import de.johni0702.minecraft.gui.container.AbstractGuiScreen;
import de.johni0702.minecraft.gui.container.GuiScreen;
import net.minecraft.client.gui.widget.ButtonWidget;
import net.minecraft.client.gui.MainMenuScreen;
import net.minecraft.client.gui.screen.TitleScreen;
import net.minecraft.client.resource.language.I18n;
//#if MC>=11400
import de.johni0702.minecraft.gui.versions.callbacks.InitScreenCallback;
import net.minecraft.client.gui.Screen;
import net.minecraft.client.gui.screen.Screen;
import net.minecraft.client.gui.widget.AbstractButtonWidget;
import java.util.List;
//#else
@@ -44,7 +44,7 @@ public class GuiHandler extends EventRegistrations {
//$$ public void injectIntoMainMenu(GuiScreenEvent.InitGuiEvent event) {
//$$ final net.minecraft.client.gui.GuiScreen guiScreen = getGui(event);
//#endif
if (!(guiScreen instanceof MainMenuScreen)) {
if (!(guiScreen instanceof TitleScreen)) {
return;
}
@@ -89,7 +89,7 @@ public class GuiHandler extends EventRegistrations {
//#if MC>=11300
private void onButton(InjectedButton button) {
net.minecraft.client.gui.Screen guiScreen = button.guiScreen;
net.minecraft.client.gui.screen.Screen guiScreen = button.guiScreen;
//#else
//$$ @SubscribeEvent
//$$ public void onButton(GuiScreenEvent.ActionPerformedEvent.Pre event) {
@@ -98,7 +98,7 @@ public class GuiHandler extends EventRegistrations {
//#endif
if(!button.active) return;
if (guiScreen instanceof MainMenuScreen) {
if (guiScreen instanceof TitleScreen) {
if (button.id == BUTTON_REPLAY_CENTER) {
GuiReplayCenter replayCenter = new GuiReplayCenter(mod);
if (mod.isLoggedIn()) {

View File

@@ -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) {

View File

@@ -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;

View File

@@ -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

View File

@@ -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.

View File

@@ -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

View File

@@ -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

View File

@@ -212,7 +212,7 @@ public class RenderSettings {
}
}
break;
case UNIX: // Linux users are entrusted to have their PATH configured correctly (most package manager do this)
case LINUX: // Linux users are entrusted to have their PATH configured correctly (most package manager do this)
case SOLARIS: // Never heard of anyone running this mod on Solaris having any problems
case UNKNOWN: // Unknown OS, just try to use "ffmpeg"
}

View File

@@ -172,7 +172,7 @@ public class BlendMeshBuilder
posOffset = offset;
break;
case COLOR:
if (element.getFormat() != VertexFormatElement.Format.UNSIGNED_BYTE) {
if (element.getFormat() != VertexFormatElement.Format.UBYTE) {
throw new UnsupportedOperationException("Only unsigned byte is supported for color elements!");
}
colorOffset = offset;

View File

@@ -71,7 +71,7 @@ public class ChunkExporter implements Exporter {
List<ContainerLocalRenderInformationAccessor> renderInfos = ((WorldRendererAccessor) mc.worldRenderer).getRenderInfos();
for (ContainerLocalRenderInformationAccessor renderInfo : renderInfos) {
ChunkRenderer renderChunk = renderInfo.getRenderChunk();
ChunkRenderData compiledChunk = renderChunk.getChunkRenderData();
ChunkRenderData compiledChunk = renderChunk.getData();
if (!compiledChunk.isEmpty()) {
addChunkUpdate(renderChunk, null);
}

View File

@@ -119,7 +119,7 @@ public class ItemExporter implements Exporter {
for (BakedQuad quad : quads) {
int color = stack != null && quad.hasColor()
//#if MC>=10904
? ((ItemRendererAccessor) renderItem).getItemColors().getRenderColor(stack, quad.getColorIndex()) | 0xff000000
? ((ItemRendererAccessor) renderItem).getItemColors().getColorMultiplier(stack, quad.getColorIndex()) | 0xff000000
//#else
//$$ ? stack.getItem().getColorFromItemStack(stack, quad.getTintIndex()) | 0xff000000
//#endif

View File

@@ -2,13 +2,13 @@
package com.replaymod.render.blend.mixin;
import net.minecraft.client.render.item.ItemRenderer;
import net.minecraft.client.render.item.ItemColorMap;
import net.minecraft.client.color.item.ItemColors;
import org.spongepowered.asm.mixin.Mixin;
import org.spongepowered.asm.mixin.gen.Accessor;
@Mixin(ItemRenderer.class)
public interface ItemRendererAccessor {
@Accessor("colorMap")
ItemColorMap getItemColors();
ItemColors getItemColors();
}
//#endif

View File

@@ -29,7 +29,7 @@ import de.johni0702.minecraft.gui.popup.GuiYesNoPopup;
import de.johni0702.minecraft.gui.utils.Colors;
import de.johni0702.minecraft.gui.utils.lwjgl.Dimension;
import de.johni0702.minecraft.gui.utils.lwjgl.ReadableDimension;
import net.minecraft.client.gui.menu.NoticeScreen;
import net.minecraft.client.gui.screen.NoticeScreen;
import net.minecraft.util.crash.CrashReport;
import javax.annotation.Nullable;
@@ -38,7 +38,7 @@ import java.util.List;
import static com.replaymod.render.ReplayModRender.LOGGER;
//#if MC>=11400
import net.minecraft.text.TranslatableTextComponent;
import net.minecraft.network.chat.TranslatableComponent;
//#endif
public class GuiRenderQueue extends AbstractGuiPopup<GuiRenderQueue> {
@@ -217,8 +217,8 @@ public class GuiRenderQueue extends AbstractGuiPopup<GuiRenderQueue> {
NoticeScreen errorScreen = new NoticeScreen(
//#if MC>=11400
() -> {},
new TranslatableTextComponent("replaymod.gui.rendering.error.title"),
new TranslatableTextComponent("replaymod.gui.rendering.error.message")
new TranslatableComponent("replaymod.gui.rendering.error.title"),
new TranslatableComponent("replaymod.gui.rendering.error.message")
//#else
//$$ I18n.format("replaymod.gui.rendering.error.title"),
//$$ I18n.format("replaymod.gui.rendering.error.message")

View File

@@ -32,7 +32,7 @@ import de.johni0702.minecraft.gui.utils.lwjgl.Color;
import de.johni0702.minecraft.gui.utils.lwjgl.Dimension;
import de.johni0702.minecraft.gui.utils.lwjgl.ReadableColor;
import de.johni0702.minecraft.gui.utils.lwjgl.ReadableDimension;
import net.minecraft.client.gui.menu.NoticeScreen;
import net.minecraft.client.gui.screen.NoticeScreen;
import net.minecraft.client.resource.language.I18n;
import net.minecraft.util.crash.CrashReport;
@@ -52,7 +52,7 @@ import static com.replaymod.core.utils.Utils.error;
import static com.replaymod.render.ReplayModRender.LOGGER;
//#if MC>=11400
import net.minecraft.text.TranslatableTextComponent;
import net.minecraft.network.chat.TranslatableComponent;
//#endif
public class GuiRenderSettings extends GuiScreen implements Closeable {
@@ -240,8 +240,8 @@ public class GuiRenderSettings extends GuiScreen implements Closeable {
NoticeScreen errorScreen = new NoticeScreen(
//#if MC>=11400
() -> {},
new TranslatableTextComponent("replaymod.gui.rendering.error.title"),
new TranslatableTextComponent("replaymod.gui.rendering.error.message")
new TranslatableComponent("replaymod.gui.rendering.error.title"),
new TranslatableComponent("replaymod.gui.rendering.error.message")
//#else
//$$ I18n.format("replaymod.gui.rendering.error.title"),
//$$ I18n.format("replaymod.gui.rendering.error.message")
@@ -538,7 +538,7 @@ public class GuiRenderSettings extends GuiScreen implements Closeable {
antiAliasingDropdown.getSelectedValue(),
exportCommand.getText(),
exportArguments.getText(),
net.minecraft.client.gui.Screen.hasControlDown()
net.minecraft.client.gui.screen.Screen.hasControlDown()
);
}

View File

@@ -93,7 +93,7 @@ public class ChunkLoadingRenderGlobal {
// Temporary workaround for dead lock, will be replaced by a new (ShaderMod compatible) mechanism later
//noinspection StatementWithEmptyBody
while (renderDispatcher.method_3631(0)) {}
while (renderDispatcher.runTasksSync(0)) {}
workerJailingQueue.jail(workerThreads);
renderDispatcherAcc.setQueueChunkUpdates(queueChunkUpdates);
@@ -111,7 +111,7 @@ public class ChunkLoadingRenderGlobal {
}
public void updateChunks() {
while (renderDispatcher.method_3631(0)) {
while (renderDispatcher.runTasksSync(0)) {
((WorldRendererAccessor) hooked).setDisplayListEntitiesDirty(true);
}
@@ -131,10 +131,10 @@ public class ChunkLoadingRenderGlobal {
while (iterator.hasNext()) {
ChunkRenderer renderchunk = iterator.next();
renderDispatcher.method_3627(renderchunk);
renderDispatcher.rebuildSync(renderchunk);
//#if MC>=10904
renderchunk.method_3662();
renderchunk.unscheduleRebuild();
//#else
//$$ renderchunk.setNeedsUpdate(false);
//#endif

View File

@@ -118,7 +118,7 @@ public abstract class MixinRenderGlobal {
// Prior to 1.9.4, MC always uses the same ChunkRenderDispatcher instance
//#if MC>=10904
@Inject(method = "setWorld", at = @At(value = "INVOKE", target = "Lnet/minecraft/client/render/chunk/ChunkBatcher;method_3619()V"))
@Inject(method = "setWorld", at = @At(value = "INVOKE", target = "Lnet/minecraft/client/render/chunk/ChunkBatcher;stop()V"))
private void stopWorkerThreadsAndChunkLoadingRenderGlobal(CallbackInfo ci) {
if (replayModRender_hook != null) {
replayModRender_hook.updateRenderDispatcher(null);

View File

@@ -21,8 +21,8 @@ import io.netty.channel.ChannelHandlerContext;
import io.netty.channel.ChannelPromise;
import net.minecraft.client.MinecraftClient;
import net.minecraft.client.network.OtherClientPlayerEntity;
import net.minecraft.client.gui.menu.DownloadingTerrainScreen;
import net.minecraft.client.gui.menu.NoticeScreen;
import net.minecraft.client.gui.screen.DownloadingTerrainScreen;
import net.minecraft.client.gui.screen.NoticeScreen;
import net.minecraft.client.world.ClientWorld;
import net.minecraft.entity.player.PlayerEntity;
import net.minecraft.network.NetworkState;
@@ -31,7 +31,7 @@ import net.minecraft.network.Packet;
import net.minecraft.util.PacketByteBuf;
import net.minecraft.client.network.packet.LoginSuccessS2CPacket;
import net.minecraft.client.network.packet.*;
import net.minecraft.text.TextComponent;
import net.minecraft.network.chat.Component;
import net.minecraft.world.World;
import net.minecraft.world.chunk.ChunkProvider;
import org.apache.commons.io.FileUtils;
@@ -40,7 +40,7 @@ import org.apache.commons.io.IOUtils;
//#if MC>=11400
import de.johni0702.minecraft.gui.versions.callbacks.PreTickCallback;
import net.minecraft.entity.EntityType;
import net.minecraft.text.TranslatableTextComponent;
import net.minecraft.network.chat.TranslatableComponent;
//#else
//$$ import net.minecraft.client.resources.I18n;
//$$ import net.minecraft.entity.Entity;
@@ -343,7 +343,7 @@ public class FullReplaySender extends ChannelDuplexHandler implements ReplaySend
for (PlayerEntity playerEntity : playerEntities(mc.world)) {
if (!playerEntity.field_6016 && playerEntity instanceof OtherClientPlayerEntity) {
//#if MC>=11300
playerEntity.updateState();
playerEntity.tickMovement();
//#else
//$$ playerEntity.onLivingUpdate();
//#endif
@@ -436,7 +436,7 @@ public class FullReplaySender extends ChannelDuplexHandler implements ReplaySend
NetworkState state = loginPhase ? NetworkState.LOGIN : NetworkState.PLAY;
//#if MC>=10800
Packet p = state.getPacketHandler(NetworkSide.CLIENT, i);
Packet p = state.getPacketHandler(NetworkSide.CLIENTBOUND, i);
//#else
//$$ Packet p = Packet.generatePacket(state.func_150755_b(), i);
//#endif
@@ -475,8 +475,8 @@ public class FullReplaySender extends ChannelDuplexHandler implements ReplaySend
mc.openScreen(new NoticeScreen(
//#if MC>=11400
() -> {},
new TranslatableTextComponent("replaymod.error.unknownrestriction1"),
new TranslatableTextComponent("replaymod.error.unknownrestriction2", unknown)
new TranslatableComponent("replaymod.error.unknownrestriction1"),
new TranslatableComponent("replaymod.error.unknownrestriction2", unknown)
//#else
//$$ I18n.format("replaymod.error.unknownrestriction1"),
//$$ I18n.format("replaymod.error.unknownrestriction2", unknown)
@@ -487,7 +487,7 @@ public class FullReplaySender extends ChannelDuplexHandler implements ReplaySend
}
}
if (p instanceof DisconnectS2CPacket) {
TextComponent reason = ((DisconnectS2CPacket) p).getReason();
Component reason = ((DisconnectS2CPacket) p).getReason();
String message = reason.getString();
if ("Please update to view this replay.".equals(message)) {
// This version of the mod supports replay restrictions so we are allowed

View File

@@ -676,7 +676,7 @@ public class QuickReplaySender extends ChannelHandlerAdapter implements ReplaySe
byteBuf.skipBytes(8); // Skip packet length & timestamp
int packetId = packetBuf.readVarInt();
Packet<?> mcPacket = state.getPacketHandler(NetworkSide.CLIENT, packetId);
Packet<?> mcPacket = state.getPacketHandler(NetworkSide.CLIENTBOUND, packetId);
mcPacket.read(packetBuf);
return mcPacket;
} catch (Exception e) {
@@ -710,7 +710,7 @@ public class QuickReplaySender extends ChannelHandlerAdapter implements ReplaySe
}
int packetId = packetBuf.readVarInt();
Packet<?> mcPacket = NetworkState.PLAY.getPacketHandler(NetworkSide.CLIENT, packetId);
Packet<?> mcPacket = NetworkState.PLAY.getPacketHandler(NetworkSide.CLIENTBOUND, packetId);
mcPacket.read(packetBuf);
return mcPacket;
} catch (Exception e) {

View File

@@ -25,7 +25,7 @@ import de.johni0702.minecraft.gui.popup.AbstractGuiPopup;
import io.netty.channel.ChannelHandlerContext;
import io.netty.channel.embedded.EmbeddedChannel;
import net.minecraft.client.MinecraftClient;
import net.minecraft.client.gui.Screen;
import net.minecraft.client.gui.screen.Screen;
import net.minecraft.client.network.ClientLoginNetworkHandler;
import net.minecraft.client.resource.language.I18n;
import net.minecraft.util.crash.CrashReport;
@@ -229,7 +229,7 @@ public class ReplayHandler {
//#endif
//#if MC>=10800
ClientConnection networkManager = new ClientConnection(NetworkSide.CLIENT) {
ClientConnection networkManager = new ClientConnection(NetworkSide.CLIENTBOUND) {
@Override
public void exceptionCaught(ChannelHandlerContext ctx, Throwable t) {
t.printStackTrace();

View File

@@ -284,12 +284,12 @@ public class CameraEntity
}
@Override
public void method_5823() {
public void afterSpawn() {
// Make sure our world is up-to-date in case of world changes
if (this.client.world != null) {
this.world = this.client.world;
}
super.method_5823();
super.afterSpawn();
}
@Override
@@ -428,19 +428,19 @@ public class CameraEntity
//#if MC>=10904
@Override
public float method_7279() {
public float getAttackCooldownProgressPerTick() {
Entity view = this.client.getCameraEntity();
if (view != this && view instanceof PlayerEntity) {
return ((PlayerEntity) view).method_7279();
return ((PlayerEntity) view).getAttackCooldownProgressPerTick();
}
return 1;
}
@Override
public float method_7261(float adjustTicks) {
public float getAttackCooldownProgress(float adjustTicks) {
Entity view = this.client.getCameraEntity();
if (view != this && view instanceof PlayerEntity) {
return ((PlayerEntity) view).method_7261(adjustTicks);
return ((PlayerEntity) view).getAttackCooldownProgress(adjustTicks);
}
// Default to 1 as to not render the cooldown indicator (renders for < 1)
return 1;
@@ -707,8 +707,8 @@ public class CameraEntity
acc.setPrevEquippedProgressOffHand(1);
acc.setEquippedProgressMainHand(1);
acc.setEquippedProgressOffHand(1);
acc.setItemStackMainHand(player.getEquippedStack(EquipmentSlot.HAND_MAIN));
acc.setItemStackOffHand(player.getEquippedStack(EquipmentSlot.HAND_OFF));
acc.setItemStackMainHand(player.getEquippedStack(EquipmentSlot.MAINHAND));
acc.setItemStackOffHand(player.getEquippedStack(EquipmentSlot.OFFHAND));
//#else
//$$ acc.setPrevEquippedProgress(1);
//$$ acc.setEquippedProgress(1);

View File

@@ -5,7 +5,7 @@ import com.google.common.base.Supplier;
import com.google.common.util.concurrent.FutureCallback;
import com.google.common.util.concurrent.Futures;
import com.google.common.util.concurrent.SettableFuture;
import net.minecraft.text.TextFormat;
import net.minecraft.ChatFormat;
import com.replaymod.core.ReplayMod;
import com.replaymod.core.SettingsRegistry;
import com.replaymod.core.gui.GuiReplaySettings;
@@ -36,7 +36,7 @@ import de.johni0702.minecraft.gui.utils.lwjgl.Dimension;
import de.johni0702.minecraft.gui.utils.lwjgl.ReadableDimension;
import de.johni0702.minecraft.gui.utils.lwjgl.ReadablePoint;
import lombok.Getter;
import net.minecraft.client.gui.menu.NoticeScreen;
import net.minecraft.client.gui.screen.NoticeScreen;
import net.minecraft.util.crash.CrashReport;
import net.minecraft.util.crash.CrashException;
import org.apache.commons.io.FileUtils;
@@ -57,7 +57,7 @@ import java.util.List;
import static com.replaymod.replay.ReplayModReplay.LOGGER;
//#if MC>=11400
import net.minecraft.text.TranslatableTextComponent;
import net.minecraft.network.chat.TranslatableComponent;
//#else
//$$ import net.minecraft.client.resources.I18n;
//#endif
@@ -144,8 +144,8 @@ public class GuiReplayViewer extends GuiScreen {
getMinecraft().openScreen(new NoticeScreen(
//#if MC>=11400
() -> {},
new TranslatableTextComponent("replaymod.gui.viewer.delete.failed1"),
new TranslatableTextComponent("replaymod.gui.viewer.delete.failed2")
new TranslatableComponent("replaymod.gui.viewer.delete.failed1"),
new TranslatableComponent("replaymod.gui.viewer.delete.failed2")
//#else
//$$ I18n.format("replaymod.gui.viewer.delete.failed1"),
//$$ I18n.format("replaymod.gui.viewer.delete.failed2")
@@ -170,7 +170,7 @@ public class GuiReplayViewer extends GuiScreen {
String name = list.getSelected().name.getText();
GuiYesNoPopup popup = GuiYesNoPopup.open(GuiReplayViewer.this,
new GuiLabel().setI18nText("replaymod.gui.viewer.delete.linea").setColor(Colors.BLACK),
new GuiLabel().setI18nText("replaymod.gui.viewer.delete.lineb", name + TextFormat.RESET).setColor(Colors.BLACK)
new GuiLabel().setI18nText("replaymod.gui.viewer.delete.lineb", name + ChatFormat.RESET).setColor(Colors.BLACK)
).setYesI18nLabel("replaymod.gui.delete").setNoI18nLabel("replaymod.gui.cancel");
Futures.addCallback(popup.getFuture(), new FutureCallback<Boolean>() {
@Override
@@ -404,7 +404,7 @@ public class GuiReplayViewer extends GuiScreen {
public GuiReplayEntry(File file, ReplayMetaData metaData, BufferedImage thumbImage) {
this.file = file;
name.setText(TextFormat.UNDERLINE + Utils.fileNameToReplayName(file.getName()));
name.setText(ChatFormat.UNDERLINE + Utils.fileNameToReplayName(file.getName()));
if (StringUtils.isEmpty(metaData.getServerName())
|| !ReplayMod.instance.getSettingsRegistry().get(Setting.SHOW_SERVER_IPS)) {
server.setI18nText("replaymod.gui.iphidden").setColor(Colors.DARK_RED);

View File

@@ -4,10 +4,10 @@ import de.johni0702.minecraft.gui.utils.EventRegistrations;
import com.replaymod.replay.ReplayModReplay;
import com.replaymod.replay.gui.screen.GuiReplayViewer;
import net.minecraft.client.gui.widget.ButtonWidget;
import net.minecraft.client.gui.menu.PauseMenuScreen;
import net.minecraft.client.gui.MainMenuScreen;
import net.minecraft.client.gui.menu.MultiplayerScreen;
import net.minecraft.client.gui.Screen;
import net.minecraft.client.gui.screen.PauseScreen;
import net.minecraft.client.gui.screen.TitleScreen;
import net.minecraft.client.gui.screen.multiplayer.MultiplayerScreen;
import net.minecraft.client.gui.screen.Screen;
import net.minecraft.client.resource.language.I18n;
//#if MC>=11400
@@ -45,7 +45,7 @@ public class GuiHandler extends EventRegistrations {
//$$ GuiScreen guiScreen = getGui(event);
//$$ List<GuiButton> buttonList = getButtonList(event);
//#endif
if (!(guiScreen instanceof PauseMenuScreen)) {
if (!(guiScreen instanceof PauseScreen)) {
return;
}
@@ -171,7 +171,7 @@ public class GuiHandler extends EventRegistrations {
//$$ public void ensureReplayStopped(GuiScreenEvent.InitGuiEvent event) {
//$$ GuiScreen guiScreen = getGui(event);
//#endif
if (!(guiScreen instanceof MainMenuScreen || guiScreen instanceof MultiplayerScreen)) {
if (!(guiScreen instanceof TitleScreen || guiScreen instanceof MultiplayerScreen)) {
return;
}
@@ -198,7 +198,7 @@ public class GuiHandler extends EventRegistrations {
//$$ public void injectIntoMainMenu(GuiScreenEvent.InitGuiEvent event) {
//$$ GuiScreen guiScreen = getGui(event);
//#endif
if (!(guiScreen instanceof MainMenuScreen)) {
if (!(guiScreen instanceof TitleScreen)) {
return;
}
ButtonWidget button = new InjectedButton(
@@ -225,13 +225,13 @@ public class GuiHandler extends EventRegistrations {
//#endif
if(!button.active) return;
if (guiScreen instanceof MainMenuScreen) {
if (guiScreen instanceof TitleScreen) {
if (button.id == BUTTON_REPLAY_VIEWER) {
new GuiReplayViewer(mod).display();
}
}
if (guiScreen instanceof PauseMenuScreen && mod.getReplayHandler() != null) {
if (guiScreen instanceof PauseScreen && mod.getReplayHandler() != null) {
if (button.id == BUTTON_EXIT_REPLAY) {
button.active = false;
try {

View File

@@ -8,9 +8,9 @@ import org.spongepowered.asm.mixin.gen.Accessor;
@Mixin(PlayerEntity.class)
public interface EntityPlayerAccessor extends EntityLivingBaseAccessor {
//#if MC>=10904
@Accessor("field_7525")
@Accessor("selectedItem")
ItemStack getItemStackMainHand();
@Accessor("field_7525")
@Accessor("selectedItem")
void setItemStackMainHand(ItemStack value);
//#else
//$$ @Accessor

View File

@@ -15,7 +15,7 @@ public abstract class MixinViewFrustum {
at = @At(
value = "INVOKE",
//#if MC>=10904
target = "Lnet/minecraft/client/render/chunk/ChunkRenderer;method_3653(III)V"
target = "Lnet/minecraft/client/render/chunk/ChunkRenderer;setOrigin(III)V"
//#else
//$$ target = "Lnet/minecraft/client/renderer/chunk/RenderChunk;setPosition(Lnet/minecraft/util/BlockPos;)V"
//#endif
@@ -34,8 +34,8 @@ public abstract class MixinViewFrustum {
//#endif
if (!pos.equals(renderChunk.getOrigin())) {
//#if MC>=10904
renderChunk.method_3653(x, y, z);
renderChunk.scheduleRender(false);
renderChunk.setOrigin(x, y, z);
renderChunk.scheduleRebuild(false);
//#else
//$$ renderChunk.setPosition(pos);
//$$ renderChunk.setNeedsUpdate(true);