Skip to content

An attempt to port CSGO's Skeet.cc GUI into minecraft

Notifications You must be signed in to change notification settings

LeonLeonPotato/skeet-gui

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

15 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

SkeetGUI for Minecraft 1.12.2

gui

About

What is this project? This project aims to port a certain CS:GO GUI into Minecraft version 1.12.2. It allows the user to enable / disable certain modules and change the settings in them.

Where can I use this project? This project is mainly aimed to be used to make PVP clients, however it can be used anywhere.

Why should I use SkeetGUI instead of other GUIs? This GUI provides a unique page based look, instead of other dropdown style menus commonly found in clients nowadays.

Installation

Currently, you will have to manually copy the skeetgui folder over to your project. A maven dependency is coming soon.

Usage

  1. Create a class implementing ISkeetConfig as provided below. Note that the "colored" and "both" options are not yet implemented
public class GenericConfig implements ISkeetConfig {  
  @Override  
  public int getGuiKey() {  
        return Keyboard.KEY_RSHIFT;  
  }  
  
  @Override  
  public int getCloseGuiKey() {  
        return Keyboard.KEY_ESCAPE;  
  }  
  
  @Override  
  public BackgroundOptions getBackground() {  
        return BackgroundOptions.BLUR;  
  }  
  
  @Override  
  public boolean doesPauseGame() {  
        return false;  
  }  
  
  @Override  
  public boolean useCustomFont() {  
        return true;  
  }  
  
  @Override  
  public int getColumnsPerPage() {  
        return 2;  
  }  
  
  @Override  
  public Quad getBoundingBox() {  
        return new Quad(10, 10, 410, 360);  
  }  
}
  1. In your category class, implement ICategory. You need to provide a ResourceLocation for the icon used in the GUI. Return this when overriding getPath() from ICategory
  2. In your module manager, implement IModuleManager. You need to override getModulesFromCategory(ICategory).
  3. In your client initialization, call SkeetGUI as described below
SkeetGUI.setCategories(Category.values()); // your category class lere
SkeetGUI.setConfig(new GenericConfig()); // your config class here
SkeetGUI.setModules(moduleManager = new ModuleManager()); // your module manager here

skeetGUI = new SkeetGUI("Arial"); // Initialize SkeetGUI with a font name

An example is provided here.

Todo

  • Installation as dependency
  • Implement colored background
  • Implement scrolling
  • Implement resizing
  • Implement custom fonts
  • Code cleanup
  • QoL features (icon scaling, theme coloring, various offsets for looks)
  • Add more examples

About

An attempt to port CSGO's Skeet.cc GUI into minecraft

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages