Added a bunch of functions
This commit is contained in:
parent
6f24616c81
commit
eddf87df4d
@ -1,5 +1,5 @@
|
|||||||
plugins {
|
plugins {
|
||||||
id 'fabric-loom' version '1.1-SNAPSHOT'
|
id 'fabric-loom' version '1.3-SNAPSHOT'
|
||||||
id 'maven-publish'
|
id 'maven-publish'
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -42,6 +42,7 @@ dependencies {
|
|||||||
// These are included in the Fabric API production distribution and allow you to update your mod to the latest modules at a later more convenient time.
|
// These are included in the Fabric API production distribution and allow you to update your mod to the latest modules at a later more convenient time.
|
||||||
|
|
||||||
// modImplementation "net.fabricmc.fabric-api:fabric-api-deprecated:${project.fabric_version}"
|
// modImplementation "net.fabricmc.fabric-api:fabric-api-deprecated:${project.fabric_version}"
|
||||||
|
modImplementation "com.sparkjava:spark-core:2.9.4"
|
||||||
}
|
}
|
||||||
|
|
||||||
processResources {
|
processResources {
|
||||||
|
@ -4,9 +4,9 @@ org.gradle.parallel=true
|
|||||||
|
|
||||||
# Fabric Properties
|
# Fabric Properties
|
||||||
# check these on https://fabricmc.net/develop
|
# check these on https://fabricmc.net/develop
|
||||||
minecraft_version=1.19.4
|
minecraft_version=1.20.1
|
||||||
yarn_mappings=1.19.4+build.2
|
yarn_mappings=1.20.1+build.10
|
||||||
loader_version=0.14.19
|
loader_version=0.14.22
|
||||||
|
|
||||||
# Mod Properties
|
# Mod Properties
|
||||||
mod_version=1.0.0
|
mod_version=1.0.0
|
||||||
@ -14,4 +14,4 @@ maven_group=com.xeovalyte.polarcraft
|
|||||||
archives_base_name=polarcraft-mod
|
archives_base_name=polarcraft-mod
|
||||||
|
|
||||||
# Dependencies
|
# Dependencies
|
||||||
fabric_version=0.79.0+1.19.4
|
fabric_version=0.86.1+1.20.1
|
94
mod/remappedSrc/com/xeovalyte/polarcraft/PolarcraftMod.java
Normal file
94
mod/remappedSrc/com/xeovalyte/polarcraft/PolarcraftMod.java
Normal file
@ -0,0 +1,94 @@
|
|||||||
|
package com.xeovalyte.polarcraft;
|
||||||
|
|
||||||
|
import com.xeovalyte.polarcraft.util.messageFunctions;
|
||||||
|
import com.xeovalyte.polarcraft.util.verifyFunction;
|
||||||
|
|
||||||
|
import net.fabricmc.api.ModInitializer;
|
||||||
|
import org.apache.commons.io.FileUtils;
|
||||||
|
import org.slf4j.Logger;
|
||||||
|
import org.slf4j.LoggerFactory;
|
||||||
|
|
||||||
|
import net.fabricmc.fabric.api.networking.v1.ServerPlayConnectionEvents;
|
||||||
|
import net.fabricmc.loader.api.FabricLoader;
|
||||||
|
import net.minecraft.server.network.ServerPlayerEntity;
|
||||||
|
import java.io.IOException;
|
||||||
|
import java.nio.charset.StandardCharsets;
|
||||||
|
import java.io.File;
|
||||||
|
|
||||||
|
import com.google.gson.Gson;
|
||||||
|
import com.google.gson.GsonBuilder;
|
||||||
|
|
||||||
|
import net.fabricmc.fabric.api.message.v1.ServerMessageEvents;
|
||||||
|
|
||||||
|
public class PolarcraftMod implements ModInitializer {
|
||||||
|
// This logger is used to write text to the console and the log file.
|
||||||
|
// It is considered best practice to use your mod id as the logger's name.
|
||||||
|
// That way, it's clear which mod wrote info, warnings, and errors.
|
||||||
|
public static final Logger LOGGER = LoggerFactory.getLogger("polarcraft-mod");
|
||||||
|
|
||||||
|
private static final Gson GSON = new GsonBuilder().setPrettyPrinting().create();
|
||||||
|
private static final File CONFIG_FILE = new File(FabricLoader.getInstance().getConfigDir().toFile(), "polarcraft.json");
|
||||||
|
|
||||||
|
public static String configChatMessageUrl = "https://example.com/api/minecraft/message/chattodiscord";
|
||||||
|
public static String configGameMessageUrl = "https://example.com/api/minecraft/message/gametodiscord";
|
||||||
|
public static String configVerifyUrl = "https://example.com/verifyminecraft";
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void onInitialize() {
|
||||||
|
// This code runs as soon as Minecraft is in a mod-load-ready state.
|
||||||
|
// However, some things (like resources) may still be uninitialized.
|
||||||
|
// Proceed with mild caution.
|
||||||
|
loadConfig();
|
||||||
|
|
||||||
|
ServerPlayConnectionEvents.JOIN.register((handler, sender, server) -> {
|
||||||
|
ServerPlayerEntity player = (ServerPlayerEntity) handler.player;
|
||||||
|
|
||||||
|
verifyFunction.onPlayerJoin(player, server);
|
||||||
|
});
|
||||||
|
|
||||||
|
ServerPlayConnectionEvents.DISCONNECT.register((handler, server) -> {
|
||||||
|
ServerPlayerEntity player = (ServerPlayerEntity) handler.player;
|
||||||
|
messageFunctions.sendGameMessage(player.getUuid(), player.getDisplayName().getString() + " left the game");
|
||||||
|
});
|
||||||
|
|
||||||
|
ServerMessageEvents.CHAT_MESSAGE.register((message, sender, params) -> {
|
||||||
|
messageFunctions.sendChatMessage(message, sender);
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
private void loadConfig() {
|
||||||
|
if (!CONFIG_FILE.exists()) {
|
||||||
|
saveConfig();
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
try {
|
||||||
|
MyModConfig config = GSON.fromJson(FileUtils.readFileToString(CONFIG_FILE, StandardCharsets.UTF_8), MyModConfig.class);
|
||||||
|
configChatMessageUrl = config.chatMessageUrl;
|
||||||
|
configGameMessageUrl = config.gameMessageUrl;
|
||||||
|
configVerifyUrl = config.verifyUrl;
|
||||||
|
} catch (IOException e) {
|
||||||
|
e.printStackTrace();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
private void saveConfig() {
|
||||||
|
try {
|
||||||
|
FileUtils.writeStringToFile(CONFIG_FILE, GSON.toJson(new MyModConfig(configChatMessageUrl, configGameMessageUrl, configVerifyUrl)), StandardCharsets.UTF_8);
|
||||||
|
} catch (IOException e) {
|
||||||
|
e.printStackTrace();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
public static class MyModConfig {
|
||||||
|
public String chatMessageUrl;
|
||||||
|
public String gameMessageUrl;
|
||||||
|
public String verifyUrl;
|
||||||
|
|
||||||
|
public MyModConfig(String chatMessageUrl, String gameMessageUrl,String verifyUrl) {
|
||||||
|
this.chatMessageUrl = chatMessageUrl;
|
||||||
|
this.gameMessageUrl = gameMessageUrl;
|
||||||
|
this.verifyUrl = verifyUrl;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
@ -0,0 +1,31 @@
|
|||||||
|
package com.xeovalyte.polarcraft.mixin;
|
||||||
|
|
||||||
|
import com.xeovalyte.polarcraft.util.messageFunctions;
|
||||||
|
import net.minecraft.advancement.Advancement;
|
||||||
|
import net.minecraft.advancement.PlayerAdvancementTracker;
|
||||||
|
import net.minecraft.server.network.ServerPlayerEntity;
|
||||||
|
import org.spongepowered.asm.mixin.Mixin;
|
||||||
|
import org.spongepowered.asm.mixin.Shadow;
|
||||||
|
import org.spongepowered.asm.mixin.injection.At;
|
||||||
|
import org.spongepowered.asm.mixin.injection.Inject;
|
||||||
|
import org.spongepowered.asm.mixin.injection.callback.CallbackInfoReturnable;
|
||||||
|
|
||||||
|
import java.util.Objects;
|
||||||
|
|
||||||
|
@Mixin(PlayerAdvancementTracker.class)
|
||||||
|
public class MixinPlayerAdvancementTracker {
|
||||||
|
@Shadow
|
||||||
|
private ServerPlayerEntity owner;
|
||||||
|
|
||||||
|
@Inject(method = "grantCriterion",
|
||||||
|
at = @At(
|
||||||
|
target = "Lnet/minecraft/server/PlayerManager;broadcast(Lnet/minecraft/text/Text;Z)V",
|
||||||
|
value = "INVOKE"
|
||||||
|
)
|
||||||
|
)
|
||||||
|
|
||||||
|
private void grantCriterion(Advancement advancement, String criterionName, CallbackInfoReturnable<Boolean> cir) {
|
||||||
|
// messageFunctions.sendGameMessage(owner.getUuid(), " has completed the challenge [" + Objects.requireNonNull(advancement.getDisplay()).getTitle().getString() + "]");
|
||||||
|
messageFunctions.sendGameMessage(owner.getUuid(), owner.getDisplayName().getString() + " has completed the advancement [" + Objects.requireNonNull(advancement.getDisplay()).getTitle().getString() + "]");
|
||||||
|
}
|
||||||
|
}
|
@ -0,0 +1,27 @@
|
|||||||
|
package com.xeovalyte.polarcraft.mixin;
|
||||||
|
|
||||||
|
import com.xeovalyte.polarcraft.util.messageFunctions;
|
||||||
|
import net.minecraft.entity.damage.DamageSource;
|
||||||
|
import net.minecraft.server.network.ServerPlayerEntity;
|
||||||
|
import net.minecraft.text.Text;
|
||||||
|
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;
|
||||||
|
import org.spongepowered.asm.mixin.injection.callback.LocalCapture;
|
||||||
|
|
||||||
|
@Mixin(ServerPlayerEntity.class)
|
||||||
|
public class MixinPlayerEntity {
|
||||||
|
@Inject(method = "onDeath",
|
||||||
|
at = @At(
|
||||||
|
target = "Lnet/minecraft/server/network/ServerPlayNetworkHandler;sendPacket(Lnet/minecraft/network/packet/Packet;Lnet/minecraft/network/PacketCallbacks;)V",
|
||||||
|
value = "INVOKE",
|
||||||
|
ordinal = 0),
|
||||||
|
locals = LocalCapture.CAPTURE_FAILSOFT
|
||||||
|
)
|
||||||
|
private void onDeath(DamageSource damageSource, CallbackInfo ci, boolean bl, Text text){
|
||||||
|
ServerPlayerEntity serverPlayerEntity = (ServerPlayerEntity) (Object) this;
|
||||||
|
|
||||||
|
messageFunctions.sendGameMessage(serverPlayerEntity.getUuid(), text.getString());
|
||||||
|
}
|
||||||
|
}
|
@ -0,0 +1,74 @@
|
|||||||
|
package com.xeovalyte.polarcraft.util;
|
||||||
|
|
||||||
|
import com.xeovalyte.polarcraft.PolarcraftMod;
|
||||||
|
|
||||||
|
import net.minecraft.network.message.SignedMessage;
|
||||||
|
import net.minecraft.server.network.ServerPlayerEntity;
|
||||||
|
|
||||||
|
import java.io.BufferedReader;
|
||||||
|
import java.io.IOException;
|
||||||
|
import java.io.InputStreamReader;
|
||||||
|
import java.io.OutputStream;
|
||||||
|
import java.net.HttpURLConnection;
|
||||||
|
import java.net.URL;
|
||||||
|
import java.util.UUID;
|
||||||
|
|
||||||
|
public class messageFunctions {
|
||||||
|
public static void sendGameMessage(UUID uuid, String message) {
|
||||||
|
try {
|
||||||
|
// Create a URL object for the server endpoint
|
||||||
|
URL url = new URL(PolarcraftMod.configGameMessageUrl);
|
||||||
|
HttpURLConnection connection = (HttpURLConnection) url.openConnection();
|
||||||
|
|
||||||
|
connection.setRequestMethod("POST");
|
||||||
|
connection.setRequestProperty("Content-Type", "application/json");
|
||||||
|
connection.setDoOutput(true);
|
||||||
|
|
||||||
|
String requestBody = "{\"content\":\"" + message + "\", \"uuid\":\"" + uuid + "\"}";
|
||||||
|
|
||||||
|
OutputStream outputStream = connection.getOutputStream();
|
||||||
|
outputStream.write(requestBody.getBytes());
|
||||||
|
outputStream.flush();
|
||||||
|
outputStream.close();
|
||||||
|
|
||||||
|
BufferedReader reader = new BufferedReader(new InputStreamReader(connection.getInputStream()));
|
||||||
|
String line;
|
||||||
|
StringBuilder response = new StringBuilder();
|
||||||
|
while ((line = reader.readLine()) != null) {
|
||||||
|
response.append(line);
|
||||||
|
}
|
||||||
|
reader.close();
|
||||||
|
} catch (IOException e) {
|
||||||
|
e.printStackTrace();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
public static void sendChatMessage( SignedMessage message, ServerPlayerEntity sender) {
|
||||||
|
try {
|
||||||
|
// Create a URL object for the server endpoint
|
||||||
|
URL url = new URL(PolarcraftMod.configChatMessageUrl);
|
||||||
|
HttpURLConnection connection = (HttpURLConnection) url.openConnection();
|
||||||
|
|
||||||
|
connection.setRequestMethod("POST");
|
||||||
|
connection.setRequestProperty("Content-Type", "application/json");
|
||||||
|
connection.setDoOutput(true);
|
||||||
|
|
||||||
|
String requestBody = "{\"content\":\"" + message.getSignedContent() + "\", \"uuid\":\"" + sender.getUuid() + "\"}";
|
||||||
|
|
||||||
|
OutputStream outputStream = connection.getOutputStream();
|
||||||
|
outputStream.write(requestBody.getBytes());
|
||||||
|
outputStream.flush();
|
||||||
|
outputStream.close();
|
||||||
|
|
||||||
|
BufferedReader reader = new BufferedReader(new InputStreamReader(connection.getInputStream()));
|
||||||
|
String line;
|
||||||
|
StringBuilder response = new StringBuilder();
|
||||||
|
while ((line = reader.readLine()) != null) {
|
||||||
|
response.append(line);
|
||||||
|
}
|
||||||
|
reader.close();
|
||||||
|
} catch (IOException e) {
|
||||||
|
e.printStackTrace();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
@ -0,0 +1,69 @@
|
|||||||
|
package com.xeovalyte.polarcraft.util;
|
||||||
|
|
||||||
|
import com.xeovalyte.polarcraft.PolarcraftMod;
|
||||||
|
|
||||||
|
import java.io.BufferedReader;
|
||||||
|
import java.io.IOException;
|
||||||
|
import java.io.InputStreamReader;
|
||||||
|
import java.io.OutputStream;
|
||||||
|
import java.net.HttpURLConnection;
|
||||||
|
import java.net.URL;
|
||||||
|
import java.util.UUID;
|
||||||
|
|
||||||
|
import com.google.gson.Gson;
|
||||||
|
import com.google.gson.JsonElement;
|
||||||
|
import com.google.gson.JsonObject;
|
||||||
|
|
||||||
|
import net.minecraft.server.MinecraftServer;
|
||||||
|
import net.minecraft.server.network.ServerPlayerEntity;
|
||||||
|
import net.minecraft.text.Text;
|
||||||
|
|
||||||
|
public class verifyFunction {
|
||||||
|
public static void onPlayerJoin(ServerPlayerEntity player, MinecraftServer server) {
|
||||||
|
UUID uuid = player.getUuid();
|
||||||
|
|
||||||
|
try {
|
||||||
|
URL url = new URL(PolarcraftMod.configVerifyUrl);
|
||||||
|
HttpURLConnection connection = (HttpURLConnection) url.openConnection();
|
||||||
|
|
||||||
|
connection.setRequestMethod("POST");
|
||||||
|
connection.setRequestProperty("Content-Type", "application/json");
|
||||||
|
connection.setDoOutput(true);
|
||||||
|
|
||||||
|
String requestBody = "{\"uuid\":\"" + uuid + "\"}";
|
||||||
|
|
||||||
|
OutputStream outputStream = connection.getOutputStream();
|
||||||
|
outputStream.write(requestBody.getBytes());
|
||||||
|
outputStream.flush();
|
||||||
|
outputStream.close();
|
||||||
|
|
||||||
|
BufferedReader reader = new BufferedReader(new InputStreamReader(connection.getInputStream()));
|
||||||
|
String line;
|
||||||
|
StringBuilder response = new StringBuilder();
|
||||||
|
while ((line = reader.readLine()) != null) {
|
||||||
|
response.append(line);
|
||||||
|
}
|
||||||
|
reader.close();
|
||||||
|
|
||||||
|
Gson gson = new Gson();
|
||||||
|
JsonElement element = gson.fromJson(response.toString(), JsonElement.class);
|
||||||
|
JsonObject jsonResponse = element.getAsJsonObject();
|
||||||
|
|
||||||
|
boolean whitelisted = jsonResponse.get("whitelisted").getAsBoolean();
|
||||||
|
|
||||||
|
if (!whitelisted) {
|
||||||
|
int code = jsonResponse.get("code").getAsInt();
|
||||||
|
|
||||||
|
player.networkHandler.disconnect(Text.literal("Whitelist yourself by using this code: " + code));
|
||||||
|
} else {
|
||||||
|
server.getCommandManager().executeWithPrefix(server.getCommandSource(), "/lp user " + player.getUuid() + " meta set display " + "\"" + jsonResponse.get("username").getAsString() + "\"");
|
||||||
|
|
||||||
|
messageFunctions.sendGameMessage(player.getUuid(), jsonResponse.get("rawUsername").getAsString() + " joined the game");
|
||||||
|
}
|
||||||
|
} catch (IOException e) {
|
||||||
|
player.networkHandler.disconnect(Text.literal("There was an error while verifing your account"));
|
||||||
|
e.printStackTrace();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
@ -10,6 +10,7 @@ import org.slf4j.LoggerFactory;
|
|||||||
|
|
||||||
import net.fabricmc.fabric.api.networking.v1.ServerPlayConnectionEvents;
|
import net.fabricmc.fabric.api.networking.v1.ServerPlayConnectionEvents;
|
||||||
import net.fabricmc.loader.api.FabricLoader;
|
import net.fabricmc.loader.api.FabricLoader;
|
||||||
|
import net.minecraft.server.MinecraftServer;
|
||||||
import net.minecraft.server.network.ServerPlayerEntity;
|
import net.minecraft.server.network.ServerPlayerEntity;
|
||||||
import java.io.IOException;
|
import java.io.IOException;
|
||||||
import java.nio.charset.StandardCharsets;
|
import java.nio.charset.StandardCharsets;
|
||||||
@ -18,6 +19,9 @@ import java.io.File;
|
|||||||
import com.google.gson.Gson;
|
import com.google.gson.Gson;
|
||||||
import com.google.gson.GsonBuilder;
|
import com.google.gson.GsonBuilder;
|
||||||
|
|
||||||
|
import static spark.Spark.*;
|
||||||
|
|
||||||
|
import net.fabricmc.fabric.api.event.lifecycle.v1.ServerLifecycleEvents;
|
||||||
import net.fabricmc.fabric.api.message.v1.ServerMessageEvents;
|
import net.fabricmc.fabric.api.message.v1.ServerMessageEvents;
|
||||||
|
|
||||||
public class PolarcraftMod implements ModInitializer {
|
public class PolarcraftMod implements ModInitializer {
|
||||||
@ -29,9 +33,10 @@ public class PolarcraftMod implements ModInitializer {
|
|||||||
private static final Gson GSON = new GsonBuilder().setPrettyPrinting().create();
|
private static final Gson GSON = new GsonBuilder().setPrettyPrinting().create();
|
||||||
private static final File CONFIG_FILE = new File(FabricLoader.getInstance().getConfigDir().toFile(), "polarcraft.json");
|
private static final File CONFIG_FILE = new File(FabricLoader.getInstance().getConfigDir().toFile(), "polarcraft.json");
|
||||||
|
|
||||||
public static String configChatMessageUrl = "https://example.com/api/minecraft/message/chattodiscord";
|
public static String configChatMessageUrl = "https://example.com/message/player";
|
||||||
public static String configGameMessageUrl = "https://example.com/api/minecraft/message/gametodiscord";
|
public static String configGameMessageUrl = "https://example.com/message/game";
|
||||||
public static String configVerifyUrl = "https://example.com/api/minecraft/verifyuuid";
|
public static String configVerifyUrl = "https://example.com/verifyminecraft";
|
||||||
|
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void onInitialize() {
|
public void onInitialize() {
|
||||||
@ -54,6 +59,28 @@ public class PolarcraftMod implements ModInitializer {
|
|||||||
ServerMessageEvents.CHAT_MESSAGE.register((message, sender, params) -> {
|
ServerMessageEvents.CHAT_MESSAGE.register((message, sender, params) -> {
|
||||||
messageFunctions.sendChatMessage(message, sender);
|
messageFunctions.sendChatMessage(message, sender);
|
||||||
});
|
});
|
||||||
|
|
||||||
|
ServerLifecycleEvents.SERVER_STARTED.register((MinecraftServer server) -> {
|
||||||
|
port(8080); // Choose a suitable port for your web server
|
||||||
|
|
||||||
|
// Define the /console POST endpoint
|
||||||
|
post("/console", (req, res) -> {
|
||||||
|
String command = req.body(); // Get the command from the request body
|
||||||
|
// Validate and sanitize the command if needed
|
||||||
|
|
||||||
|
// Execute the console command in the Minecraft environment
|
||||||
|
executeConsoleCommand(command, server);
|
||||||
|
|
||||||
|
res.status(200);
|
||||||
|
return "Command executed successfully.";
|
||||||
|
});
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
private static void executeConsoleCommand(String command, MinecraftServer server) {
|
||||||
|
// Code to execute the console command within the Minecraft environment.
|
||||||
|
|
||||||
|
server.getCommandManager().executeWithPrefix(server.getCommandSource(), command);
|
||||||
}
|
}
|
||||||
|
|
||||||
private void loadConfig() {
|
private void loadConfig() {
|
||||||
@ -74,7 +101,7 @@ public class PolarcraftMod implements ModInitializer {
|
|||||||
|
|
||||||
private void saveConfig() {
|
private void saveConfig() {
|
||||||
try {
|
try {
|
||||||
FileUtils.writeStringToFile(CONFIG_FILE, GSON.toJson(new MyModConfig(configChatMessageUrl, configGameMessageUrl,configVerifyUrl)), StandardCharsets.UTF_8);
|
FileUtils.writeStringToFile(CONFIG_FILE, GSON.toJson(new MyModConfig(configChatMessageUrl, configGameMessageUrl, configVerifyUrl)), StandardCharsets.UTF_8);
|
||||||
} catch (IOException e) {
|
} catch (IOException e) {
|
||||||
e.printStackTrace();
|
e.printStackTrace();
|
||||||
}
|
}
|
||||||
@ -91,4 +118,4 @@ public class PolarcraftMod implements ModInitializer {
|
|||||||
this.verifyUrl = verifyUrl;
|
this.verifyUrl = verifyUrl;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -49,16 +49,16 @@ public class verifyFunction {
|
|||||||
JsonElement element = gson.fromJson(response.toString(), JsonElement.class);
|
JsonElement element = gson.fromJson(response.toString(), JsonElement.class);
|
||||||
JsonObject jsonResponse = element.getAsJsonObject();
|
JsonObject jsonResponse = element.getAsJsonObject();
|
||||||
|
|
||||||
boolean verified = jsonResponse.get("verified").getAsBoolean();
|
boolean whitelisted = jsonResponse.get("whitelisted").getAsBoolean();
|
||||||
|
|
||||||
if (!verified) {
|
if (!whitelisted) {
|
||||||
int code = jsonResponse.get("code").getAsInt();
|
int code = jsonResponse.get("code").getAsInt();
|
||||||
|
|
||||||
player.networkHandler.disconnect(Text.literal("Whitelist yourself by using this code: " + code));
|
player.networkHandler.disconnect(Text.literal("Whitelist yourself by using the /whitelist command in Discord with this code: " + code));
|
||||||
} else {
|
} else {
|
||||||
server.getCommandManager().executeWithPrefix(server.getCommandSource(), "/lp user " + player.getUuid() + " meta set display " + "\"" + jsonResponse.get("username").getAsString() + "\"");
|
server.getCommandManager().executeWithPrefix(server.getCommandSource(), "/lp user " + player.getUuid() + " meta set display " + "\"" + jsonResponse.get("username").getAsString() + "\"");
|
||||||
|
|
||||||
messageFunctions.sendGameMessage(player.getUuid(), jsonResponse.get("usernameWithoutStyle").getAsString() + " joined the game");
|
messageFunctions.sendGameMessage(player.getUuid(), jsonResponse.get("rawUsername").getAsString() + " joined the game");
|
||||||
}
|
}
|
||||||
} catch (IOException e) {
|
} catch (IOException e) {
|
||||||
player.networkHandler.disconnect(Text.literal("There was an error while verifing your account"));
|
player.networkHandler.disconnect(Text.literal("There was an error while verifing your account"));
|
||||||
|
@ -24,7 +24,7 @@
|
|||||||
],
|
],
|
||||||
"depends": {
|
"depends": {
|
||||||
"fabricloader": ">=0.14.19",
|
"fabricloader": ">=0.14.19",
|
||||||
"minecraft": "~1.19.4",
|
"minecraft": ">=1.20.1",
|
||||||
"java": ">=17",
|
"java": ">=17",
|
||||||
"fabric-api": "*"
|
"fabric-api": "*"
|
||||||
},
|
},
|
||||||
|
Loading…
x
Reference in New Issue
Block a user