mirror of
https://github.com/Oth3r/Sit.git
synced 2025-09-20 00:13:21 +02:00
complete rewrite
This commit is contained in:
parent
d059cd4b8d
commit
1316686d85
24 changed files with 1808 additions and 871 deletions
|
@ -5,10 +5,15 @@ import com.google.gson.GsonBuilder;
|
|||
import com.google.gson.reflect.TypeToken;
|
||||
import net.fabricmc.api.ModInitializer;
|
||||
|
||||
import net.fabricmc.fabric.api.networking.v1.PayloadTypeRegistry;
|
||||
import net.fabricmc.fabric.api.networking.v1.ServerPlayNetworking;
|
||||
import net.fabricmc.loader.api.FabricLoader;
|
||||
import net.minecraft.server.MinecraftServer;
|
||||
import net.minecraft.server.command.CommandManager;
|
||||
import net.minecraft.server.network.ServerPlayerEntity;
|
||||
import one.oth3r.sit.file.Data;
|
||||
import one.oth3r.sit.packet.SitPayloads;
|
||||
import one.oth3r.sit.utl.Events;
|
||||
import org.slf4j.Logger;
|
||||
import org.slf4j.LoggerFactory;
|
||||
|
||||
|
@ -16,31 +21,29 @@ import java.lang.reflect.Type;
|
|||
import java.util.HashMap;
|
||||
|
||||
public class Sit implements ModInitializer {
|
||||
public static final Logger LOGGER = LoggerFactory.getLogger("sit");
|
||||
public static final String MOD_ID = "oth3r-sit";
|
||||
public static final Logger LOGGER = LoggerFactory.getLogger(MOD_ID);
|
||||
public static String CONFIG_DIR = FabricLoader.getInstance().getConfigDir().toFile()+"/sit!/";
|
||||
|
||||
public static HashMap<ServerPlayerEntity, HashMap<String,String>> playerSettings = new HashMap<>();
|
||||
public static final String ENTITY_NAME = "-sit!-entity-";
|
||||
public static MinecraftServer server;
|
||||
public static CommandManager commandManager;
|
||||
public static boolean isClient = false;
|
||||
|
||||
public static boolean client = false;
|
||||
public static boolean singleplayer = false;
|
||||
|
||||
@Override
|
||||
public void onInitialize() {
|
||||
//todo future:
|
||||
// make it so it updates the sitting height and pos based on the block so if it changed while offline it still works (or if stair changes shape)
|
||||
// inner stair offset & custom support for that ig
|
||||
config.load();
|
||||
Events.register();
|
||||
Data.loadFiles(true);
|
||||
Events.registerCommon();
|
||||
|
||||
//PACKETS
|
||||
ServerPlayNetworking.registerGlobalReceiver(PacketBuilder.getIdentifier(),
|
||||
(server, player, handler, buf, responseSender) -> {
|
||||
// copy to not throw errors
|
||||
PacketBuilder packet = new PacketBuilder(buf.copy());
|
||||
server.execute(() -> {
|
||||
Type hashMapToken = new TypeToken<HashMap<String, Object>>() {}.getType();
|
||||
Gson gson = new GsonBuilder().disableHtmlEscaping().create();
|
||||
playerSettings.put(player,gson.fromJson(packet.getMessage(),hashMapToken));
|
||||
});
|
||||
});
|
||||
PayloadTypeRegistry.playC2S().register(SitPayloads.SettingsPayload.ID, SitPayloads.SettingsPayload.CODEC);
|
||||
ServerPlayNetworking.registerGlobalReceiver(SitPayloads.SettingsPayload.ID,((payload, context) -> server.execute(() -> {
|
||||
Type hashMapToken = new TypeToken<HashMap<String, Object>>() {}.getType();
|
||||
Gson gson = new GsonBuilder().disableHtmlEscaping().create();
|
||||
playerSettings.put(context.player(),gson.fromJson(payload.value(),hashMapToken));
|
||||
})));
|
||||
}
|
||||
}
|
Loading…
Add table
Add a link
Reference in a new issue