summaryrefslogtreecommitdiffstats
path: root/src/main/java/net/minecraft/server/WorldGenerator.java
blob: f79a0fbaef9934b2edd6dfb7dd633b6f0c57de76 (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
38
39
40
41
42
package net.minecraft.server;

import java.util.Random;

import org.bukkit.craftbukkit.CraftBlockChangeDelegate; // CraftBukkit

public abstract class WorldGenerator {

    private final boolean a;

    public WorldGenerator() {
        this.a = false;
    }

    public WorldGenerator(boolean flag) {
        this.a = flag;
    }

    public abstract boolean a(World world, Random random, int i, int j, int k);

    public void a(double d0, double d1, double d2) {}

    // CraftBukkit - change signature
    protected void setType(CraftBlockChangeDelegate world, int i, int j, int k, Block block) {
        this.setTypeAndData(world, i, j, k, block, 0);
    }

    // CraftBukkit - change signature
    protected void setTypeAndData(CraftBlockChangeDelegate world, int i, int j, int k, Block block, int l) {
        if (this.a) {
            world.setTypeAndData(i, j, k, block, l, 3);
        } else {
            // CraftBukkit start - Layering violation :(
            if (world.getDelegate() instanceof World) {
                ((World) world.getDelegate()).setTypeAndData(i, j, k, block, l, 2);
            } else {
                world.setTypeAndData(i, j, k, block, l, 2);
            }
            // CraftBukkit end
        }
    }
}