Minecraft Blogs / Tutorial

Terra Plugin Tutorial --- Astral Dimension 1

  • 98 views, 2 today
  • 4
  • 3
VickyE2's Avatar VickyE2
Level 1 : New System
2
So actually I've been looking for a way to learn how to make terra packs (custom biomes) and i couldn't find a good enough one so I'm gonna make a blog posting my ideas and made biomes for other people to learn from. feel free to give me ideas and adjustments ToT... I'll be trying to make a dimension like the image I uploaded. I'll start tmao tho kuku i need sleep (5/14/2024)...........
Tags

1 Update Logs

Making you own pack : by VickyE2 05/25/2024 8:49:23 pmMay 25th

So, at first you have to make a pack. It's pretty simple actually. Let me make you understand some basic terms first:

1. "id" the unique identifier of elements in your pack
2. "type" just like the name the type of file it is.
3. "terrain" the noise type or heightmap the floor or base of the biome follows.
4. "noise" if you're familiar with this we will see a lot of this later.
5. "feature" a part of a biome that contains a structure or entity.
6. "palette" an array of blocks.

First make a folder then in that folder make a file called "pack.yml" (it can't be anything else) this file will determine some things your dimension/pack will have. Here's the contents in it:

"Pack.yml"

```
id: YOUR_DIMENSION_NAME_UNIQUE# This is my alpha stage just getting to know features and all
version: 0.0.1-alpha (format x.x.x-alpha/beta(optional))
author: Your_Name #might change these versions...but to make biomes, structures (trees, spikes?) and where to put them you'll need all these.
addons: language-yaml: 1.+
chunk-generator-noise-3d: 1.+
config-noise-function: 1.+
palette-block-shortcut: 1.+
config-biome: 1.+
biome-provider-single: 1.+
config-palette: 1.+
generation-stage-feature: 1.+
config-feature: 1.+
config-locators: 1.+
config-distributors: 1.+#are there other generators?..Idk too lmao
generator: NOISE_3D
#biomes list....biomes:#later on biomes will go here js chill...
```

So now that we have that we wana make our first biome. Create a new folder biomes (this isn't necessary but just for organization) and create a file/another folder for further classification like hot, cold, high, dark?..ect.. and in there create a file "my_biome_name_in_lowercase_or_anything.yml" kukuku....

in the newly created biome file, we(you) wana add some things as a blank script will do...nothing

```
my_biome_name_in_lowercase_or_anything.yml:

id: CRYSTAL_GROVE
type: BIOME
extends: FLAT_HILLS
vanilla: minecraft:ocean

ocean:
palette: "BLOCK:minecraft:water" #must be water.....dont be weird-
level: 319

palette:
- UNDERWATER_SURFACE_REGULAR: 319 #319 is the y coordinate
- BLOCK:minecraft:bedrock: -60 #so is -60

features:
trees:
- CRYSTAL_SHARD

```

aha as I said earlier, the id is the unique identifier no other file can have this, as the type is BIOME as it is a biome, and now you see something.....extends:....I'm sure you're thinking......ofc you are. well the extends simply means it is a child of a biome. that is what the parent has it will also have most times the parents are "abstract",(dont actually generate). as this dimension is an ocean one, the ocean parameter is needed note that level is the ocean level in y coordinates. and now to palette: this defines the ground block the biome will have it must always start from 319, ill explain later... but all you need to know is that a palette will continue downwards till the next one in the list(y coordinate). now let me pull up the parent:

```
"someterrain.yml:"

id: FLAT_HILLS
type: BIOME
abstract: true

# Basic hilly terrain.
terrain:
sampler:
dimensions: 3
type: EXPRESSION
expression:
if(y>100+6*simplex2d(x,z),
simplex2d(x,z)*0+0-y,
2)
samplers:
simplex2d:
type: "DOMAIN_WARP"
amplitude: 400
warp:
type: "OPEN_SIMPLEX_2S"
frequency: 0.005
dimensions: 2
sampler:
type: "OPEN_SIMPLEX_2"
frequency: 0.004

```

this is the parent you should understand everything till the terrain part. the terrain simply states how the land will form. expressions are the best way to do this as they are just math (math isn't THAT easy) equations. to understand this i will pull up this link to a noise tool. Noise TOOL!!!. This tool will help you better visualize your equation. I won't talk much about this but if you want a tutorial on this please tell me (I am lazy)-

A palette looks like this:
```
id: UNDERWATER_SURFACE_REGULAR
type: PALETTE

layers:
- materials:
- minecraft:moss_block: 3 #weight
layers: 1 #movement downward
- materials:
- minecraft:sand: 2
layers: 1
- materials:
- minecraft:dirt: 4
layers: 1
- materials:
- minecraft:tuff: 1
layers: 1
- materials:
- minecraft:tuff: 2
- minecraft:stone: 1
layers: 1
sampler:
type: WHITE_NOISE #just noise to scatter it randomly based on the weight factor
salt: 3921
- materials:
- minecraft:stone: 1
layers: 1



```

layer means how many blocks downwards it moves, the number Infront is the weight. note the last item on the palette continues forever... till the next palette mentioned in the biome.


Now to the feature. any feature you want to be on the surface must be either a tree: or flora: trees being structures and flora plant (like Minecraft graass....touch some). the feature can either be in a .tesf file or a world edit sschem file (i recommend this as it supports custom blocks). to add one just put it in a folder called features and make a file.yml with contents like this:

```
id: CRYSTAL_SHARD
type: FEATURE

distributor:
type: SAMPLER
sampler:
type: POSITIVE_WHITE_NOISE
threshold: 0.03

locator:
type: PATTERN
range:
min: 64
max: 150
pattern:
type: AND
patterns:
- type: MATCH
block: "minecraft:water"
offset: 1
- type: MATCH
block: "minecraft:moss_block"
offset: 0

structures:
distribution:
type: CELLULAR
return: CellValue
frequency: 0.007
structures:
- large_green_glowing_spike: 1

```

Now that structure you see is the schem file put the schem file in another folder in the root called structures (again just organization).

AT the end you should have a file structure like this:

PACK_NAME
|
|____ biomes
| |
| |___abstract
| | |___someterrain.yml
| |
| |___main
| |___my_biome_name_in_lowercase_or_anything.yml
|
|____features
| |
| |___my_feature.yml
|
|____palettes
| |
| |___pallete_a.yml
|
|____structure
|
|___large_green_glowing_spike.schem











And there you have it the basics in the next lesson ill be talking about Indepth biome building and structures. sorry this is coming late I had exams lmao. also a huge thanks to GalaxyCat24, McMeddon and PapaEnny for the diamonds very much appreciated- well have a nice day-

Bdw if you noticed idk how to format code if you do please share my yml indentations are wrong please adjust that ToT(help) XD-

Create an account or sign in to comment.

Planet Minecraft

Website

© 2010 - 2024
www.planetminecraft.com

Welcome