#pragma once

#include "BlockType.h"
#include "EntityType.h"
#include "ItemType.h"
#include "StaticRegistry.h"
#include "WorldUpdate.h"

#ifndef _REGISTRY
#    define _REGISTRY extern
#endif

#define STATIC_REGISTRY(Type) Type##Registry

_REGISTRY StaticRegistry<WorldUpdateType> WorldUpdateTypeRegistry;
_REGISTRY StaticRegistry<BlockType> BlockTypeRegistry;
_REGISTRY StaticRegistry<ItemType> ItemTypeRegistry;
_REGISTRY StaticRegistry<EntityType> EntityTypeRegistry;