- 435
- 1
Привет всем! Появился вопрос - значит я добавил новой информации игроку по этому туториалу http://www.minecraftforum.net/forums/mapping-and-modding/mapping-and-modding-tutorials/1571567-forge-1-6-4-1-8-eventhandler-and
Теперь проблема в том как ловить нужные переменные из игрока во время его рендера и рендерить дополнительные "детали". Использую кастомный RenderPlayer где в renderSpecials часть кода выглядит так:
в итоге если например посметреть на двух игроков (левый - изменен, правый - стандартный) получается такой бред:
Левый игрок должен рендерить только голову и руку, а правый обычного стива и руку.
Теперь вопрос - как лечить?
[merge_posts_bbcode]Добавлено: 11.02.2015 16:01:08[/merge_posts_bbcode]
Как я понял и чекнул - AbstractClientPlayer во время рендера работает для всех игроков которых рендерит. Тогда вопрос - как получить
для каждого игрока по отдельности?
Теперь проблема в том как ловить нужные переменные из игрока во время его рендера и рендерить дополнительные "детали". Использую кастомный RenderPlayer где в renderSpecials часть кода выглядит так:
Код:
protected void renderSpecials(AbstractClientPlayer par1AbstractClientPlayer, float par2)
{
ExtendedPlayer props = ExtendedPlayer.get(par1AbstractClientPlayer);
race = props.getRaceType();
head = props.getHeadType();
hair = props.getHairType();
color = props.getHairColorType();
skin = props.getSkinColorType();
......
if(race > 1)
{
steveTextures = new ResourceLocation ("tps", "textures/actors/standartModel/null.png");
GL11.glPushMatrix();
GL11.glEnable(GL11.GL_BLEND);
GL11.glBlendFunc(GL11.GL_SRC_ALPHA, GL11.GL_ONE_MINUS_SRC_ALPHA);
Minecraft.getMinecraft().renderEngine.bindTexture(new ResourceLocation ("tps", "textures/actors/argonian/female/argonianFemaleHead.png"));
modelBipedMain.bipedHead.postRender(0.0625F);
modelArgonianFemaleHead.render(0.0625F);
GL11.glDisable(GL11.GL_BLEND);
GL11.glShadeModel(GL11.GL_SMOOTH);
GL11.glPopMatrix();
}
в итоге если например посметреть на двух игроков (левый - изменен, правый - стандартный) получается такой бред:
Левый игрок должен рендерить только голову и руку, а правый обычного стива и руку.
Теперь вопрос - как лечить?
[merge_posts_bbcode]Добавлено: 11.02.2015 16:01:08[/merge_posts_bbcode]
Как я понял и чекнул - AbstractClientPlayer во время рендера работает для всех игроков которых рендерит. Тогда вопрос - как получить
Код:
ExtendedPlayer props = ExtendedPlayer.get(игрок);
для каждого игрока по отдельности?