{% extends 'base.html' %} {% load static %} {% load markdown %} {% block title %}{{ project.title }} - Packs Site{% endblock %} {% block content %}
{% if project.thumbnail %} {{ project.title }} {% else %}
{{ project.title|first|upper }}
{% endif %}

{{ project.title }}

{{ project.get_category_display }} {% if mods_manifest %} {% if mods_manifest.minecraft %}{{ mods_manifest.minecraft }}{% endif %} {% for loader in mods_manifest.modloaders %}{{ loader }}{% endfor %} {{ mods_manifest.totals.total }} mods {% endif %} {% if mod_manifest %} {% for loader in mod_loaders %}{{ loader }}{% endfor %} {% if mod_count %}{{ mod_count }} mods{% endif %} {% endif %} #{{ project.pk }}
{% if project.summary %}

{{ project.summary }}

{% endif %}
{{ project.owner.username }} {{ project.downloads }} {{ versions|length }} version{{ versions|length|pluralize }}
{% if can_edit %}
New version Add media Edit {% if request.user == project.owner %} Contributors {% endif %}
{% endif %}
{% if tags %}
{% regroup tags by tag.category as tag_groups %} {% for group in tag_groups %}
{{ group.grouper.name }} {% for link in group.list %} {{ link.tag.name }} {% endfor %}
{% endfor %}
{% endif %}
{% if animation_manifest %}{% endif %} {% if models_manifest %}{% endif %} {% if logical_manifest %}{% endif %} {% if mods_manifest %}{% endif %} {% if plugins_manifest %}{% endif %} {% if skins_manifest %}{% endif %} {% if mod_manifest %}{% endif %}
{% if project.category == 'guide' %}
{% if guide_docs %}
{% for doc in guide_docs %} {% endfor %}

Loading…

{% else %}

No guide documents uploaded yet.

{% endif %}
{% elif project.description %}
{{ project.description|markdown }}
{% else %}

No description yet.

{% endif %}

Versions

{% for version in versions %}
{{ version.version_name }} {% if forloop.first %}latest{% endif %} {% if version.pack_format %}pack format {{ version.pack_format }}{% endif %}
{{ version.created_at|date:"M j, Y" }} {{ version.downloads }}
{% if version.pack_description %}

{{ version.pack_description }}

{% endif %} {% if version.changelog %}
{{ version.changelog|markdown }}
{% endif %}
{% for vf in version.files.all %}
{% if vf.is_png %} {{ vf.filename }} {% elif vf.is_markdown %} {% else %} {% endif %} {{ vf.filename }}
{% endfor %}
{% empty %}

No versions yet.

{% endfor %}
{% if animation_manifest %}

Animations

{% if animation_manifest.name %}

{{ animation_manifest.name }} {% if animation_manifest.version %}v{{ animation_manifest.version }}{% endif %}

{% endif %}

by {% for author in animation_manifest.authors %}{{ author }}{% if not forloop.last %}, {% endif %}{% empty %}{{ project.owner.username }}{% endfor %}

{% if animation_manifest.description %}

{{ animation_manifest.description }}

{% endif %} {% if not animation_manifest.animation_id %}

This pack has no animationframework.id — it can't be reached through the update-check API.

{% endif %}
{% if anim_stats %}
{{ anim_stats.total }} animations {{ anim_stats.player }} Player × Player {{ anim_stats.entity }} Entity × Player {{ anim_stats.solo }} solo {% if anim_stats.flagged %}{{ anim_stats.flagged }} flagged ⚠{% endif %} {{ anim_stats.tags|length }} tags
{% endif %}
{% for anim in animation_manifest.animations %}
{{ anim.name }} {{ anim.type }} {% if anim.problem_tags %} {% endif %}
{% for tag in anim.content_tags %} {{ tag }} {% endfor %} {% for tag in anim.animation_tags %} {{ tag }} {% endfor %}
{% for actor in anim.actors %} {% if actor.entity == 'player' %} Player {% else %} {{ actor.entity }} {% endif %} {% if actor.gender %}{% if actor.gender == 'male' %} ♂{% elif actor.gender == 'female' %} ♀{% endif %}{% endif %} {% if actor.activity %}· {{ actor.activity }}{% endif %} {% if actor.injector %} {% if actor.injector == 'injector' %}injector{% else %}{{ actor.injector_name }} ({{ actor.injector }}){% endif %} {% endif %} {% if actor.receiver %}· receiver{% endif %} {% endfor %}
{{ anim.stages|length }} stage{{ anim.stages|length|pluralize }} {% for s in anim.stages %} {% if s.climax %}{% endif %}{{ s.stage }}{% if s.loop %}↻{% endif %}{% if s.cycle_seconds %} {{ s.cycle_seconds }}s{% endif %} {% endfor %}
{% if anim.weight or anim.block_requirements or anim.water %}
{% if anim.weight %}weight {{ anim.weight }}{% endif %} {% if anim.block_requirements %} requires block support{% endif %} {% if anim.water %} water{% endif %}
{% endif %}
{% endfor %}
{% endif %} {% if models_manifest %}

Models & Textures

{% for model in models_manifest.models %}
{{ model.name }} {% if model.ext == '.bbmodel' or model.ext == '.geo.json' or model.ext == '.jem' %} {% else %} Incompatible {% endif %}

{% if model.ext %}{{ model.ext }}{% endif %} {% if model.has_embedded_texture %}textures embedded{% endif %} {{ model.bones }} bones · {{ model.cubes }} cubes

{% for member in model.textures %} {{ member }} {% empty %} No textures {% endfor %}
{% endfor %}
{% if models_manifest.textures %}

Pack textures

{% for texture in models_manifest.textures %} {{ texture }} {% endfor %}
{% endif %}
{% endif %} {% if logical_manifest %}

What this pack adds

{% if logical_manifest.items %}

Items ({{ logical_manifest.items|length }})

{% for item in logical_manifest.items %} {% if item.texture %} {% endif %} {{ item.name }} {% endfor %}
{% endif %} {% if logical_manifest.recipes %}

Recipes ({{ logical_manifest.recipes|length }})

{% endif %} {% if logical_manifest.custom_recipes %}

Custom crafting

{% endif %} {% if logical_manifest.advancements %}

Advancements

{% endif %} {% if logical_manifest.functions %}

Functions ({{ logical_manifest.functions|length }}{% if logical_manifest.custom_functions %} + {{ logical_manifest.custom_functions }} custom{% endif %})

{% for f in logical_manifest.functions %}{{ f }}{% endfor %}
{% endif %} {% if logical_manifest.liquid_gains %}

Liquids

{% for l in logical_manifest.liquid_gains %}{{ l }}{% endfor %}
{% endif %} {% if logical_manifest.entity_profiles %}

Entity profiles

{% for e in logical_manifest.entity_profiles %}{{ e }}{% endfor %}
{% endif %} {% if logical_manifest.trinkets %}

Trinkets

{% for t in logical_manifest.trinkets %}{{ t }}{% endfor %}
{% endif %}
{% endif %} {% if mods_manifest %}

Mods

{% if mods_manifest.files %}
{{ mods_manifest.source }} {% if mods_manifest.minecraft %}MC {{ mods_manifest.minecraft }}{% endif %} {% if mods_manifest.modloaders %}{{ mods_manifest.modloaders|join:' / ' }}{% endif %} {{ mods_manifest.totals.total }} mods {% if mods_manifest.totals.required is not None %} {{ mods_manifest.totals.required }} required {{ mods_manifest.totals.optional }} optional {% endif %}
{% else %}

No mods detected in the uploaded pack.

{% endif %}
{% endif %} {% if plugins_manifest %}

Plugins

Caution: this pack contains Blockbench plugins — executable JavaScript that runs in your browser. Plugins can crash Blockbench or run arbitrary code. Only open models from packs you trust.
Hotload this pack's plugins when opening a model
{% endif %} {% if skins_manifest %}

Skins

{% for skin in skins_manifest.skins %}
{{ skin.name }}
{{ skin.name }} {{ skin.width }}x{{ skin.height }}
{% endfor %}
{% endif %} {% if mod_manifest %}

Mod Info

{% if mod_manifest.no_mods %}
No mods found at the root of the uploaded pack. Expected .jar files, or a .zip containing .jar files at its root (subfolders are ignored).
{% endif %} {% for mod in mod_manifest.mods %}
{{ mod.name }} {% if mod.modloader %}{{ mod.modloader }}{% endif %} {% if mod.version %}{{ mod.version }}{% endif %}
{% if mod.id %}

{{ mod.id }}

{% endif %} {% if mod.description %}

{{ mod.description }}

{% endif %}
{% if mod.minecraft %}MC {{ mod.minecraft }}{% endif %} {% if mod.environment %}{{ mod.environment }}{% endif %} {{ mod.file_name }}
{% if mod.dependencies %}
    {% for dep in mod.dependencies %}
  • {{ dep.modId }}{% if dep.versionRange %} {{ dep.versionRange }}{% endif %} ({{ dep.type }})
  • {% endfor %}
{% endif %}
{% empty %} {% if not mod_manifest.no_mods %}

No mod metadata could be read from the uploaded files.

{% endif %} {% endfor %}
{% endif %}

Rating

{% if rating_stats.total %}
{{ rating_stats.percent }}% positive {{ rating_stats.total }} vote{{ rating_stats.total|pluralize }} · {{ rating_stats.positive }} up · {{ rating_stats.negative }} down
{% else %}

No ratings yet — be the first to vote.

{% endif %} {% if can_comment %}
{% csrf_token %}
{% csrf_token %}
{% if user_rating is not None %}
{% csrf_token %}
{% endif %}
{% else %}

Log in to rate this pack.

{% endif %}

Forum

{% if can_comment %}
{% csrf_token %}
{% else %}

Log in to join the discussion.

{% endif %}
{% for comment in comments %}
{{ comment.user.username }} {{ comment.created_at|timesince }} ago {% if comment.updated_at != comment.created_at %}· edited{% endif %} {% if can_comment and comment.user == request.user %} Edit
{% csrf_token %}
{% elif can_comment and request.user.is_staff %}
{% csrf_token %}
{% endif %}
{{ comment.body|markdown }}
{% if can_comment and comment.user == request.user %} {% endif %}
{% empty %}

No comments yet.

{% endfor %}
{% endblock %} {% block extra_js %} {% if models_manifest or skins_manifest %} {% endif %} {% endblock %}