GithubHelp home page GithubHelp logo

amulet-team / amulet-map-editor Goto Github PK

View Code? Open in Web Editor NEW
1.6K 39.0 121.0 7.03 MB

A new Minecraft world editor and converter that supports all versions since Java 1.12 and Bedrock 1.7.

Home Page: https://www.amuletmc.com/

Python 97.26% GLSL 0.24% Cython 2.50%
minecraft converter amulet map-editor python python3 3rd-party

amulet-map-editor's Introduction

Amulet Map Editor

Build Unittests Stylecheck Documentation Status

A new Minecraft world editor and converter that supports all versions since Java 1.12 and Bedrock 1.7.

edit

Running compiled builds

Download the zip file for your operating system from the list of compiled builds. (Currently Windows only)

Extract the contained folder to a location on your computer and run the executable.

Running from Source

If you are running a compiled build you do NOT need to do this.

  1. Install Python 3.9+
  2. We recommend setting up a python virtual environment so you don't run into issues with dependency conflicts.
  3. run python -m pip install amulet-map-editor to install the library and all its dependencies.
  4. run python -m amulet_map_editor to run the program

Notes

If you have python 2 installed python may point to the wrong version in which case you will have to swap out python for python3

When installing from source the following dependencies will be installed

  • numpy
  • wxpython
  • pyopengl
  • Amulet-Core The library to handle loading and saving data to the world formats.
  • Amulet-NBT The library to handle reading and saving NBT and SNBT.
  • PyMCTranslate The library to handle block, block entity, entity and biome translation. between versions
  • Minecraft-Model-Reader The library to handle loading block models and textures from a resource pack for use in the renderer.
  • Amulet-LevelDB The wrapper for Mojang's custom LevelDB.

Contributing

For information about contributing to this project, please read the contribution file.

amulet-map-editor's People

Contributors

1834423612 avatar altb0ne avatar euxcbsks avatar ezfe avatar fer-hnndz avatar friends-xiaohuli avatar gentlegiantjgc avatar gid0317 avatar giftshower avatar ianz56 avatar ioecmcomc avatar jerbear2008 avatar kimiblock avatar kolan2222 avatar kqakqakqa avatar kraballa avatar kryfl avatar markhalpaap avatar max-rm avatar mertbhey avatar naor2013 avatar paveldobcz23 avatar pixkk avatar podshot avatar pro100katyt avatar sparks0 avatar stealthyexpertx avatar toka7290 avatar volchah avatar yudonglin avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

amulet-map-editor's Issues

Rendering incompatibility with 1.16 textures

I tested 0.6.7, 0.6.8 and 0.6.9.
Today is 1.16 release. At time, there is no Bedrock 1.16, expected today.

I'm testing my Bedrock map, 1.14.60.5.0

Yesterday was working perfectly.

Seems like textures codes changed on 1.16?
image

image

Java: Lighting values are not recalculated

When cutting a large object and pasting it somewhere else, the lighting doesn't update with the blocks. This happens with all light levels, from dark to light. Placing blocks and removing them where the lighting issues occur sometimes updates the light levels to reflect the new block placement, but not always.

I noticed someone else had lighting issues in issue #8 but this is with a different context. I also noticed in a comment on that issue that lighting calculations currently aren't done, but I wanted to put it to paper here.

Banner conversion issue J1.14 -> B1.14

Banners miss a frame drawn on them (black frame layer), but other patterns are successfully converted. The world comes from Java 1.14 and got converted to Bedrock 1.14.
The world used is Project Zearth v14 which is a very big map of thousands by thousands of blocks.
I used Amulet v 0.6.4.

21-04-2020-16-16

Schematic support

Going to use this as a landing page for those that want schematic support.

We are going to support importing schematics but not exporting because the schematic format is not able to support the new block formats.

We are working on a new format that will support the new block format as well as supporting data serialised to any of the version formats (any version of Bedrock/Java).

We will support importing and exporting this new format but there is a little more we need to do first.

We may also support importing some other structure formats.

Custom namespace and base-name in pick block tool

The ability to input a custom Base name and Namespace when doing operations.

The current dropdown menu is nice because you don't have to memorise every block id, but it only contains the vanilla blocks, so you can't really do operations with modded blocks apart from cloning them.

(I imagine there could be a "custom" option on top of the dropdown menus, where if you select it, you could input your own Base name or Namespace.)

(Apologies if this is something that can already be done, and I've looked over it...)

Thank you.

I don't have twitter and wasn't sure how to express my thanks, but your editor just saved my minecraft server of 4 players! For many it was their first time and I was devastated when I realized a massive hopper experiment gone awry was making it impossible to boot.

Amazing work on this editor ya'll, seriously. Hopefully you don't mind me misusing this repo's Issues, but I wanted you to know! I would have been content to blow away the whole chunk but imagine my surprise when I saw I could select a region and selectively turn the hoppers into blocks of iron?! Exquisite.

Cannot open 1.15.2 worlds

I've used those installation steps
-installing python 3.8
-download Amulet-Map-Editor.zip from girhub
-opened a command prompt to Amulet-Map-Editor-master folder
-executed command "python3 -m venv ENV"
-executed command ".\ENV\scripts\activate.bat"
-executed command "python -m pip install --upgrade pip"
-executed command "pip install -r requirements.txt"

and I've run amulet using command "main.py" while still under ENV

program executed correctly (with error about image file not found after pressing select world)
only 2 out of 8 worlds appeared under java, neither of them 1.15.2
I've opened a 1.15.2 world using "Open another world" and selecting the world folder
the program trowed error "Failed to load image file E:\path\to\amulet\ENV\lib\site-packages\amulet\img\missing_world_icon.png

now, I don't see why an error about an image would prevent amulet from opening a 1.15.2 world

if anything on my installation steps is wrong, please provide installation steps, some requirements are kind of confusing as you don't need to install them, since pip will install them for you...

OpenGL crashes

~50% of the time when I start the 3D editor, open GL crashes after the loading process

File "OpenGL\error.py", line 234, in glCheckError
OpenGL.error.GLError: GLError(
err = 1282,
description = b'Der Vorgang ist ung\xfcltig.', [Note: translates to "invalid action"]
baseOperation = glBindBuffer,
cArguments = (GL_ARRAY_BUFFER, 1)
)

The step "amulet_map_editor - INFO - Finished setting up texture atlas in OpenGL" was completed before the crash happened.

I have a AMD Ryzen 5 CPU with Radeon Vega 8 graphics.

Cloning chunk issues

So in copying some large structures from a world built in Bedrock 1.14.30, I have ended up with some peculiar results...
Entire chunks of blocks have ended up with the wrong y axis value, with everything else correct...

Any suggestions or thoughts? (see below screenshots)

Version - Amulet release v0.5

Screenshot

Screenshot

Schematics in Amulet Map Editor

Is there a way I can use schematics in the Editor? I was trying to make a map with this program, I made a schematic to bring to my new world, but I can't use a schematic. Any solution?

Error loading mca files with size < 4096 bytes

I cannot open a world (world size: 4.19GB, Minecraft Version: 1.15.2 [Vanilla]). Another 18.9gb world does not work, too. Other 1.15.2 worlds work fine, thought they are smaller (MB instead of GB) which is why I assume it might be a problem with the world size.

I've tested Amulet v0.5.1 and v0.6.2 on Windows 10 x64 1903 (and Linux via Wine).

Console output:

2020-04-12 01:02:58,105 - amulet_core - INFO - Loading world C:\Users\XYZ\AppData\Roaming\.minecraft\saves\world
Traceback (most recent call last):
  File "amulet_map_editor\amulet_wx\world_select.py", line 106, in _call_callback
    self.open_world_callback(self.path)
  File "amulet_map_editor\amulet_wx\world_select.py", line 277, in _update_recent
    self._open_world_callback(path)
  File "amulet_map_editor\amulet_wx\world_select.py", line 307, in _run_callback
    self._open_world_callback(path)
  File "amulet_map_editor\amulet_ui.py", line 128, in _open_world
    world = WorldManagerUI(self.world_tab_holder, path)
  File "amulet_map_editor\plugins\programs\__init__.py", line 68, in __init__
    self.world = world_interface.load_world(path)
  File "amulet\world_interface\__init__.py", line 20, in load_world
    return World(directory, load_format(directory, _format, forced))
  File "amulet\api\world.py", line 93, in __init__
    self._world_wrapper.open()
  File "C:\Users\XYZ\Downloads\Amulet-v0.6.2-windows\Amulet\amulet\world_interface\formats\anvil\anvil_format.py", line 441, in open
    self._reload_world()
  File "C:\Users\XYZ\Downloads\Amulet-v0.6.2-windows\Amulet\amulet\world_interface\formats\anvil\anvil_format.py", line 428, in _reload_world
    0: AnvilLevelManager(self._world_path, mcc=mcc)
  File "C:\Users\XYZ\Downloads\Amulet-v0.6.2-windows\Amulet\amulet\world_interface\formats\anvil\anvil_format.py", line 273, in __init__
    mcc=self._mcc,
  File "C:\Users\XYZ\Downloads\Amulet-v0.6.2-windows\Amulet\amulet\world_interface\formats\anvil\anvil_format.py", line 59, in __init__
    offsets = numpy.fromfile(fp, dtype=">u4", count=1024).reshape(32, 32)
ValueError: cannot reshape array of size 0 into shape (32,32)

Block entities not applied in clone or paste operation

Running release v0.5.1, it seems that some metadata attached to blocks is not cloning. A few examples includes

  • Command block commands
  • Sign contents
  • Chests (see below), contents and joined status
  • Armour stands

Things like redstone repeater delay ticks are though correctly cloned.

Screenshot 2020-03-25 at 17 18 14

Program controls

A quick issue simply to ask about keyboard controls for the software? Although it opens and renders my Bedrock world (using the most recent Release), I can't actually figure out how to get it to do the clone I am looking for...

I am likely missing something simple, but a very quick published list of supported keyboard controls would be super helpful. Or perhaps I can be pointed to somewhere this is even roughly written up?

'LevelName' does not exist in level.dat

When I click the "Open World" button, nothing happens and this error shows in the console.
I have a dual python installation so maybe it's launching this with python 2 or something.

2020-05-10 22:03:57,871 - amulet_map_editor - INFO - Could not find a matching format for C:\Users\Dennis\AppData\Roaming\.minecraft\saves\lol
Traceback (most recent call last):
  File "amulet_map_editor\amulet_ui.py", line 218, in _show_world_select
    select_world = WorldSelectWindow(self, self._open_world_callback)
  File "amulet_map_editor\amulet_wx\world_select.py", line 301, in __init__
    self.world_select = WorldSelectAndRecentUI(self, self._run_callback)
  File "amulet_map_editor\amulet_wx\world_select.py", line 273, in __init__
    self.add_object(WorldSelectUI(self, self._update_recent), 2, wx.ALL | wx.EXPAND)
  File "amulet_map_editor\amulet_wx\world_select.py", line 207, in __init__
    self.content = ScrollableWorldsUI(self, open_world_callback)
  File "amulet_map_editor\amulet_wx\world_select.py", line 174, in __init__
    self.reload()
  File "amulet_map_editor\amulet_wx\world_select.py", line 184, in reload
    world_list = CollapseableWorldListUI(self, glob.glob(os.path.join(directory, '*')), group_name, self.open_world_callback)
  File "amulet_map_editor\amulet_wx\world_select.py", line 153, in __init__
    open_world_callback
  File "amulet_map_editor\amulet_wx\world_select.py", line 124, in __init__
    world_button = WorldUIButton(self, world_format, open_world_callback)
  File "amulet_map_editor\amulet_wx\world_select.py", line 95, in __init__
    world_format
  File "amulet_map_editor\amulet_wx\world_select.py", line 79, in __init__
    world_format.world_name,
  File "C:\Users\Dennis\Documents\Dennis\Programas\Amulet\amulet\world_interface\formats\anvil\anvil_format.py", line 389, in world_name
    return self.root_tag["Data"]["LevelName"].value
  File "amulet_nbt\amulet_cy_nbt.pyx", line 546, in amulet_nbt.amulet_cy_nbt._TAG_Compound.__getitem__
KeyError: 'LevelName'

Improvement: Show current coordinates

It would be useful if I can see where I'm at. It would help in testing and I can much easier clone items to a specific predetermined spot rather than having to move a selection little by little.

Way to TP to coordinates?

Hi,

I was wondering if there is a way to TP to coordinates within the world? as the area I am intending to edit is 20,000ish blocks away from spawn.

Thanks :)
Matt

Editor Window Sizing Amulet V0.6.3

When clicking the [Select] or [Operation] buttons at the bottom of the editor, the display size height reverts to some sort of default setting. The size can be forced by cycling in and out of the 3D Editor tab on the left every time.
ISSUE:
image
AFTER CYCLING THE EDITOR TAB:
image

Re-add selection box UI

I'm testing the release v0.6.7.0 and it looks like the bar on the left which used to show selection coordinates (x1,y1,z1,x2,y2,z2) is gone. Back in 0.6.5.1 it was working fine and it was a great way to adjust the size of a selection. Is there some other way to do it? If not, is there a way to bring it back?

Lighting Issues with Reverted Biomes

https://i.imgur.com/e5yWvXf.png

Above is an error which occurs in the log occasionally during the Java 1.15 -> 1.12 process.

A biome change is not a problem, and can be easily address with other tools. However this is what these areas now look like in-game.

https://i.imgur.com/JpteqIa.png

These are the chunks that have been converted to plains by the amulet converter. There is an issue with relighting in these chunks, And I have tried adding light sources and also relighting the chunks using Mcedit to no avail.

No way to paste schematics

Is there a way to paste schematics? I read the instructions on the program but I can't seem to figure out how to paste a schematic.

Amulet world format and cubic chunks

Hello, I'm the developer of a cubic chunks mod.

I've recently been made aware of this tool and I would like to add support for my cubic chunks world format if it's possible, as so far there is no such tool that would support it in any way.

As far as I can tell, the current interface assumes that chunks only have x and z coordinate and are exactly 16x256x16. This makes it impossible to implement support for cubic chunks world.

Would it be possible to add support for cubic chunks worlds in the future? I can implement support for my specific format, and possibly do some other work if needed.

Error - python -m pip install -r requirements.txt

I've run the command:
python -m pip install -r requirements.txt

And received the following output:
Collecting git+git://github.com/Amulet-Team/Amulet-Core.git (from -r requirements.txt (line 4))
Cloning git://github.com/Amulet-Team/Amulet-Core.git to c:\users\charley\appdata\local\temp\pip-req-build-yadjlrap
Running command git clone -q git://github.com/Amulet-Team/Amulet-Core.git 'C:\Users\Charley\AppData\Local\Temp\pip-req-build-yadjlrap'

And then the following errors (long):
ERROR: Command errored out with exit status 1:
command: 'D:\Dev\Python\python.exe' -c 'import sys, setuptools, tokenize; sys.argv[0] = '"'"'C:\Users\Charley\AppData\Local\Temp\pip-req-build-yadjlrap\setup.py'"'"'; file='"'"'C:\Users\Charley\AppData\Local\Temp\pip-req-build-yadjlrap\setup.py'"'"';f=getattr(tokenize, '"'"'open'"'"', open)(file);code=f.read().replace('"'"'\r\n'"'"', '"'"'\n'"'"');f.close();exec(compile(code, file, '"'"'exec'"'"'))' egg_info --egg-base 'C:\Users\Charley\AppData\Local\Temp\pip-req-build-yadjlrap\pip-egg-info'
cwd: C:\Users\Charley\AppData\Local\Temp\pip-req-build-yadjlrap
Complete output (95 lines):
Processing numpy/random_bounded_integers.pxd.in
Processing numpy/random\mtrand.pyx
Traceback (most recent call last):
File "C:\Users\Charley\AppData\Local\Temp\easy_install-f6yavy6e\numpy-1.18.2\tools\cythonize.py", line 61, in process_pyx
from Cython.Compiler.Version import version as cython_version
ModuleNotFoundError: No module named 'Cython'

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "C:\Users\Charley\AppData\Local\Temp\easy_install-f6yavy6e\numpy-1.18.2\tools\cythonize.py", line 238, in <module>
    main()
  File "C:\Users\Charley\AppData\Local\Temp\easy_install-f6yavy6e\numpy-1.18.2\tools\cythonize.py", line 234, in main
    find_process_files(root_dir)
  File "C:\Users\Charley\AppData\Local\Temp\easy_install-f6yavy6e\numpy-1.18.2\tools\cythonize.py", line 225, in find_process_files
    process(root_dir, fromfile, tofile, function, hash_db)
  File "C:\Users\Charley\AppData\Local\Temp\easy_install-f6yavy6e\numpy-1.18.2\tools\cythonize.py", line 191, in process
    processor_function(fromfile, tofile)
  File "C:\Users\Charley\AppData\Local\Temp\easy_install-f6yavy6e\numpy-1.18.2\tools\cythonize.py", line 66, in process_pyx
    raise OSError('Cython needs to be installed in Python as a module')
OSError: Cython needs to be installed in Python as a module
Running from numpy source directory.
C:\Users\Charley\AppData\Local\Temp\easy_install-f6yavy6e\numpy-1.18.2\setup.py:461: UserWarning: Unrecognized setuptools command, proceeding with generating Cython sources and expanding templates
  run_build = parse_setuppy_commands()
Traceback (most recent call last):
  File "D:\Dev\Python\lib\site-packages\setuptools\sandbox.py", line 154, in save_modules
    yield saved
  File "D:\Dev\Python\lib\site-packages\setuptools\sandbox.py", line 195, in setup_context
    yield
  File "D:\Dev\Python\lib\site-packages\setuptools\sandbox.py", line 250, in run_setup
    _execfile(setup_script, ns)
  File "D:\Dev\Python\lib\site-packages\setuptools\sandbox.py", line 45, in _execfile
    exec(code, globals, locals)
  File "C:\Users\Charley\AppData\Local\Temp\easy_install-f6yavy6e\numpy-1.18.2\setup.py", line 488, in <module>
  File "C:\Users\Charley\AppData\Local\Temp\easy_install-f6yavy6e\numpy-1.18.2\setup.py", line 469, in setup_package
  File "C:\Users\Charley\AppData\Local\Temp\easy_install-f6yavy6e\numpy-1.18.2\setup.py", line 275, in generate_cython
RuntimeError: Running cythonize failed!

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "<string>", line 1, in <module>
  File "C:\Users\Charley\AppData\Local\Temp\pip-req-build-yadjlrap\setup.py", line 70, in <module>
    setup(
  File "D:\Dev\Python\lib\site-packages\setuptools\__init__.py", line 144, in setup
    _install_setup_requires(attrs)
  File "D:\Dev\Python\lib\site-packages\setuptools\__init__.py", line 139, in _install_setup_requires
    dist.fetch_build_eggs(dist.setup_requires)
  File "D:\Dev\Python\lib\site-packages\setuptools\dist.py", line 716, in fetch_build_eggs
    resolved_dists = pkg_resources.working_set.resolve(
  File "D:\Dev\Python\lib\site-packages\pkg_resources\__init__.py", line 780, in resolve
    dist = best[req.key] = env.best_match(
  File "D:\Dev\Python\lib\site-packages\pkg_resources\__init__.py", line 1065, in best_match
    return self.obtain(req, installer)
  File "D:\Dev\Python\lib\site-packages\pkg_resources\__init__.py", line 1077, in obtain
    return installer(requirement)
  File "D:\Dev\Python\lib\site-packages\setuptools\dist.py", line 786, in fetch_build_egg
    return cmd.easy_install(req)
  File "D:\Dev\Python\lib\site-packages\setuptools\command\easy_install.py", line 679, in easy_install
    return self.install_item(spec, dist.location, tmpdir, deps)
  File "D:\Dev\Python\lib\site-packages\setuptools\command\easy_install.py", line 705, in install_item
    dists = self.install_eggs(spec, download, tmpdir)
  File "D:\Dev\Python\lib\site-packages\setuptools\command\easy_install.py", line 890, in install_eggs
    return self.build_and_install(setup_script, setup_base)
  File "D:\Dev\Python\lib\site-packages\setuptools\command\easy_install.py", line 1158, in build_and_install
    self.run_setup(setup_script, setup_base, args)
  File "D:\Dev\Python\lib\site-packages\setuptools\command\easy_install.py", line 1144, in run_setup
    run_setup(setup_script, args)
  File "D:\Dev\Python\lib\site-packages\setuptools\sandbox.py", line 253, in run_setup
    raise
  File "D:\Dev\Python\lib\contextlib.py", line 131, in __exit__
    self.gen.throw(type, value, traceback)
  File "D:\Dev\Python\lib\site-packages\setuptools\sandbox.py", line 195, in setup_context
    yield
  File "D:\Dev\Python\lib\contextlib.py", line 131, in __exit__
    self.gen.throw(type, value, traceback)
  File "D:\Dev\Python\lib\site-packages\setuptools\sandbox.py", line 166, in save_modules
    saved_exc.resume()
  File "D:\Dev\Python\lib\site-packages\setuptools\sandbox.py", line 141, in resume
    six.reraise(type, exc, self._tb)
  File "D:\Dev\Python\lib\site-packages\setuptools\_vendor\six.py", line 685, in reraise
    raise value.with_traceback(tb)
  File "D:\Dev\Python\lib\site-packages\setuptools\sandbox.py", line 154, in save_modules
    yield saved
  File "D:\Dev\Python\lib\site-packages\setuptools\sandbox.py", line 195, in setup_context
    yield
  File "D:\Dev\Python\lib\site-packages\setuptools\sandbox.py", line 250, in run_setup
    _execfile(setup_script, ns)
  File "D:\Dev\Python\lib\site-packages\setuptools\sandbox.py", line 45, in _execfile
    exec(code, globals, locals)
  File "C:\Users\Charley\AppData\Local\Temp\easy_install-f6yavy6e\numpy-1.18.2\setup.py", line 488, in <module>
  File "C:\Users\Charley\AppData\Local\Temp\easy_install-f6yavy6e\numpy-1.18.2\setup.py", line 469, in setup_package
  File "C:\Users\Charley\AppData\Local\Temp\easy_install-f6yavy6e\numpy-1.18.2\setup.py", line 275, in generate_cython
RuntimeError: Running cythonize failed!
Cythonizing sources
----------------------------------------

ERROR: Command errored out with exit status 1: python setup.py egg_info Check the logs for full command output.

Request: Go To / Move To

I know this is early and you are still working out issues with compatibility, but could you please add a goto or move to button to move the camera to a specific location in the world? My map is over 1GB in size and manually moving from one side to the other even with the camera speed up takes a very long time. Thanks for creating this in a time when we are forced to be at home. It is much appreciated.

Mac OS OpenGL "invalid framebuffer operation"

When selecting world conversion or the world editor all that is shown is a blank screen. The log shows nothing when selecting the editor and displays the following error when selecting conversion:

Traceback (most recent call last):
  File "/Users/jack/amulet/Amulet-Map-Editor/amulet_map_editor/programs/edit/canvas/canvas.py", line 381, in _on_draw
    self.draw()
  File "/Users/jack/amulet/Amulet-Map-Editor/amulet_map_editor/programs/edit/canvas/canvas.py", line 385, in draw
    glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT)
  File "/Users/jack/amulet/Amulet-Map-Editor/venv/lib/python3.8/site-packages/OpenGL/error.py", line 230, in glCheckError
    raise self._errorClass(
OpenGL.error.GLError: GLError(
	err = 1286,
	description = b'invalid framebuffer operation',
	baseOperation = glClear,
	cArguments = (16640,)
)

Double stone slab conversion error

I'm getting an error while loading a world.

2020-05-09 11:44:45,761 - pymctranslate - ERROR - Error converting block minecraft:double_stone_slab[block_data=13] to universal in PyMCTranslate.Version(java, (1, 12, 2)).
2020-05-09 11:44:45,761 - pymctranslate - ERROR - Error and traceback from the above "No output object given."
Traceback (most recent call last):
  File "PyMCTranslate\py3\versions\translation_database.py", line 46, in _translate
    pre_populate_defaults
  File "PyMCTranslate\py3\versions\translate.py", line 284, in translate
    raise Exception("No output object given.")
Exception: No output object given.

View shift

When opening the 3d world renderer, the view constantly goes ot the top left for me, until i click mouse 3 (Middle mouse button) to be able to interact with the UI again.
It's not severe, but definitly noticable.

Unable to place pressure plates and buttons in game

This issue was reported in our discord channel.

QwertyThePie:

I exported a construction file from Java edition, in Bedrock format. I then imported that region into an existing Bedrock world. Now, I can no longer place any buttons or pressure plates in the converted region, although I can do so normally in the rest of the world. I'm apparently not the first person to encounter this issue, so I know it's not just me.
Oddly, I can place any regular full-sized blocks without issue, as well as levers. Even placing a block in an area, removing it, and attempting to place a button in the block's old location fails.

Blocks can be placed in the world but pressure plates and buttons cannot. This might be caused by the operation in Amulet or the behaviour pack applied to the world. Removing parts of the behaviour pack resolved the issues but so did deleting some chunks in Amulet. (Both allowed full editing in the world)

If you experience the same issues please respond below with what you did that caused the issues.

Shader Error after reload

Open a world, open the 3D view, close the 3D view and close the world, repeat

This error appears when opening the renderer a second time

Traceback (most recent call last):
  File "D:\Data\GitHub\Amulet-Map-Editor\amulet_map_editor\amulet_wx\world_manager\__init__.py", line 65, in _page_change
    self._extensions[self.GetSelection()].enable()
  File "D:\Data\GitHub\Amulet-Map-Editor\amulet_map_editor\amulet_wx\world_manager\extensions\amulet_renderer\renderer_wx.py", line 172, in enable
    self._canvas = World3dCanvas(self, self._world)
  File "D:\Data\GitHub\Amulet-Map-Editor\amulet_map_editor\amulet_wx\world_manager\extensions\amulet_renderer\renderer_wx.py", line 47, in __init__
    self._render_world = RenderWorld(world, resource_pack)
  File "D:\Data\GitHub\Amulet-Map-Editor\amulet_map_editor\amulet_wx\world_manager\extensions\amulet_renderer\render_world.py", line 68, in __init__
    self._create_atlas()
  File "D:\Data\GitHub\Amulet-Map-Editor\amulet_map_editor\amulet_wx\world_manager\extensions\amulet_renderer\render_world.py", line 96, in _create_atlas
    glUseProgram(shader)
  File "D:\Data\GitHub\Amulet-Core\venv\lib\site-packages\OpenGL\error.py", line 232, in glCheckError
    baseOperation = baseOperation,
OpenGL.error.GLError: GLError(
	err = 1281,
	description = b'invalid value',
	baseOperation = glUseProgram,
	cArguments = (3,)
)

World invisible after downloading the Java 1.16 resource pack

When loading a world in the 3D editor everything appears invisible except for chests which render correctly. These results are from trying to load a java 1.15.2 world.

This is the log:

2020-06-23 10:05:37,372 - amulet_core - INFO - Loading world C:\Users\Eilux\AppData\Roaming\.minecraft\saves\The Lab
2020-06-23 10:05:38,590 - minecraft_model_reader - ERROR - Failed to download the launcher manifest. This may cause problems if you have not used the program before. Make sure you are connected to the internet.
2020-06-23 10:05:38,630 - minecraft_model_reader - ERROR - Could not download the launcher manifest. The resource pack seems to be present so using that.
2020-06-23 10:06:01,941 - amulet_map_editor - INFO - Creating texture atlas
2020-06-23 10:06:02,268 - amulet_map_editor - INFO - Trying to pack textures into image of size 2048x2048
2020-06-23 10:06:02,856 - amulet_map_editor - INFO - Successfully packed textures into an image of size 2048x2048
2020-06-23 10:06:02,908 - amulet_map_editor - INFO - Finished creating texture atlas
2020-06-23 10:06:02,930 - amulet_map_editor - INFO - Finished setting up texture atlas in OpenGL

Memory Management

Hello,

I have been trying to convert my 1.15.2 world to 1.12 world. There were no errors in the log this time, and it was going smoothly. However over time, my other programs on my computer began to fail and close down. I checked task manager, and Amulet was using 99% of my computers memory (I have 16GB). I had to force-close the application because my computer screens were starting to blink black.

Windows OpenGL Core Profile error

So, I basically opened my minecraft 1.15.2 world and i wanted to go to the 3d editor, and then this error appeared.
"Core OpenGL profile is not supported by the OpenGL driver"
Does someone know how to fix this bug?
(sorry if i made any english mistake)

Loading Chunk Error - 1.15.2 > 1.12 Conversion

fp.truncate(file_size)

io.UnsupportedOperation: File not open for writing
2020-03-10 13:58:21,841 - amulet_core - INFO - Error loading chunk -1 -480
Traceback (most recent call last):
File "lib\site-packages\amulet\world_interface\formats_init_.py", line 175, in load_chunk
File "lib\site-packages\amulet\world_interface\formats_init_.py", line 202, in _load_chunk
File "C:\Users\drako\Desktop\Amulet-Converter\amulet\world_interface\formats\anvil\anvil_format.py", line 448, in _get_raw_chunk_data
return self._get_level(dimension).get_chunk_data(cx, cz)
File "C:\Users\drako\Desktop\Amulet-Converter\amulet\world_interface\formats\anvil\anvil_format.py", line 250, in get_chunk_data
return self._get_region(cx, cz).get_chunk_data(cx & 0x1F, cz & 0x1F)
File "C:\Users\drako\Desktop\Amulet-Converter\amulet\world_interface\formats\anvil\anvil_format.py", line 176, in get_chunk_data
self._load()
File "C:\Users\drako\Desktop\Amulet-Converter\amulet\world_interface\formats\anvil\anvil_format.py", line 76, in _load
fp.truncate(file_size)
io.UnsupportedOperation: File not open for writing

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
File "lib\site-packages\amulet\api\world.py", line 121, in save
File "lib\site-packages\amulet\world_interface\formats_init_.py", line 180, in load_chunk
amulet.api.errors.ChunkLoadError
2020-03-10 13:58:21,841 - amulet_core - INFO - Converting chunk overworld -1, -479
2020-03-10 13:58:21,841 - amulet_core - ERROR - Error loading chunk -1 -479
Traceback (most recent call last):
File "lib\site-packages\amulet\world_interface\formats_init_.py", line 175, in load_chunk
File "lib\site-packages\amulet\world_interface\formats_init_.py", line 202, in _load_chunk
File "C:\Users\drako\Desktop\Amulet-Converter\amulet\world_interface\formats\anvil\anvil_format.py", line 448, in _get_raw_chunk_data
return self._get_level(dimension).get_chunk_data(cx, cz)
File "C:\Users\drako\Desktop\Amulet-Converter\amulet\world_interface\formats\anvil\anvil_format.py", line 250, in get_chunk_data
return self._get_region(cx, cz).get_chunk_data(cx & 0x1F, cz & 0x1F)
File "C:\Users\drako\Desktop\Amulet-Converter\amulet\world_interface\formats\anvil\anvil_format.py", line 176, in get_chunk_data
self.load()
File "C:\Users\drako\Desktop\Amulet-Converter\amulet\world_interface\formats\anvil\anvil_format.py", line 76, in load
fp.truncate(file_size)
io.UnsupportedOperation: File not open for writing
2020-03-10 13:58:21,842 - amulet_core - INFO - Error loading chunk -1 -479
Traceback (most recent call last):
File "lib\site-packages\amulet\world_interface\formats_init
.py", line 175, in load_chunk
File "lib\site-packages\amulet\world_interface\formats_init
.py", line 202, in _load_chunk
File "C:\Users\drako\Desktop\Amulet-Converter\amulet\world_interface\formats\anvil\anvil_format.py", line 448, in _get_raw_chunk_data
return self._get_level(dimension).get_chunk_data(cx, cz)
File "C:\Users\drako\Desktop\Amulet-Converter\amulet\world_interface\formats\anvil\anvil_format.py", line 250, in get_chunk_data
return self._get_region(cx, cz).get_chunk_data(cx & 0x1F, cz & 0x1F)
File "C:\Users\drako\Desktop\Amulet-Converter\amulet\world_interface\formats\anvil\anvil_format.py", line 176, in get_chunk_data
self._load()
File "C:\Users\drako\Desktop\Amulet-Converter\amulet\world_interface\formats\anvil\anvil_format.py", line 76, in _load
fp.truncate(file_size)

Java and Bedrock: Heightmaps are not recalculated

Sorry for my bad english.

I had an issue with deleting area of blocks in amulet (removed some mountains), and noticed that when it started to rain, raindrops fell on block which where deleted already. Feels like minecraft thinks block are still on their places (screenshot attached).
2020-06-29_14 27 00

My "not so good" hot-fix was to add 2 layers of blocks above bugged area and remove it manually.

Question: Is"Delete blocks" function in amulet equals to game-action "Destroy block with spade/pick,axe and etc." ? I have an opinion that is not.

Feature: Setbiome

The feature to set an area that does not have to be chunk aligned to a specific biome, including all the new biomes introduced in 1,13+, The Void only on Java, and Legacy Frozen Ocean only on Bedrock would be a very nice feature to have.

Broken flowerpots

Convert from J1.12.2 to B1.14.1

NBT data for flowerpots is busted. Can't place plants inside empty ones, or remove plants from full ones. Middle clicking adds a broken item with no texture to your hotbar.

Sent world over discord displaying the issue.

Requirements not installed in order and build deps not installed at all on ubuntu 18.04, resulting in failure as a build dependency is not found during build time

Trying to install requirements inside a python 3.7 ENV created on Ubuntu Linux 18.04 fails with error that says numpy is not installed. The cause is wrong installation order and build deps not getting installed at all.

(ENV) juozas@xubuntu:~/test/Amulet-Map-Editor$ pip install -r requirements.txt 
Collecting git+git://github.com/Amulet-Team/Amulet-NBT.git (from -r requirements.txt (line 3))
  Cloning git://github.com/Amulet-Team/Amulet-NBT.git to /tmp/pip-ehwuzupq-build
    Complete output from command python setup.py egg_info:
    Traceback (most recent call last):
      File "<string>", line 1, in <module>
      File "/tmp/pip-ehwuzupq-build/setup.py", line 13, in <module>
        import numpy
    ModuleNotFoundError: No module named 'numpy'
    
    ----------------------------------------
Command "python setup.py egg_info" failed with error code 1 in /tmp/pip-ehwuzupq-build/

There should be a note in documentation that user might need to update pip and setuptools if using ENV method to build and install dependencies for running gui. Like noted in Amulet-Team/Amulet-Core#60 python3.7-dev should be installed too as it is needed to build of one of requirements found in requirements file. Also libgtk-3-dev is required to build wxPython, w/o that build might fail with another error.
A workaround for pip installation order problem where git submodules gets installed first would be running command cat requirements.txt | xargs -I{} sh -c 'pip install {}' instead of pip install -r requirements.txt while inside the ENV, build deps installation problem is fixed by updating pip and setuptools.
Otherwise to check for other outdated packages, make sure pip is upgraded first then run pip list -o as I described in Amulet-Team/Amulet-Core#60 (comment)

Edit: Completely rewrote description, removed old garbage left from earlier testing and added a workaround for pip installation order problem.
Edit2: added note how to check for and update old python packages, might be helpful.
Edit3: Updated pip output to reflect current state of repository.

Feature: Chunkview

Top-Down view were you can see all/more chunks (not only a small radius of chunks) and only the top layer of the blocks should be loaded (so you can't fly through).
This makes it easier to find specific chunks and for example to delete these chunks.

So it should give a chunk viewer.

Problem with exported structure not importing as a replica

This may just be the transitional issue you guys are currently fixing but when I exported a selection into a .construction format, the reimported structure seems to have a few incorrect blocks and item placement. Ex: all glass were quartz slabs instead. A few torches one block above where they should be, etc. Copy and pasting the same structure in the same world seems to work fine though.

The exported structure:
amulet1

The same structure imported:

amulet2

Missing texture block for Scafolding blocks

Well, this bug was in 0.6.7, I think, and continues on 0.6.9.1. That load bug was present before 1.16 texture updates and now too.

Scafolding hovering air texture is loading as "Missing texture block."

image

As you can see, all the scafolding with blocks or scafoldings above renders correctly.

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.