Skip to content
FavoritoHJS edited this page Nov 2, 2023 · 5 revisions

Creating custom models to use in Not Awesome 2

STEP ONE: The editor

You will use BlockBench to create/edit your model. You can find BlockBench here: https://blockbench.net/

If you want to create a model from scratch, use "generic model" type (called "free model" in older versions of blockbench). However, it is recommended to start with one of the templates found below.

STEP TWO: Get the human model templates

These templates give you a starting point using the correct type of blockbench project (generic model), as well as an example of player models. You can download them here: https://dl.dropbox.com/s/c8gdw0y7mtaolrr/customModelTemplates.zip It's a zip file, so extract it to get what's inside. There's three different types of human models:

  • human with 64x32 skin resolution and thick arm (like Steve)
  • human with 64x64 skin resolution and thick arm (like Steve, but more layers and unique left arm/leg)
  • human with 64x64 skin resolution and thin arm (Like Alex)

It is highly recommended to use 64x64THICKarm as a base if you're making a human model edit, because if you keep the parts named correctly (the bits with "human" in the name, and "layer" in the name), it will automatically work with all skin types!

The .zip file also comes with a matching skin for each human model. They are just examples to view using blockbench, but in-game you can apply whatever skin you want by changing your ClassiCube account skin or using /skin [url of .png file]

Important: "mesh" type of object in models DOES NOT work. You must only use "cube" type. See the bottom of the guide for more disallowed features.

STEP THREE: Upload your model to Not Awesome 2

Once you're happy with your model in BlockBench, save it. DO NOT EXPORT IT! Exporting won't work! You must save your project to get a .bbmodel file. If BlockBench asks you to save the skin .png file, save that somewhere, then you will be able to save your .bbmodel too.

This step assumes you are using dropbox. After installing dropbox, put your .bbmodel file into one of your dropbox folders. Now go to https://www.dropbox.com/home (login if you haven't), and use the search bar to find the name of your file. After locating your file, hover over it and click the Share button on the right. Then click the "create link" text on the bottom right of the popup. Then click "copy link" to put it into your clipboard.

Then in-game, use /cm upload [yourname]+ [ctrl + v to paste url of .bbmodel here]

For example: /cm upload goodly+ https://www.dropbox.com/s/lkjig2uk5h1ir3n/64x64skinTHICKarm.bbmodel?dl=0

You can also use a service like put.nu or catbox.moe. Anything that allows you to get a DIRECT link to the .bbmodel file (so, it has to end with .bbmodel) will also work.

After you've uploaded your model, you can wear your model in-game by using /model [yourname]+. For example, if your name is goodlyay, you should use /model goodlyay+ That's it for the basics! Continue reading to understand more about editing your model.

INFORMATION PART 1: Animations and cube properties

The cubes in your model will animate based on the name of the cubes in BlockBench. Here is a list of all of the "key names" that make the cube animate in various ways. You can have up to 4 animation key names on any given cube.

<name>:<a>|<b>|<c>|<d>,<name>,...
pistonxvelocity:10|2|0.5|1
name a b c d
head
Makes the cube rotate like a head does
head<x/y/z>
Select a different axis to move head up and down on
[left/right]arm
animates the way player's left/right arm does
Example: rightarm
[left/right]arm[x/z]<x/y/z>
Move like an arm do
Example: rightarmxy
[left/right]leg
animates the way player's left/right leg does
Example: leftleg
[left/right]leg<x/y/z>
Move like a leg do
spin[x/y/z]<velocity>
Makes the cube spin in one direction on an axis
speed (1) shift cycle (0)
[sin/cos][x/y/z]<velocity>
Rotates on an axis using sin/cos
speed (1) width (1) shift cycle (0) shift rotation (0)
piston[x/y/z]<velocity>
Move the cube along the spatial axis
speed (1) width (1) shift cycle (0) shift pos (0)
[left/right]idle
Act like left/right arm but without swinging when walking
pulsate<x/y/z><velocity>
Grow and shrink over and over
speed (1) width (1) shift cycle (0) shift start (0)
flip[x/y/z]<velocity>
Rotate in one direction, and jump back to 0 once max value is reached
speed (1) width (1) shift cycle (0) max value (1)
fliptranslate[x/y/z]<velocity>
Like flip but move in 3D space
speed (1) width (1) shift cycle (0) max value (1)
flipsize[x/y/z]<velocity>
Like flip but resize the box
speed (1) width (1) shift cycle (0) max value (1)

Non-animation properties

name desc
hand make this cube appear in first-person mode
fullbright ignore lighting

Special skin properties

These properties will allow any skin type (steve, steve layers, alex) to be used with a model.

For example if you name all your layer parts with "layer" then these parts will get removed if someone uses a basic/no-layer "steve" skin with your model.

Another example is if you're making a steve-sized model and want it to work on alex (thin-arms) skins then you can label your arms and legs "humanleftarm", "humanrightarm", "humanleftleg", "humanrightleg" and the plugin will convert the arm and leg sizes for you.

It's a good idea to create steve-sized models with layers so that the converter will work with any of the 3 skin types.

name desc
human[left/right]arm steve/steve-layers -> alex
human[left/right]leg steve/steve-layers -> alex
layer steve-layers/alex -> steve

Conclusion

You can combine any key name with another by putting both key names together separated with a comma. For example: hand,rightarm.

You can also add your own names that are just for organization purposes, provided you properly separate them with commas. Consider a cube named "rightarm,layer,hand". "rightarm" gives it a right-arm type of animation, and "hand" tells the game to make this cube appear when you're in first-person view. "layer" doesn't do anything. It's here for our convenience and to identify which cube this is.

A note about the spin animations. You can change the "1" to be a bigger or smaller number to change its speed. Negative numbers also work (goes backwards).

INFORMATION PART 2: Pivot points

The way a cube animates and rotates is based on the pivot point it has. Every cube has one.

If you want arms to rotate properly, you should make sure all the parts of the arm have the same pivot at the middle of the shoulder. If you want legs to rotate properly, you should make sure all the parts of the leg have the same pivot at the top-center of the leg.

If you want your head to pivot properly, you should make sure the pivot is set to the bottom-center of the head. If you have other parts that are "attached" to the head, you need to make sure that all of those parts have the exact same pivot, otherwise they will separate when you move in-game.

PIVOTS CAN GET TRICKY! The "move" tool in BlockBench AUTOMATICALLY moves the pivot as well, which is a common cause of wrongly-placed pivots. If you want to move or fix the pivot without moving the rest of the model, you should use the pivot tool, which has a crosshair icon.

INFORMATION PART 3: Things that work in BlockBench that WON'T actually work in ClassiCube

Because BlockBench is first and foremost a Minecraft tool, there are quite a few features in it that aren't supported in ClassiCube.

  • Any format other than "generic model" DOES NOT work.
  • The "mesh" model piece type (as opposed to cube) DOES NOT work.
  • The "Animate" tab on the top right DOES NOT work.
  • Selecting a "group" folder to rotate multiple parts or change pivots DOES NOT work.
    • As a general rule; don't select groups to do an action on multiple parts. You should instead hold ctrl and click to select each cube you want to change, then do the action.
  • Multiple different textures DOES NOT work.
    • This means that the option to set a face to "transparent" does not work because it relies on using a separate blank texture!
    • Instead, you should drag the face to an empty area in your skin to make that face invisible.
  • UV rotation DOES NOT work. (UV describes how the texture is applied to the face of a cube).
    • You can, however, mirror the UV by changing the size of the UV to negative numbers.
    • It is noteworthy that by default, the "top" face of a cube has a negative value for both width and height. The "bottom" face of a cube has a negative value for just width.