# OLD CODE
## ***Not recommended***
The old code is not recommended for use as the new transform method is much easier to use and the new api is a lot better which includes registering shapeshifts but in the old code you cannot do that.

## Shapetester

### Things to know
Most of the animations are messed up so some of the creatures may glitch out or have wrong animations, this is a WIP mod.

### Shape-shift stone
Allows the player to open the shape-shift menu when left-clicking with this item and can only be used 10 times before breaking in survival.
No privileges are required for this tool.

### Shape-shift computer
Allows the player to open the technical shape-shift menu when left-clicking with this item
No privileges are required for this tool.

### Shape-shift menu
The Shape-shift menu is a small GUI with a plethora of labeled buttons which you can click on to turn into different creatures.

### Shape-shift menu
The Shape-shift menu is a small GUI with a selection of parameters to transform, you can save and load transformations with this tool.

### Commands
#### /shapeshift

This command opens the Shape-shift menu to the command user if they have the correct privileges (server).

#### /model_reset

This command resets the form/model of the command caller if they have the server privilege.

#### /tech_shapeshift

This command opens the technical Shape-shift menu to the command user if they have the correct privileges (server).

### Shapetester supported mobs
Here are all the supported mobs for shapetester:

**Mobs Animal: Bunny, Rat, Kitten, Penguin, Warthog, Panda, Chicken, Cow, Bee**

**Mobs Monster: Spider, Mese monster, Dirt monster, Stone monster, Sand monster, Tree monster, Lava flan, Dungeon master, Land guard, Oerkki, Fire spirit**

**Mob Horse: Horse**

**Shaptester (built-in): Cube**

## API
`shapetester.reset` Resets the model of the chosen player (userdata), example:

```
local name = core.get_player_by_name("bob")
shapetester.reset(name) --Resets the model of the player named bob
```

`shapetester.reset` will only take userdata

`shapetester.sparks` Makes sparks come out of the chosen player, example:

```
local player = core.get_player_by_name("bob") --Get player userdata by name
shapetester.sparks(player) --This will now make sparks come out of the player bob
```

`shapetester.sparks` will only take userdata

`shapetester.show_shapeshift_menu` show the shapeshift menu to the chosen player (name), example:

```
shapetester.show_shapeshift_menu("bob") --This will show the shapeshift menu to the player named bob
```
`shapetester.show_shapeshift_tech_menu(player_name)` will show the technical shapeshift menu to the chosen player (name) example:

```
shapetester.show_shapeshift_tech_menu("bob") --This will show the technical shapeshift menu to the player named bob
```

`shapetester.reset_hand` will reset the hand of the chosen player (name), example:

```
local name = core.get_player_by_name("bob")
shapetester.resethand(name) --This will reset the hand of the player named bob
```

## Depends
This mod depends on:

    player_api

    mobs_animal

    mobs_monster

    default

    hands

This mod does not have any optional dependencies.

## Languages
Shapetester supports many different languages:

**English**

**German**

**Spanish**

**Russian**

**French**

**Turkish**