- 47
- 4
- 8
Follow along with the video below to see how to install our site as a web app on your home screen.
Примечание: This feature may not be available in some browsers.
Cоветую глянуть моды на 1.7.10(таумкрафт т.к там при высасывания палочкой,не стандартный рендер)Всем привет. Возни вопрос как добиться такого эффекта ?Посмотреть вложение 10009Посмотреть вложение 10010
Я открыл исходный код мода custom npc но в итоге нечего не понял. Может кто дать наводку на тему где уже был раскрыт этот вопрос ибо мои поиски окончились неудачей.
package RKespain.Weapons.Renders;
import org.lwjgl.opengl.GL11;
import net.minecraft.client.Minecraft;
import net.minecraft.client.renderer.ItemRenderer;
import net.minecraft.client.renderer.Tessellator;
import net.minecraft.client.renderer.entity.RenderManager;
import net.minecraft.entity.EntityLiving;
import net.minecraft.item.ItemStack;
import net.minecraft.util.Icon;
import net.minecraftforge.client.IItemRenderer;
public class RenderBow implements IItemRenderer {
private RenderManager renderManager;
private Minecraft mc;
public RenderBow() {
this.renderManager = RenderManager.instance;
this.mc = Minecraft.getMinecraft();
}
public boolean handleRenderType(ItemStack item, IItemRenderer.ItemRenderType type) {
return type == IItemRenderer.ItemRenderType.EQUIPPED || type == IItemRenderer.ItemRenderType.EQUIPPED_FIRST_PERSON;
}
public boolean shouldUseRenderHelper(IItemRenderer.ItemRenderType type, ItemStack item, IItemRenderer.ItemRendererHelper helper) {
return false;
}
public void renderItem(IItemRenderer.ItemRenderType type, ItemStack item, Object ... data) {
EntityLiving entity = (EntityLiving)data[1];
ItemRenderer irInstance = this.mc.entityRenderer.itemRenderer;
GL11.glPopMatrix();
if(type == IItemRenderer.ItemRenderType.EQUIPPED_FIRST_PERSON) {
this.renderItem(entity, item, 0);
} else {
GL11.glPushMatrix();
float f2 = 2.1F;
GL11.glRotatef(-20.0F, 0.0F, 0.0F, 1.0F);
GL11.glRotatef(120.0F, 1.0F, 0.0F, 0.0F);
GL11.glRotatef(-60.0F, 0.0F, 0.0F, 1.0F);
GL11.glScalef(f2, f2, f2);
GL11.glTranslatef(-0.50F, -0.1875F, 0.1875F);
float f3 = 0.625F;
GL11.glTranslatef(0.0F, 0.125F, 0.3125F);
GL11.glRotatef(-20.0F, 0.0F, 1.0F, 0.0F);
GL11.glScalef(f3, -f3, f3);
GL11.glRotatef(-100.0F, 1.0F, 0.0F, 0.0F);
GL11.glRotatef(45.0F, 0.0F, 1.0F, 0.0F);
this.renderItem(entity, item, 0);
GL11.glPopMatrix();
}
GL11.glPushMatrix();
}
private void renderItem(EntityLiving par1EntityLiving, ItemStack par2ItemStack, int par3) {
Icon icon = par1EntityLiving.getItemIcon(par2ItemStack, par3);
if(icon != null) {
if(par2ItemStack.getItemSpriteNumber() == 0) {
this.mc.renderEngine.bindTexture("/terrain.png");
} else {
this.mc.renderEngine.bindTexture("/gui/items.png");
}
Tessellator tessellator = Tessellator.instance;
float f = icon.getMinU();
float f1 = icon.getMaxU();
float f2 = icon.getMinV();
float f3 = icon.getMaxV();
float f4 = 0.0F;
float f5 = 0.3F;
GL11.glEnable('\u803a');
GL11.glTranslatef(-f4, -f5, 0.0F);
float f6 = 2.5F;
GL11.glScalef(f6, f6, f6);
GL11.glRotatef(50.0F, 0.0F, 1.0F, 0.0F);
GL11.glRotatef(335.0F, 0.0F, 0.0F, 1.0F);
GL11.glTranslatef(-0.8375F, -0.3325F, 0.0F);
ItemRenderer.renderItemIn2D(tessellator, f1, f2, f, f3, icon.getSheetWidth(), icon.getSheetHeight(), 0.0625F);
if(par2ItemStack != null && par2ItemStack.hasEffect() && par3 == 0) {
GL11.glDepthFunc(514);
GL11.glDisable(2896);
this.mc.renderEngine.bindTexture("%blur%/misc/glint.png");
GL11.glEnable(3042);
GL11.glBlendFunc(768, 1);
float f7 = 0.76F;
GL11.glColor4f(0.5F * f7, 0.25F * f7, 0.8F * f7, 1.0F);
GL11.glMatrixMode(5890);
GL11.glPushMatrix();
float f8 = 0.125F;
GL11.glScalef(f8, f8, f8);
float f9 = (float)(Minecraft.getSystemTime() % 3000L) / 3000.0F * 8.0F;
GL11.glTranslatef(f9, 0.0F, 0.0F);
GL11.glRotatef(-50.0F, 0.0F, 0.0F, 1.0F);
ItemRenderer.renderItemIn2D(tessellator, 0.0F, 0.0F, 1.0F, 1.0F, 256, 256, 0.0625F);
GL11.glPopMatrix();
GL11.glPushMatrix();
GL11.glScalef(f8, f8, f8);
f9 = (float)(Minecraft.getSystemTime() % 4873L) / 4873.0F * 8.0F;
GL11.glTranslatef(-f9, 0.0F, 0.0F);
GL11.glRotatef(10.0F, 0.0F, 0.0F, 1.0F);
ItemRenderer.renderItemIn2D(tessellator, 0.0F, 0.0F, 1.0F, 1.0F, 256, 256, 0.0625F);
GL11.glPopMatrix();
GL11.glMatrixMode(5888);
GL11.glDisable(3042);
GL11.glEnable(2896);
GL11.glDepthFunc(515);
}
GL11.glDisable('\u803a');
}
}
}