java类net.minecraft.client.renderer.tileentity.TileEntityRendererDispatcher的实例源码

CapeHandler.java 文件源码 项目:Wizardry 阅读 36 收藏 0 点赞 0 评论 0
@SubscribeEvent
public void onPlayerRender(RenderPlayerEvent.Post event) {
    EntityPlayer player = event.getEntityPlayer();
    float delta = event.getPartialRenderTick();

    boolean iWalked = new Vec3d(player.posX, player.posY, player.posZ).distanceTo(new Vec3d(player.prevPosX, player.prevPosY, player.prevPosZ)) > 0.15;

    if (!player.isInvisible() && ((player.getActivePotionEffect(ModPotions.VANISH) != null && iWalked) || player.getActivePotionEffect(ModPotions.VANISH) == null))
        if (delta < 1) { // not rendering in inventory
            double x = -TileEntityRendererDispatcher.staticPlayerX;
            double y = -TileEntityRendererDispatcher.staticPlayerY;
            double z = -TileEntityRendererDispatcher.staticPlayerZ;
            instance().getCape(player).render(player, x, y, z, delta);
        }
}
SignPicRender.java 文件源码 项目:SignPicture 阅读 28 收藏 0 点赞 0 评论 0
@CoreEvent
public void onRender(final @Nonnull RenderWorldLastEvent event) {
    float opacity = Config.getConfig().renderPreviewFixedOpacity.get().floatValue();
    if (CurrentMode.instance.isMode(CurrentMode.Mode.SETPREVIEW)||CurrentMode.instance.isMode(CurrentMode.Mode.PLACE)) {
        Sign.preview.capturePlace();
        opacity = Config.getConfig().renderPreviewFloatedOpacity.get().floatValue();
    }
    if (CurrentMode.instance.isState(CurrentMode.State.PREVIEW))
        if (Sign.preview.isRenderable()&&Sign.preview.isVisible()) {
            final TileEntitySign tile = Sign.preview.getRenderTileEntity();
            Client.renderer.renderSignPictureBase(tile, tile.xCoord-TileEntityRendererDispatcher.staticPlayerX, tile.yCoord-TileEntityRendererDispatcher.staticPlayerY, tile.zCoord-TileEntityRendererDispatcher.staticPlayerZ, event.partialTicks, opacity);
        }
}
ChestMimicRenderer.java 文件源码 项目:Aether-Legacy 阅读 21 收藏 0 点赞 0 评论 0
public void renderTileEntityAt(TileEntityChest te, double x, double y, double z, float partialTicks, int destroyStage)
{
    if (te == null)
    {
        TileEntityRendererDispatcher.instance.renderTileEntityAt(new TileEntityChestMimic(), 0, 0, 0, 0);
        return;
    }

    super.renderTileEntityAt(te, x, y, z, partialTicks, destroyStage);
}
ClientRenderUtils.java 文件源码 项目:InspiringWorld 阅读 20 收藏 0 点赞 0 评论 0
public static Vector3d getRealPositionX(BlockPos pos)
{
    Vector3d vector3d = new Vector3d();
    vector3d.x = pos.getX() - TileEntityRendererDispatcher.staticPlayerX;
    vector3d.y = pos.getY() - TileEntityRendererDispatcher.staticPlayerY;
    vector3d.z = pos.getZ() - TileEntityRendererDispatcher.staticPlayerZ;
    return vector3d;
}
RenderTileEnderChest.java 文件源码 项目:EnderStorage 阅读 18 收藏 0 点赞 0 评论 0
public static void renderChest(int rotation, Frequency freq, double x, double y, double z, int offset, float lidAngle) {
    TileEntityRendererDispatcher info = TileEntityRendererDispatcher.instance;
    CCRenderState ccrs = CCRenderState.instance();
    ccrs.reset();

    renderEndPortal.render(x, y, z, 0, info.entityX, info.entityY, info.entityZ, info.renderEngine);
    GlStateManager.color(1, 1, 1, 1);

    TextureUtils.changeTexture("enderstorage:textures/enderchest.png");
    GlStateManager.pushMatrix();
    GlStateManager.enableRescaleNormal();
    GlStateManager.color(1, 1, 1, 1);
    GlStateManager.translate(x, y + 1.0, z + 1.0F);
    GlStateManager.scale(1.0F, -1F, -1F);
    GlStateManager.translate(0.5F, 0.5F, 0.5F);
    GlStateManager.rotate(rotation * 90, 0.0F, 1.0F, 0.0F);
    GlStateManager.translate(-0.5F, -0.5F, -0.5F);
    model.chestLid.rotateAngleX = lidAngle;
    model.render(freq.hasOwner());
    GlStateManager.popMatrix();

    GlStateManager.pushMatrix();
    GlStateManager.translate(x, y, z);
    renderButtons(freq, rotation, lidAngle);
    GlStateManager.popMatrix();

    double time = ClientUtils.getRenderTime() + offset;
    Matrix4 pearlMat = RenderUtils.getMatrix(new Vector3(x + 0.5, y + 0.2 + lidAngle * -0.5 + RenderUtils.getPearlBob(time), z + 0.5), new Rotation(time / 3, new Vector3(0, 1, 0)), 0.04);

    GlStateManager.disableLighting();
    TextureUtils.changeTexture("enderstorage:textures/hedronmap.png");
    GlStateManager.pushMatrix();

    ccrs.startDrawing(7, DefaultVertexFormats.POSITION_TEX_COLOR_NORMAL);
    CCModelLibrary.icosahedron7.render(ccrs, pearlMat);
    ccrs.draw();
    GlStateManager.popMatrix();
    GlStateManager.enableLighting();
}
RenderTileEnderTank.java 文件源码 项目:EnderStorage 阅读 25 收藏 0 点赞 0 评论 0
public static void renderTank(CCRenderState ccrs, int rotation, float valve, Frequency freq, double x, double y, double z, int offset) {
    ccrs.reset();
    TileEntityRendererDispatcher info = TileEntityRendererDispatcher.instance;
    renderEndPortal.render(x, y, z, 0, info.entityX, info.entityY, info.entityZ, info.renderEngine);
    GlStateManager.color(1, 1, 1, 1);

    GlStateManager.pushMatrix();
    GlStateManager.translate(x + 0.5, y, z + 0.5);
    GlStateManager.rotate(-90 * (rotation + 2), 0, 1, 0);

    TextureUtils.changeTexture("enderstorage:textures/endertank.png");
    ccrs.startDrawing(4, POSITION_TEX_COLOR_NORMAL);
    tankModel.render(ccrs);
    valveModel.render(ccrs, new Rotation(valve, new Vector3(0, 0, 1)).at(new Vector3(0, 0.4165, 0)), new UVTranslation(0, freq.hasOwner() ? 13 / 64D : 0));
    ccrs.draw();

    TextureUtils.changeTexture("enderstorage:textures/buttons.png");
    ccrs.startDrawing(7, POSITION_TEX_COLOR_NORMAL);
    EnumColour[] colours = freq.toArray();
    for (int i = 0; i < 3; i++) {
        buttons[i].render(ccrs, new UVTranslation(0.25 * (colours[i].getWoolMeta() % 4), 0.25 * (colours[i].getWoolMeta() / 4)));
    }
    ccrs.draw();
    GlStateManager.popMatrix();

    double time = ClientUtils.getRenderTime() + offset;
    Matrix4 pearlMat = RenderUtils.getMatrix(new Vector3(x + 0.5, y + 0.45 + RenderUtils.getPearlBob(time) * 2, z + 0.5), new Rotation(time / 3, new Vector3(0, 1, 0)), 0.04);

    GlStateManager.disableLighting();
    TextureUtils.changeTexture("enderstorage:textures/hedronmap.png");
    ccrs.startDrawing(4, POSITION_TEX_COLOR_NORMAL);
    CCModelLibrary.icosahedron4.render(ccrs, pearlMat);
    ccrs.draw();
    GlStateManager.enableLighting();
    ccrs.reset();
}
MultiblockRenderer.java 文件源码 项目:Toms-Mod 阅读 21 收藏 0 点赞 0 评论 0
public static <T extends TileEntity> void registerTESR(Block controller, int id, MultiblockRenderer<T> renderer) {
    if (!TESR_REGISTRY.containsKey(controller)) {
        TESR_REGISTRY.put(controller, new HashMap<>());
    }
    renderer.setRendererDispatcher(TileEntityRendererDispatcher.instance);
    TESR_REGISTRY.get(controller).put(id, renderer);
}
MultiblockRenderer.java 文件源码 项目:Toms-Mod 阅读 24 收藏 0 点赞 0 评论 0
public static void drawNameplate(BlockPos pos, String str, double x, double y, double z, int maxDistance) {
    Entity entity = TileEntityRendererDispatcher.instance.entity;
    double d0 = pos.distanceSq(entity.posX, entity.posY, entity.posZ);

    if (d0 <= maxDistance * maxDistance) {
        float f = TileEntityRendererDispatcher.instance.entityYaw;
        float f1 = TileEntityRendererDispatcher.instance.entityPitch;
        EntityRenderer.drawNameplate(Minecraft.getMinecraft().fontRenderer, str, (float) x + 0.5F, (float) y + 1.5F, (float) z + 0.5F, 0, f, f1, false, false);
    }
}
RenderingRadarHandler.java 文件源码 项目:OpenTechnology 阅读 23 收藏 0 点赞 0 评论 0
@Override
public void renderInventoryBlock(Block block, int metadata, int modelID, RenderBlocks renderer) {
    GL11.glRotatef(-90.0F, 0.0F, 1.0F, 0.0F);
    GL11.glTranslatef(-0.5F, -0.5F, -0.5F);
    if (block == Blocks.radar) {
        TileEntityRendererDispatcher.instance.renderTileEntityAt(new TileEntityRadar(), 0.0D, 0.0D, 0.0D, 0.0F);
        GL11.glEnable(GL12.GL_RESCALE_NORMAL);
    }
}
RenderDimensionSliceEntity.java 文件源码 项目:Factorization 阅读 19 收藏 0 点赞 0 评论 0
void renderDamage(World world, DestroyBlockProgress damage, TextureAtlasSprite[] icons, BlockRendererDispatcher brd, float partial) {
    IBlockState bs = world.getBlockState(damage.getPosition());
    Block block = bs.getBlock();
    if (block.getMaterial() == Material.air) return;
    int dmg = damage.getPartialBlockDamage();
    brd.renderBlockDamage(bs, damage.getPosition(), icons[dmg], world);
    if (block.hasTileEntity(bs)) {
        TileEntity te = world.getTileEntity(damage.getPosition());
        TileEntityRendererDispatcher.instance.renderTileEntity(te, partial, damage.getPartialBlockDamage());
    }
}


问题


面经


文章

微信
公众号

扫码关注公众号