123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134 |
- <?xml version="1.0" encoding="utf-8"?>
- <!--
-
- h t t :: / / t /
- h t t :: // // t //
- h ttttt ttttt ppppp sssss // // y y sssss ttttt //
- hhhh t t p p s // // y y s t //
- h hh t t ppppp sssss // // yyyyy sssss t //
- h h t t p s :: / / y .. s t .. /
- h h t t p sssss :: / / yyyyy .. sssss t .. /
-
- <https://y.st./>
- Copyright © 2015 Alex Yst <mailto:copyright@y.st>
- This program is free software: you can redistribute it and/or modify
- it under the terms of the GNU General Public License as published by
- the Free Software Foundation, either version 3 of the License, or
- (at your option) any later version.
- This program is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- GNU General Public License for more details.
- You should have received a copy of the GNU General Public License
- along with this program. If not, see <https://www.gnu.org./licenses/>.
- -->
- <!DOCTYPE html>
- <html xmlns="http://www.w3.org/1999/xhtml">
- <head>
- <base href="https://y.st./en/weblog/2015/03-March/22.xhtml" />
- <title>The discovery of minetest.register_biome() <https://y.st./en/weblog/2015/03-March/22.xhtml></title>
- <link rel="icon" type="image/png" href="/link/CC_BY-SA_4.0/y.st./icon.png" />
- <link rel="stylesheet" type="text/css" href="/link/basic.css" />
- <link rel="stylesheet" type="text/css" href="/link/site-specific.css" />
- <script type="text/javascript" src="/script/javascript.js" />
- <meta name="viewport" content="width=device-width" />
- </head>
- <body>
- <nav>
- <p>
- <a href="/en/">Home</a> |
- <a href="/en/a/about.xhtml">About</a> |
- <a href="/en/a/contact.xhtml">Contact</a> |
- <a href="/a/canary.txt">Canary</a> |
- <a href="/en/URI_research/"><abbr title="Uniform Resource Identifier">URI</abbr> research</a> |
- <a href="/en/opinion/">Opinions</a> |
- <a href="/en/coursework/">Coursework</a> |
- <a href="/en/law/">Law</a> |
- <a href="/en/a/links.xhtml">Links</a> |
- <a href="/en/weblog/2015/03-March/22.xhtml.asc">{this page}.asc</a>
- </p>
- <hr/>
- <p>
- Weblog index:
- <a href="/en/weblog/"><abbr title="American Standard Code for Information Interchange">ASCII</abbr> calendars</a> |
- <a href="/en/weblog/index_ol_ascending.xhtml">Ascending list</a> |
- <a href="/en/weblog/index_ol_descending.xhtml">Descending list</a>
- </p>
- <hr/>
- <p>
- Jump to entry:
- <a href="/en/weblog/2015/03-March/07.xhtml"><<First</a>
- <a rel="prev" href="/en/weblog/2015/03-March/21.xhtml"><Previous</a>
- <a rel="next" href="/en/weblog/2015/03-March/23.xhtml">Next></a>
- <a href="/en/weblog/latest.xhtml">Latest>></a>
- </p>
- <hr/>
- </nav>
- <header>
- <h1>The discovery of <code>minetest.register_biome()</code></h1>
- <p>Day 00015: Sunday, 2015 March 22</p>
- </header>
- </p>
- Early this morning, I set out to verify that PayPal is still giving me trouble and refusing to allow me to use their service.
- The plan was to hassle Bandcamp about it to try to get them to accept another form of payment.
- However, for some odd reason, PayPal accepted the payment from me.
- However tonight, PayPal has stopped accepting payments from me again, so I cannot buy the second album I was planning on buying.
- I think I will hassle PayPal (instead of Bandcamp) about it.
- I tried to reach PayPal support through their website, but as was the case last time I had issues with PayPal, they hide their contact information in an attempt to make those who would complain go away.
- As before, I've had to <a href="https://twitter.com/YstDomain/status/579870230886895616">take this publicly to Twitter</a> as I can't find another way to reach PayPal support.
- </p>
- </p>
- In any case, I'm now the proud owner of a copy of Marc with a C's album <a href="https://marcwithac.bandcamp.com/album/an-introduction-to-marc-with-a-c">An Introduction To Marc With a C</a>.
- I bought the album to listen to "Love My Little Squiddy", but almost every song on the album is awesome.
- "Drunk Classic Rock Fans" is probably my favorite on the album.
- I hope to get the PayPal situation sorted out in a timely manor though, so I can get "I Will Repossess Your Heart" and the rest of <a href="https://marcwithac.bandcamp.com/album/losing-salt">Losing Salt</a>.
- </p>
- </p>
- I took a look at the output of <abbr title="PHP: Hypertext Preprocessor">PHP</abbr>'s <code>highlight_string()</code> function to see what I could do with it.
- I didn't get far.
- Things looked promising at first, but then I noticed that neither type of quotation mark was being encoded for use on a Web page.
- I thought it would cause substring replacement issues, but now as I type this, I think I realize I was wrong.
- I will again try to tackle the issue tomorrow.
- </p>
- </p>
- After hitting a dead end with <code>highlight_string()</code>, I shut down Eschalot, which had been running on my server, and started up the Minetest server software.
- The current world served is just a test world, and the plan was that it would become corrupted as I slowly twisted minetest_game into minetyst_game.
- Once minetyst_game became presentable, I would delete the served world entirely and start anew with a more permanent world.
- I even added warnings of such in the server description and message of the day.
- However, once I started looking through the minetest_game code to start cleaning it up, I quickly chanced upon a function not listed in the <a href="https://github.com/minetest/minetest/blob/master/doc/lua_api.txt">Minetest <abbr title="application programming interface">API</abbr> documentation</a>: <code>minetest.register_biome()</code>.
- It seems this function defines the biomes for use in the v7 map generator, as well as probably in the v5 map generator.
- Only one biome is defined in minetest_game, but through experimenting, I found I can definitely get a second biome defined.
- The problem, however, is that I have no clue what I'm doing as I have no documentation to work with.
- <code>minetest.register_biome()</code> takes a single argument, a table containing entries labeled with particular keys.
- Most of the functionality of these keys can be figured out by just playing with the function and generating worlds, but <code>y_min</code>, <code>y_max</code>, <code>heat_point</code>, and <code>humidity_point</code> still confuse me.
- I would think that <code>y_min</code> and <code>y_max</code> would define the hight of the biome, but this isn't the case.
- Despite <code>y_min</code> being set to -32000, the biomes only extend down to -32, at which point mapgen_stone takes over.
- <code>heat_point</code> and <code>humidity_point</code> are no doubt used to decide which biomes are placed where, but they are single integers, not ranges, and I have no idea what happens when the heat and humidity noise conflict on what biome should go where.
- For example, I set a desert biome to have higher heat and lower humidity than the default biome.
- So what happens if an area has higher heat and higher humidity? Or lower heat and lower humidity? Which biome is placed there in these cases? In any case, if I can figure out how this function works, I should be able to set the map up to be exactly as I want it.
- All the other tricky biome stuff is easily accomplished using <code>minetest.register_decoration()</code>.
- </p>
- </p>
- PayPal is giving me grief, but the <abbr title="National Security Agency">NSA</abbr> and <abbr title="Federal Bureau of Investigation">FBI</abbr> currently aren't.
- My <a href="/a/canary.txt">canary</a> still sings and I may still speak freely today.
- </p>
- <hr/>
- <p>
- Copyright © 2015 Alex Yst;
- You may modify and/or redistribute this document under the terms of the <a rel="license" href="/license/gpl-3.0-standalone.xhtml"><abbr title="GNU's Not Unix">GNU</abbr> <abbr title="General Public License version Three or later">GPLv3+</abbr></a>.
- If for some reason you would prefer to modify and/or distribute this document under other free copyleft terms, please ask me via email.
- My address is in the source comments near the top of this document.
- This license also applies to embedded content such as images.
- For more information on that, see <a href="/en/a/licensing.xhtml">licensing</a>.
- </p>
- <p>
- <abbr title="World Wide Web Consortium">W3C</abbr> standards are important.
- This document conforms to the <a href="https://validator.w3.org./nu/?doc=https%3A%2F%2Fy.st.%2Fen%2Fweblog%2F2015%2F03-March%2F22.xhtml"><abbr title="Extensible Hypertext Markup Language">XHTML</abbr> 5.1</a> specification and uses style sheets that conform to the <a href="http://jigsaw.w3.org./css-validator/validator?uri=https%3A%2F%2Fy.st.%2Fen%2Fweblog%2F2015%2F03-March%2F22.xhtml"><abbr title="Cascading Style Sheets">CSS</abbr>3</a> specification.
- </p>
- </body>
- </html>
|