A Minecraft style clone in Godot
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 

35 lines
643 B

class_name Block
extends StaticBody3D
@onready var block_faces: Node3D = $BlockFaces
var id: String
var resource: BlockResource
func _ready() -> void:
_apply_materials()
func get_id() -> String:
return id
func set_id(block_id: String) -> void:
id = block_id
_get_resource_data()
_apply_materials()
func _apply_materials() -> void:
if block_faces == null: return
for face: MeshInstance3D in block_faces.get_children():
face.set_surface_override_material(0, resource.material)
func _get_resource_data() -> void:
if not id:
printerr("Block ID was expected but was not received")
return
resource = DBItems.ref.data[id]