mc root source folder cleanup
This commit is contained in:
File diff suppressed because one or more lines are too long
@@ -0,0 +1,109 @@
|
||||
package anvil
|
||||
|
||||
import (
|
||||
"strings"
|
||||
"unsafe"
|
||||
|
||||
data2 "github.com/admin-else/strom/mc/data"
|
||||
level2 "github.com/admin-else/strom/mc/level"
|
||||
"github.com/admin-else/strom/mc/util"
|
||||
)
|
||||
|
||||
type Chunk struct {
|
||||
DataVersion int32
|
||||
Heightmaps map[string][]int64
|
||||
InhabitedTime int64
|
||||
XPos, YPos, ZPos int32
|
||||
Sections []Section
|
||||
}
|
||||
|
||||
const McPrefix = "minecraft:"
|
||||
|
||||
func (c Chunk) ToStorage(version string) (toChunk *level2.Chunk, err error) {
|
||||
f := level2.MakeBlockFormat(version)
|
||||
toChunk = new(level2.Chunk)
|
||||
toChunk.Version = version
|
||||
|
||||
toChunk.Sections = make([]level2.Section, len(c.Sections))
|
||||
for i, s := range c.Sections {
|
||||
pallete := make([]int32, len(s.BlockStates.Palette))
|
||||
for j, p := range s.BlockStates.Palette {
|
||||
pallete[j], err = data2.StateIdFromBlocKAndStateMap(version, strings.TrimPrefix(p.Name, McPrefix), p.Properties)
|
||||
if err != nil {
|
||||
return
|
||||
}
|
||||
}
|
||||
// this is probably fine
|
||||
|
||||
if s.BlockStates.Data != nil {
|
||||
uintSlice := unsafe.Slice((*uint64)(unsafe.Pointer(unsafe.SliceData(s.BlockStates.Data))), len(s.BlockStates.Data))
|
||||
bpe := util.BpeByNum(float64(len(s.BlockStates.Palette)))
|
||||
toChunk.Sections[i].Blocks, err = f.Import(uintSlice, bpe, pallete)
|
||||
if err != nil {
|
||||
return
|
||||
}
|
||||
toChunk.Sections[i].BlockCount = int16(level2.BlocksPerChunkSection - level2.CountStorage(toChunk.Sections[i].Blocks, 0))
|
||||
} else {
|
||||
var fillerId = int32(0)
|
||||
if len(pallete) == 1 {
|
||||
fillerId = pallete[0]
|
||||
if fillerId != 0 {
|
||||
toChunk.Sections[i].BlockCount = level2.BlocksPerChunkSection
|
||||
}
|
||||
}
|
||||
toChunk.Sections[i].Blocks, err = f.FullWith(fillerId)
|
||||
if err != nil {
|
||||
return
|
||||
}
|
||||
}
|
||||
}
|
||||
f = level2.MakeBiomeFormat(version)
|
||||
for i, s := range c.Sections {
|
||||
pallete := make([]int32, len(s.Biomes.Palette))
|
||||
for j, p := range s.Biomes.Palette {
|
||||
var b *data2.Biome
|
||||
b, ok := data2.LookupBiomeByName(version, strings.TrimPrefix(p, McPrefix))
|
||||
if !ok {
|
||||
err = data2.UnknownBiomeNameErr
|
||||
return
|
||||
}
|
||||
pallete[j] = b.Id
|
||||
}
|
||||
|
||||
if s.Biomes.Data != nil {
|
||||
|
||||
// this is probably fine
|
||||
uintSlice := unsafe.Slice((*uint64)(unsafe.Pointer(unsafe.SliceData(s.Biomes.Data))), len(s.Biomes.Data))
|
||||
bpe := util.BpeByNum(float64(len(pallete)))
|
||||
toChunk.Sections[i].Biomes, err = f.Import(uintSlice, bpe, pallete)
|
||||
if err != nil {
|
||||
return
|
||||
}
|
||||
} else {
|
||||
var fillerId = int32(0)
|
||||
if len(pallete) == 1 {
|
||||
fillerId = pallete[0]
|
||||
}
|
||||
toChunk.Sections[i].Biomes, err = f.FullWith(fillerId)
|
||||
if err != nil {
|
||||
return
|
||||
}
|
||||
}
|
||||
}
|
||||
return
|
||||
}
|
||||
|
||||
type Section struct {
|
||||
Y int8
|
||||
BlockStates struct {
|
||||
Data []int64 `nbt:"data,omitempty"`
|
||||
Palette []struct {
|
||||
Name string
|
||||
Properties map[string]string `nbt:"Properties,omitempty"`
|
||||
}
|
||||
} `nbt:"block_states,omitempty"`
|
||||
Biomes struct {
|
||||
Data []int64 `nbt:"data,omitempty"`
|
||||
Palette []string
|
||||
} `nbt:"biomes,omitempty"`
|
||||
}
|
||||
@@ -0,0 +1,185 @@
|
||||
package anvil
|
||||
|
||||
import (
|
||||
"io"
|
||||
|
||||
"github.com/admin-else/strom/mc/nbt"
|
||||
)
|
||||
|
||||
type Level struct {
|
||||
ClearWeatherTime int32 `nbt:"clearWeatherTime"`
|
||||
DataPacks DataPacks
|
||||
DayTime int64
|
||||
WanderingTraderSpawnChance int32
|
||||
GameType int32
|
||||
WorldGenSettings WorldGenSettings
|
||||
ScheduledEvents []interface{}
|
||||
WasModded bool
|
||||
ThunderTime int32 `nbt:"thunderTime"`
|
||||
Difficulty int8
|
||||
DragonFight DragonFight
|
||||
Initialized bool
|
||||
AllowCommands bool `nbt:"allowCommands"`
|
||||
Thundering bool
|
||||
LastPlayed int64
|
||||
GameRules map[string]interface{}
|
||||
RainTime int32 `nbt:"rainTime"`
|
||||
DataVersion int32
|
||||
Version Version
|
||||
WanderingTraderSpawnDelay int32
|
||||
Hardcore bool
|
||||
Spawn Spawn
|
||||
Raining bool
|
||||
Player Player
|
||||
DifficultyLocked bool
|
||||
LevelName string
|
||||
Time int64
|
||||
ServerBrands []string
|
||||
CustomBossEvents map[string]interface{}
|
||||
}
|
||||
|
||||
type DataPacks struct {
|
||||
Enabled []string
|
||||
Disabled []string
|
||||
}
|
||||
|
||||
type WorldGenSettings struct {
|
||||
BonusChest bool
|
||||
Seed int64
|
||||
GenerateFeatures bool
|
||||
Dimensions map[string]Dimension
|
||||
}
|
||||
|
||||
type Dimensions struct {
|
||||
Overworld Dimension
|
||||
Nether Dimension
|
||||
End Dimension
|
||||
}
|
||||
|
||||
type Dimension struct {
|
||||
Generator Generator
|
||||
Type string
|
||||
}
|
||||
|
||||
type Generator struct {
|
||||
Type string
|
||||
Settings string
|
||||
BiomeSource BiomeSource
|
||||
}
|
||||
|
||||
type BiomeSource struct {
|
||||
Preset string `nbt:"preset,omitempty"`
|
||||
Type string
|
||||
}
|
||||
|
||||
type DragonFight struct {
|
||||
NeedsStateScanning bool
|
||||
Gateways []int32
|
||||
DragonKilled bool
|
||||
PreviouslyKilled bool
|
||||
}
|
||||
|
||||
type Version struct {
|
||||
Snapshot bool
|
||||
Series string
|
||||
Id int32
|
||||
Name string
|
||||
}
|
||||
|
||||
type Spawn struct {
|
||||
Dimension string
|
||||
Yaw float32
|
||||
Pos [3]int32
|
||||
Pitch float32
|
||||
}
|
||||
|
||||
type Player struct {
|
||||
XpLevel int32
|
||||
HurtTime int16
|
||||
DeathTime int16
|
||||
XpTotal int32
|
||||
FoodExhaustionLevel float32
|
||||
RecipeBook RecipeBook
|
||||
Fire int16
|
||||
Brain Brain
|
||||
XpSeed int32
|
||||
XpP float32
|
||||
EnderItems []interface{}
|
||||
Invulnerable bool
|
||||
Pos [3]float64
|
||||
Inventory []InventoryItem
|
||||
SleepTimer int16
|
||||
Abilities Abilities
|
||||
PlayerGameType int32
|
||||
SeenCredits bool
|
||||
FoodSaturationLevel float32
|
||||
FallDistance float64
|
||||
OnGround bool
|
||||
Dimension string
|
||||
PortalCooldown int32
|
||||
Motion [3]float64
|
||||
IgnoreFallDamageFromCurrentExplosion bool
|
||||
Rotation [2]float32
|
||||
CurrentImpulseContextResetGraceTime int32
|
||||
WardenSpawnTracker WardenSpawnTracker
|
||||
PreviousPlayerGameType int32
|
||||
Attributes []Attribute
|
||||
HurtByTimestamp int32
|
||||
UUID [4]int32
|
||||
Score int32
|
||||
DataVersion int32
|
||||
FoodLevel int32
|
||||
SpawnExtraParticlesOnFall bool
|
||||
SelectedItemSlot int32
|
||||
FoodTickTimer int32
|
||||
FallFlying bool
|
||||
AbsorptionAmount float32
|
||||
Health float32
|
||||
Air int16
|
||||
}
|
||||
|
||||
type RecipeBook struct {
|
||||
Recipes []string
|
||||
ToBeDisplayed []string
|
||||
}
|
||||
|
||||
type Brain struct {
|
||||
Memories map[string]interface{}
|
||||
}
|
||||
|
||||
type InventoryItem struct {
|
||||
Count int32
|
||||
Slot int8
|
||||
Id string
|
||||
}
|
||||
|
||||
type Abilities struct {
|
||||
Invulnerable bool
|
||||
Mayfly bool
|
||||
Instabuild bool
|
||||
WalkSpeed float32
|
||||
MayBuild bool
|
||||
Flying bool
|
||||
FlySpeed float32
|
||||
}
|
||||
|
||||
type WardenSpawnTracker struct {
|
||||
WarningLevel int32
|
||||
TicksSinceLastWarning int32
|
||||
CooldownTicks int32
|
||||
}
|
||||
|
||||
type Attribute struct {
|
||||
Id string
|
||||
Base float64
|
||||
}
|
||||
|
||||
func ReadLevelData(r io.Reader) (l Level, err error) {
|
||||
var lDataWrapped struct{ Data Level }
|
||||
err = nbt.ReadFile(r, &lDataWrapped)
|
||||
if err != nil {
|
||||
return
|
||||
}
|
||||
l = lDataWrapped.Data
|
||||
return
|
||||
}
|
||||
@@ -0,0 +1,53 @@
|
||||
package anvil_test
|
||||
|
||||
import (
|
||||
"bytes"
|
||||
"encoding/json"
|
||||
"fmt"
|
||||
"os"
|
||||
"testing"
|
||||
|
||||
"github.com/admin-else/strom/mc/level"
|
||||
anvil2 "github.com/admin-else/strom/mc/level/anvil"
|
||||
"github.com/admin-else/strom/mc/util"
|
||||
)
|
||||
|
||||
func TestLevel(t *testing.T) {
|
||||
f, err := os.Open("./testdata/testworld/level.dat")
|
||||
if err != nil {
|
||||
t.Fatal(err)
|
||||
}
|
||||
defer f.Close()
|
||||
|
||||
l, err := anvil2.ReadLevelData(f)
|
||||
if err != nil {
|
||||
t.Fatal(err)
|
||||
}
|
||||
t.Log(l)
|
||||
}
|
||||
|
||||
func TestRegionFile(t *testing.T) {
|
||||
f, err := os.Open("./testdata/testworld/region/r.0.0.mca")
|
||||
if err != nil {
|
||||
t.Fatal(err)
|
||||
}
|
||||
defer f.Close()
|
||||
ch, err := anvil2.ReadChunkHeader(f)
|
||||
if err != nil {
|
||||
t.Fatal(err)
|
||||
}
|
||||
|
||||
n, err := ch.ChunkAt(f, 0, 0)
|
||||
if err != nil {
|
||||
return
|
||||
}
|
||||
|
||||
fmt.Println(string(util.MustT(json.MarshalIndent(n, "", " "))))
|
||||
fmt.Println("Chunk loaded successfully")
|
||||
}
|
||||
|
||||
func loadPacketToChunk(b []byte) (chunk *level.Chunk, err error) {
|
||||
buffer := bytes.NewBuffer(b)
|
||||
chunk, err = level.ReadChunkFromChunkPacketData(buffer, "1.21.11", 384)
|
||||
return
|
||||
}
|
||||
@@ -0,0 +1,121 @@
|
||||
package anvil
|
||||
|
||||
import (
|
||||
"compress/gzip"
|
||||
"compress/zlib"
|
||||
"encoding/binary"
|
||||
"fmt"
|
||||
"io"
|
||||
"os"
|
||||
|
||||
"github.com/admin-else/strom/mc/nbt"
|
||||
)
|
||||
|
||||
type CompressionStrategy uint8
|
||||
|
||||
const (
|
||||
ChunksWidthRegionFile = 32
|
||||
ChunksRegionFile = ChunksWidthRegionFile * ChunksWidthRegionFile
|
||||
)
|
||||
|
||||
const (
|
||||
_ CompressionStrategy = iota
|
||||
CompressionStrategyGZIP
|
||||
CompressionStrategyZLIB
|
||||
CompressionStrategyNONE
|
||||
CompressionStrategyLZ4
|
||||
)
|
||||
|
||||
func (c CompressionStrategy) Wrap(r io.ReadCloser) (rNew io.ReadCloser, shouldClose bool, err error) {
|
||||
switch c {
|
||||
case CompressionStrategyGZIP:
|
||||
shouldClose = true
|
||||
rNew, err = gzip.NewReader(r)
|
||||
return
|
||||
case CompressionStrategyZLIB:
|
||||
shouldClose = true
|
||||
rNew, err = zlib.NewReader(r)
|
||||
return
|
||||
case CompressionStrategyNONE:
|
||||
rNew = r
|
||||
return
|
||||
case CompressionStrategyLZ4:
|
||||
err = fmt.Errorf("lz4 compression not supported")
|
||||
return
|
||||
default:
|
||||
err = fmt.Errorf("unknown compression strategy %d", c)
|
||||
return
|
||||
}
|
||||
}
|
||||
|
||||
type ChunkHeader struct {
|
||||
Chunk, Time [ChunksRegionFile]int32
|
||||
}
|
||||
|
||||
func ReadChunkHeader(r *os.File) (ch *ChunkHeader, err error) {
|
||||
var h ChunkHeader
|
||||
err = binary.Read(r, binary.BigEndian, &h)
|
||||
if err != nil {
|
||||
return
|
||||
}
|
||||
ch = &h
|
||||
return
|
||||
}
|
||||
|
||||
// ChunkAt returns the chunk at the given position, or nil if it is empty.
|
||||
func (c *ChunkHeader) ChunkAt(f *os.File, x, z int32) (n *nbt.Tag, err error) {
|
||||
if x < 0 || z < 0 || x >= ChunksWidthRegionFile || z >= ChunksWidthRegionFile {
|
||||
err = fmt.Errorf("chunk out of bounds")
|
||||
return
|
||||
}
|
||||
off, size := chunkLocation(c.Chunk[chunkXZtoIndex(x, z)])
|
||||
if off == 0 {
|
||||
return nil, nil
|
||||
}
|
||||
|
||||
_, err = f.Seek(int64(off), 0)
|
||||
if err != nil {
|
||||
return
|
||||
}
|
||||
_ = size // i dont really know why mc has this maybe to point out how much space is wasted?
|
||||
var realSize int32
|
||||
err = binary.Read(f, binary.BigEndian, &realSize)
|
||||
if err != nil {
|
||||
return
|
||||
}
|
||||
var compressionStrategy CompressionStrategy
|
||||
err = binary.Read(f, binary.BigEndian, &compressionStrategy)
|
||||
if err != nil {
|
||||
return
|
||||
}
|
||||
r, shouldClose, err := compressionStrategy.Wrap(f)
|
||||
if err != nil {
|
||||
return
|
||||
}
|
||||
if shouldClose {
|
||||
defer r.Close()
|
||||
}
|
||||
n = &nbt.Tag{}
|
||||
err = n.Decode(r)
|
||||
if err != nil {
|
||||
return
|
||||
}
|
||||
return
|
||||
}
|
||||
|
||||
func (c *ChunkHeader) TimeAt(f *os.File, x, z int32) (t int32, err error) {
|
||||
if x < 0 || z < 0 || x >= ChunksWidthRegionFile || z >= ChunksWidthRegionFile {
|
||||
err = fmt.Errorf("chunk out of bounds")
|
||||
return
|
||||
}
|
||||
t = c.Time[chunkXZtoIndex(x, z)]
|
||||
return
|
||||
}
|
||||
|
||||
func chunkXZtoIndex(x, z int32) int32 {
|
||||
return (x % ChunksWidthRegionFile) + (z%ChunksWidthRegionFile)*ChunksWidthRegionFile
|
||||
}
|
||||
|
||||
func chunkLocation(v int32) (offset, l int32) {
|
||||
return ((v >> 8) & 0xFFFFFF) * 4096, (v & 0xFF) * 4096
|
||||
}
|
||||
Vendored
BIN
Binary file not shown.
BIN
Binary file not shown.
+20753
File diff suppressed because it is too large
Load Diff
BIN
Binary file not shown.
+26884
File diff suppressed because it is too large
Load Diff
Vendored
+3
@@ -0,0 +1,3 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:14cd0df55488907baf26a6e8da9548d614d044a15259a526bb1f0be44a712764
|
||||
size 10113024
|
||||
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Vendored
+215
@@ -0,0 +1,215 @@
|
||||
{
|
||||
"minecraft:recipes/building_blocks/polished_deepslate": {
|
||||
"criteria": {
|
||||
"has_cobbled_deepslate": "2026-01-18 19:41:36 +0100"
|
||||
},
|
||||
"done": true
|
||||
},
|
||||
"minecraft:recipes/building_blocks/deepslate_tile_stairs_from_cobbled_deepslate_stonecutting": {
|
||||
"criteria": {
|
||||
"has_cobbled_deepslate": "2026-01-18 19:41:36 +0100"
|
||||
},
|
||||
"done": true
|
||||
},
|
||||
"minecraft:recipes/building_blocks/deepslate_brick_stairs_from_cobbled_deepslate_stonecutting": {
|
||||
"criteria": {
|
||||
"has_cobbled_deepslate": "2026-01-18 19:41:36 +0100"
|
||||
},
|
||||
"done": true
|
||||
},
|
||||
"minecraft:recipes/combat/stone_sword": {
|
||||
"criteria": {
|
||||
"has_cobblestone": "2026-01-18 19:41:36 +0100"
|
||||
},
|
||||
"done": true
|
||||
},
|
||||
"minecraft:recipes/tools/stone_axe": {
|
||||
"criteria": {
|
||||
"has_cobblestone": "2026-01-18 19:41:36 +0100"
|
||||
},
|
||||
"done": true
|
||||
},
|
||||
"minecraft:story/mine_stone": {
|
||||
"criteria": {
|
||||
"get_stone": "2026-01-18 19:41:36 +0100"
|
||||
},
|
||||
"done": true
|
||||
},
|
||||
"minecraft:recipes/decorations/furnace": {
|
||||
"criteria": {
|
||||
"has_cobblestone": "2026-01-18 19:41:36 +0100"
|
||||
},
|
||||
"done": true
|
||||
},
|
||||
"minecraft:recipes/building_blocks/chiseled_deepslate_from_cobbled_deepslate_stonecutting": {
|
||||
"criteria": {
|
||||
"has_cobbled_deepslate": "2026-01-18 19:41:36 +0100"
|
||||
},
|
||||
"done": true
|
||||
},
|
||||
"minecraft:recipes/decorations/crafting_table": {
|
||||
"criteria": {
|
||||
"unlock_right_away": "2026-01-18 19:40:40 +0100"
|
||||
},
|
||||
"done": true
|
||||
},
|
||||
"minecraft:recipes/building_blocks/cobbled_deepslate_slab": {
|
||||
"criteria": {
|
||||
"has_cobbled_deepslate": "2026-01-18 19:41:36 +0100"
|
||||
},
|
||||
"done": true
|
||||
},
|
||||
"minecraft:recipes/decorations/cobbled_deepslate_wall_from_cobbled_deepslate_stonecutting": {
|
||||
"criteria": {
|
||||
"has_cobbled_deepslate": "2026-01-18 19:41:36 +0100"
|
||||
},
|
||||
"done": true
|
||||
},
|
||||
"minecraft:recipes/food/cooked_porkchop_from_campfire_cooking": {
|
||||
"criteria": {
|
||||
"has_porkchop": "2026-01-18 19:40:40 +0100"
|
||||
},
|
||||
"done": true
|
||||
},
|
||||
"minecraft:recipes/decorations/cobbled_deepslate_wall": {
|
||||
"criteria": {
|
||||
"has_cobbled_deepslate": "2026-01-18 19:41:36 +0100"
|
||||
},
|
||||
"done": true
|
||||
},
|
||||
"minecraft:recipes/decorations/polished_deepslate_wall_from_cobbled_deepslate_stonecutting": {
|
||||
"criteria": {
|
||||
"has_cobbled_deepslate": "2026-01-18 19:41:36 +0100"
|
||||
},
|
||||
"done": true
|
||||
},
|
||||
"minecraft:recipes/building_blocks/cobbled_deepslate_stairs_from_cobbled_deepslate_stonecutting": {
|
||||
"criteria": {
|
||||
"has_cobbled_deepslate": "2026-01-18 19:41:36 +0100"
|
||||
},
|
||||
"done": true
|
||||
},
|
||||
"minecraft:recipes/building_blocks/deepslate": {
|
||||
"criteria": {
|
||||
"has_cobbled_deepslate": "2026-01-18 19:41:36 +0100"
|
||||
},
|
||||
"done": true
|
||||
},
|
||||
"minecraft:recipes/building_blocks/polished_deepslate_stairs_from_cobbled_deepslate_stonecutting": {
|
||||
"criteria": {
|
||||
"has_cobbled_deepslate": "2026-01-18 19:41:36 +0100"
|
||||
},
|
||||
"done": true
|
||||
},
|
||||
"minecraft:recipes/decorations/deepslate_brick_wall_from_cobbled_deepslate_stonecutting": {
|
||||
"criteria": {
|
||||
"has_cobbled_deepslate": "2026-01-18 19:41:36 +0100"
|
||||
},
|
||||
"done": true
|
||||
},
|
||||
"minecraft:recipes/building_blocks/polished_deepslate_from_cobbled_deepslate_stonecutting": {
|
||||
"criteria": {
|
||||
"has_cobbled_deepslate": "2026-01-18 19:41:36 +0100"
|
||||
},
|
||||
"done": true
|
||||
},
|
||||
"minecraft:recipes/building_blocks/polished_deepslate_slab_from_cobbled_deepslate_stonecutting": {
|
||||
"criteria": {
|
||||
"has_cobbled_deepslate": "2026-01-18 19:41:36 +0100"
|
||||
},
|
||||
"done": true
|
||||
},
|
||||
"minecraft:recipes/food/cooked_porkchop": {
|
||||
"criteria": {
|
||||
"has_porkchop": "2026-01-18 19:40:40 +0100"
|
||||
},
|
||||
"done": true
|
||||
},
|
||||
"minecraft:recipes/tools/stone_pickaxe": {
|
||||
"criteria": {
|
||||
"has_cobblestone": "2026-01-18 19:41:36 +0100"
|
||||
},
|
||||
"done": true
|
||||
},
|
||||
"minecraft:recipes/building_blocks/deepslate_brick_slab_from_cobbled_deepslate_stonecutting": {
|
||||
"criteria": {
|
||||
"has_cobbled_deepslate": "2026-01-18 19:41:36 +0100"
|
||||
},
|
||||
"done": true
|
||||
},
|
||||
"minecraft:recipes/building_blocks/cobbled_deepslate_slab_from_cobbled_deepslate_stonecutting": {
|
||||
"criteria": {
|
||||
"has_cobbled_deepslate": "2026-01-18 19:41:36 +0100"
|
||||
},
|
||||
"done": true
|
||||
},
|
||||
"minecraft:recipes/building_blocks/deepslate_tile_slab_from_cobbled_deepslate_stonecutting": {
|
||||
"criteria": {
|
||||
"has_cobbled_deepslate": "2026-01-18 19:41:36 +0100"
|
||||
},
|
||||
"done": true
|
||||
},
|
||||
"minecraft:recipes/misc/charcoal": {
|
||||
"criteria": {
|
||||
"has_log": "2026-01-18 19:41:43 +0100"
|
||||
},
|
||||
"done": true
|
||||
},
|
||||
"minecraft:recipes/building_blocks/cobbled_deepslate_stairs": {
|
||||
"criteria": {
|
||||
"has_cobbled_deepslate": "2026-01-18 19:41:36 +0100"
|
||||
},
|
||||
"done": true
|
||||
},
|
||||
"minecraft:recipes/decorations/deepslate_tile_wall_from_cobbled_deepslate_stonecutting": {
|
||||
"criteria": {
|
||||
"has_cobbled_deepslate": "2026-01-18 19:41:36 +0100"
|
||||
},
|
||||
"done": true
|
||||
},
|
||||
"minecraft:recipes/building_blocks/oak_planks": {
|
||||
"criteria": {
|
||||
"has_logs": "2026-01-18 19:41:43 +0100"
|
||||
},
|
||||
"done": true
|
||||
},
|
||||
"minecraft:recipes/food/cooked_porkchop_from_smoking": {
|
||||
"criteria": {
|
||||
"has_porkchop": "2026-01-18 19:40:40 +0100"
|
||||
},
|
||||
"done": true
|
||||
},
|
||||
"minecraft:recipes/building_blocks/deepslate_bricks_from_cobbled_deepslate_stonecutting": {
|
||||
"criteria": {
|
||||
"has_cobbled_deepslate": "2026-01-18 19:41:36 +0100"
|
||||
},
|
||||
"done": true
|
||||
},
|
||||
"minecraft:adventure/adventuring_time": {
|
||||
"criteria": {
|
||||
"minecraft:forest": "2026-01-18 19:40:40 +0100",
|
||||
"minecraft:deep_dark": "2026-01-18 19:41:56 +0100",
|
||||
"minecraft:stony_shore": "2026-01-18 19:40:46 +0100"
|
||||
},
|
||||
"done": false
|
||||
},
|
||||
"minecraft:recipes/building_blocks/deepslate_tiles_from_cobbled_deepslate_stonecutting": {
|
||||
"criteria": {
|
||||
"has_cobbled_deepslate": "2026-01-18 19:41:36 +0100"
|
||||
},
|
||||
"done": true
|
||||
},
|
||||
"minecraft:recipes/tools/stone_hoe": {
|
||||
"criteria": {
|
||||
"has_cobblestone": "2026-01-18 19:41:36 +0100"
|
||||
},
|
||||
"done": true
|
||||
},
|
||||
"minecraft:recipes/tools/stone_shovel": {
|
||||
"criteria": {
|
||||
"has_cobblestone": "2026-01-18 19:41:36 +0100"
|
||||
},
|
||||
"done": true
|
||||
},
|
||||
"DataVersion": 4556
|
||||
}
|
||||
Vendored
+17
@@ -0,0 +1,17 @@
|
||||
{
|
||||
"minecraft:recipes/decorations/crafting_table": {
|
||||
"criteria": {
|
||||
"unlock_right_away": "2026-04-23 22:08:36 +0200"
|
||||
},
|
||||
"done": true
|
||||
},
|
||||
"minecraft:adventure/adventuring_time": {
|
||||
"criteria": {
|
||||
"minecraft:taiga": "2026-04-23 22:10:55 +0200",
|
||||
"minecraft:grove": "2026-04-23 22:09:03 +0200",
|
||||
"minecraft:stony_shore": "2026-04-23 22:08:37 +0200"
|
||||
},
|
||||
"done": false
|
||||
},
|
||||
"DataVersion": 4671
|
||||
}
|
||||
Vendored
+17
@@ -0,0 +1,17 @@
|
||||
{
|
||||
"minecraft:recipes/decorations/crafting_table": {
|
||||
"criteria": {
|
||||
"unlock_right_away": "2026-05-08 20:07:02 +0200"
|
||||
},
|
||||
"done": true
|
||||
},
|
||||
"minecraft:adventure/adventuring_time": {
|
||||
"criteria": {
|
||||
"minecraft:forest": "2026-05-08 20:07:06 +0200",
|
||||
"minecraft:taiga": "2026-05-08 20:07:05 +0200",
|
||||
"minecraft:grove": "2026-05-08 20:07:03 +0200"
|
||||
},
|
||||
"done": false
|
||||
},
|
||||
"DataVersion": 4671
|
||||
}
|
||||
Vendored
+220
@@ -0,0 +1,220 @@
|
||||
{
|
||||
"minecraft:recipes/building_blocks/polished_deepslate": {
|
||||
"criteria": {
|
||||
"has_cobbled_deepslate": "2026-03-11 19:22:37 +0100"
|
||||
},
|
||||
"done": true
|
||||
},
|
||||
"minecraft:recipes/building_blocks/deepslate_tile_stairs_from_cobbled_deepslate_stonecutting": {
|
||||
"criteria": {
|
||||
"has_cobbled_deepslate": "2026-03-11 19:22:37 +0100"
|
||||
},
|
||||
"done": true
|
||||
},
|
||||
"minecraft:recipes/building_blocks/deepslate_brick_stairs_from_cobbled_deepslate_stonecutting": {
|
||||
"criteria": {
|
||||
"has_cobbled_deepslate": "2026-03-11 19:22:37 +0100"
|
||||
},
|
||||
"done": true
|
||||
},
|
||||
"minecraft:recipes/combat/stone_sword": {
|
||||
"criteria": {
|
||||
"has_cobblestone": "2026-03-11 19:22:37 +0100"
|
||||
},
|
||||
"done": true
|
||||
},
|
||||
"minecraft:recipes/tools/stone_axe": {
|
||||
"criteria": {
|
||||
"has_cobblestone": "2026-03-11 19:22:37 +0100"
|
||||
},
|
||||
"done": true
|
||||
},
|
||||
"minecraft:story/mine_stone": {
|
||||
"criteria": {
|
||||
"get_stone": "2026-03-11 19:22:37 +0100"
|
||||
},
|
||||
"done": true
|
||||
},
|
||||
"minecraft:recipes/decorations/furnace": {
|
||||
"criteria": {
|
||||
"has_cobblestone": "2026-03-11 19:22:37 +0100"
|
||||
},
|
||||
"done": true
|
||||
},
|
||||
"minecraft:recipes/building_blocks/chiseled_deepslate_from_cobbled_deepslate_stonecutting": {
|
||||
"criteria": {
|
||||
"has_cobbled_deepslate": "2026-03-11 19:22:37 +0100"
|
||||
},
|
||||
"done": true
|
||||
},
|
||||
"minecraft:recipes/decorations/crafting_table": {
|
||||
"criteria": {
|
||||
"unlock_right_away": "2026-03-11 19:22:37 +0100"
|
||||
},
|
||||
"done": true
|
||||
},
|
||||
"minecraft:recipes/building_blocks/cobbled_deepslate_slab": {
|
||||
"criteria": {
|
||||
"has_cobbled_deepslate": "2026-03-11 19:22:37 +0100"
|
||||
},
|
||||
"done": true
|
||||
},
|
||||
"minecraft:recipes/decorations/cobbled_deepslate_wall_from_cobbled_deepslate_stonecutting": {
|
||||
"criteria": {
|
||||
"has_cobbled_deepslate": "2026-03-11 19:22:37 +0100"
|
||||
},
|
||||
"done": true
|
||||
},
|
||||
"minecraft:recipes/food/cooked_porkchop_from_campfire_cooking": {
|
||||
"criteria": {
|
||||
"has_porkchop": "2026-03-11 19:22:37 +0100"
|
||||
},
|
||||
"done": true
|
||||
},
|
||||
"minecraft:recipes/decorations/cobbled_deepslate_wall": {
|
||||
"criteria": {
|
||||
"has_cobbled_deepslate": "2026-03-11 19:22:37 +0100"
|
||||
},
|
||||
"done": true
|
||||
},
|
||||
"minecraft:recipes/decorations/polished_deepslate_wall_from_cobbled_deepslate_stonecutting": {
|
||||
"criteria": {
|
||||
"has_cobbled_deepslate": "2026-03-11 19:22:37 +0100"
|
||||
},
|
||||
"done": true
|
||||
},
|
||||
"minecraft:recipes/building_blocks/cobbled_deepslate_stairs_from_cobbled_deepslate_stonecutting": {
|
||||
"criteria": {
|
||||
"has_cobbled_deepslate": "2026-03-11 19:22:37 +0100"
|
||||
},
|
||||
"done": true
|
||||
},
|
||||
"minecraft:recipes/building_blocks/deepslate": {
|
||||
"criteria": {
|
||||
"has_cobbled_deepslate": "2026-03-11 19:22:37 +0100"
|
||||
},
|
||||
"done": true
|
||||
},
|
||||
"minecraft:recipes/building_blocks/polished_deepslate_stairs_from_cobbled_deepslate_stonecutting": {
|
||||
"criteria": {
|
||||
"has_cobbled_deepslate": "2026-03-11 19:22:37 +0100"
|
||||
},
|
||||
"done": true
|
||||
},
|
||||
"minecraft:recipes/decorations/deepslate_brick_wall_from_cobbled_deepslate_stonecutting": {
|
||||
"criteria": {
|
||||
"has_cobbled_deepslate": "2026-03-11 19:22:37 +0100"
|
||||
},
|
||||
"done": true
|
||||
},
|
||||
"minecraft:recipes/building_blocks/polished_deepslate_from_cobbled_deepslate_stonecutting": {
|
||||
"criteria": {
|
||||
"has_cobbled_deepslate": "2026-03-11 19:22:37 +0100"
|
||||
},
|
||||
"done": true
|
||||
},
|
||||
"minecraft:recipes/building_blocks/polished_deepslate_slab_from_cobbled_deepslate_stonecutting": {
|
||||
"criteria": {
|
||||
"has_cobbled_deepslate": "2026-03-11 19:22:37 +0100"
|
||||
},
|
||||
"done": true
|
||||
},
|
||||
"minecraft:recipes/food/cooked_porkchop": {
|
||||
"criteria": {
|
||||
"has_porkchop": "2026-03-11 19:22:37 +0100"
|
||||
},
|
||||
"done": true
|
||||
},
|
||||
"minecraft:recipes/tools/stone_pickaxe": {
|
||||
"criteria": {
|
||||
"has_cobblestone": "2026-03-11 19:22:37 +0100"
|
||||
},
|
||||
"done": true
|
||||
},
|
||||
"minecraft:recipes/building_blocks/deepslate_brick_slab_from_cobbled_deepslate_stonecutting": {
|
||||
"criteria": {
|
||||
"has_cobbled_deepslate": "2026-03-11 19:22:37 +0100"
|
||||
},
|
||||
"done": true
|
||||
},
|
||||
"minecraft:recipes/building_blocks/cobbled_deepslate_slab_from_cobbled_deepslate_stonecutting": {
|
||||
"criteria": {
|
||||
"has_cobbled_deepslate": "2026-03-11 19:22:37 +0100"
|
||||
},
|
||||
"done": true
|
||||
},
|
||||
"minecraft:recipes/building_blocks/deepslate_tile_slab_from_cobbled_deepslate_stonecutting": {
|
||||
"criteria": {
|
||||
"has_cobbled_deepslate": "2026-03-11 19:22:37 +0100"
|
||||
},
|
||||
"done": true
|
||||
},
|
||||
"minecraft:recipes/misc/charcoal": {
|
||||
"criteria": {
|
||||
"has_log": "2026-03-11 19:22:37 +0100"
|
||||
},
|
||||
"done": true
|
||||
},
|
||||
"minecraft:recipes/building_blocks/cobbled_deepslate_stairs": {
|
||||
"criteria": {
|
||||
"has_cobbled_deepslate": "2026-03-11 19:22:37 +0100"
|
||||
},
|
||||
"done": true
|
||||
},
|
||||
"minecraft:recipes/combat/stone_spear": {
|
||||
"criteria": {
|
||||
"has_cobblestone": "2026-03-11 19:22:37 +0100"
|
||||
},
|
||||
"done": true
|
||||
},
|
||||
"minecraft:recipes/decorations/deepslate_tile_wall_from_cobbled_deepslate_stonecutting": {
|
||||
"criteria": {
|
||||
"has_cobbled_deepslate": "2026-03-11 19:22:37 +0100"
|
||||
},
|
||||
"done": true
|
||||
},
|
||||
"minecraft:recipes/building_blocks/oak_planks": {
|
||||
"criteria": {
|
||||
"has_logs": "2026-03-11 19:22:37 +0100"
|
||||
},
|
||||
"done": true
|
||||
},
|
||||
"minecraft:recipes/food/cooked_porkchop_from_smoking": {
|
||||
"criteria": {
|
||||
"has_porkchop": "2026-03-11 19:22:37 +0100"
|
||||
},
|
||||
"done": true
|
||||
},
|
||||
"minecraft:recipes/building_blocks/deepslate_bricks_from_cobbled_deepslate_stonecutting": {
|
||||
"criteria": {
|
||||
"has_cobbled_deepslate": "2026-03-11 19:22:37 +0100"
|
||||
},
|
||||
"done": true
|
||||
},
|
||||
"minecraft:adventure/adventuring_time": {
|
||||
"criteria": {
|
||||
"minecraft:stony_shore": "2026-03-11 19:22:59 +0100",
|
||||
"minecraft:plains": "2026-03-11 19:22:38 +0100"
|
||||
},
|
||||
"done": false
|
||||
},
|
||||
"minecraft:recipes/building_blocks/deepslate_tiles_from_cobbled_deepslate_stonecutting": {
|
||||
"criteria": {
|
||||
"has_cobbled_deepslate": "2026-03-11 19:22:37 +0100"
|
||||
},
|
||||
"done": true
|
||||
},
|
||||
"minecraft:recipes/tools/stone_hoe": {
|
||||
"criteria": {
|
||||
"has_cobblestone": "2026-03-11 19:22:37 +0100"
|
||||
},
|
||||
"done": true
|
||||
},
|
||||
"minecraft:recipes/tools/stone_shovel": {
|
||||
"criteria": {
|
||||
"has_cobblestone": "2026-03-11 19:22:37 +0100"
|
||||
},
|
||||
"done": true
|
||||
},
|
||||
"DataVersion": 4671
|
||||
}
|
||||
Vendored
+222
@@ -0,0 +1,222 @@
|
||||
{
|
||||
"minecraft:recipes/building_blocks/polished_deepslate": {
|
||||
"criteria": {
|
||||
"has_cobbled_deepslate": "2026-02-07 19:19:03 +0100"
|
||||
},
|
||||
"done": true
|
||||
},
|
||||
"minecraft:recipes/building_blocks/deepslate_tile_stairs_from_cobbled_deepslate_stonecutting": {
|
||||
"criteria": {
|
||||
"has_cobbled_deepslate": "2026-02-07 19:19:03 +0100"
|
||||
},
|
||||
"done": true
|
||||
},
|
||||
"minecraft:recipes/building_blocks/deepslate_brick_stairs_from_cobbled_deepslate_stonecutting": {
|
||||
"criteria": {
|
||||
"has_cobbled_deepslate": "2026-02-07 19:19:03 +0100"
|
||||
},
|
||||
"done": true
|
||||
},
|
||||
"minecraft:recipes/combat/stone_sword": {
|
||||
"criteria": {
|
||||
"has_cobblestone": "2026-02-07 19:19:03 +0100"
|
||||
},
|
||||
"done": true
|
||||
},
|
||||
"minecraft:recipes/tools/stone_axe": {
|
||||
"criteria": {
|
||||
"has_cobblestone": "2026-02-07 19:19:03 +0100"
|
||||
},
|
||||
"done": true
|
||||
},
|
||||
"minecraft:story/mine_stone": {
|
||||
"criteria": {
|
||||
"get_stone": "2026-02-07 19:19:03 +0100"
|
||||
},
|
||||
"done": true
|
||||
},
|
||||
"minecraft:recipes/decorations/furnace": {
|
||||
"criteria": {
|
||||
"has_cobblestone": "2026-02-07 19:19:03 +0100"
|
||||
},
|
||||
"done": true
|
||||
},
|
||||
"minecraft:recipes/building_blocks/chiseled_deepslate_from_cobbled_deepslate_stonecutting": {
|
||||
"criteria": {
|
||||
"has_cobbled_deepslate": "2026-02-07 19:19:03 +0100"
|
||||
},
|
||||
"done": true
|
||||
},
|
||||
"minecraft:recipes/decorations/crafting_table": {
|
||||
"criteria": {
|
||||
"unlock_right_away": "2026-02-07 19:19:03 +0100"
|
||||
},
|
||||
"done": true
|
||||
},
|
||||
"minecraft:recipes/building_blocks/cobbled_deepslate_slab": {
|
||||
"criteria": {
|
||||
"has_cobbled_deepslate": "2026-02-07 19:19:03 +0100"
|
||||
},
|
||||
"done": true
|
||||
},
|
||||
"minecraft:recipes/decorations/cobbled_deepslate_wall_from_cobbled_deepslate_stonecutting": {
|
||||
"criteria": {
|
||||
"has_cobbled_deepslate": "2026-02-07 19:19:03 +0100"
|
||||
},
|
||||
"done": true
|
||||
},
|
||||
"minecraft:recipes/food/cooked_porkchop_from_campfire_cooking": {
|
||||
"criteria": {
|
||||
"has_porkchop": "2026-02-07 19:19:03 +0100"
|
||||
},
|
||||
"done": true
|
||||
},
|
||||
"minecraft:recipes/decorations/cobbled_deepslate_wall": {
|
||||
"criteria": {
|
||||
"has_cobbled_deepslate": "2026-02-07 19:19:03 +0100"
|
||||
},
|
||||
"done": true
|
||||
},
|
||||
"minecraft:recipes/decorations/polished_deepslate_wall_from_cobbled_deepslate_stonecutting": {
|
||||
"criteria": {
|
||||
"has_cobbled_deepslate": "2026-02-07 19:19:03 +0100"
|
||||
},
|
||||
"done": true
|
||||
},
|
||||
"minecraft:recipes/building_blocks/cobbled_deepslate_stairs_from_cobbled_deepslate_stonecutting": {
|
||||
"criteria": {
|
||||
"has_cobbled_deepslate": "2026-02-07 19:19:03 +0100"
|
||||
},
|
||||
"done": true
|
||||
},
|
||||
"minecraft:recipes/building_blocks/deepslate": {
|
||||
"criteria": {
|
||||
"has_cobbled_deepslate": "2026-02-07 19:19:03 +0100"
|
||||
},
|
||||
"done": true
|
||||
},
|
||||
"minecraft:recipes/building_blocks/polished_deepslate_stairs_from_cobbled_deepslate_stonecutting": {
|
||||
"criteria": {
|
||||
"has_cobbled_deepslate": "2026-02-07 19:19:03 +0100"
|
||||
},
|
||||
"done": true
|
||||
},
|
||||
"minecraft:recipes/decorations/deepslate_brick_wall_from_cobbled_deepslate_stonecutting": {
|
||||
"criteria": {
|
||||
"has_cobbled_deepslate": "2026-02-07 19:19:03 +0100"
|
||||
},
|
||||
"done": true
|
||||
},
|
||||
"minecraft:recipes/building_blocks/polished_deepslate_from_cobbled_deepslate_stonecutting": {
|
||||
"criteria": {
|
||||
"has_cobbled_deepslate": "2026-02-07 19:19:03 +0100"
|
||||
},
|
||||
"done": true
|
||||
},
|
||||
"minecraft:recipes/building_blocks/polished_deepslate_slab_from_cobbled_deepslate_stonecutting": {
|
||||
"criteria": {
|
||||
"has_cobbled_deepslate": "2026-02-07 19:19:03 +0100"
|
||||
},
|
||||
"done": true
|
||||
},
|
||||
"minecraft:recipes/food/cooked_porkchop": {
|
||||
"criteria": {
|
||||
"has_porkchop": "2026-02-07 19:19:03 +0100"
|
||||
},
|
||||
"done": true
|
||||
},
|
||||
"minecraft:recipes/tools/stone_pickaxe": {
|
||||
"criteria": {
|
||||
"has_cobblestone": "2026-02-07 19:19:03 +0100"
|
||||
},
|
||||
"done": true
|
||||
},
|
||||
"minecraft:recipes/building_blocks/deepslate_brick_slab_from_cobbled_deepslate_stonecutting": {
|
||||
"criteria": {
|
||||
"has_cobbled_deepslate": "2026-02-07 19:19:03 +0100"
|
||||
},
|
||||
"done": true
|
||||
},
|
||||
"minecraft:recipes/building_blocks/cobbled_deepslate_slab_from_cobbled_deepslate_stonecutting": {
|
||||
"criteria": {
|
||||
"has_cobbled_deepslate": "2026-02-07 19:19:03 +0100"
|
||||
},
|
||||
"done": true
|
||||
},
|
||||
"minecraft:recipes/building_blocks/deepslate_tile_slab_from_cobbled_deepslate_stonecutting": {
|
||||
"criteria": {
|
||||
"has_cobbled_deepslate": "2026-02-07 19:19:03 +0100"
|
||||
},
|
||||
"done": true
|
||||
},
|
||||
"minecraft:recipes/misc/charcoal": {
|
||||
"criteria": {
|
||||
"has_log": "2026-02-07 19:19:03 +0100"
|
||||
},
|
||||
"done": true
|
||||
},
|
||||
"minecraft:recipes/building_blocks/cobbled_deepslate_stairs": {
|
||||
"criteria": {
|
||||
"has_cobbled_deepslate": "2026-02-07 19:19:03 +0100"
|
||||
},
|
||||
"done": true
|
||||
},
|
||||
"minecraft:recipes/combat/stone_spear": {
|
||||
"criteria": {
|
||||
"has_cobblestone": "2026-02-07 19:19:03 +0100"
|
||||
},
|
||||
"done": true
|
||||
},
|
||||
"minecraft:recipes/decorations/deepslate_tile_wall_from_cobbled_deepslate_stonecutting": {
|
||||
"criteria": {
|
||||
"has_cobbled_deepslate": "2026-02-07 19:19:03 +0100"
|
||||
},
|
||||
"done": true
|
||||
},
|
||||
"minecraft:recipes/building_blocks/oak_planks": {
|
||||
"criteria": {
|
||||
"has_logs": "2026-02-07 19:19:03 +0100"
|
||||
},
|
||||
"done": true
|
||||
},
|
||||
"minecraft:recipes/food/cooked_porkchop_from_smoking": {
|
||||
"criteria": {
|
||||
"has_porkchop": "2026-02-07 19:19:03 +0100"
|
||||
},
|
||||
"done": true
|
||||
},
|
||||
"minecraft:recipes/building_blocks/deepslate_bricks_from_cobbled_deepslate_stonecutting": {
|
||||
"criteria": {
|
||||
"has_cobbled_deepslate": "2026-02-07 19:19:03 +0100"
|
||||
},
|
||||
"done": true
|
||||
},
|
||||
"minecraft:adventure/adventuring_time": {
|
||||
"criteria": {
|
||||
"minecraft:forest": "2026-02-07 19:19:04 +0100",
|
||||
"minecraft:river": "2026-02-07 19:20:26 +0100",
|
||||
"minecraft:stony_shore": "2026-02-07 19:20:11 +0100",
|
||||
"minecraft:plains": "2026-02-07 19:20:12 +0100"
|
||||
},
|
||||
"done": false
|
||||
},
|
||||
"minecraft:recipes/building_blocks/deepslate_tiles_from_cobbled_deepslate_stonecutting": {
|
||||
"criteria": {
|
||||
"has_cobbled_deepslate": "2026-02-07 19:19:03 +0100"
|
||||
},
|
||||
"done": true
|
||||
},
|
||||
"minecraft:recipes/tools/stone_hoe": {
|
||||
"criteria": {
|
||||
"has_cobblestone": "2026-02-07 19:19:03 +0100"
|
||||
},
|
||||
"done": true
|
||||
},
|
||||
"minecraft:recipes/tools/stone_shovel": {
|
||||
"criteria": {
|
||||
"has_cobblestone": "2026-02-07 19:19:03 +0100"
|
||||
},
|
||||
"done": true
|
||||
},
|
||||
"DataVersion": 4671
|
||||
}
|
||||
Vendored
+119
@@ -0,0 +1,119 @@
|
||||
{
|
||||
"minecraft:recipes/decorations/crafting_table": {
|
||||
"criteria": {
|
||||
"unlock_right_away": "2025-11-30 09:32:28 +0100"
|
||||
},
|
||||
"done": true
|
||||
},
|
||||
"minecraft:recipes/transportation/cherry_boat": {
|
||||
"criteria": {
|
||||
"in_water": "2025-11-30 10:05:13 +0100"
|
||||
},
|
||||
"done": true
|
||||
},
|
||||
"minecraft:adventure/kill_all_mobs": {
|
||||
"criteria": {
|
||||
"minecraft:zombie": "2025-11-30 10:06:33 +0100"
|
||||
},
|
||||
"done": false
|
||||
},
|
||||
"minecraft:recipes/food/cooked_porkchop_from_campfire_cooking": {
|
||||
"criteria": {
|
||||
"has_porkchop": "2025-11-30 10:06:57 +0100"
|
||||
},
|
||||
"done": true
|
||||
},
|
||||
"minecraft:recipes/transportation/bamboo_raft": {
|
||||
"criteria": {
|
||||
"in_water": "2025-11-30 10:05:13 +0100"
|
||||
},
|
||||
"done": true
|
||||
},
|
||||
"minecraft:recipes/transportation/spruce_boat": {
|
||||
"criteria": {
|
||||
"in_water": "2025-11-30 10:05:13 +0100"
|
||||
},
|
||||
"done": true
|
||||
},
|
||||
"minecraft:recipes/transportation/birch_boat": {
|
||||
"criteria": {
|
||||
"in_water": "2025-11-30 10:05:13 +0100"
|
||||
},
|
||||
"done": true
|
||||
},
|
||||
"minecraft:recipes/transportation/oak_boat": {
|
||||
"criteria": {
|
||||
"in_water": "2025-11-30 10:05:13 +0100"
|
||||
},
|
||||
"done": true
|
||||
},
|
||||
"minecraft:recipes/transportation/mangrove_boat": {
|
||||
"criteria": {
|
||||
"in_water": "2025-11-30 10:05:13 +0100"
|
||||
},
|
||||
"done": true
|
||||
},
|
||||
"minecraft:recipes/food/cooked_porkchop": {
|
||||
"criteria": {
|
||||
"has_porkchop": "2025-11-30 10:06:57 +0100"
|
||||
},
|
||||
"done": true
|
||||
},
|
||||
"minecraft:recipes/transportation/acacia_boat": {
|
||||
"criteria": {
|
||||
"in_water": "2025-11-30 10:05:13 +0100"
|
||||
},
|
||||
"done": true
|
||||
},
|
||||
"minecraft:adventure/root": {
|
||||
"criteria": {
|
||||
"killed_something": "2025-11-30 10:06:33 +0100"
|
||||
},
|
||||
"done": true
|
||||
},
|
||||
"minecraft:recipes/food/cooked_porkchop_from_smoking": {
|
||||
"criteria": {
|
||||
"has_porkchop": "2025-11-30 10:06:57 +0100"
|
||||
},
|
||||
"done": true
|
||||
},
|
||||
"minecraft:adventure/kill_a_mob": {
|
||||
"criteria": {
|
||||
"minecraft:zombie": "2025-11-30 10:06:33 +0100"
|
||||
},
|
||||
"done": true
|
||||
},
|
||||
"minecraft:recipes/transportation/pale_oak_boat": {
|
||||
"criteria": {
|
||||
"in_water": "2025-11-30 10:05:13 +0100"
|
||||
},
|
||||
"done": true
|
||||
},
|
||||
"minecraft:adventure/adventuring_time": {
|
||||
"criteria": {
|
||||
"minecraft:old_growth_birch_forest": "2025-11-30 10:03:58 +0100",
|
||||
"minecraft:forest": "2025-11-30 10:04:40 +0100",
|
||||
"minecraft:taiga": "2025-11-30 09:32:29 +0100",
|
||||
"minecraft:deep_dark": "2025-11-30 10:05:12 +0100",
|
||||
"minecraft:river": "2025-11-30 10:09:03 +0100",
|
||||
"minecraft:grove": "2025-11-30 09:32:32 +0100",
|
||||
"minecraft:meadow": "2025-11-30 09:32:44 +0100",
|
||||
"minecraft:birch_forest": "2025-11-30 10:05:33 +0100",
|
||||
"minecraft:frozen_peaks": "2025-11-30 09:32:55 +0100"
|
||||
},
|
||||
"done": false
|
||||
},
|
||||
"minecraft:recipes/transportation/jungle_boat": {
|
||||
"criteria": {
|
||||
"in_water": "2025-11-30 10:05:13 +0100"
|
||||
},
|
||||
"done": true
|
||||
},
|
||||
"minecraft:recipes/transportation/dark_oak_boat": {
|
||||
"criteria": {
|
||||
"in_water": "2025-11-30 10:05:13 +0100"
|
||||
},
|
||||
"done": true
|
||||
},
|
||||
"DataVersion": 4556
|
||||
}
|
||||
Vendored
+220
@@ -0,0 +1,220 @@
|
||||
{
|
||||
"minecraft:recipes/building_blocks/polished_deepslate": {
|
||||
"criteria": {
|
||||
"has_cobbled_deepslate": "2026-03-12 21:17:28 +0100"
|
||||
},
|
||||
"done": true
|
||||
},
|
||||
"minecraft:recipes/building_blocks/deepslate_tile_stairs_from_cobbled_deepslate_stonecutting": {
|
||||
"criteria": {
|
||||
"has_cobbled_deepslate": "2026-03-12 21:17:28 +0100"
|
||||
},
|
||||
"done": true
|
||||
},
|
||||
"minecraft:recipes/building_blocks/deepslate_brick_stairs_from_cobbled_deepslate_stonecutting": {
|
||||
"criteria": {
|
||||
"has_cobbled_deepslate": "2026-03-12 21:17:28 +0100"
|
||||
},
|
||||
"done": true
|
||||
},
|
||||
"minecraft:recipes/combat/stone_sword": {
|
||||
"criteria": {
|
||||
"has_cobblestone": "2026-03-12 21:17:28 +0100"
|
||||
},
|
||||
"done": true
|
||||
},
|
||||
"minecraft:recipes/tools/stone_axe": {
|
||||
"criteria": {
|
||||
"has_cobblestone": "2026-03-12 21:17:28 +0100"
|
||||
},
|
||||
"done": true
|
||||
},
|
||||
"minecraft:story/mine_stone": {
|
||||
"criteria": {
|
||||
"get_stone": "2026-03-12 21:17:28 +0100"
|
||||
},
|
||||
"done": true
|
||||
},
|
||||
"minecraft:recipes/decorations/furnace": {
|
||||
"criteria": {
|
||||
"has_cobblestone": "2026-03-12 21:17:28 +0100"
|
||||
},
|
||||
"done": true
|
||||
},
|
||||
"minecraft:recipes/building_blocks/chiseled_deepslate_from_cobbled_deepslate_stonecutting": {
|
||||
"criteria": {
|
||||
"has_cobbled_deepslate": "2026-03-12 21:17:28 +0100"
|
||||
},
|
||||
"done": true
|
||||
},
|
||||
"minecraft:recipes/decorations/crafting_table": {
|
||||
"criteria": {
|
||||
"unlock_right_away": "2026-03-12 21:17:28 +0100"
|
||||
},
|
||||
"done": true
|
||||
},
|
||||
"minecraft:recipes/building_blocks/cobbled_deepslate_slab": {
|
||||
"criteria": {
|
||||
"has_cobbled_deepslate": "2026-03-12 21:17:28 +0100"
|
||||
},
|
||||
"done": true
|
||||
},
|
||||
"minecraft:recipes/decorations/cobbled_deepslate_wall_from_cobbled_deepslate_stonecutting": {
|
||||
"criteria": {
|
||||
"has_cobbled_deepslate": "2026-03-12 21:17:28 +0100"
|
||||
},
|
||||
"done": true
|
||||
},
|
||||
"minecraft:recipes/food/cooked_porkchop_from_campfire_cooking": {
|
||||
"criteria": {
|
||||
"has_porkchop": "2026-03-12 21:17:28 +0100"
|
||||
},
|
||||
"done": true
|
||||
},
|
||||
"minecraft:recipes/decorations/cobbled_deepslate_wall": {
|
||||
"criteria": {
|
||||
"has_cobbled_deepslate": "2026-03-12 21:17:28 +0100"
|
||||
},
|
||||
"done": true
|
||||
},
|
||||
"minecraft:recipes/decorations/polished_deepslate_wall_from_cobbled_deepslate_stonecutting": {
|
||||
"criteria": {
|
||||
"has_cobbled_deepslate": "2026-03-12 21:17:28 +0100"
|
||||
},
|
||||
"done": true
|
||||
},
|
||||
"minecraft:recipes/building_blocks/cobbled_deepslate_stairs_from_cobbled_deepslate_stonecutting": {
|
||||
"criteria": {
|
||||
"has_cobbled_deepslate": "2026-03-12 21:17:28 +0100"
|
||||
},
|
||||
"done": true
|
||||
},
|
||||
"minecraft:recipes/building_blocks/deepslate": {
|
||||
"criteria": {
|
||||
"has_cobbled_deepslate": "2026-03-12 21:17:28 +0100"
|
||||
},
|
||||
"done": true
|
||||
},
|
||||
"minecraft:recipes/building_blocks/polished_deepslate_stairs_from_cobbled_deepslate_stonecutting": {
|
||||
"criteria": {
|
||||
"has_cobbled_deepslate": "2026-03-12 21:17:28 +0100"
|
||||
},
|
||||
"done": true
|
||||
},
|
||||
"minecraft:recipes/decorations/deepslate_brick_wall_from_cobbled_deepslate_stonecutting": {
|
||||
"criteria": {
|
||||
"has_cobbled_deepslate": "2026-03-12 21:17:28 +0100"
|
||||
},
|
||||
"done": true
|
||||
},
|
||||
"minecraft:recipes/building_blocks/polished_deepslate_from_cobbled_deepslate_stonecutting": {
|
||||
"criteria": {
|
||||
"has_cobbled_deepslate": "2026-03-12 21:17:28 +0100"
|
||||
},
|
||||
"done": true
|
||||
},
|
||||
"minecraft:recipes/building_blocks/polished_deepslate_slab_from_cobbled_deepslate_stonecutting": {
|
||||
"criteria": {
|
||||
"has_cobbled_deepslate": "2026-03-12 21:17:28 +0100"
|
||||
},
|
||||
"done": true
|
||||
},
|
||||
"minecraft:recipes/food/cooked_porkchop": {
|
||||
"criteria": {
|
||||
"has_porkchop": "2026-03-12 21:17:28 +0100"
|
||||
},
|
||||
"done": true
|
||||
},
|
||||
"minecraft:recipes/tools/stone_pickaxe": {
|
||||
"criteria": {
|
||||
"has_cobblestone": "2026-03-12 21:17:28 +0100"
|
||||
},
|
||||
"done": true
|
||||
},
|
||||
"minecraft:recipes/building_blocks/deepslate_brick_slab_from_cobbled_deepslate_stonecutting": {
|
||||
"criteria": {
|
||||
"has_cobbled_deepslate": "2026-03-12 21:17:28 +0100"
|
||||
},
|
||||
"done": true
|
||||
},
|
||||
"minecraft:recipes/building_blocks/cobbled_deepslate_slab_from_cobbled_deepslate_stonecutting": {
|
||||
"criteria": {
|
||||
"has_cobbled_deepslate": "2026-03-12 21:17:28 +0100"
|
||||
},
|
||||
"done": true
|
||||
},
|
||||
"minecraft:recipes/building_blocks/deepslate_tile_slab_from_cobbled_deepslate_stonecutting": {
|
||||
"criteria": {
|
||||
"has_cobbled_deepslate": "2026-03-12 21:17:28 +0100"
|
||||
},
|
||||
"done": true
|
||||
},
|
||||
"minecraft:recipes/misc/charcoal": {
|
||||
"criteria": {
|
||||
"has_log": "2026-03-12 21:17:28 +0100"
|
||||
},
|
||||
"done": true
|
||||
},
|
||||
"minecraft:recipes/building_blocks/cobbled_deepslate_stairs": {
|
||||
"criteria": {
|
||||
"has_cobbled_deepslate": "2026-03-12 21:17:28 +0100"
|
||||
},
|
||||
"done": true
|
||||
},
|
||||
"minecraft:recipes/combat/stone_spear": {
|
||||
"criteria": {
|
||||
"has_cobblestone": "2026-03-12 21:17:28 +0100"
|
||||
},
|
||||
"done": true
|
||||
},
|
||||
"minecraft:recipes/decorations/deepslate_tile_wall_from_cobbled_deepslate_stonecutting": {
|
||||
"criteria": {
|
||||
"has_cobbled_deepslate": "2026-03-12 21:17:28 +0100"
|
||||
},
|
||||
"done": true
|
||||
},
|
||||
"minecraft:recipes/building_blocks/oak_planks": {
|
||||
"criteria": {
|
||||
"has_logs": "2026-03-12 21:17:28 +0100"
|
||||
},
|
||||
"done": true
|
||||
},
|
||||
"minecraft:recipes/food/cooked_porkchop_from_smoking": {
|
||||
"criteria": {
|
||||
"has_porkchop": "2026-03-12 21:17:28 +0100"
|
||||
},
|
||||
"done": true
|
||||
},
|
||||
"minecraft:recipes/building_blocks/deepslate_bricks_from_cobbled_deepslate_stonecutting": {
|
||||
"criteria": {
|
||||
"has_cobbled_deepslate": "2026-03-12 21:17:28 +0100"
|
||||
},
|
||||
"done": true
|
||||
},
|
||||
"minecraft:adventure/adventuring_time": {
|
||||
"criteria": {
|
||||
"minecraft:stony_shore": "2026-03-12 21:17:48 +0100",
|
||||
"minecraft:plains": "2026-03-12 21:17:31 +0100"
|
||||
},
|
||||
"done": false
|
||||
},
|
||||
"minecraft:recipes/building_blocks/deepslate_tiles_from_cobbled_deepslate_stonecutting": {
|
||||
"criteria": {
|
||||
"has_cobbled_deepslate": "2026-03-12 21:17:28 +0100"
|
||||
},
|
||||
"done": true
|
||||
},
|
||||
"minecraft:recipes/tools/stone_hoe": {
|
||||
"criteria": {
|
||||
"has_cobblestone": "2026-03-12 21:17:28 +0100"
|
||||
},
|
||||
"done": true
|
||||
},
|
||||
"minecraft:recipes/tools/stone_shovel": {
|
||||
"criteria": {
|
||||
"has_cobblestone": "2026-03-12 21:17:28 +0100"
|
||||
},
|
||||
"done": true
|
||||
},
|
||||
"DataVersion": 4671
|
||||
}
|
||||
Vendored
BIN
Binary file not shown.
Vendored
BIN
Binary file not shown.
Vendored
BIN
Binary file not shown.
Vendored
BIN
Binary file not shown.
Vendored
BIN
Binary file not shown.
Vendored
BIN
Binary file not shown.
Vendored
BIN
Binary file not shown.
Vendored
BIN
Binary file not shown.
Vendored
BIN
Binary file not shown.
Vendored
BIN
Binary file not shown.
Vendored
BIN
Binary file not shown.
Vendored
BIN
Binary file not shown.
Vendored
BIN
Binary file not shown.
Vendored
BIN
Binary file not shown.
@@ -0,0 +1 @@
|
||||
https://github.com/cabaletta/baritone
|
||||
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
@@ -0,0 +1,3 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:fc0958e0912637fd74710a15fe7f1272f3cd2af3bcce3c23fed19736388c00ad
|
||||
size 753664
|
||||
@@ -0,0 +1,3 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:26d5f8cd8bd1c860416914bc4c02d0b70607656beba85dba2263e0e79a06e7b8
|
||||
size 348160
|
||||
@@ -0,0 +1,3 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:28c10367fb1e46056999833e17d07551e5bf76dd913551e09f8d43595a2b3fb2
|
||||
size 12288
|
||||
@@ -0,0 +1,3 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:19a35fe09fba69dfe85874a548d28b77c4c70664e338530b9f3f08f24ad4abba
|
||||
size 598016
|
||||
@@ -0,0 +1,3 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:30adf5f8dec1ff527794b72ec7f6e647b5501c851dc988210daf354b6d56f03b
|
||||
size 143360
|
||||
@@ -0,0 +1,3 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:65c4290f6e9cc93cf73a91a47437484b94d014a0b9ad648d896c12674faf1f10
|
||||
size 405504
|
||||
@@ -0,0 +1,3 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:c68c40572cb6667a818d6982a1c2cd40f95c3ab25551b7d70fbc35cb0146ee12
|
||||
size 290816
|
||||
@@ -0,0 +1,3 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:2c6387f0f76c625bf167373094a7628efad713158de30bb2bdfc06ad4f44acab
|
||||
size 192512
|
||||
@@ -0,0 +1,3 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:34a1d263910364f6bd0173e0ec96e8f45a0a5c2c74e4c5a3e771612685376d34
|
||||
size 77824
|
||||
@@ -0,0 +1,3 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:490e215ae40f8928646cfd09e2ccbed852e9a0b43a48234a5e8d5a8e01b56a1a
|
||||
size 32768
|
||||
@@ -0,0 +1,3 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:870c2d34a6e041f46786167f5c077ce515d0daa616242d4a8065861e376aaf54
|
||||
size 24576
|
||||
@@ -0,0 +1,3 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:7473ac38f9943d9e1ed907faa2997d2833c29f326bd9829f7d0dc49b77797486
|
||||
size 724992
|
||||
@@ -0,0 +1,3 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:adba24770ab0983249c2b327fa9ae675107a34549651d870c5d0011ea8cbcabc
|
||||
size 294912
|
||||
@@ -0,0 +1,3 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:29fb706bffac7f1fb93f0fc62c201fdb1a0ca939fb53807362337f1ea2609737
|
||||
size 16384
|
||||
@@ -0,0 +1,3 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:a870e120e4932cbfe231c85e1ca04b7e0dc455b3e4da331b8f3e0baf6c17946f
|
||||
size 344064
|
||||
@@ -0,0 +1,3 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:c73b7ec1f3e7699e430da25bf72f570aa9c84d88dc8c21908ea6b2293c8c213a
|
||||
size 98304
|
||||
@@ -0,0 +1,3 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:4fffbd92fa6e7e271a8643b8ee0711d3fc2ebafe4b2de0b642277474778d0122
|
||||
size 225280
|
||||
@@ -0,0 +1,3 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:048a09900055de40df61eee3fda1e65e68e438c32548c1e4bbcc1ef58568a176
|
||||
size 184320
|
||||
@@ -0,0 +1,3 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:e6e9f552d4732adc2c255b1f2cdb1d6f45f8cfceacda8bfdda613dda822f2fe3
|
||||
size 16384
|
||||
@@ -0,0 +1,3 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:a63b81662448a67d649465a56862a5ffd9af86499d7807653f865ff6606cf504
|
||||
size 163840
|
||||
BIN
Binary file not shown.
Binary file not shown.
|
After Width: | Height: | Size: 12 KiB |
Binary file not shown.
Binary file not shown.
Vendored
BIN
Binary file not shown.
Vendored
BIN
Binary file not shown.
Vendored
BIN
Binary file not shown.
Vendored
BIN
Binary file not shown.
Vendored
BIN
Binary file not shown.
Vendored
BIN
Binary file not shown.
Vendored
BIN
Binary file not shown.
Vendored
BIN
Binary file not shown.
Vendored
BIN
Binary file not shown.
Vendored
BIN
Binary file not shown.
Vendored
BIN
Binary file not shown.
Vendored
BIN
Binary file not shown.
Vendored
BIN
Binary file not shown.
Vendored
BIN
Binary file not shown.
@@ -0,0 +1,3 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:937c6376f219ef071b29d0579134554bf41caeef7cce9e1f124ec55feeae6024
|
||||
size 102400
|
||||
@@ -0,0 +1,3 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:9dc61a33ba5c7136b12828208a4c095c07d8678e121143e77785ab66e703a6eb
|
||||
size 122880
|
||||
@@ -0,0 +1,3 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:384deabb9fa4fad920607238b63a9f336a6819e95dd2fa4d5e3b809dff43c037
|
||||
size 61440
|
||||
@@ -0,0 +1,3 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:f9b406f332db22b53b3b943e26b1833263b7ffbdce8e1516681208eeefff54b4
|
||||
size 49152
|
||||
@@ -0,0 +1,3 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:89246001e53747ba9ee22a32761df8e8eec25fe575df8619820dac8fe7d2af8d
|
||||
size 114688
|
||||
@@ -0,0 +1,3 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:1900d9b85f2c5016c9aa9dce8ad3ea0af6ad29ade24144bb6bd2c2a715997aff
|
||||
size 45056
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user