Started to add speed type string to the visual speedometer Chaged some ways of reading or copying data
61 lines
1.7 KiB
Java
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;
|
|
}
|
|
}
|