NTNU-GDMC / GDMC

1 stars 1 forks source link

Issue in running the generator #62

Closed EyeofSauro closed 8 months ago

EyeofSauro commented 10 months ago

Hello, I am a student interested in this program, I want to use it to make a map of 1st century Israel. I have installed the dependencies and the GDMC HTTP mod and I have set the build area and the command ran until the terminal showed the following: Traceback (most recent call last): File "C:\Users\alexa\Desktop\structures\PositionNotLoaded\GDMC\main.py", line 136, in with log_path.open("a") as f: File "C:\Users\alexa\AppData\Local\Programs\Python\Python310\lib\pathlib.py", line 1117, in open return self._accessor.open(self, mode, buffering, encoding, errors, OSError: [Errno 22] Invalid argument: 'log\2023-12-29 21:49:21.610328'

If you could please tell me what I need to do, I'd greatly appreciate it!

I also attach here the error in the console and the view ingame. Screenshot_3 Screenshot_4

EyeofSauro commented 10 months ago

Hello, I have managed to resolve the problem by deleting the log creating code from main.py. After testing the village creation on a vanilla world and then a modded world, I entered my Israel recreation map, made using the Earth Tiles program and tried to generate a village there, but encountered this error:

PS C:\Users\alexa\Desktop\PositionNotLoaded\GDMC> python main.py Initing core... Loading world slice... Traceback (most recent call last): File "C:\Users\alexa\Desktop\PositionNotLoaded\GDMC\main.py", line 61, in core = Core() File "C:\Users\alexa\Desktop\PositionNotLoaded\GDMC\src\classes\core.py", line 44, in init worldSlice = editor.loadWorldSlice(buildArea.toRect(), cache=True) File "C:\Users\alexa\AppData\Local\Programs\Python\Python310\lib\site-packages\gdpc\editor.py", line 555, in loadWorldSlice worldSlice = WorldSlice(rect, dimension=self.dimension, heightmapTypes=heightmapTypes, retries=self.retries, timeout=self.timeout, host=self.host) File "C:\Users\alexa\AppData\Local\Programs\Python\Python310\lib\site-packages\gdpc\world_slice.py", line 130, in init hmBitArray = _BitArray(9, 16*16, hmRaw) File "C:\Users\alexa\AppData\Local\Programs\Python\Python310\lib\site-packages\gdpc\world_slice.py", line 39, in init raise ValueError(f"Invalid data length: got {len(data)} but expected {expectedLongCount}") ValueError: Invalid data length: got 52 but expected 37

Can I please know what I should do? Thank you!

KutsunaSubaRya commented 8 months ago

Thank you very much for bringing this issue to our attention.

We assume that you have accessed our repository through the GDMC competition. Therefore, we suggest using the run-competition branch to execute the program. This branch has been adjusted specifically for the competition, with the logging process removed and additional bug fixes implemented.

If you encounter any further issues after following the above process, please feel free to notify us again.

EyeofSauro commented 8 months ago

Hello, Yesterday I have followed your instructions and have used the run-competition branch to try to create a village. Unfortunately the same error that appeared in my second comment on this thread appeared. I will attach a screenshot of my desktop with the console. If you want I can give you the map I generated using the Earth Tiles program.

Thank you for helping!

d5778f47-94d1-4d10-8400-dde2d306609d

KutsunaSubaRya commented 8 months ago

Hi First, we would like to confirm if all your packages are installed. Could you please provide a screenshot of the output after running the pip list command? Additionally, we need to know the version of your GDMC HTTP Interface Mod. Please include a screenshot of that as well.

Furthermore, we kindly request the entire process from cloning the repository to running python main.py, either by recording a video or providing a step-by-step description. This will assist us in reproducing the issue.

Lastly, I have attached the following videos demonstrating the entire process from cloning the repository to running python main.py for your reference.

https://drive.google.com/drive/folders/1bcxM2zdohnYyGjmrTpRe65gr8uMUziV4?usp=sharing

EyeofSauro commented 8 months ago

Hello I have done all you have asked and I'm attaching all the files you requested. Please note I had to uninstall Python 3.10 and install Python 3.12 in order to use the -v command, I have also three other mods on my Minecraft installation (which you will see in the video) that I can confirm don't interfere with the village generation on a newly generated world, this error only appears on the Earth Tiles generated map.

Thank you!

image image https://drive.google.com/drive/folders/1bXWoZkjdgzHCq_9iFYVOXKleQ9VcSO7J?usp=sharing

KutsunaSubaRya commented 8 months ago

Thank you for providing further details and videos. I will discuss this matter with my team, and we will provide you with a response shortly. Additionally, based on your previous response, I have a question: If we do not utilize the Earth Tiles generate map tool to create the map but instead use the default map generation method in Minecraft (as demonstrated in the video we provided), would it still be possible to successfully generate the buildings?

EyeofSauro commented 8 months ago

Yes, if you use the default map generation the buildings do successfully generate.

KutsunaSubaRya commented 8 months ago

Based on the evaluation of the above issues, we have reached the following conclusions:

Our generator works fine under the circumstances of generating worlds using the official Minecraft generator without Earth Tiles. However, when using Earth Tiles as per issue #62-2 you provided , we can observe from the provided Traceback that the crucial error occurs as depicted in the image below:

image

The package causing this error, gdpc, is developed by the official GDMC team. The discrepancy in data length mentioned in the error message may conflict with the data length generated by Earth Tiles, resulting in the failure of world generation when gdpc attempts to read the world data.

We recommend two potential solutions: Firstly, reaching out to the author of the gdpc package to address the related issues. Secondly, joining the official GDMC Discord group at https://discord.com/invite/zkdaEMBCmd. This group comprises past participants, official personnel, and even developers of the gdpc module, facilitating direct discussions on resolving this problem.

We hope this information proves helpful. If you have any further questions or issues directly related to our program, please feel free to open a new issue for discussion. If there are no further concerns, we will proceed to close this issue as resolved.

Thank you.