godot_voxel/doc/classes/VoxelStreamRegionFiles.xml
2021-05-31 17:23:29 +01:00

50 lines
1.9 KiB
XML

<?xml version="1.0" encoding="UTF-8" ?>
<class name="VoxelStreamRegionFiles" inherits="VoxelStream" version="3.4">
<brief_description>
Loads and saves blocks to region files indexed by world position, under a directory.
</brief_description>
<description>
Loads and saves blocks to the filesystem, in multiple region files indexed by world position, under a directory. Regions pack many blocks together, so it reduces file switching and improves performance. Inspired by [url=https://www.seedofandromeda.com/blogs/1-creating-a-region-file-system-for-a-voxel-game]Seed of Andromeda[/url] and Minecraft.
Region files are not thread-safe. Because of this, internal mutexing may often constrain the use by one thread only.
</description>
<tutorials>
</tutorials>
<methods>
<method name="convert_files">
<return type="void">
</return>
<argument index="0" name="new_settings" type="Dictionary">
</argument>
<description>
</description>
</method>
<method name="get_block_size_po2" qualifiers="const">
<return type="int">
</return>
<description>
</description>
</method>
<method name="get_region_size" qualifiers="const">
<return type="Vector3">
</return>
<description>
</description>
</method>
</methods>
<members>
<member name="block_size_po2" type="int" setter="set_block_size_po2" getter="get_region_size_po2" default="4">
</member>
<member name="directory" type="String" setter="set_directory" getter="get_directory" default="&quot;&quot;">
Directory under which the data is saved.
</member>
<member name="lod_count" type="int" setter="set_lod_count" getter="get_lod_count" default="1">
</member>
<member name="region_size_po2" type="int" setter="set_region_size_po2" getter="get_region_size_po2" default="4">
</member>
<member name="sector_size" type="int" setter="set_sector_size" getter="get_sector_size" default="512">
</member>
</members>
<constants>
</constants>
</class>