Как реднерить Entity?

Версия Minecraft
1.7.10
API
Forge
ClientProxy:
        RenderingRegistry.registerEntityRenderingHandler(IEntityCorpse.class, new IRenderCorpse());
IRenderCorpse:
public class IRenderCorpse extends /[I]Тут скорее всего должен стоять просто Render, но, кто знает, кто знает[/I]/RenderLiving {

    private final ResourceLocation textureLocation = new ResourceLocation("chychypaps",
            "textures/mob/corpse/corpse.png");

    public IRenderCorpse() {
        super(new ModelCorpse(), 0.0f);
    }

    @Override
    protected ResourceLocation getEntityTexture(Entity p_110775_1_) {
        return textureLocation;
    }
}
 

sk9zist :l

Исправился
981
18
157
Тут скорее всего должен стоять просто Render
Должен. Стоять вот так:
Java:
public class IRenderCorpse extends RenderLiving
Почему у тебя название метода не переведено?! Entity p_110775_1_
Остальное всё, вроде на первый взгляд - правильно.
 
Последнее редактирование:

jopi

Попрошайка
1,421
30
260
@Sk9zist, название параметра никак не влияет на работу кода в данном случае, а проблема в том что он биндит рендер на рендер, когда нужно по логике
RenderingRegistry.registerEntityRenderingHandler(MyEntityClass.class, new IRenderCorpse());
 
Crashlog:
    at ru.chychypaps.entity.corpse.render.IRenderCorpse.doRender(IRenderCorpse.java:29)

-- Entity being rendered --
Details:
    Entity Type: IrrembleZ.Corpse (ru.chychypaps.entity.corpse.IEntityCorpse)
    Entity ID: 169
    Entity Name: entity.IrrembleZ.Corpse.name
    Entity's Exact location: -743,00, 4,00, 112,19
    Entity's Block location: World: (-743,4,112), Chunk: (at 9,0,0 in -47,7; contains blocks -752,0,112 to -737,255,127), Region: (-2,0; contains chunks -64,0 to -33,31, blocks -1024,0,0 to -513,255,511)
    Entity's Momentum: 0,00, -0,00, 0,00
Stacktrace:
    at net.minecraft.client.renderer.entity.RenderManager.func_147939_a(RenderManager.java:339)
    at net.minecraft.client.renderer.entity.RenderManager.renderEntityStatic(RenderManager.java:278)
    at net.minecraft.client.renderer.entity.RenderManager.renderEntitySimple(RenderManager.java:251)
    at net.minecraft.client.renderer.RenderGlobal.renderEntities(RenderGlobal.java:527)
    at net.minecraft.client.renderer.EntityRenderer.renderWorld(EntityRenderer.java:1300)
    at net.minecraft.client.renderer.EntityRenderer.updateCameraAndRender(EntityRenderer.java:1091)
    at net.minecraft.client.Minecraft.runGameLoop(Minecraft.java:1067)
    at net.minecraft.client.Minecraft.run(Minecraft.java:962)
    at net.minecraft.client.main.Main.main(Main.java:164)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
    at java.lang.reflect.Method.invoke(Unknown Source)
    at net.minecraft.launchwrapper.Launch.launch(Launch.java:135)
    at net.minecraft.launchwrapper.Launch.main(Launch.java:28)
    at net.minecraftforge.gradle.GradleStartCommon.launch(Unknown Source)
    at GradleStart.main(Unknown Source)

-- Renderer details --
Details:
    Assigned renderer: ru.chychypaps.entity.corpse.render.IRenderCorpse@4705ef23
    Location: 1,02,-1,62,2,19 - World: (1,-2,2), Chunk: (at 1,-1,2 in 0,0; contains blocks 0,0,0 to 15,255,15), Region: (0,0; contains chunks 0,0 to 31,31, blocks 0,0,0 to 511,255,511)
    Rotation: 109.6875
    Delta: 0.60404205

-- Affected level --
Details:
    Level name: MpServer
    All players: 1 total; [EntityClientPlayerMP['Player569'/255, l='MpServer', x=-744,02, y=5,62, z=110,00]]
    Chunk stats: MultiplayerChunkCache: 10, 10
    Level seed: 0
    Level generator: ID 01 - flat, ver 0. Features enabled: false
    Level generator options:
    Level spawn location: World: (-793,4,152), Chunk: (at 7,0,8 in -50,9; contains blocks -800,0,144 to -785,255,159), Region: (-2,0; contains chunks -64,0 to -33,31, blocks -1024,0,0 to -513,255,511)
    Level time: 6827 game time, 6827 day time
    Level dimension: 0
    Level storage version: 0x00000 - Unknown?
    Level weather: Rain time: 0 (now: false), thunder time: 0 (now: false)
    Level game mode: Game mode: creative (ID 1). Hardcore: false. Cheats: false
    Forced entities: 16 total; [EntityHorse['Horse'/161, l='MpServer', x=-736,54, y=4,00, z=110,34], EntityHorse['Horse'/162, l='MpServer', x=-749,38, y=4,00, z=106,84], EntityHorse['Horse'/163, l='MpServer', x=-742,77, y=4,00, z=106,20], EntityClientPlayerMP['Player569'/255, l='MpServer', x=-744,02, y=5,62, z=110,00], IEntityCorpse['entity.IrrembleZ.Corpse.name'/164, l='MpServer', x=-744,88, y=4,00, z=103,00], EntityChicken['Chicken'/165, l='MpServer', x=-741,38, y=4,00, z=109,44], IEntityCorpse['entity.IrrembleZ.Corpse.name'/166, l='MpServer', x=-748,66, y=4,00, z=109,78], EntitySlime['Slime'/167, l='MpServer', x=-742,68, y=4,00, z=109,88], EntitySlime['Slime'/168, l='MpServer', x=-741,23, y=4,00, z=110,12], IEntityCorpse['entity.IrrembleZ.Corpse.name'/169, l='MpServer', x=-743,00, y=4,00, z=112,19], EntityChicken['Chicken'/170, l='MpServer', x=-746,63, y=4,00, z=124,56], EntityHorse['Horse'/179, l='MpServer', x=-730,81, y=4,00, z=93,00], EntityChicken['Chicken'/180, l='MpServer', x=-729,44, y=4,00, z=127,56], EntitySlime['Slime'/148, l='MpServer', x=-753,54, y=4,00, z=87,49], EntityItem['item.tile.cloth.white'/149, l='MpServer', x=-763,13, y=4,13, z=107,88], EntityChicken['Chicken'/150, l='MpServer', x=-753,47, y=4,00, z=110,53]]
    Retry entities: 0 total; []
    Server brand: fml,forge
    Server type: Integrated singleplayer server

-- System Details --
Details:
    Minecraft Version: 1.7.10
    Operating System: Windows 10 (amd64) version 10.0
    Java Version: 1.8.0_201, Oracle Corporation
    Java VM Version: Java HotSpot(TM) 64-Bit Server VM (mixed mode), Oracle Corporation
    Memory: 896033480 bytes (854 MB) / 1038876672 bytes (990 MB) up to 1038876672 bytes (990 MB)
    JVM Flags: 3 total; -Xincgc -Xmx1024M -Xms1024M
    AABB Pool Size: 0 (0 bytes; 0 MB) allocated, 0 (0 bytes; 0 MB) used
    IntCache: cache: 0, tcache: 0, allocated: 0, tallocated: 0
    FML: MCP v9.05 FML v7.10.99.99 Minecraft Forge 10.13.4.1558 4 mods loaded, 4 mods active
    States: 'U' = Unloaded 'L' = Loaded 'C' = Constructed 'H' = Pre-initialized 'I' = Initialized 'J' = Post-initialized 'A' = Available 'D' = Disabled 'E' = Errored
    UCHIJAAAA    mcp{9.05} [Minecraft Coder Pack] (minecraft.jar)
    UCHIJAAAA    FML{7.10.99.99} [Forge Mod Loader] (forgeSrc-1.7.10-10.13.4.1558-1.7.10.jar)
    UCHIJAAAA    Forge{10.13.4.1558} [Minecraft Forge] (forgeSrc-1.7.10-10.13.4.1558-1.7.10.jar)
    UCHIJAAAA    IrrembleZ{1} [IrrembleZ] (bin)
    GL info: ' Vendor: 'Intel' Version: '4.0.0 - Build 10.18.10.4358' Renderer: 'Intel(R) HD Graphics 4000'
    Launched Version: 1.7.10
    LWJGL: 2.9.1
    OpenGL: Intel(R) HD Graphics 4000 GL version 4.0.0 - Build 10.18.10.4358, Intel
    GL Caps: Using GL 1.3 multitexturing.
Using framebuffer objects because OpenGL 3.0 is supported and separate blending is supported.
Anisotropic filtering is supported and maximum anisotropy is 16.
Shaders are available because OpenGL 2.1 is supported.

    Is Modded: Definitely; Client brand changed to 'fml,forge'
    Type: Client (map_client.txt)
    Resource Packs: []
    Current Language: English (US)
    Profiler Position: N/A (disabled)
    Vec3 Pool Size: 0 (0 bytes; 0 MB) allocated, 0 (0 bytes; 0 MB) used
    Anisotropic Filtering: On (8)
[07:28:00] [Client thread/INFO] [STDOUT]: [net.minecraft.client.Minecraft:displayCrashReport:398]: #@!@# Game crashed! Crash report saved to:
IRenderCorpse:
public class IRenderCorpse extends RenderLiving {

    private static ModelBase corpse = new ModelSupplyDrop();
    private final ResourceLocation textureLocation = new ResourceLocation("chychypaps",
            "textures/mob/corpse/supplydrop.png");

    public IRenderCorpse() {
        super(corpse, 0);
    }

    @Override
    protected ResourceLocation getEntityTexture(Entity entity) {
        return textureLocation;
    }
    
    @Override
    public void doRender(Entity p_76986_1_, double p_76986_2_, double p_76986_4_, double p_76986_6_, float p_76986_8_,
            float p_76986_9_) {
    /[I]А чо[/I]/    this.doRender((IEntityCorpse) p_76986_1_, p_76986_2_, p_76986_4_, p_76986_6_, p_76986_8_, p_76986_9_);
    }

}
Вообще, я рендерю Entity, а не EntityLiving или EntityCreature, поэтому рендерить надо как-то по другому, но вот как, я не совсем понимаю
 
А, ну если ты рендеришь какой-нибудь итемстак, стрелу (маловероятно) или тайлэнтити
Вот зачем ты это несешь? К чему это? Я написал, что рендерю энтити, именно энтити, не что-то другое
А зачем по-другому?
ПОТОМУ ЧТО МНЕ НУЖНО РЕНДЕРИТЬ ЭНТИТИ, ПОНИМАЕШЬ
 

sk9zist :l

Исправился
981
18
157
Так, еще раз. Какого энтити ты хочешь рендерить?

public void doRender(Entity p_76986_1_, double p_76986_2_, double p_76986_4_, double p_76986_6_, float p_76986_8_, float p_76986_9_) { /А чо/ this.doRender((IEntityCorpse) p_76986_1_, p_76986_2_, p_76986_4_, p_76986_6_, p_76986_8_, p_76986_9_);
Зачем ты этот же метод в методе вызываешь?

Тебе надо сделать примерно вот такой метод в начале тогда:
Java:
public void doRenderEntity(Entity p_76986_1_, double p_76986_2_, double p_76986_4_, double p_76986_6_, float p_76986_8_, float p_76986_9_)
{

GL11.glPushMatrix();
GL11.glTranslatef(0.1F, 0.3F, 0.1F);
GL11.glScalef(2.8F, 2.8F, 2.8F);
GL11.glRotatef(-180F + 45F, 0, 1, 0);
GL11.glPopMatrix();
Minecraft.getMinecraft().renderEngine.bindTexture(ProxyClient.black);
GL11.glCallList(ProxyClient.getRenderAll("crist0"));
GL11.glPopMatrix();
}

И уже его вызывать в doRender.

Вот еще небольшая справка:
Для EntityThrowable и т.д - extends Render
Для энтити - extends RenderLiving
Для моба - extends EntityMob

А вообще, можешь сначала сделать простого моба: Тык
 
Сверху