crabby render <- notgaba watch this pls

This commit is contained in:
NK 2023-03-05 23:38:33 +00:00
parent 8f0b9d29a1
commit 072fcb2568
3 changed files with 107 additions and 1 deletions

View file

@ -6,6 +6,7 @@ import cc.polyfrost.oneconfig.libs.eventbus.Subscribe;
import me.night0721.lilase.events.SniperFlipperEvents;
import me.night0721.lilase.features.ah.AHConfig;
import me.night0721.lilase.features.ah.AuctionHouse;
import me.night0721.lilase.gui.ImageRenderer;
import me.night0721.lilase.utils.Clock;
import me.night0721.lilase.utils.ConfigUtils;
import me.night0721.lilase.utils.KeyBindingManager;
@ -30,7 +31,7 @@ import static me.night0721.lilase.features.ah.AHConfig.RECONNECT_DELAY;
public class Lilase {
public static final String MOD_NAME = "Lilase";
public static final String MODID = "Lilase";
public static final String VERSION = "1.0.24-beta";
public static final String VERSION = "1.0.25";
public static final Minecraft mc = Minecraft.getMinecraft();
public static AuctionHouse auctionHouse;
public static AHConfig config;
@ -43,6 +44,7 @@ public class Lilase {
MinecraftForge.EVENT_BUS.register(this);
MinecraftForge.EVENT_BUS.register(keyBindingManager);
MinecraftForge.EVENT_BUS.register(new SniperFlipperEvents());
MinecraftForge.EVENT_BUS.register(new ImageRenderer());
EventManager.INSTANCE.register(this);
ConfigUtils.register();
auctionHouse = new AuctionHouse();

View file

@ -0,0 +1,28 @@
package me.night0721.lilase.gui;
import net.minecraft.client.gui.Gui;
import net.minecraft.client.gui.ScaledResolution;
import net.minecraft.client.renderer.GlStateManager;
import net.minecraft.util.ResourceLocation;
import net.minecraftforge.client.event.RenderGameOverlayEvent;
import net.minecraftforge.fml.common.eventhandler.SubscribeEvent;
import static me.night0721.lilase.Lilase.mc;
public class ImageRenderer {
public void draw() {
ScaledResolution scaledResolution = new ScaledResolution(mc);
GlStateManager.pushMatrix();
mc.getTextureManager().bindTexture(new ResourceLocation("lilase:images/crabby.png"));
// GlStateManager.color(CurrentColor.getFloatValue(0, 0), CurrentColor.getFloatValue(0, 1), CurrentColor.getFloatValue(0, 2));
Gui.drawModalRectWithCustomSizedTexture(scaledResolution.getScaledWidth() / 2 + 64, scaledResolution.getScaledHeight() / 2 + 64, 0, 0, 128, 32, 128, 32);
GlStateManager.popMatrix();
}
@SubscribeEvent
public void onRender(RenderGameOverlayEvent e) {
if (e.type == RenderGameOverlayEvent.ElementType.ALL) {
draw();
}
}
}

View file

@ -0,0 +1,76 @@
package me.night0721.lilase.utils;
import me.night0721.lilase.features.ah.AHConfig;
import java.awt.*;
/**
* @author Gabagooooooooooool (ily)
* @version 1.1
* Basic utility for aurora theming engine.
*/
public class CurrentColor {
public static int currentColorGet(float offset) {
switch (AHConfig.CRABBY_COLOR) {
case 0:
return getRainbow(-4000, (int) (offset * 3000)).getRGB();
case 1:
return getGradientOffset(new Color(223, 94, 255), new Color(0, 170, 255).brighter(), Math.abs(System.currentTimeMillis() / 16L) / 100.0 + offset).getRGB();
case 2:
return getGradientOffset(new Color(255, 0, 255), new Color(255, 255, 0), Math.abs(System.currentTimeMillis() / 16L) / 100.0 + offset).getRGB();
case 3:
return getGradientOffset(new Color(0, 132, 99), new Color(255, 255, 99), Math.abs(System.currentTimeMillis() / 16L) / 100.0 + offset).getRGB();
case 4:
return getGradientOffset(new Color(255, 0, 0), new Color(255, 255, 0), Math.abs(System.currentTimeMillis() / 16L) / 100.0 + offset).getRGB();
case 5:
return getGradientOffset(new Color(0, 0, 255), new Color(0, 255, 132), Math.abs(System.currentTimeMillis() / 16L) / 100.0 + offset).getRGB();
case 6:
return getGradientOffset(new Color(250, 250, 250), new Color(5, 5, 5), Math.abs(System.currentTimeMillis() / 16L) / 100.0 + offset).getRGB();
case 7:
return getGradientOffset(new Color(231, 239, 239), new Color(16, 16, 24), Math.abs(System.currentTimeMillis() / 16L) / 100.0 + offset).getRGB();
}
return Color.WHITE.getRGB();
}
public static float getFloatValue(float offset, int color){
Color tempC = new Color(CurrentColor.currentColorGet(offset));
int tempC_ = 0;
switch (color){
case 0:
tempC_ = tempC.getRed();
break;
case 1:
tempC_ = tempC.getGreen();
break;
case 2:
tempC_ = tempC.getBlue();
break;
}
return (((float) tempC_) / 255F);
}
/**
* Following method has been circulating in Minecraft Hacking Community for a while, making it impossible to trace original author.
*/
protected static Color getGradientOffset(final Color color1, final Color color2, double offset) {
if (offset > 1.0) {
final double left = offset % 1.0;
final int off = (int)offset;
offset = ((off % 2 == 0) ? left : (1.0 - left));
}
final double inverse_percent = 1.0 - offset;
final int redPart = (int)(color1.getRed() * inverse_percent + color2.getRed() * offset);
final int greenPart = (int)(color1.getGreen() * inverse_percent + color2.getGreen() * offset);
final int bluePart = (int)(color1.getBlue() * inverse_percent + color2.getBlue() * offset);
return new Color(redPart, greenPart, bluePart);
}
/**
* Following method has been circulating in Minecraft Hacking Community for a while, making it impossible to trace original author.
*/
protected static Color getRainbow(final int speed, final int offset) {
float hue = (System.currentTimeMillis() + offset) % speed;
return Color.getHSBColor(hue / speed, 0.9f, 1f);
}
}