[devutil] add two features from mod-fungible
This commit is contained in:
parent
1d71c3870d
commit
a688ae3cb7
|
@ -2,7 +2,6 @@ package io.gitlab.jfronny.libjf.devutil.mixin;
|
|||
|
||||
import com.mojang.authlib.minecraft.UserApiService;
|
||||
import com.mojang.authlib.yggdrasil.YggdrasilAuthenticationService;
|
||||
import io.gitlab.jfronny.libjf.devutil.NoOpUserApi;
|
||||
import net.minecraft.client.MinecraftClient;
|
||||
import net.minecraft.client.RunArgs;
|
||||
import org.spongepowered.asm.mixin.Mixin;
|
||||
|
@ -16,6 +15,6 @@ public class MinecraftClientMixin {
|
|||
*/
|
||||
@Overwrite
|
||||
private UserApiService createUserApiService(YggdrasilAuthenticationService yggdrasilAuthenticationService, RunArgs runArgs) {
|
||||
return new NoOpUserApi();
|
||||
return UserApiService.OFFLINE;
|
||||
}
|
||||
}
|
||||
|
|
|
@ -0,0 +1,27 @@
|
|||
package io.gitlab.jfronny.libjf.devutil.mixin;
|
||||
|
||||
import net.minecraft.client.MinecraftClient;
|
||||
import net.minecraft.client.gui.screen.SplashOverlay;
|
||||
import net.minecraft.client.util.math.MatrixStack;
|
||||
import net.minecraft.resource.ResourceReload;
|
||||
import org.spongepowered.asm.mixin.*;
|
||||
import org.spongepowered.asm.mixin.injection.At;
|
||||
import org.spongepowered.asm.mixin.injection.Inject;
|
||||
import org.spongepowered.asm.mixin.injection.callback.CallbackInfo;
|
||||
|
||||
@Mixin(SplashOverlay.class)
|
||||
public class SplashOverlayMixin {
|
||||
@Shadow @Final private ResourceReload reload;
|
||||
|
||||
/**
|
||||
* Taken from mod-fungible
|
||||
* @author magistermaks
|
||||
*/
|
||||
@Inject(method="render", at=@At("HEAD"), cancellable=true)
|
||||
public void render(MatrixStack matrices, int mouseX, int mouseY, float delta, CallbackInfo info) {
|
||||
if (reload.isComplete()) {
|
||||
MinecraftClient.getInstance().setOverlay(null);
|
||||
info.cancel();
|
||||
}
|
||||
}
|
||||
}
|
|
@ -0,0 +1,21 @@
|
|||
package io.gitlab.jfronny.libjf.devutil.mixin;
|
||||
|
||||
import net.minecraft.client.gui.screen.TitleScreen;
|
||||
import org.spongepowered.asm.mixin.*;
|
||||
import org.spongepowered.asm.mixin.injection.At;
|
||||
import org.spongepowered.asm.mixin.injection.Inject;
|
||||
import org.spongepowered.asm.mixin.injection.callback.CallbackInfo;
|
||||
|
||||
@Mixin(TitleScreen.class)
|
||||
public class TitleScreenMixin {
|
||||
@Mutable @Shadow @Final private boolean doBackgroundFade;
|
||||
|
||||
/**
|
||||
* Taken from mod-fungible
|
||||
* @author magistermaks
|
||||
*/
|
||||
@Inject(method="<init>(Z)V", at=@At("TAIL"))
|
||||
private void init(boolean doBackgroundFade, CallbackInfo ci) {
|
||||
this.doBackgroundFade = false;
|
||||
}
|
||||
}
|
|
@ -5,7 +5,9 @@
|
|||
"compatibilityLevel": "JAVA_16",
|
||||
"client": [
|
||||
"MinecraftClientMixin",
|
||||
"ProfileKeysMixin"
|
||||
"ProfileKeysMixin",
|
||||
"SplashOverlayMixin",
|
||||
"TitleScreenMixin"
|
||||
],
|
||||
"injectors": {
|
||||
"defaultRequire": 1
|
||||
|
|
|
@ -1,11 +1,15 @@
|
|||
package io.gitlab.jfronny.libjf.devutil;
|
||||
|
||||
import net.fabricmc.api.ModInitializer;
|
||||
import net.fabricmc.loader.api.FabricLoader;
|
||||
import net.minecraft.SharedConstants;
|
||||
|
||||
public class DevUtilMain implements ModInitializer {
|
||||
@Override
|
||||
public void onInitialize() {
|
||||
if (!FabricLoader.getInstance().isDevelopmentEnvironment()) {
|
||||
throw new RuntimeException("Devutil MUST NOT BE LOADED IN A NON-DEV ENVIRONMENT! If you are a user seeing this message, please contact JFronny!");
|
||||
}
|
||||
SharedConstants.isDevelopment = true;
|
||||
}
|
||||
}
|
||||
|
|
|
@ -1,90 +0,0 @@
|
|||
package io.gitlab.jfronny.libjf.devutil;
|
||||
|
||||
import com.mojang.authlib.minecraft.TelemetryEvent;
|
||||
import com.mojang.authlib.minecraft.TelemetryPropertyContainer;
|
||||
import com.mojang.authlib.minecraft.TelemetrySession;
|
||||
import com.mojang.authlib.minecraft.UserApiService;
|
||||
import com.mojang.authlib.minecraft.report.AbuseReportLimits;
|
||||
import com.mojang.authlib.yggdrasil.request.AbuseReportRequest;
|
||||
import com.mojang.authlib.yggdrasil.response.*;
|
||||
import org.jetbrains.annotations.*;
|
||||
|
||||
import java.util.*;
|
||||
import java.util.concurrent.Executor;
|
||||
import java.util.function.Consumer;
|
||||
|
||||
public class NoOpUserApi implements UserApiService {
|
||||
@Override
|
||||
public UserProperties properties() {
|
||||
return new UserProperties(Set.of(UserFlag.CHAT_ALLOWED, UserFlag.SERVERS_ALLOWED), Map.of());
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean isBlockedPlayer(UUID playerID) {
|
||||
return false;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void refreshBlockList() {
|
||||
}
|
||||
|
||||
@Override
|
||||
public TelemetrySession newTelemetrySession(Executor executor) {
|
||||
return new TelemetrySession() {
|
||||
@Override
|
||||
public boolean isEnabled() {
|
||||
return false;
|
||||
}
|
||||
|
||||
@Override
|
||||
public TelemetryEvent createNewEvent(String type) {
|
||||
return new TelemetryEvent() {
|
||||
@Override
|
||||
public void send() {
|
||||
// ignored
|
||||
}
|
||||
|
||||
@Override
|
||||
public void addProperty(String id, String value) {
|
||||
// ignored
|
||||
}
|
||||
|
||||
@Override
|
||||
public void addProperty(String id, int value) {
|
||||
// ignored
|
||||
}
|
||||
|
||||
@Override
|
||||
public void addProperty(String id, boolean value) {
|
||||
// ignored
|
||||
}
|
||||
|
||||
@Override
|
||||
public void addNullProperty(String id) {
|
||||
// ignored
|
||||
}
|
||||
};
|
||||
}
|
||||
};
|
||||
}
|
||||
|
||||
@Nullable
|
||||
@Override
|
||||
public KeyPairResponse getKeyPair() {
|
||||
return null;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void reportAbuse(AbuseReportRequest request) {
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean canSendReports() {
|
||||
return false;
|
||||
}
|
||||
|
||||
@Override
|
||||
public AbuseReportLimits getAbuseReportLimits() {
|
||||
return new AbuseReportLimits(0, 0, 0, 0, 0);
|
||||
}
|
||||
}
|
|
@ -0,0 +1,19 @@
|
|||
package io.gitlab.jfronny.libjf.devutil.mixin;
|
||||
|
||||
import net.minecraft.server.MinecraftServer;
|
||||
import net.minecraft.server.WorldGenerationProgressListener;
|
||||
import org.spongepowered.asm.mixin.Mixin;
|
||||
import org.spongepowered.asm.mixin.Overwrite;
|
||||
|
||||
@Mixin(MinecraftServer.class)
|
||||
public class MinecraftServerMixin {
|
||||
/**
|
||||
* Taken from mod-fungible
|
||||
* @author magistermaks
|
||||
* @reason Skip generating spawn chunks
|
||||
*/
|
||||
@Overwrite
|
||||
private void prepareStartRegion(WorldGenerationProgressListener worldGenerationProgressListener) {
|
||||
// do nothing
|
||||
}
|
||||
}
|
|
@ -5,7 +5,8 @@
|
|||
"compatibilityLevel": "JAVA_16",
|
||||
"mixins": [
|
||||
"ArgumentTypesMixin",
|
||||
"CommandManagerMixin"
|
||||
"CommandManagerMixin",
|
||||
"MinecraftServerMixin"
|
||||
],
|
||||
"injectors": {
|
||||
"defaultRequire": 1
|
||||
|
|
Loading…
Reference in New Issue