Speed up world creation screen
This commit is contained in:
parent
f8f0e0ca45
commit
8dbcac7afc
|
|
@ -2,8 +2,16 @@ package org.embeddedt.modernfix.mixin.perf.skip_first_datapack_reload;
|
|||
|
||||
import net.minecraft.client.gui.screens.Screen;
|
||||
import net.minecraft.client.gui.screens.worldselection.CreateWorldScreen;
|
||||
import net.minecraft.client.gui.screens.worldselection.WorldCreationContext;
|
||||
import net.minecraft.network.chat.Component;
|
||||
import net.minecraft.server.packs.repository.PackRepository;
|
||||
import net.minecraft.world.level.WorldDataConfiguration;
|
||||
import org.spongepowered.asm.mixin.Mixin;
|
||||
import org.spongepowered.asm.mixin.injection.At;
|
||||
import org.spongepowered.asm.mixin.injection.ModifyArg;
|
||||
import org.spongepowered.asm.mixin.injection.Redirect;
|
||||
|
||||
import java.util.function.Consumer;
|
||||
|
||||
@Mixin(CreateWorldScreen.class)
|
||||
public abstract class CreateWorldScreenMixin extends Screen {
|
||||
|
|
@ -11,4 +19,18 @@ public abstract class CreateWorldScreenMixin extends Screen {
|
|||
super(arg);
|
||||
}
|
||||
// TODO: incorporate https://github.com/MinecraftForge/MinecraftForge/pull/9454
|
||||
@ModifyArg(method = "openFresh", at = @At(value = "INVOKE", target = "Lnet/minecraft/client/gui/screens/worldselection/CreateWorldScreen;createDefaultLoadConfig(Lnet/minecraft/server/packs/repository/PackRepository;Lnet/minecraft/world/level/WorldDataConfiguration;)Lnet/minecraft/server/WorldLoader$InitConfig;"), index = 1)
|
||||
private static WorldDataConfiguration useDefaultConfiguration(WorldDataConfiguration config) {
|
||||
return WorldDataConfiguration.DEFAULT;
|
||||
}
|
||||
|
||||
@Redirect(method = "openFresh", at = @At(value = "INVOKE", target = "Lnet/minecraft/client/gui/screens/worldselection/WorldCreationContext;withDataConfiguration(Lnet/minecraft/world/level/WorldDataConfiguration;)Lnet/minecraft/client/gui/screens/worldselection/WorldCreationContext;"))
|
||||
private static WorldCreationContext sameDataConfiguration(WorldCreationContext context, WorldDataConfiguration config) {
|
||||
return context;
|
||||
}
|
||||
|
||||
@Redirect(method = "openFresh", at = @At(value = "INVOKE", target = "Lnet/minecraft/client/gui/screens/worldselection/CreateWorldScreen;tryApplyNewDataPacks(Lnet/minecraft/server/packs/repository/PackRepository;ZLjava/util/function/Consumer;)V"))
|
||||
private static void skipReapply(CreateWorldScreen screen, PackRepository repository, boolean bl, Consumer<WorldDataConfiguration> consumer) {
|
||||
/* no-op */
|
||||
}
|
||||
}
|
||||
|
|
|
|||
Loading…
Reference in New Issue
Block a user