Download block_type.py from Minecraft3193092-organization/minecraft-python: direct link, hf CLI and curl.
- Browser
- Download file 1.96 kB
-
https://huggingface.co/Minecraft3193092-organization/minecraft-python/resolve/main/block_type.py
- Command line
-
hf download hf://Minecraft3193092-organization/minecraft-python/block_type.py
-
curl -L -o block_type.py https://huggingface.co/Minecraft3193092-organization/minecraft-python/resolve/main/block_type.py
1.96 kB
| import collider | |
| import models.cube # default model | |
| class Block_type: | |
| # new optional model argument (cube model by default) | |
| def __init__(self, texture_manager, name = "unknown", block_face_textures = {"all": "cobblestone"}, model = models.cube): | |
| self.name = name | |
| self.block_face_textures = block_face_textures | |
| self.model = model | |
| # create members based on model attributes | |
| self.transparent = model.transparent | |
| self.is_cube = model.is_cube | |
| self.glass = model.glass | |
| # create colliders | |
| self.colliders = [] | |
| for _collider in model.colliders: | |
| self.colliders.append(collider.Collider(*_collider)) | |
| # replace data contained in numbers.py with model specific data | |
| self.vertex_positions = model.vertex_positions | |
| self.tex_coords = model.tex_coords.copy() | |
| self.shading_values = model.shading_values | |
| def set_block_face(face, texture): | |
| # make sure we don't add inexistent faces | |
| if face > len(self.tex_coords) - 1: | |
| return | |
| self.tex_coords[face] = self.tex_coords[face].copy() | |
| for vertex in range(4): | |
| self.tex_coords[face][vertex * 3 + 2] = texture | |
| for face in block_face_textures: | |
| texture = block_face_textures[face] | |
| texture_manager.add_texture(texture) | |
| texture_index = texture_manager.textures.index(texture) | |
| if face == "all": | |
| for i in range(len(self.tex_coords)): | |
| set_block_face(i, texture_index) | |
| elif face == "sides": | |
| set_block_face(0, texture_index) | |
| set_block_face(1, texture_index) | |
| set_block_face(4, texture_index) | |
| set_block_face(5, texture_index) | |
| elif face == "x": | |
| set_block_face(0, texture_index) | |
| set_block_face(1, texture_index) | |
| elif face == "y": | |
| set_block_face(2, texture_index) | |
| set_block_face(3, texture_index) | |
| elif face == "z": | |
| set_block_face(4, texture_index) | |
| set_block_face(5, texture_index) | |
| else: | |
| set_block_face(["right", "left", "top", "bottom", "front", "back"].index(face), texture_index) |