Skip to content

Instantly share code, notes, and snippets.

@calebhsu
Last active October 30, 2015 21:22
Show Gist options
  • Save calebhsu/81641d6cdf013cb7ea3c to your computer and use it in GitHub Desktop.
Save calebhsu/81641d6cdf013cb7ea3c to your computer and use it in GitHub Desktop.
Royal totem head using CraftML tags
<craft>
<info>
<title>Totem Piece Head</title>
</info>
<style>
.base { color: sandybrown; }
.crown { color: goldenrod; }
.eyebrows { color: brown; }
.eyes { color: maroon; }
links { color: goldenrod; }
</style>
<param name="radius" type="int" default="10"></param>
<param name="height" type="int" default="20"></param>
<craft name="flower">
<g>
<sun-layout module="sun-layout" radius="6.25" color="orange">
<repeat n="6">
<heart module="4yS59" t="scale(0.25,0.5,1)"></heart>
</repeat>
</sun-layout>
</g>
</craft>
<craft name="mouth">
<cylinder radius="3" height="20" t="rotateX(90) scale(1 1 0.3)"></cylinder>
</craft>
<craft name="links">
<stack spacing="-1.5" l="alignX(150%)">
<ring module="craft-ring" radius="10" thickness="4" t="scale(0.3 0.2 0.2)"></ring>
<g>
<stack spacing="-1.7">
<alternate-layout module="alternate-layout" axis="z">
<repeat n="5">
<ring radius="8" thickness="4" t="scale(0.2) rotateX(90)"></ring>
</repeat>
</alternate-layout>
</stack>
</g>
</stack>
</craft>
<row spacing="-3.5" l="alignZ(50%)" t="land()">
<links t="mirrorX()"></links>
<g l="centerX() alignZ(40%) alignY(100%) select(cylinder) cut(.hole)">
<stack spacing="-1">
<jewel module="jewel" t="scale(0.3)"></jewel>
<g l="centerXY()" class="crown">
<ring module="craft-ring" radius="10" thickness="1.3" t="rotateX(90) scale(0.9) cropZ(80%)"></ring>
<ring radius="10" thickness="1.3" t="rotateX(90) rotateZ(90) scale(0.9) cropZ(80%)"></ring>
</g>
<cylinder radius="{{radius}}" height="{{height}}" class="base"></cylinder>
</stack>
<!-- Face -->
<stack spacing="1" l="alignY(100%)">
<flower t="rotateX(90) scale(0.2 4 0.2)" class="hole"></flower>
<row t="rotateX(90) scale(1 1 0.3)" spacing="3" class="eyebrows">
<repeat n="2">
<prism sideLength="5" height="3"></prism>
</repeat>
</row>
<row spacing="2" class="eyes">
<cube size="5 3 1"></cube>
<cube size="5 3 1"></cube>
</row>
<g l="centerXZ() alignY(100%)" class="hole">
<row spacing="9">
<alternate-layout module="alternate-layout" axis="z" degrees="140">
<repeat n="2">
<stack spacing="0.5">
<repeat n="3">
<cylinder radius="0.5" height="5" t="rotateX(90) rotateZ(20)"></cylinder>
</repeat>
</stack>
</repeat>
</alternat-layoute>
</row>
<mouth></mouth>
</g>
</stack>
</g>
<links></links>
</row>
</craft>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment