Remove mod-menu for 1.17

This commit is contained in:
Surya 2021-06-12 00:00:36 +05:30
parent d01f75f758
commit e8f29b2d30
10 changed files with 62 additions and 73 deletions

View File

@ -28,7 +28,7 @@ dependencies {
modImplementation "net.fabricmc:fabric-loader:${project.loader_version}" modImplementation "net.fabricmc:fabric-loader:${project.loader_version}"
modImplementation "com.terraformersmc:modmenu:${project.modmenu_version}" // modImplementation "com.terraformersmc:modmenu:${project.modmenu_version}"
modImplementation "net.fabricmc.fabric-api:fabric-api:${project.fabric_version}" modImplementation "net.fabricmc.fabric-api:fabric-api:${project.fabric_version}"
modImplementation include("io.github.cottonmc:LibGui:${project.libgui_version}") modImplementation include("io.github.cottonmc:LibGui:${project.libgui_version}")
} }

View File

@ -1,14 +1,11 @@
package me.bionicbeanie.mods.savecoords.gui.impl; package me.bionicbeanie.mods.savecoords.gui.impl;
import com.terraformersmc.modmenu.api.ConfigScreenFactory;
import me.bionicbeanie.mods.savecoords.IFileStore; import me.bionicbeanie.mods.savecoords.IFileStore;
import me.bionicbeanie.mods.savecoords.IKeyBinds; import me.bionicbeanie.mods.savecoords.IKeyBinds;
import me.bionicbeanie.mods.savecoords.IModGui; import me.bionicbeanie.mods.savecoords.IModGui;
import me.bionicbeanie.mods.savecoords.IPlayerLocator; import me.bionicbeanie.mods.savecoords.IPlayerLocator;
import me.bionicbeanie.mods.savecoords.impl.Factory; import me.bionicbeanie.mods.savecoords.impl.Factory;
import net.minecraft.client.MinecraftClient; import net.minecraft.client.MinecraftClient;
import net.minecraft.client.gui.screen.Screen;
//All of this works because single-threaded initialization!! Sed lyf :( //All of this works because single-threaded initialization!! Sed lyf :(
public class DIContainer { public class DIContainer {
@ -19,7 +16,7 @@ public class DIContainer {
private static IPlayerLocator playerLocator; private static IPlayerLocator playerLocator;
private static IModGui modGui; private static IModGui modGui;
private static IKeyBinds keyBinds; private static IKeyBinds keyBinds;
private static ConfigScreenFactory<Screen> modMenuScreenFactory; //private static ConfigScreenFactory<Screen> modMenuScreenFactory;
private static PingPositionOperation pingPositionOperation; private static PingPositionOperation pingPositionOperation;
public static IModGui getModGui() { public static IModGui getModGui() {
@ -32,25 +29,25 @@ public class DIContainer {
return keyBinds; return keyBinds;
} }
public static ConfigScreenFactory<Screen> getModMenuScreenFactory() { // public static ConfigScreenFactory<Screen> getModMenuScreenFactory() {
initialize(); // initialize();
//
if (modMenuScreenFactory == null) { // if (modMenuScreenFactory == null) {
modMenuScreenFactory = (parent) -> { // modMenuScreenFactory = (parent) -> {
ConfigViewHandler handler = new ConfigViewHandler(); // ConfigViewHandler handler = new ConfigViewHandler();
//
handler.onSave(() -> { // handler.onSave(() -> {
new SaveConfigsOperation(keyBinds, fileStore, handler::getState).run(); // new SaveConfigsOperation(keyBinds, fileStore, handler::getState).run();
guiController.closeScreen(); // guiController.closeScreen();
}); // });
//
handler.onBack(() -> guiController.closeScreen()); // handler.onBack(() -> guiController.closeScreen());
//
return handler.createView(keyBinds.getAllBinds()); // return handler.createView(keyBinds.getAllBinds());
}; // };
} // }
return modMenuScreenFactory; // return modMenuScreenFactory;
} // }
public static Runnable getPingPositionOperation() { public static Runnable getPingPositionOperation() {
initialize(); initialize();
@ -59,7 +56,6 @@ public class DIContainer {
private static void initialize() { private static void initialize() {
if (!initialized) { if (!initialized) {
initialized = true; initialized = true;
MinecraftClient minecraftClient = MinecraftClient.getInstance(); MinecraftClient minecraftClient = MinecraftClient.getInstance();

View File

@ -81,10 +81,11 @@ class ListViewHandler extends ViewHandlerBase<Void> {
try { try {
List<PlayerPosition> positions = fileStore.listPositions(); List<PlayerPosition> positions = fileStore.listPositions();
Collections.sort(positions, (p1, p2) -> { Collections.sort(positions, (p1, p2) -> {
if(p1.getPositionMetadata() != null && p2.getPositionMetadata() != null) { if (p1.getPositionMetadata() != null && p2.getPositionMetadata() != null) {
return p2.getPositionMetadata().getLastModified().compareTo(p1.getPositionMetadata().getLastModified()); return p2.getPositionMetadata().getLastModifiedMillis() > p1.getPositionMetadata().getLastModifiedMillis() ? 1
: 0;
} }
return -1; return -1;
}); });
return positions; return positions;
@ -155,11 +156,11 @@ class ListViewHandler extends ViewHandlerBase<Void> {
this.icon.setImage(ResourceUtils.CreateWorldIconIdentifier(position.getWorldDimension())); this.icon.setImage(ResourceUtils.CreateWorldIconIdentifier(position.getWorldDimension()));
this.location.setText(new LiteralText(position.getLocationName())); this.location.setText(new LiteralText(position.getLocationName()));
this.location.setColor(0x3939ac); this.location.setColor(0x3939ac);
if(position.getPositionMetadata() != null) { if (position.getPositionMetadata() != null) {
this.world.setText(new LiteralText("[" + position.getPositionMetadata().getWorldName() + "]")); this.world.setText(new LiteralText("[" + position.getPositionMetadata().getWorldName() + "]"));
this.world.setColor(0xb80000); this.world.setColor(0xb80000);
} }
this.coordinates this.coordinates
.setText(new LiteralText(position.getX() + ", " + position.getY() + ", " + position.getZ())); .setText(new LiteralText(position.getX() + ", " + position.getY() + ", " + position.getZ()));
this.deleteButton.setOnClick(() -> onDelete.accept(position)); this.deleteButton.setOnClick(() -> onDelete.accept(position));

View File

@ -6,6 +6,7 @@ import java.util.List;
import io.github.cottonmc.cotton.gui.GuiDescription; import io.github.cottonmc.cotton.gui.GuiDescription;
import io.github.cottonmc.cotton.gui.widget.WGridPanel; import io.github.cottonmc.cotton.gui.widget.WGridPanel;
import io.github.cottonmc.cotton.gui.widget.WWidget; import io.github.cottonmc.cotton.gui.widget.WWidget;
import io.github.cottonmc.cotton.gui.widget.data.Insets;
import me.bionicbeanie.mods.savecoords.gui.IRootPanel; import me.bionicbeanie.mods.savecoords.gui.IRootPanel;
class RootGridPanel extends WGridPanel implements IRootPanel{ class RootGridPanel extends WGridPanel implements IRootPanel{
@ -15,6 +16,7 @@ class RootGridPanel extends WGridPanel implements IRootPanel{
public RootGridPanel(GuiDescription guiDescription) { public RootGridPanel(GuiDescription guiDescription) {
this(18); this(18);
setInsets(Insets.ROOT_PANEL);
this.guiDescription = guiDescription; this.guiDescription = guiDescription;
} }

View File

@ -30,7 +30,7 @@ public class SaveConfigsOperation extends ViewOperationBase<List<IKeyBinding>>{
for (IKeyBinding binding : state) { for (IKeyBinding binding : state) {
Config config = new Config(); Config config = new Config();
config.setName(binding.getName()); config.setName(binding.getName());
config.setType(parseTypeInt(binding.getType())); config.setType(parseTypeString(binding.getType()));
config.setCode(binding.getCode()); config.setCode(binding.getCode());
keyBinds.updateKeyBind(binding.getName(), binding.getType(), binding.getCode()); keyBinds.updateKeyBind(binding.getName(), binding.getType(), binding.getCode());
@ -43,11 +43,11 @@ public class SaveConfigsOperation extends ViewOperationBase<List<IKeyBinding>>{
fileStore.writeConfigs(configData); fileStore.writeConfigs(configData);
} }
private int parseTypeInt(Type type) { private String parseTypeString(Type type) {
if(type == Type.KEYSYM) { if(type == Type.KEYSYM) {
return 0; return "KEYSYM";
} }
return 1; return "MOUSE";
} }
} }

View File

@ -28,7 +28,7 @@ class FileStore implements IFileStore {
private Gson gson; private Gson gson;
public FileStore(String baseDir) { public FileStore(String baseDir) {
this.gson = new GsonBuilder().setPrettyPrinting().setLenient().create(); this.gson = new GsonBuilder().setPrettyPrinting().setLenient(). create();
this.saveFilePath = Paths.get(baseDir, DEFAULT_DIR, DEFAULT_FILE); this.saveFilePath = Paths.get(baseDir, DEFAULT_DIR, DEFAULT_FILE);
try { try {
@ -141,15 +141,7 @@ class FileStore implements IFileStore {
return data; return data;
} catch (Exception e) { } catch (Exception e) {
// Fallback for old versions throw e;
ModData data = new ModData();
data.setDefaultWorldName("");
data.setPositions(gson.fromJson(String.join("", lines), PlayerPosition[].class));
data.setConfigData(new ConfigData());
dump(data);
return data;
} }
} }

View File

@ -154,8 +154,8 @@ class KeyBinds implements IKeyBinds {
} }
private Type parseType(int type) { private Type parseType(String type) {
if(type == 0) { if("KEYSYM".equalsIgnoreCase(type)) {
return Type.KEYSYM; return Type.KEYSYM;
} }

View File

@ -33,7 +33,7 @@ public class ConfigData {
public static class Config{ public static class Config{
private String name; private String name;
private int type; private String type;
private int code; private int code;
public int getCode() { public int getCode() {
@ -42,10 +42,10 @@ public class ConfigData {
public void setCode(int code) { public void setCode(int code) {
this.code = code; this.code = code;
} }
public int getType() { public String getType() {
return type; return type;
} }
public void setType(int type) { public void setType(String type) {
this.type = type; this.type = type;
} }
public String getName() { public String getName() {

View File

@ -1,17 +1,15 @@
package me.bionicbeanie.mods.savecoords.model; package me.bionicbeanie.mods.savecoords.model;
import java.time.LocalDateTime;
public class PositionMetadata { public class PositionMetadata {
private String worldName, notes; private String worldName, notes;
private LocalDateTime created, lastModified; private long createdMillis, lastModifiedMillis;
public PositionMetadata(String worldName, String notes) { public PositionMetadata(String worldName, String notes) {
this.worldName = worldName; this.worldName = worldName;
this.notes = notes; this.notes = notes;
this.created = LocalDateTime.now(); this.createdMillis = System.currentTimeMillis();
this.lastModified = this.created; this.lastModifiedMillis = this.createdMillis;
} }
public String getWorldName() { public String getWorldName() {
@ -30,15 +28,15 @@ public class PositionMetadata {
this.notes = notes; this.notes = notes;
} }
public LocalDateTime getCreated() { public long getCreatedMillis() {
return created; return createdMillis;
} }
public LocalDateTime getLastModified() { public long getLastModifiedMillis() {
return lastModified; return lastModifiedMillis;
} }
public void updateLastModified() { public void updateLastModified() {
this.lastModified = LocalDateTime.now(); this.lastModifiedMillis = System.currentTimeMillis();
} }
} }

View File

@ -1,14 +1,14 @@
package me.bionicbeanie.mods.savecoords.modmenu; //package me.bionicbeanie.mods.savecoords.modmenu;
//
import com.terraformersmc.modmenu.api.ConfigScreenFactory; //import com.terraformersmc.modmenu.api.ConfigScreenFactory;
import com.terraformersmc.modmenu.api.ModMenuApi; //import com.terraformersmc.modmenu.api.ModMenuApi;
//
import me.bionicbeanie.mods.savecoords.gui.impl.DIContainer; //import me.bionicbeanie.mods.savecoords.gui.impl.DIContainer;
//
public class SaveCoordinatesModMenu implements ModMenuApi { //public class SaveCoordinatesModMenu implements ModMenuApi {
//
@Override // @Override
public ConfigScreenFactory<?> getModConfigScreenFactory() { // public ConfigScreenFactory<?> getModConfigScreenFactory() {
return DIContainer.getModMenuScreenFactory(); // return DIContainer.getModMenuScreenFactory();
} // }
} //}