aboutsummaryrefslogtreecommitdiff
path: root/Minecraft.World/Layer.h
blob: a444a62980d81abcb41703228871e4cd1568aa5b (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
#pragma once

#include "ArrayWithLength.h"

class LevelType;

#ifndef _CONTENT_PACAKGE
#define _BIOME_OVERRIDE
#endif

class Layer
{
private:
	__int64 seed;

protected:
	shared_ptr<Layer>parent;

private:
	__int64 rval;
	__int64 seedMixup;

public:
	static LayerArray getDefaultLayers(__int64 seed, LevelType *levelType);

	Layer(__int64 seedMixup);

	virtual void init(__int64 seed);
	virtual void initRandom(__int64 x, __int64 y);

protected:
	int nextRandom(int max);

public:
	virtual intArray getArea(int xo, int yo, int w, int h) = 0;
};