Files
Speedometer/common/src/main/java/me/zacharias/speedometer/MeterImages.java
Zacharias 47e475cecb Alpha version!
Started to add speed type string to the visual speedometer
Chaged some ways of reading or copying data
2023-08-31 11:09:40 +02:00

61 lines
1.7 KiB
Java

package me.zacharias.speedometer;
import net.minecraft.network.chat.Component;
import javax.imageio.ImageIO;
import java.awt.image.BufferedImage;
import java.io.IOException;
import java.util.Objects;
import static me.zacharias.speedometer.Speedometer.LOGGER;
public enum MeterImages {
LARGE(Component.translatable("speedometer.meter.large"), "/assets/speedometer/meter/meter-115.png", 115),
SMALL(Component.translatable("speedometer.meter.small"), "/assets/speedometer/meter/meter-19.png", 19),
MEDIUM(Component.translatable("speedometer.meter.small"), "/assets/speedometer/meter/meter-67.png", 67)
;
private final Component name;
private final String meterIcon;
private BufferedImage image;
private final int size;
MeterImages(Component name, String meterIcon, int size) {
this.name = name;
this.size = size;
this.meterIcon = meterIcon;
}
public boolean initiate(){
if(image != null){
LOGGER.warn("Already loaded \""+meterIcon+"\"");
}
try{
LOGGER.info("Loading speedometer \""+meterIcon+"\"");
image = ImageIO.read(Objects.requireNonNull(Speedometer.class.getResourceAsStream(meterIcon)));
LOGGER.info("Loaded speedometer \""+meterIcon+"\"");
return true;
} catch (IOException e) {
image = new BufferedImage(0,0, BufferedImage.TYPE_INT_ARGB);
LOGGER.warn("Failed to load speedometer \""+meterIcon+"\"");
return false;
}
}
public BufferedImage getImage() {
if(image == null){
LOGGER.warn("\""+meterIcon+"\" has not ben loaded yet!");
}
return image;
}
public int getSize() {
return size;
}
public Component getName() {
return name;
}
}