blob: 23dc532f526842049aba025f4809ab6a5666b8c2 (
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
37
|
#include "stdafx.h"
#include "net.minecraft.world.level.h"
#include "LargeFeature.h"
const wstring LargeFeature::STRONGHOLD = L"StrongHold";
LargeFeature::LargeFeature()
{
radius = 8;
random = new Random();
}
LargeFeature::~LargeFeature()
{
delete random;
}
void LargeFeature::apply(ChunkSource *ChunkSource, Level *level, int xOffs, int zOffs, byteArray blocks)
{
int r = radius;
this->level = level;
random->setSeed(level->getSeed());
int64_t xScale = random->nextLong();
int64_t zScale = random->nextLong();
for (int x = xOffs - r; x <= xOffs + r; x++)
{
for (int z = zOffs - r; z <= zOffs + r; z++)
{
int64_t xx = x * xScale;
int64_t zz = z * zScale;
random->setSeed(xx ^ zz ^ level->getSeed());
addFeature(level, x, z, xOffs, zOffs, blocks);
}
}
}
|