package datapack /* Datapack is representing the pack.mcmeta file at the root of each datapack. References : - Minecraft wiki - datapack : https://minecraft.wiki/w/Data_pack - Minecraft wiki - pack.mcmeta : https://minecraft.wiki/w/Pack.mcmeta */ type Datapack struct { name string description string minFormat int maxFormat int featureFlags []string // todo: implement filter, overlay and translations } func (dp Datapack) Type() string { return "datapack" } func MkDatapack(name, description string, minFormat, maxFormat int, flags []string) Datapack { return Datapack{ name: name, description: description, minFormat: minFormat, maxFormat: maxFormat, featureFlags: flags, } } func (dp Datapack) Name() string { return dp.name } func (dp Datapack) Description() string { return dp.description } func (dp Datapack) MinFormat() int { return dp.minFormat } func (dp Datapack) MaxFormat() int { return dp.maxFormat } func (dp Datapack) Flags() []string { flags := make([]string, len(dp.featureFlags)) copy(flags, dp.featureFlags) return flags } func (dp Datapack) AddFlag(flag string) Datapack { dp.featureFlags = append(dp.featureFlags, flag) return dp }