Skip to content

Commit

Permalink
2.0.0-Alpha.8+Fabric
Browse files Browse the repository at this point in the history
  • Loading branch information
XDPXI committed Jul 27, 2024
1 parent 3026bbb commit 7728b2d
Show file tree
Hide file tree
Showing 7 changed files with 76 additions and 11 deletions.
2 changes: 1 addition & 1 deletion gradle.properties
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@ loader_version=0.16.0
cloth_version=15.0.128
modmenu_version=11.0.1

mod_version=2.0.0-Alpha.7+Fabric
mod_version=2.0.0-Alpha.8+Fabric
maven_group=com.ztrolix.zlibs
archives_base_name=ztrolix-libs

Expand Down
Binary file added installer/ZLibsInstaller.jar
Binary file not shown.
50 changes: 40 additions & 10 deletions installer/ZtrolixLibsDownloader.java
Original file line number Diff line number Diff line change
Expand Up @@ -17,6 +17,8 @@
import java.nio.file.Paths;
import javax.imageio.ImageIO;
import java.awt.image.BufferedImage;
import java.awt.event.MouseAdapter;
import java.awt.event.MouseEvent;

public class ZtrolixLibsDownloader {
private static final String FABRIC_API_BASE_URL = "https://cdn.modrinth.com/data/P7dR8mSH/versions/";
Expand All @@ -42,9 +44,11 @@ public static void main(String[] args) {
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
setCustomIcon(frame, "https://raw.githubusercontent.com/ZtrolixGit/ZtrolixLibs/main/icon.png");

addDraggableFeature(frame);

JPanel panel = new JPanel(new BorderLayout());
panel.setBorder(BorderFactory.createEmptyBorder(10, 10, 10, 10));
panel.setBackground(new Color(50, 50, 50));
panel.setBackground(new Color(60, 63, 65));

JPanel topPanel = new JPanel(new BorderLayout());
topPanel.setOpaque(false);
Expand All @@ -58,9 +62,9 @@ public static void main(String[] args) {
JPanel controlPanel = new JPanel();
controlPanel.setLayout(new FlowLayout(FlowLayout.RIGHT));
controlPanel.setOpaque(false);
JButton minimizeButton = createRoundedButton("_", new Color(237, 132, 26), 10);
JButton minimizeButton = createOutlinedButton("_", new Color(237, 132, 26), 5);
minimizeButton.addActionListener(e -> frame.setState(Frame.ICONIFIED));
JButton closeButton = createRoundedButton("X", new Color(216, 77, 63), 10);
JButton closeButton = createOutlinedButton("X", new Color(216, 77, 63), 5);
closeButton.addActionListener(e -> System.exit(0));
controlPanel.add(minimizeButton);
controlPanel.add(closeButton);
Expand Down Expand Up @@ -89,7 +93,7 @@ public static void main(String[] args) {
dropdown.addActionListener(e -> updateVersionDropdown((String) dropdown.getSelectedItem(), versionDropdown));
dropdown.addActionListener(e -> updateLoaderDropdown(dropdown));

JButton downloadButton = createOutlinedButton("Download and Install", new Color(158, 147, 211));
JButton downloadButton = createOutlinedButton("Download and Install", new Color(158, 147, 211), 20);
downloadButton.setPreferredSize(new Dimension(200, 30));

JProgressBar progressBar = new JProgressBar(0, 100);
Expand Down Expand Up @@ -117,9 +121,9 @@ public void actionPerformed(ActionEvent e) {
progressBar.setVisible(true);
new Thread(() -> {
try {
downloadFile(downloadUrl, folderPath, "ZtrolixLibs-" + selectedLoader + "-" + selectedVersion, progressBar);
downloadFile(downloadUrl, folderPath, "ZtrolixLibs-" + selectedLoader + "-" + selectedVersion + ".jar", progressBar);
if (modUrl != null) {
downloadLibraryFile(modUrl, folderPath, "ZtrolixLibs-API-" + selectedLoader + "-" + selectedVersion, progressBar);
downloadLibraryFile(modUrl, folderPath, "ZtrolixLibs-API-" + selectedLoader + "-" + selectedVersion + ".jar", progressBar);
}
JOptionPane.showMessageDialog(frame, "Download completed!");
progressBar.setVisible(false);
Expand All @@ -139,6 +143,11 @@ public void actionPerformed(ActionEvent e) {

JPanel bottomPanel = new JPanel(new BorderLayout());
bottomPanel.setOpaque(false);

JPanel paddingPanel = new JPanel();
paddingPanel.setPreferredSize(new Dimension(frame.getWidth(), 20)); // Adjust space as needed
bottomPanel.add(paddingPanel, BorderLayout.NORTH);

bottomPanel.add(centerPanel, BorderLayout.NORTH);
bottomPanel.add(downloadButton, BorderLayout.CENTER);
bottomPanel.add(progressBar, BorderLayout.SOUTH);
Expand All @@ -151,6 +160,27 @@ public void actionPerformed(ActionEvent e) {
frame.setVisible(true);
}

private static void addDraggableFeature(JFrame frame) {
final int[] dragStart = new int[2];

frame.addMouseListener(new MouseAdapter() {
@Override
public void mousePressed(MouseEvent e) {
dragStart[0] = e.getX();
dragStart[1] = e.getY();
}
});

frame.addMouseMotionListener(new MouseAdapter() {
@Override
public void mouseDragged(MouseEvent e) {
int x = e.getXOnScreen() - dragStart[0];
int y = e.getYOnScreen() - dragStart[1];
frame.setLocation(x, y);
}
});
}

private static String getDownloadUrl(String loader, String version) {
switch (loader) {
case "Fabric":
Expand Down Expand Up @@ -309,17 +339,17 @@ protected void paintComponent(Graphics g) {
return button;
}

private static JButton createOutlinedButton(String text, Color outlineColor) {
private static JButton createOutlinedButton(String text, Color outlineColor, int cornerRadius) {
JButton button = new JButton(text) {
@Override
protected void paintComponent(Graphics g) {
Graphics2D g2d = (Graphics2D) g.create();
g2d.setRenderingHint(RenderingHints.KEY_ANTIALIASING, RenderingHints.VALUE_ANTIALIAS_ON);
g2d.setColor(new Color(50, 50, 50)); // Background color
g2d.fillRoundRect(0, 0, getWidth(), getHeight(), 20, 20); // Fill the button background
g2d.setColor(new Color(60, 63, 65)); // Background color
g2d.fillRoundRect(0, 0, getWidth(), getHeight(), cornerRadius, cornerRadius); // Fill the button background
g2d.setColor(outlineColor);
g2d.setStroke(new BasicStroke(2)); // Outline width
g2d.drawRoundRect(1, 1, getWidth() - 2, getHeight() - 2, 20, 20); // Draw rounded outline
g2d.drawRoundRect(1, 1, getWidth() - 2, getHeight() - 2, cornerRadius, cornerRadius); // Draw rounded outline
g2d.dispose();
super.paintComponent(g);
}
Expand Down
30 changes: 30 additions & 0 deletions src/client/java/com/ztrolix/zlibs/ZtrolixLibsClient.java
Original file line number Diff line number Diff line change
@@ -1,16 +1,46 @@
package com.ztrolix.zlibs;

import com.mojang.brigadier.arguments.IntegerArgumentType;
import com.mojang.brigadier.arguments.StringArgumentType;
import com.ztrolix.zlibs.config.ZLibsConfig;
import me.shedaniel.autoconfig.AutoConfig;
import net.fabricmc.api.ClientModInitializer;
import net.fabricmc.fabric.api.client.command.v2.ClientCommandManager;
import net.fabricmc.fabric.api.client.command.v2.ClientCommandRegistrationCallback;
import net.minecraft.client.gui.screen.Screen;
import me.shedaniel.autoconfig.serializer.GsonConfigSerializer;
import net.minecraft.text.Text;

public class ZtrolixLibsClient implements ClientModInitializer {
@Override
public void onInitializeClient() {
AutoConfig.register(ZLibsConfig.class, GsonConfigSerializer::new);
ZLibsConfig config = AutoConfig.getConfigHolder(ZLibsConfig.class).getConfig();

ClientCommandRegistrationCallback.EVENT.register((dispatcher, registryAccess) -> {
dispatcher.register(ClientCommandManager.literal("zlibs").executes(context -> {
context.getSource().sendFeedback(Text.literal("-------------------------------"));
context.getSource().sendFeedback(Text.literal(" Welcome to ZLibs!"));
context.getSource().sendFeedback(Text.literal(" To get started run /zlibs help!"));
context.getSource().sendFeedback(Text.literal("-------------------------------"));
return 1;
}));
});

ClientCommandRegistrationCallback.EVENT.register((dispatcher, registryAccess) -> {
dispatcher.register(ClientCommandManager.literal("zlibs")
.then(ClientCommandManager.argument("help", StringArgumentType.string())
.executes(context -> {
int value1 = StringArgumentType.getString(context,);
context.getSource().sendFeedback(Text.literal("-------------------------------"));
context.getSource().sendFeedback(Text.literal(" Welcome to ZLibs!"));
context.getSource().sendFeedback(Text.literal(" To get started run /zlibs help!"));
context.getSource().sendFeedback(Text.literal("-------------------------------"));
return 1;
})
)
);
});
}

public static Screen getConfigScreen(Screen parent) {
Expand Down
1 change: 1 addition & 0 deletions src/client/java/com/ztrolix/zlibs/config/ZLibsConfig.java
Original file line number Diff line number Diff line change
Expand Up @@ -6,5 +6,6 @@
@Config(name = "ztrolix-libs")
public class ZLibsConfig implements ConfigData {
boolean modEnabled = true;
boolean clientSide = true;
boolean contributeToPlayerCount = true;
}
3 changes: 3 additions & 0 deletions src/main/java/com/ztrolix/zlibs/ZtrolixLibs.java
Original file line number Diff line number Diff line change
Expand Up @@ -24,7 +24,10 @@ public void onInitialize() {
LOGGER.info("ZtrolixLibs - Loaded: ItemGroupInit");
ItemInit.load();
LOGGER.info("ZtrolixLibs - Loaded: ItemInit");
LOGGER.info("ZtrolixLibs - Loaded: Commands");
LOGGER.info("ZtrolixLibs - Loaded: Config");
LOGGER.warn("ZtrolixLibs - Warning: 'Error loading parent data from mod: ztrolix-libs' is a allowed error please do not report this error!");


LOGGER.info("-- -- -- -- -- -- -- -- -- -- -- --");
LOGGER.info("ZtrolixLibs - Loaded!");
Expand Down
1 change: 1 addition & 0 deletions src/main/resources/fabric.mod.json
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,7 @@
"authors": [
"Ztrolix"
],
"author": "Ztrolix",
"contact": {
"homepage": "https://ztrolix.vercel.app/mc/zlibs",
"sources": "https://github.com/ZtrolixGit/ZtrolixLibs"
Expand Down

0 comments on commit 7728b2d

Please sign in to comment.