mirror of
https://github.com/HbmMods/Hbm-s-Nuclear-Tech-GIT.git
synced 2026-01-25 10:32:49 +00:00
65 lines
1.8 KiB
Java
65 lines
1.8 KiB
Java
package com.hbm.items.special;
|
|
|
|
import com.hbm.main.MainRegistry;
|
|
|
|
import cpw.mods.fml.relauncher.Side;
|
|
import cpw.mods.fml.relauncher.SideOnly;
|
|
import net.minecraft.client.Minecraft;
|
|
import net.minecraft.client.renderer.texture.IIconRegister;
|
|
import net.minecraft.client.renderer.texture.TextureAtlasSprite;
|
|
import net.minecraft.client.renderer.texture.TextureMap;
|
|
import net.minecraft.client.renderer.texture.TextureUtil;
|
|
import net.minecraft.entity.player.EntityPlayer;
|
|
import net.minecraft.item.Item;
|
|
import net.minecraft.world.EnumSkyBlock;
|
|
|
|
public class ItemAlexandrite extends Item {
|
|
|
|
@SideOnly(Side.CLIENT)
|
|
public void registerIcons(IIconRegister register) {
|
|
if(register instanceof TextureMap) {
|
|
TextureMap map = (TextureMap) register;
|
|
TextureAlexandrite gemTexture = new TextureAlexandrite(this.getIconString());
|
|
map.setTextureEntry(this.getIconString(), gemTexture);
|
|
this.itemIcon = gemTexture;
|
|
} else {
|
|
this.itemIcon = register.registerIcon(this.getIconString());
|
|
}
|
|
}
|
|
|
|
@SideOnly(Side.CLIENT)
|
|
public class TextureAlexandrite extends TextureAtlasSprite {
|
|
|
|
protected TextureAlexandrite(String texture) {
|
|
super(texture);
|
|
}
|
|
|
|
private int lastLight = 0;
|
|
|
|
@Override
|
|
public void updateAnimation() {
|
|
|
|
if(Minecraft.getMinecraft().theWorld == null)
|
|
return;
|
|
|
|
EntityPlayer player = MainRegistry.proxy.me();
|
|
|
|
if(player == null)
|
|
return;
|
|
|
|
int x = (int) Math.floor(player.posX);
|
|
int y = (int) Math.floor(player.posY);
|
|
int z = (int) Math.floor(player.posZ);
|
|
|
|
int light = player.worldObj.getSavedLightValue(EnumSkyBlock.Block, x, y, z);
|
|
|
|
if(light != lastLight) {
|
|
lastLight = light;
|
|
|
|
this.frameCounter = light;
|
|
TextureUtil.uploadTextureMipmap((int[][]) this.framesTextureData.get(this.frameCounter), this.width, this.height, this.originX, this.originY, false, false);
|
|
}
|
|
}
|
|
}
|
|
}
|