2021.5.29.56 - Minecraft World import support
Hello everyone! I know I said no builds, but I ended up working on a silly thing that was just easier to integrate directly for now - Neos can now directly import Minecraft Worlds! :smile: It even sets them up with culling system (both rendering and assets), so you can import quite large maps.
I'm still playing with this now, so there will be some more updates to it, but it's not a feature that "official" right now, it's just there for you to toy with as well if you'd like, but it'll just be left as is at some point for a while. The source of it is available too though if you'd like to have a look or make contributions!
Also a few small addditions and tweaks (mostly related to this) thrown in!
[previewyoutube][/previewyoutube]
[h2]Silly Features:[/h2]
- Added support for directly importing Minecraft Worlds into Neos
-- In order to import, you need to install Mineways (https://www.realtimerendering.com/erich/minecraft/public/mineways/) either into C:\Program Files\Mineways or under Tools\Mineways in your Neos installation
-- To import, simply import the folder containing your Minecraft world (import the folder containing the level.dat file)
-- Alternatively import on the headless using importMinecraft command
-- Neos will import all chunks with actual block data. For large maps import can take pretty long (dozens of minutes), but you'll be able to interact with the map as chunks of it import
-- Neos will setup and customize all the materials, collisions as well as a culling system which will only load meshes and render chunks within distance around the player to support large maps efficiently
-- For older maps, Neos will setup point light sources for torches (might turn this off if it ends up too heavy). For newer ones this isn't currently supported
-- Importer source code available for reference (and contributions) here: https://github.com/Neos-Metaverse/Minecraft2Neos
-- Please note that this isn't a fully officially supported feature, but something done for fun. Feature requests and bug reports won't likely be fullfilled unless we want to work on them. We might separate this into a separate optional importer plugin in the future.
[h2]New Features:[/h2]
- ContextMenuItemSource now proxies button events as IButton, allowing it to be used with the Button Events LogiX node (based on feedback by @ProbablePrime | Docs, @3x1t_5tyl3, @Kal, @Cyro and others)
- Added "CloseMenuOnPress" to ContextMenuItemSource which will close the context menu when the item is pressed
- Added CloseContextMenu LogiX node (under LogiX/Interaction)
-- You can provide summoner, which will only close the menu if the current summoner is the same one as you provided. This is typically done so you avoid closing context menu when it was opened by something else in the meanwhile
- Added "Force Point Filtering" advanced model import setting, which will use point filtering for all textures on the imported model
-- Note this is mostly for stylistic purposes, do not use this as optimization technique
- Added "No MipMaps" advanced import setting for models, which will disable mipmaps on all textures
-- It's recommended to only use this when really needed for visual style, do not use this as "optimization" unless you really know what you're doing, otherwise you might cause visual artifacts and cause worse performance
- Added "Force Uncompressed" advanced import setting for models, which will set preferred texture format to RawRGBA
-- It's strongly recommended to use this only when really needed, typically for very small textures. Switch textures to alternate compression formats first like LZMA or BC7 variants first before using this option, as it will use significantly more memory (4-8 times more)
[h2]Tweaks:[/h2]
- Neos and CloudX can now detect Matroska (MKV) file types from the header
- Merged Icelanding locale updates and fixes by @Nammi
- Merged German locale additions by @3x1t_5tyl3
[h2]Bugfixes:[/h2]
- Batch importing models now imports them one by one, rather than importing everything at once in one go, causing the background processing to get overloaded and everything to freeze (reported by @Bitman (Neos.js Developer), @Elektrospy, @3x1t_5tyl3, @marsmaantje, @Ian Corvid and others)

I'm still playing with this now, so there will be some more updates to it, but it's not a feature that "official" right now, it's just there for you to toy with as well if you'd like, but it'll just be left as is at some point for a while. The source of it is available too though if you'd like to have a look or make contributions!
Also a few small addditions and tweaks (mostly related to this) thrown in!
[previewyoutube][/previewyoutube]
[h2]Silly Features:[/h2]
- Added support for directly importing Minecraft Worlds into Neos
-- In order to import, you need to install Mineways (https://www.realtimerendering.com/erich/minecraft/public/mineways/) either into C:\Program Files\Mineways or under Tools\Mineways in your Neos installation
-- To import, simply import the folder containing your Minecraft world (import the folder containing the level.dat file)
-- Alternatively import on the headless using importMinecraft command
-- Neos will import all chunks with actual block data. For large maps import can take pretty long (dozens of minutes), but you'll be able to interact with the map as chunks of it import
-- Neos will setup and customize all the materials, collisions as well as a culling system which will only load meshes and render chunks within distance around the player to support large maps efficiently
-- For older maps, Neos will setup point light sources for torches (might turn this off if it ends up too heavy). For newer ones this isn't currently supported
-- Importer source code available for reference (and contributions) here: https://github.com/Neos-Metaverse/Minecraft2Neos
-- Please note that this isn't a fully officially supported feature, but something done for fun. Feature requests and bug reports won't likely be fullfilled unless we want to work on them. We might separate this into a separate optional importer plugin in the future.
[h2]New Features:[/h2]
- ContextMenuItemSource now proxies button events as IButton, allowing it to be used with the Button Events LogiX node (based on feedback by @ProbablePrime | Docs, @3x1t_5tyl3, @Kal, @Cyro and others)
- Added "CloseMenuOnPress" to ContextMenuItemSource which will close the context menu when the item is pressed
- Added CloseContextMenu LogiX node (under LogiX/Interaction)
-- You can provide summoner, which will only close the menu if the current summoner is the same one as you provided. This is typically done so you avoid closing context menu when it was opened by something else in the meanwhile
- Added "Force Point Filtering" advanced model import setting, which will use point filtering for all textures on the imported model
-- Note this is mostly for stylistic purposes, do not use this as optimization technique
- Added "No MipMaps" advanced import setting for models, which will disable mipmaps on all textures
-- It's recommended to only use this when really needed for visual style, do not use this as "optimization" unless you really know what you're doing, otherwise you might cause visual artifacts and cause worse performance
- Added "Force Uncompressed" advanced import setting for models, which will set preferred texture format to RawRGBA
-- It's strongly recommended to use this only when really needed, typically for very small textures. Switch textures to alternate compression formats first like LZMA or BC7 variants first before using this option, as it will use significantly more memory (4-8 times more)
[h2]Tweaks:[/h2]
- Neos and CloudX can now detect Matroska (MKV) file types from the header
- Merged Icelanding locale updates and fixes by @Nammi
- Merged German locale additions by @3x1t_5tyl3
[h2]Bugfixes:[/h2]
- Batch importing models now imports them one by one, rather than importing everything at once in one go, causing the background processing to get overloaded and everything to freeze (reported by @Bitman (Neos.js Developer), @Elektrospy, @3x1t_5tyl3, @marsmaantje, @Ian Corvid and others)


