跳到正文

L-Tree API

作者:kelvin285

A tree generation API using L-Systems

收藏

截图

介绍

中文介绍正在准备中,下面暂时显示原文。

The sole purpose of this mod is to provide an easy to use tree generator for mod developers without having to add any new blocks or items into the game.

To create a tree, just create a new LTree object, and run the “placeInWorld” function.  There is also code for a testing environment for the trees in the sources of the project, which was made so you don’t have to load up a new Minecraft world and search for a tree to see what it looks like when generated each time you make a new tree design or modify an existing tree.

 –Fun fact: the mod’s curseforge icon is a picture of a tree generated by L-Tree API that I copied into a pixel art program and added extra detail to (shading, and a background)

Creating L-Tree Functions

All of the generation code for L-Trees comes in the form of “functions” represented as an array of strings.

Each string in the array has a different purpose, and each of them work together to create large and complex trees, flowers, vines, etc.

 

Tree creation hint: setting the leaf scale to 0 makes it so that no leaves generate on the tree.

 

The different string functions are:

– place (places a block)

– rotnorth, roteast, rotsouth, and rotwest (rotates the current section of the tree 30 degrees towards the respective direction.  EX: rotnorth rotates the current section 30 degrees north)

– rotrand (rotates the current section of the tree 30 degrees in any random direction)

– splitnorth, spliteast, splitsouth, and splitwest (creates a new branch in the tree and rotates it 30 degrees in the respective direction)

– splitrand (creates a new branch in the tree and rotates it 30 degrees in any random direction)

– ++ and — (increments or decrements the number of iterations left in the tree generation)

– shrink (shrinks the size of the current section of the tree by 30%)

– grow (increases the size of the current section of the tree by 30%)

– < and > (put these after a function with no spaces, and include a number between 0 and 100 to determine how likely a certain part of the tree is to generate out of a percent of 100)

– # (place this before a function to make it so it only executes on the main branch of the tree).  Example {“#rotrand”, “place, “place”, “splitrand”, “#splitrand”}

– end (ends the current branch of the tree.  Good for making trees that look like they’re chopped down.

– angle (changes the rotation of the current section of the tree). Example: “angle:45” <- changes the rotation angle to 45 degrees.

– flip (turns the current section of the tree around 180 degrees)

 

Examples of the tree generation being used in one of my other mods:

evergreen tree: {“splitrand”,”splitrand”,”place”,”place”} , tree scale: 1.5, leaf scale: 2.0, leaf iterations: 3, tree iterations: 10

Evergreen Tree

 

massive trees: {“place”,”place”,”place<75″,”rotrand<50″, “splitrand<75″,”place<75”}, tree scale: 2, leaf scale: 5, leaf iterations: 4, tree iterations: 10

massive trees

常见问题

L-Tree API 支持哪些 Minecraft 版本?

L-Tree API 支持 Minecraft Java 版 1.14.4,可用的加载器:Forge。下载时注意选择和你游戏版本一致的文件。

L-Tree API 怎么安装?

先用 PCL2 或 HMCL 启动器安装对应版本的 Forge,再把下载的 .jar 文件放进游戏目录的 mods 文件夹,重新启动游戏即可。开启了版本隔离的,mods 文件夹在 versions/版本名 下面。

评论

登录后评论和评分

kelvin285 的其他作品

查看全部 →