mirror of
https://github.com/JonasunderscoreJones/Microcraft.git
synced 2025-10-24 12:19:19 +02:00
new: start update
This commit is contained in:
parent
ab68da2070
commit
483a4a96fc
18 changed files with 95 additions and 128 deletions
59
build.gradle
59
build.gradle
|
|
@ -1,6 +1,6 @@
|
|||
plugins {
|
||||
id 'fabric-loom' version '0.12-SNAPSHOT'
|
||||
id 'maven-publish'
|
||||
id 'fabric-loom' version '1.0-SNAPSHOT'
|
||||
id 'io.github.juuxel.loom-quiltflower' version '1.8.0' // to use genSourcesWithQuiltflower
|
||||
}
|
||||
|
||||
sourceCompatibility = JavaVersion.VERSION_17
|
||||
|
|
@ -11,33 +11,31 @@ version = project.mod_version
|
|||
group = project.maven_group
|
||||
|
||||
repositories {
|
||||
// Add repositories to retrieve artifacts from in here.
|
||||
// You should only use this when depending on other mods because
|
||||
// Loom adds the essential maven repositories to download Minecraft and libraries from automatically.
|
||||
// See https://docs.gradle.org/current/userguide/declaring_repositories.html
|
||||
// for more information about repositories.
|
||||
mavenCentral()
|
||||
maven { url "https://maven.parchmentmc.org" } // parchment mappings
|
||||
}
|
||||
|
||||
dependencies {
|
||||
implementation 'org.projectlombok:lombok:1.18.22'
|
||||
implementation 'org.projectlombok:lombok:1.18.22'
|
||||
implementation 'org.projectlombok:lombok:1.18.22'
|
||||
|
||||
// To change the versions see the gradle.properties file
|
||||
// mc & mappings
|
||||
minecraft "com.mojang:minecraft:${project.minecraft_version}"
|
||||
mappings "net.fabricmc:yarn:${project.yarn_mappings}:v2"
|
||||
modImplementation "net.fabricmc:fabric-loader:${project.loader_version}"
|
||||
mappings loom.layered {
|
||||
it.officialMojangMappings()
|
||||
it.parchment("org.parchmentmc.data:${project.parchment_version}@zip")
|
||||
}
|
||||
|
||||
// Fabric API. This is technically optional, but you probably want it anyway.
|
||||
// apis & libraries
|
||||
modImplementation "net.fabricmc:fabric-loader:${project.loader_version}"
|
||||
modImplementation "net.fabricmc.fabric-api:fabric-api:${project.fabric_version}"
|
||||
|
||||
// Uncomment the following line to enable the deprecated Fabric API modules.
|
||||
// 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.
|
||||
implementation 'com.fazecast:jSerialComm:2.9.2'
|
||||
implementation 'com.github.cliftonlabs:json-simple:4.0.1'
|
||||
|
||||
// modImplementation "net.fabricmc.fabric-api:fabric-api-deprecated:${project.fabric_version}"
|
||||
implementation 'org.projectlombok:lombok:1.18.22'
|
||||
implementation 'org.projectlombok:lombok:1.18.22'
|
||||
implementation 'org.projectlombok:lombok:1.18.22'
|
||||
|
||||
implementation files('libs/jSerialComm-2.9.2.jar')
|
||||
implementation files('libs/json-simple-1.1.jar')
|
||||
// mods & other deps
|
||||
// none
|
||||
}
|
||||
|
||||
processResources {
|
||||
|
|
@ -49,14 +47,10 @@ processResources {
|
|||
}
|
||||
|
||||
tasks.withType(JavaCompile).configureEach {
|
||||
// Minecraft 1.18 (1.18-pre2) upwards uses Java 17.
|
||||
it.options.release = 17
|
||||
}
|
||||
|
||||
java {
|
||||
// Loom will automatically attach sourcesJar to a RemapSourcesJar task and to the "build" task
|
||||
// if it is present.
|
||||
// If you remove this line, sources will not be generated.
|
||||
withSourcesJar()
|
||||
}
|
||||
|
||||
|
|
@ -65,20 +59,3 @@ jar {
|
|||
rename { "${it}_${project.archivesBaseName}"}
|
||||
}
|
||||
}
|
||||
|
||||
// configure the maven publication
|
||||
publishing {
|
||||
publications {
|
||||
mavenJava(MavenPublication) {
|
||||
from components.java
|
||||
}
|
||||
}
|
||||
|
||||
// See https://docs.gradle.org/current/userguide/publishing_maven.html for information on how to set up publishing.
|
||||
repositories {
|
||||
// Add repositories to publish to here.
|
||||
// Notice: This block does NOT have the same function as the block in the top level.
|
||||
// The repositories here will be used for publishing your artifact, not for
|
||||
// retrieving dependencies.
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -2,15 +2,14 @@
|
|||
org.gradle.jvmargs=-Xmx1G
|
||||
|
||||
# Fabric Properties
|
||||
# check these on https://fabricmc.net/develop
|
||||
minecraft_version=1.19.3
|
||||
yarn_mappings=1.19.3+build.1
|
||||
loader_version=0.14.11
|
||||
|
||||
# Mod Properties
|
||||
mod_version = v0.0.1alpha01
|
||||
mod_version = 0.0.1+alpha1
|
||||
maven_group = me.jonasjones
|
||||
archives_base_name = microcraft-fabric-quilt
|
||||
|
||||
# Dependencies
|
||||
fabric_version=0.68.1+1.19.3
|
||||
parchment_version=parchment-1.19.3:2023.06.25
|
||||
|
|
|
|||
|
|
@ -2,7 +2,6 @@ package me.jonasjones.microcraft;
|
|||
|
||||
import me.jonasjones.microcraft.config.ModConfigs;
|
||||
import me.jonasjones.microcraft.config.ProfileConfig;
|
||||
import me.jonasjones.microcraft.util.boardmanager.SerialNumberScanner;
|
||||
import net.fabricmc.api.ClientModInitializer;
|
||||
import org.json.simple.parser.ParseException;
|
||||
import org.slf4j.Logger;
|
||||
|
|
@ -44,9 +43,6 @@ public class Microcraft implements ClientModInitializer {
|
|||
} catch (IOException e) {
|
||||
LOGGER.error("AHHHHHHHHHHHHHHHHHHHHH IO");
|
||||
System.out.print(e);
|
||||
} catch (ParseException e) {
|
||||
LOGGER.error("AHHHHHHHHHHHHHHHHHHHHH PARSE");
|
||||
System.out.print(e);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
@ -1,7 +1,5 @@
|
|||
package me.jonasjones.microcraft.board;
|
||||
|
||||
import lombok.AllArgsConstructor;
|
||||
import lombok.Getter;
|
||||
import net.minecraft.util.Identifier;
|
||||
|
||||
public record MicrocontrollerBoardIcon(Identifier boardTextureHorizontal, Identifier boardTextureVertical, int width, int height) {}
|
||||
|
|
@ -1,5 +1,8 @@
|
|||
package me.jonasjones.microcraft.config;
|
||||
|
||||
import com.google.gson.Gson;
|
||||
import com.google.gson.GsonBuilder;
|
||||
|
||||
import java.io.BufferedReader;
|
||||
import java.io.File;
|
||||
import java.io.FileInputStream;
|
||||
|
|
@ -7,10 +10,6 @@ import java.io.FileNotFoundException;
|
|||
import java.io.FileWriter;
|
||||
import java.io.IOException;
|
||||
import java.io.InputStreamReader;
|
||||
import java.util.ArrayList;
|
||||
|
||||
import com.google.gson.Gson;
|
||||
import com.google.gson.GsonBuilder;
|
||||
|
||||
public class BoardsConfig {
|
||||
|
||||
|
|
|
|||
|
|
@ -1,7 +1,6 @@
|
|||
package me.jonasjones.microcraft.config;
|
||||
|
||||
import com.mojang.datafixers.util.Pair;
|
||||
|
||||
import me.jonasjones.microcraft.config.SimpleConfig.DefaultConfig;
|
||||
|
||||
import java.util.ArrayList;
|
||||
|
|
|
|||
|
|
@ -1,7 +1,6 @@
|
|||
package me.jonasjones.microcraft.config;
|
||||
|
||||
import com.mojang.datafixers.util.Pair;
|
||||
|
||||
import me.jonasjones.microcraft.Microcraft;
|
||||
import me.jonasjones.microcraft.util.VerboseLogger;
|
||||
|
||||
|
|
|
|||
|
|
@ -1,10 +1,10 @@
|
|||
package me.jonasjones.microcraft.config;
|
||||
|
||||
import me.jonasjones.microcraft.object.BoardData;
|
||||
import org.json.simple.JSONObject;
|
||||
import org.json.simple.JSONArray;
|
||||
import org.json.simple.parser.JSONParser;
|
||||
import org.json.simple.parser.ParseException;
|
||||
//import org.json.simple.JSONArray;
|
||||
//import org.json.simple.JSONObject;
|
||||
//import org.json.simple.parser.JSONParser;
|
||||
//import org.json.simple.parser.ParseException;
|
||||
|
||||
import java.io.FileWriter;
|
||||
import java.io.IOException;
|
||||
|
|
@ -12,8 +12,9 @@ import java.nio.file.Files;
|
|||
import java.nio.file.Path;
|
||||
|
||||
public class ProfileConfig {
|
||||
public static void uwu() throws IOException, ParseException {
|
||||
JSONObject jsonObject = new JSONObject();
|
||||
public static void uwu() throws IOException {
|
||||
|
||||
/* JSONObject jsonObject = new JSONObject();
|
||||
JSONArray jsonArray = new JSONArray();
|
||||
JSONObject defaultBoardProfile = new JSONObject();
|
||||
JSONArray defaultBoardProfilePinMaps = new JSONArray();
|
||||
|
|
@ -40,7 +41,7 @@ public class ProfileConfig {
|
|||
JSONParser jsonParser = new JSONParser();
|
||||
|
||||
|
||||
JSONObject uwu = (JSONObject) jsonParser.parse(str);
|
||||
JSONObject uwu = (JSONObject) jsonParser.parse(str);*/
|
||||
/*System.out.print(uwu.toJSONString());*/
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -5,9 +5,9 @@ import net.fabricmc.api.EnvType;
|
|||
import net.fabricmc.api.Environment;
|
||||
import net.minecraft.client.gui.screen.Screen;
|
||||
import net.minecraft.client.gui.widget.ButtonWidget;
|
||||
import net.minecraft.client.util.math.MatrixStack;
|
||||
import net.minecraft.screen.ScreenTexts;
|
||||
import net.minecraft.text.Text;
|
||||
import net.minecraft.client.util.math.MatrixStack;
|
||||
|
||||
@Environment(EnvType.CLIENT)
|
||||
public class BoardScreen extends Screen {
|
||||
|
|
|
|||
|
|
@ -2,11 +2,11 @@ package me.jonasjones.microcraft.gui.screens;
|
|||
|
||||
import net.fabricmc.api.EnvType;
|
||||
import net.fabricmc.api.Environment;
|
||||
import net.minecraft.client.gui.screen.Screen;
|
||||
import net.minecraft.client.gui.screens.Screen;
|
||||
import net.minecraft.client.gui.widget.ButtonWidget;
|
||||
import net.minecraft.client.util.math.MatrixStack;
|
||||
import net.minecraft.screen.ScreenTexts;
|
||||
import net.minecraft.text.Text;
|
||||
import net.minecraft.client.util.math.MatrixStack;
|
||||
|
||||
@Environment(EnvType.CLIENT)
|
||||
public class GuiHome extends Screen {
|
||||
|
|
|
|||
|
|
@ -5,16 +5,12 @@ import net.fabricmc.api.Environment;
|
|||
import net.minecraft.client.gui.screen.ConfirmLinkScreen;
|
||||
import net.minecraft.client.gui.screen.Screen;
|
||||
import net.minecraft.client.gui.widget.*;
|
||||
import net.minecraft.client.util.math.MatrixStack;
|
||||
import net.minecraft.client.gui.widget.ButtonWidget;
|
||||
import net.minecraft.client.gui.widget.GridWidget;
|
||||
import net.minecraft.client.gui.widget.SimplePositioningWidget;
|
||||
import net.minecraft.client.util.math.MatrixStack;
|
||||
import net.minecraft.screen.ScreenTexts;
|
||||
import net.minecraft.text.Text;
|
||||
import net.minecraft.util.Util;
|
||||
|
||||
import java.util.Iterator;
|
||||
|
||||
@Environment(EnvType.CLIENT)
|
||||
public class ModCreditsScreen extends Screen {
|
||||
|
||||
|
|
|
|||
|
|
@ -1,6 +1,6 @@
|
|||
package me.jonasjones.microcraft.gui.screens;
|
||||
|
||||
import java.awt.*;
|
||||
import java.awt.List;
|
||||
|
||||
public class ObjectSelectionList {
|
||||
public static void display(int x, int y, int width, int height, List objects) {}
|
||||
|
|
|
|||
|
|
@ -3,6 +3,7 @@ package me.jonasjones.microcraft.gui.screens.board;
|
|||
import net.fabricmc.api.EnvType;
|
||||
import net.fabricmc.api.Environment;
|
||||
import net.minecraft.client.gui.screen.Screen;
|
||||
import net.minecraft.client.gui.screens.Screen;
|
||||
import net.minecraft.client.util.math.MatrixStack;
|
||||
import net.minecraft.text.Text;
|
||||
|
||||
|
|
|
|||
|
|
@ -6,9 +6,9 @@ import net.fabricmc.api.EnvType;
|
|||
import net.fabricmc.api.Environment;
|
||||
import net.minecraft.client.gui.screen.Screen;
|
||||
import net.minecraft.client.gui.widget.ButtonWidget;
|
||||
import net.minecraft.client.util.math.MatrixStack;
|
||||
import net.minecraft.screen.ScreenTexts;
|
||||
import net.minecraft.text.Text;
|
||||
import net.minecraft.client.util.math.MatrixStack;
|
||||
|
||||
@Environment(EnvType.CLIENT)
|
||||
public class TextureSelectScreen extends Screen {
|
||||
|
|
|
|||
|
|
@ -7,20 +7,25 @@ package me.jonasjones.microcraft.gui.widget;
|
|||
|
||||
import me.jonasjones.microcraft.Microcraft;
|
||||
import me.jonasjones.microcraft.board.MicrocontrollerBoardIcon;
|
||||
import me.jonasjones.microcraft.gui.screens.ModCreditsScreen;
|
||||
import me.jonasjones.microcraft.gui.screens.ModSettings;
|
||||
import me.jonasjones.microcraft.gui.screens.board.AdvancedPinMappingScreen;
|
||||
import me.jonasjones.microcraft.gui.screens.board.AdvancedSettingsScreen;
|
||||
import me.jonasjones.microcraft.gui.screens.board.BoardIconSelectionScreen;
|
||||
import me.jonasjones.microcraft.gui.screens.board.ProfileSelectionScreen;
|
||||
import me.jonasjones.microcraft.gui.screens.ModCreditsScreen;
|
||||
import net.fabricmc.api.EnvType;
|
||||
import net.fabricmc.api.Environment;
|
||||
import net.minecraft.client.gui.components.Button;
|
||||
import net.minecraft.client.gui.components.ImageButton;
|
||||
import net.minecraft.client.gui.screen.Screen;
|
||||
import net.minecraft.client.gui.screens.Screen;
|
||||
import net.minecraft.client.gui.widget.ButtonWidget;
|
||||
import net.minecraft.client.gui.widget.TexturedButtonWidget;
|
||||
import net.minecraft.client.util.math.MatrixStack;
|
||||
import net.minecraft.network.chat.Component;
|
||||
import net.minecraft.resources.ResourceLocation;
|
||||
import net.minecraft.text.Text;
|
||||
import net.minecraft.util.Identifier;
|
||||
import net.minecraft.client.gui.widget.TexturedButtonWidget;
|
||||
import net.minecraft.client.gui.widget.ButtonWidget;
|
||||
|
||||
@Environment(EnvType.CLIENT)
|
||||
public class BoardConfigwidget extends Screen {
|
||||
|
|
@ -29,38 +34,38 @@ public class BoardConfigwidget extends Screen {
|
|||
|
||||
//public static Identifier BOARD_TEXTURE = new Identifier(Microcraft.MOD_ID, "textures/boards/arduino-nano.png");
|
||||
|
||||
public static MicrocontrollerBoardIcon BOARD_TEXTURE = new MicrocontrollerBoardIcon(new Identifier(Microcraft.MOD_ID, "textures/boards/arduino-nano-sideways.png"), new Identifier(Microcraft.MOD_ID, "textures/boards/arduino-nano.png"), 128, 52);
|
||||
public static MicrocontrollerBoardIcon BOARD_TEXTURE = new MicrocontrollerBoardIcon(new ResourceLocation(Microcraft.MOD_ID, "textures/boards/arduino-nano-sideways.png"), new ResourceLocation(Microcraft.MOD_ID, "textures/boards/arduino-nano.png"), 128, 52);
|
||||
|
||||
public BoardConfigwidget(Screen parent) {
|
||||
super(Text.of("Microcraft Configuration"));
|
||||
super(Component.literal("Microcraft Configuration"));
|
||||
this.parent = parent;
|
||||
}
|
||||
protected void init() {
|
||||
//TODO: get current profile
|
||||
addDrawableChild(ButtonWidget.builder(Text.of("[Profile]"), (buttonWidget) -> this.client.setScreen(new ProfileSelectionScreen(this))).dimensions(this.width / 2 - 50, this.height - 52, 100, 20).build());
|
||||
addRenderableWidget(new Button.Builder(Component.literal("[Profile]"), (buttonWidget) -> this.minecraft.setScreen(new ProfileSelectionScreen(this))).bounds(this.width / 2 - 50, this.height - 52, 100, 20).build());
|
||||
|
||||
//TODO: make Board texture clickable to select different texture.
|
||||
this.addDrawableChild(new TexturedButtonWidget(this.width / 2 - (BOARD_TEXTURE.height() / 2), this.height / 2 - (BOARD_TEXTURE.height() / 2) - 45, BOARD_TEXTURE.height(), BOARD_TEXTURE.width(), 0, 0, 0, BOARD_TEXTURE.boardTextureVertical(), BOARD_TEXTURE.height(), BOARD_TEXTURE.width(), (buttonWidget) -> this.client.setScreen(new BoardIconSelectionScreen(this))));
|
||||
this.addRenderableWidget(new ImageButton(this.width / 2 - (BOARD_TEXTURE.height() / 2), this.height / 2 - (BOARD_TEXTURE.height() / 2) - 45, BOARD_TEXTURE.height(), BOARD_TEXTURE.width(), 0, 0, 0, BOARD_TEXTURE.boardTextureVertical(), BOARD_TEXTURE.height(), BOARD_TEXTURE.width(), (buttonWidget) -> this.minecraft.setScreen(new BoardIconSelectionScreen(this))));
|
||||
|
||||
/*this.addDrawableChild(ButtonWidget.builder(Text.of("About Microcraft"), (buttonWidget) -> this.client.setScreen(new ModCreditsScreen(this))).dimensions(10, this.height - 30, 200, 20).build());
|
||||
this.addDrawableChild(ButtonWidget.builder(Text.of("Advanced Pin Mapping"), (buttonWidget) -> this.client.setScreen(new AdvancedPinMappingScreen(this))).dimensions(this.width / 2 - 100, this.height - 55, 200, 20).build());
|
||||
this.addDrawableChild(ButtonWidget.builder(Text.of("Advanced Board Settings"), (buttonWidget) -> this.client.setScreen(new AdvancedSettingsScreen(this))).dimensions(this.width / 2 - 100, this.height - 80, 200, 20).build());
|
||||
this.addDrawableChild(ButtonWidget.builder(Text.of("Done"), (buttonWidget) -> this.client.setScreen(this.parent)).dimensions(this.width - 60, this.height - 30, 50, 20).build());
|
||||
this.addDrawableChild(ButtonWidget.builder(Text.of("Write to Board and Quit"), (buttonWidget) -> this.client.setScreen(this.parent)).dimensions(this.width - 210, this.height - 30, 140, 20).build());
|
||||
this.addDrawableChild(ButtonWidget.builder(Text.of("Microcraft Settings"), (buttonWidget) -> this.client.setScreen(new ModSettings(this))).dimensions(this.width - 210, this.height - 55, 200, 20).build());*/
|
||||
/*this.addRenderableWidget(ButtonWidget.builder(Component.literal("About Microcraft"), (buttonWidget) -> this.minecraft.setScreen(new ModCreditsScreen(this))).dimensions(10, this.height - 30, 200, 20).build());
|
||||
this.addRenderableWidget(ButtonWidget.builder(Component.literal("Advanced Pin Mapping"), (buttonWidget) -> this.minecraft.setScreen(new AdvancedPinMappingScreen(this))).dimensions(this.width / 2 - 100, this.height - 55, 200, 20).build());
|
||||
this.addRenderableWidget(ButtonWidget.builder(Component.literal("Advanced Board Settings"), (buttonWidget) -> this.minecraft.setScreen(new AdvancedSettingsScreen(this))).dimensions(this.width / 2 - 100, this.height - 80, 200, 20).build());
|
||||
this.addRenderableWidget(ButtonWidget.builder(Component.literal("Done"), (buttonWidget) -> this.minecraft.setScreen(this.parent)).dimensions(this.width - 60, this.height - 30, 50, 20).build());
|
||||
this.addRenderableWidget(ButtonWidget.builder(Component.literal("Write to Board and Quit"), (buttonWidget) -> this.minecraft.setScreen(this.parent)).dimensions(this.width - 210, this.height - 30, 140, 20).build());
|
||||
this.addRenderableWidget(ButtonWidget.builder(Component.literal("Microcraft Settings"), (buttonWidget) -> this.minecraft.setScreen(new ModSettings(this))).dimensions(this.width - 210, this.height - 55, 200, 20).build());*/
|
||||
|
||||
this.addDrawableChild(ButtonWidget.builder(Text.of("About"), (buttonWidget) -> this.client.setScreen(new ModCreditsScreen(this)))
|
||||
this.addRenderableWidget(new Button.Builder(Component.literal("About"), (buttonWidget) -> this.minecraft.setScreen(new ModCreditsScreen(this)))
|
||||
.dimensions(this.width / 2 - 154, this.height - 28, 75, 20).build());
|
||||
this.addDrawableChild(ButtonWidget.builder(Text.of("Pin Mapping"), (buttonWidget) -> this.client.setScreen(new AdvancedPinMappingScreen(this)))
|
||||
this.addRenderableWidget(new Button.Builder(Component.literal("Pin Mapping"), (buttonWidget) -> this.minecraft.setScreen(new AdvancedPinMappingScreen(this)))
|
||||
.dimensions(this.width / 2 + 4 + 50, this.height - 52, 100, 20).build());
|
||||
this.addDrawableChild(ButtonWidget.builder(Text.of("Board Settings"), (buttonWidget) -> this.client.setScreen(new AdvancedSettingsScreen(this)))
|
||||
this.addRenderableWidget(new Button.Builder(Component.literal("Board Settings"), (buttonWidget) -> this.minecraft.setScreen(new AdvancedSettingsScreen(this)))
|
||||
.dimensions(this.width / 2 - 154, this.height - 52, 100, 20).build());
|
||||
this.addDrawableChild(ButtonWidget.builder(Text.of("Done"), (buttonWidget) -> this.client.setScreen(this.parent))
|
||||
this.addRenderableWidget(new Button.Builder(Component.literal("Done"), (buttonWidget) -> this.minecraft.setScreen(this.parent))
|
||||
.dimensions(this.width / 2 + 4 + 76, this.height - 28, 75, 20).build());
|
||||
ButtonWidget upload = this.addDrawableChild(ButtonWidget.builder(Text.of("Upload"), (buttonWidget) -> this.client.setScreen(this.parent))
|
||||
ButtonWidget upload = this.addRenderableWidget(new Button.Builder(Component.literal("Upload"), (buttonWidget) -> this.minecraft.setScreen(this.parent))
|
||||
.dimensions(this.width / 2, this.height - 28, 75, 20).build());
|
||||
upload.active = false;
|
||||
this.addDrawableChild(ButtonWidget.builder(Text.of("Settings"), (buttonWidget) -> this.client.setScreen(new ModSettings(this)))
|
||||
this.addRenderableWidget(new Button.Builder(Component.literal("Settings"), (buttonWidget) -> this.minecraft.setScreen(new ModSettings(this)))
|
||||
.dimensions(this.width / 2 - 75, this.height - 28, 70, 20).build());
|
||||
|
||||
|
||||
|
|
|
|||
|
|
@ -1,36 +1,35 @@
|
|||
package me.jonasjones.microcraft.mixin;
|
||||
|
||||
import me.jonasjones.microcraft.gui.screens.BoardScreen;
|
||||
import net.minecraft.client.gui.screen.Screen;
|
||||
import net.minecraft.client.gui.screen.TitleScreen;
|
||||
import net.minecraft.client.gui.widget.ButtonWidget;
|
||||
import net.minecraft.client.gui.widget.TexturedButtonWidget;
|
||||
import net.minecraft.text.Text;
|
||||
import net.minecraft.util.Identifier;
|
||||
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 me.jonasjones.microcraft.gui.screens.BoardScreen;
|
||||
//import net.minecraft.client.gui.screen.Screen;
|
||||
//import net.minecraft.client.gui.screen.TitleScreen;
|
||||
//import net.minecraft.client.gui.widget.ButtonWidget;
|
||||
//import net.minecraft.client.gui.widget.TexturedButtonWidget;
|
||||
//import net.minecraft.text.Text;
|
||||
//import net.minecraft.util.Identifier;
|
||||
//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 static me.jonasjones.microcraft.Microcraft.MOD_ID;
|
||||
|
||||
@Mixin(TitleScreen.class)
|
||||
public abstract class TitleScreenButtonMixin extends Screen {
|
||||
protected TitleScreenButtonMixin(Text title) {
|
||||
super(title);
|
||||
}
|
||||
|
||||
@Inject(at = @At("RETURN"), method = "initWidgetsNormal")
|
||||
private void titleScreenButton(int y, int spacingY, CallbackInfo ci) {
|
||||
|
||||
final Identifier ICON_TEXTURE = new Identifier(MOD_ID, "textures/gui/button_icon.png");
|
||||
|
||||
int buttonX = this.width / 2 + 104;
|
||||
int buttonY = y + spacingY * 2;
|
||||
|
||||
this.addDrawableChild(ButtonWidget.builder( Text.of(""), (button) -> {
|
||||
this.client.setScreen(new BoardScreen(this));
|
||||
}).dimensions(buttonX, buttonY, 20, 20).build());
|
||||
this.addDrawableChild( new TexturedButtonWidget(buttonX, buttonY, 20, 20, 0, 0, 0, ICON_TEXTURE, 20, 20, (buttonWidget) -> this.client.setScreen(new BoardScreen(this))));
|
||||
}
|
||||
}
|
||||
//
|
||||
//@Mixin(TitleScreen.class)
|
||||
//public abstract class TitleScreenButtonMixin extends Screen {
|
||||
// protected TitleScreenButtonMixin(Text title) {
|
||||
// super(title);
|
||||
// }
|
||||
//
|
||||
// @Inject(at = @At("RETURN"), method = "initWidgetsNormal")
|
||||
// private void titleScreenButton(int y, int spacingY, CallbackInfo ci) {
|
||||
//
|
||||
// final Identifier ICON_TEXTURE = new Identifier(MOD_ID, "textures/gui/button_icon.png");
|
||||
//
|
||||
// int buttonX = this.width / 2 + 104;
|
||||
// int buttonY = y + spacingY * 2;
|
||||
//
|
||||
// this.addDrawableChild(ButtonWidget.builder( Text.of(""), (button) -> {
|
||||
// this.client.setScreen(new BoardScreen(this));
|
||||
// }).dimensions(buttonX, buttonY, 20, 20).build());
|
||||
// this.addDrawableChild( new TexturedButtonWidget(buttonX, buttonY, 20, 20, 0, 0, 0, ICON_TEXTURE, 20, 20, (buttonWidget) -> this.client.setScreen(new BoardScreen(this))));
|
||||
// }
|
||||
//}
|
||||
|
|
@ -3,7 +3,6 @@ package me.jonasjones.microcraft.util.boardmanager;
|
|||
|
||||
import com.fazecast.jSerialComm.SerialPort;
|
||||
|
||||
import java.io.IOException;
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
|
||||
|
|
|
|||
|
|
@ -6,8 +6,7 @@
|
|||
"mixins": [
|
||||
],
|
||||
"client": [
|
||||
"TitleScreenButtonMixin",
|
||||
"GameMenuScreenMixin"
|
||||
"TitleScreenMixin"
|
||||
],
|
||||
"injectors": {
|
||||
"defaultRequire": 1
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue