aboutsummaryrefslogtreecommitdiff
path: root/src/main/java/io/github/moulberry/notenoughupdates/miscfeatures/customblockzones/SpecialBlockZone.java
blob: 8b6af7519061e4463f65d9d7c0ff7130724d4066 (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
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
/*
 * Copyright (C) 2022 NotEnoughUpdates contributors
 *
 * This file is part of NotEnoughUpdates.
 *
 * NotEnoughUpdates is free software: you can redistribute it
 * and/or modify it under the terms of the GNU Lesser General Public
 * License as published by the Free Software Foundation, either
 * version 3 of the License, or (at your option) any later version.
 *
 * NotEnoughUpdates is distributed in the hope that it will be useful,
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
 * Lesser General Public License for more details.
 *
 * You should have received a copy of the GNU Lesser General Public License
 * along with NotEnoughUpdates. If not, see <https://www.gnu.org/licenses/>.
 */

package io.github.moulberry.notenoughupdates.miscfeatures.customblockzones;

import io.github.moulberry.notenoughupdates.NotEnoughUpdates;
import net.minecraft.world.biome.BiomeGenBase;

public enum SpecialBlockZone {
	DWARVEN_MINES_NON_MITHRIL(BiomeGenBase.extremeHillsPlus, false, false, false, true, false),
	DWARVEN_MINES_MITHRIL(BiomeGenBase.extremeHillsEdge, true, true, false, true, false),
	CRYSTAL_HOLLOWS_MAGMA_FIELDS(NotEnoughUpdates.crystalHollowsMagmaFields, true, false, true, false, true),
	CRYSTAL_HOLLOWS_NUCLEUS(NotEnoughUpdates.crystalHollowsCrystalNucleus, true, false, true, false, true),
	CRYSTAL_HOLLOWS_JUNGLE(NotEnoughUpdates.crystalHollowsJungle, true, false, true, false, true),
	CRYSTAL_HOLLOWS_GOBLIN_HIDEOUT(NotEnoughUpdates.crystalHollowsGoblinHoldout, true, false, true, false, true),
	CRYSTAL_HOLLOWS_MITHRIL_DEPOSIT(NotEnoughUpdates.crystalHollowsMithrilDeposit, true, false, true, false, true),
	CRYSTAL_HOLLOWS_PRECURSOR_REMNANTS(NotEnoughUpdates.crystalHollowsPrecursorRemnants, true, false, true, false, true),
	SMOLDERING_TOMB(NotEnoughUpdates.smolderingTomb, false, false, true, false, true),
	GLACITE_MINESHAFT(NotEnoughUpdates.glaciteMineshaft, true, true, true, true, false),
	GLACITE_TUNNELS(NotEnoughUpdates.glaciteTunnels, true, true, true, true, false),
	NON_SPECIAL_ZONE(null, false, false, false, false, false);

	private final BiomeGenBase customBiome;
	private final boolean hasMithril;
	private final boolean hasTitanium;
	private final boolean hasGemstones;
	private final boolean isDwarvenMines;
	private final boolean isCrystalHollows;

	SpecialBlockZone(
		BiomeGenBase customBiome,
		boolean hasMithril,
		boolean hasTitanium,
		boolean hasGemstones,
		boolean isDwarvenMines,
		boolean isCrystalHollows
	) {
		this.customBiome = customBiome;
		this.hasMithril = hasMithril;
		this.hasTitanium = hasTitanium;
		this.hasGemstones = hasGemstones;
		this.isDwarvenMines = isDwarvenMines;
		this.isCrystalHollows = isCrystalHollows;
	}

	public BiomeGenBase getCustomBiome() {
		return customBiome;
	}

	public boolean hasMithril() {
		return hasMithril;
	}

	public boolean hasTitanium() {
		return hasTitanium;
	}

	public boolean hasGemstones() {
		return hasGemstones;
	}

	public boolean isDwarvenMines() {
		return isDwarvenMines;
	}

	public boolean isCrystalHollows() {
		return isCrystalHollows;
	}

	public boolean isMiningZone() {
		return isCrystalHollows || isDwarvenMines;
	}
}