def get_template_dict() -> dict:
    """ Get a template for the level.dat nbt structure.

    :return: A template for level.dat.
    """
    return {
        'allowCommands': 1,
        'BorderCenterX': 0,
        'BorderCenterZ': 0,
        'BorderDamagePerBlock': 0.2,
        'BorderSafeZone': 5,
        'BorderSize': 60000000,
        'BorderSizeLerpTarget': 60000000,
        'BorderSizeLerpTime': 0,
        'BorderWarningBlocks': 5,
        'BorderWarningTime': 15,
        'clearWeatherTime': 0,
        'DataPacks': {
            'Disabled': [],
            'Enabled': []
        },
        'DataVersion': 2230,
        'Difficulty': 2,
        'DifficultyLocked': 0,
        'DayTime': 3000,
        'GameType': 0,
        'GameRules': {},  # Always gets overwritten by rules from UI
        'generatorName': "default",
        # generatorOptions only present in Buffet and Superflat generators
        'generatorVersion': 0,
        'hardcore': 0,
        'initialized': 0,
        'LastPlayed': 0,
        'LevelName': 'FastWorldCreator_DefaultName',
        'MapFeatures': 1,
        'RandomSeed': 0,
        'raining': 0,
        'rainTime': 0,
        # SpawnX, SpawnY, SpawnZ disabled - Dangerous to set spawn manually
        'thundering': 0,
        'thunderTime': 0,
        'Time': 0,
        'version': 19133,
        'Version': {
            'Id': 2230,
            'Name': '1.15.2',
            'Snapshot': 0
        }
    }