A Minecraft datapack generator written in go.
at item_modifier 58 lines 1.2 kB view raw
1package datapack 2 3/* 4Datapack is representing the pack.mcmeta file at the root of each datapack. 5 6References : 7- Minecraft wiki - datapack : https://minecraft.wiki/w/Data_pack 8- Minecraft wiki - pack.mcmeta : https://minecraft.wiki/w/Pack.mcmeta 9*/ 10type Datapack struct { 11 name string 12 description string 13 minFormat int 14 maxFormat int 15 featureFlags []string 16 // todo: implement filter, overlay and translations 17} 18 19func (dp Datapack) Type() string { 20 return "datapack" 21} 22 23func MkDatapack(name, description string, minFormat, maxFormat int, flags []string) Datapack { 24 return Datapack{ 25 name: name, 26 description: description, 27 minFormat: minFormat, 28 maxFormat: maxFormat, 29 featureFlags: flags, 30 } 31} 32 33func (dp Datapack) Name() string { 34 return dp.name 35} 36 37func (dp Datapack) Description() string { 38 return dp.description 39} 40 41func (dp Datapack) MinFormat() int { 42 return dp.minFormat 43} 44 45func (dp Datapack) MaxFormat() int { 46 return dp.maxFormat 47} 48 49func (dp Datapack) Flags() []string { 50 flags := make([]string, len(dp.featureFlags)) 51 copy(flags, dp.featureFlags) 52 return flags 53} 54 55func (dp Datapack) AddFlag(flag string) Datapack { 56 dp.featureFlags = append(dp.featureFlags, flag) 57 return dp 58}