feat(skin): introduce new official skins.
@ -29,9 +29,13 @@ import javafx.collections.ObservableList;
|
||||
import javafx.geometry.Insets;
|
||||
import javafx.geometry.Pos;
|
||||
import javafx.scene.Node;
|
||||
import javafx.scene.SnapshotParameters;
|
||||
import javafx.scene.canvas.Canvas;
|
||||
import javafx.scene.canvas.GraphicsContext;
|
||||
import javafx.scene.control.Label;
|
||||
import javafx.scene.image.Image;
|
||||
import javafx.scene.image.ImageView;
|
||||
import javafx.scene.image.WritableImage;
|
||||
import javafx.scene.layout.HBox;
|
||||
import javafx.scene.layout.StackPane;
|
||||
import javafx.scene.layout.VBox;
|
||||
|
Before Width: | Height: | Size: 2.1 KiB |
BIN
HMCL/src/main/resources/assets/img/skin/alex.png
Normal file
After Width: | Height: | Size: 999 B |
BIN
HMCL/src/main/resources/assets/img/skin/ari.png
Normal file
After Width: | Height: | Size: 912 B |
BIN
HMCL/src/main/resources/assets/img/skin/efe.png
Normal file
After Width: | Height: | Size: 1001 B |
BIN
HMCL/src/main/resources/assets/img/skin/kai.png
Normal file
After Width: | Height: | Size: 1.2 KiB |
BIN
HMCL/src/main/resources/assets/img/skin/makena.png
Normal file
After Width: | Height: | Size: 1.1 KiB |
BIN
HMCL/src/main/resources/assets/img/skin/noor.png
Normal file
After Width: | Height: | Size: 861 B |
BIN
HMCL/src/main/resources/assets/img/skin/steve.png
Normal file
After Width: | Height: | Size: 958 B |
BIN
HMCL/src/main/resources/assets/img/skin/sunny.png
Normal file
After Width: | Height: | Size: 988 B |
BIN
HMCL/src/main/resources/assets/img/skin/zuri.png
Normal file
After Width: | Height: | Size: 947 B |
Before Width: | Height: | Size: 1.3 KiB |
@ -48,8 +48,15 @@ public class Skin {
|
||||
|
||||
public enum Type {
|
||||
DEFAULT,
|
||||
STEVE,
|
||||
ALEX,
|
||||
ARI,
|
||||
EFE,
|
||||
KAI,
|
||||
MAKENA,
|
||||
NOOR,
|
||||
STEVE,
|
||||
SUNNY,
|
||||
ZURI,
|
||||
LOCAL_FILE,
|
||||
LITTLE_SKIN,
|
||||
CUSTOM_SKIN_LOADER_API,
|
||||
@ -59,10 +66,24 @@ public class Skin {
|
||||
switch (type) {
|
||||
case "default":
|
||||
return DEFAULT;
|
||||
case "steve":
|
||||
return STEVE;
|
||||
case "alex":
|
||||
return ALEX;
|
||||
case "ari":
|
||||
return ARI;
|
||||
case "efe":
|
||||
return EFE;
|
||||
case "kai":
|
||||
return KAI;
|
||||
case "makena":
|
||||
return MAKENA;
|
||||
case "noor":
|
||||
return NOOR;
|
||||
case "steve":
|
||||
return STEVE;
|
||||
case "sunny":
|
||||
return SUNNY;
|
||||
case "zuri":
|
||||
return ZURI;
|
||||
case "local_file":
|
||||
return LOCAL_FILE;
|
||||
case "little_skin":
|
||||
@ -115,10 +136,24 @@ public class Skin {
|
||||
switch (type) {
|
||||
case DEFAULT:
|
||||
return Task.supplyAsync(() -> null);
|
||||
case STEVE:
|
||||
return Task.supplyAsync(() -> new LoadedSkin(TextureModel.STEVE, Texture.loadTexture(Skin.class.getResourceAsStream("/assets/img/steve.png")), null));
|
||||
case ALEX:
|
||||
return Task.supplyAsync(() -> new LoadedSkin(TextureModel.ALEX, Texture.loadTexture(Skin.class.getResourceAsStream("/assets/img/alex.png")), null));
|
||||
return Task.supplyAsync(() -> new LoadedSkin(TextureModel.ALEX, Texture.loadTexture(Skin.class.getResourceAsStream("/assets/img/skin/alex.png")), null));
|
||||
case ARI:
|
||||
return Task.supplyAsync(() -> new LoadedSkin(TextureModel.STEVE, Texture.loadTexture(Skin.class.getResourceAsStream("/assets/img/skin/ari.png")), null));
|
||||
case EFE:
|
||||
return Task.supplyAsync(() -> new LoadedSkin(TextureModel.ALEX, Texture.loadTexture(Skin.class.getResourceAsStream("/assets/img/skin/efe.png")), null));
|
||||
case KAI:
|
||||
return Task.supplyAsync(() -> new LoadedSkin(TextureModel.STEVE, Texture.loadTexture(Skin.class.getResourceAsStream("/assets/img/skin/kai.png")), null));
|
||||
case MAKENA:
|
||||
return Task.supplyAsync(() -> new LoadedSkin(TextureModel.ALEX, Texture.loadTexture(Skin.class.getResourceAsStream("/assets/img/skin/makena.png")), null));
|
||||
case NOOR:
|
||||
return Task.supplyAsync(() -> new LoadedSkin(TextureModel.ALEX, Texture.loadTexture(Skin.class.getResourceAsStream("/assets/img/skin/noor.png")), null));
|
||||
case STEVE:
|
||||
return Task.supplyAsync(() -> new LoadedSkin(TextureModel.STEVE, Texture.loadTexture(Skin.class.getResourceAsStream("/assets/img/skin/steve.png")), null));
|
||||
case SUNNY:
|
||||
return Task.supplyAsync(() -> new LoadedSkin(TextureModel.STEVE, Texture.loadTexture(Skin.class.getResourceAsStream("/assets/img/skin/sunny.png")), null));
|
||||
case ZURI:
|
||||
return Task.supplyAsync(() -> new LoadedSkin(TextureModel.STEVE, Texture.loadTexture(Skin.class.getResourceAsStream("/assets/img/skin/zuri.png")), null));
|
||||
case LOCAL_FILE:
|
||||
return Task.supplyAsync(() -> {
|
||||
Texture skin = null, cape = null;
|
||||
|