Coder Social home page Coder Social logo

cubicchunksconverter's People

Contributors

barteks2x avatar damatrix avatar notstirred avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

cubicchunksconverter's Issues

Failed to convert Greenfield v0.5.1 world

In attempt to use converter on Greenfield v0.5.1 world I've got such output:

Exception in thread "Chunk and File counting thread" java.lang.IllegalArgumentException: Invalid name r.76.0.mcr
	at cubicchunks.regionlib.impl.MinecraftChunkLocation.fromRelative(MinecraftChunkLocation.java:102)
	at cubicchunks.converter.lib.AnvilToCubicChunksConverter.lambda$null$6(AnvilToCubicChunksConverter.java:539)
	at cubicchunks.regionlib.region.provider.SimpleRegionProvider.forAllRegions(SimpleRegionProvider.java:106)
	at cubicchunks.regionlib.region.provider.CachedRegionProvider.forAllRegions(CachedRegionProvider.java:119)
	at cubicchunks.regionlib.SaveSection.forAllRegions(SaveSection.java:85)
	at cubicchunks.converter.lib.AnvilToCubicChunksConverter.lambda$startCounting$7(AnvilToCubicChunksConverter.java:536)
	at java.lang.Thread.run(Thread.java:745)```

Relocating

The relocating as mentioned did not work.
Specifying the relocatingConfig.txt with 'move all by 0 16 0' when converting the second 'floor'.

But i found another way.

First i convert the second floor that goes from 256 to 512. Anvil -> Cubic Chunks Default option selected in the menu. Not using the 'move all by 0 16 0' or whatever.
Then i convert the created word to a new world with the Cubic Chunks -> Cubic Chunks (Relocating). Using the 'move all by 0 16 0' in relocatingConfig.txt. In the new create world (second) its moves 16 chunks up. (256 blocks). So, ok.

THEN i take the floor 0 region file, and convert it into the second created world.
THEN they are merged.

Maybe there are other ways, but like mentioned before just overwrites the whole 0-255 range, and doesn't moves anything 16 chunks (256 blocks) up..... I assume its only when option Cubic Chunks -> Cubic Chunks (Relocating) option is selected.

Anyway. Its working....

Block info lost after convertion

After converting my original mc 1.12.2 world to CubicChunks format, I found that all the infos of the blocks are lost. For example, the items in the chest are lost. The infos on the notice boards are lost as well.

Height offset

Hello, my name is Gerard Wensink.

I have the following question.

When converting like a 1.12.2 world into cubic world format, i assume a block on height 0 in 1.12.2 is also on height 0 in cubic format.
Now i have a program adapted for Build The Earth 121, so positions/regions in the map are at BTE format.
You can convert latitude/longitude coordinates into BTE coordinates. My program then rotates and scales voxelized 3d objects into the according BTE region files coordinates.
Now even on a 1 to 1 scale, buildings can get much (also mountains of course) higher than 256 blocks. I only can create region files in the 1.12.2 vanilla format. When higher than 256 or lower than 1, i chop it off, i shrink it. The higher/lower, the more shrinking...

Now i want to convert whole cities, i have downloaded with a javascript tool 3d objects (octants) from Google 3d maps/satellite, and made a voxelizer in c/c++, and then the 3d objects (wavefront .obj/.mtl with textures) are converted directly in the BTE format coordinates. (https://buildtheearth.net/map), on the 1 to 1 scale, meaning 1 block is 1x1x1 meter.
For the height i place the whole structure as low as possible. Because the 3d data is on earth scale coordinates, meaning lots of numbers before and after the decimal point, i might have to fix the height to adapt the earths rounding....
But i place it as low as possible, to get the high buildings as large i can get, like 256 max.

Now, i want to make more floors, like one floor going from sea-level up to 256 meters, then another level like from 256 to 512, etc.

Then i want to convert the floor to cubic format. I can do that.

But then i want to place the second floor on top of it. Like giving an offset of 256, and then the second floor, also a 1.12.2 region files, to be placed on top of the first floor, in the already made cubic format first floor.

Or like selecting more than 1 world, and all the worlds, floors, gets into the cubic format in one run.

That way i can break up my voxelized 3d objects into floors, like separate worlds/region files, and then need to stack them on top of each other, while or after converting them.

This way i will have a Google 3d downloader for downloading whole cities/area's, a voxelizer that converts it into blocks on the right scale/position according to BTE projection,

AND

convert them into the cubic chunks with heights over 256, that can be played/used with the BTE minecraft 1.12.2 version.

In this BTE version there is code that downloads from open archives, like the placement of buildings, HEIGHT (...), waters, roads and train tracks. Maybe it would be a nice trick to get the height of the placed voxelize 3d objects on the perfect height.

That way a 'mold' can be made in 3d, from the Google 3d data, that can NOT be used because of the Terms Of Service (TOS), but then can be ADAPTED according to the builders of the 121 scale earth in minecraft. Now only surroundings of buildings are available.

So, is there a way to create an offset, and then merge two cubic worlds into one, stacking the worlds upon each other like floors of 256 height, or select more than one region file for every floor while converting into cubic format.

https://github.com/HakkaTjakka
https://www.facebook.com/Minecraft-Worldeditor-110607880303634/
https://www.youtube.com/channel/UCdmRlIxcrXmkC7puY4s9Jzg

I've talked to one of the BTE 121 managers, he referred to the TOS that they can/may not use the Google 3d data, but they have an open mind to the whole thing.
I've looked long for a downloader for the Google 3d objects and found it on: https://github.com/retroplasma/earth-reverse-engineering and adapted it for bulk downloading of octants size zoom level 17, on zoom level 21, which is the 1 less then highest zoomlevel, but the highest is much much more 3d data, but gives no visual effect when voxelizing. When voxelizing around 30 pixels from the used wavefront textures gets averaged into one minecraft block.

The voxelizers i found did not work. Nothing. So i made it myself and its in the minecraft world editor on github. Al the source for almost everything is in the repo, you only need a manual, and thats me for now... but its because its an experimental prototype machine. It works from the javascript Google 3d data downloader, through many stages that can be done with the c/c++ program, if you know howto. In the end i would like to make it one single program, where you can select an area on Google maps with lat/lon coords., then the program should deliver the voxelized result in BTE format.

Like the stacked 1.12.2 region files in vanilla format, that than can be converted into cubic chunks, and loaded with the minecraft BTE version, which uses cubic chunks. I've already converted a small part with the CubicChunksConverter, and it works in the BTE cubic minecraft version.

I just only can not get several layers/floors on top of each other. And i like to voxelize things like grand canyon, cities etc., that have heights above 256 blocks (meters..) high.

Can you help me on this? Maybe its just a small adaption to the existing source.
Like merging a second world upon the existing (converted) first one.
Then with an offset, like 256, 512, 768, 1024 etc., the next world is placed on top of the existing cubic world....

Thank you all for reading.
The BTE 121 team would be very great full for that.
Gerard Wensink
[email protected]

PS

The 3d wavefront .obj/.mtl/textures voxelizer in c/c++ is very fast, and capable of converting 3d objects in bulk.
It also can be used together with 3d objects and/or 3d software, and/or even algoritms that create wavefront objects on the fly, stores only 3d object data that is fed directly into the gpu and is stored in nbt format, threaded loading of many textures together, and could be used to generate whole worlds. I also create region files from scratch with code, meaning 512x256x512 blocks. A whole region file created out of 3d objects is voxelized within a second.... Only the saving into 1.12.2 format takes bit longer because of the source for that i found is not so fast....
This way world generators etc., could use 3d objects as source. Which might add a new dimension to the whole....

Especially when able to create worlds higher than 256 blocks....

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.