aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorNopoTheGamer <40329022+NopoTheGamer@users.noreply.github.com>2024-06-13 02:37:44 +1000
committerGitHub <noreply@github.com>2024-06-12 18:37:44 +0200
commit01917a751c087ddb97e899611777a6f6de24ad01 (patch)
treeaabdac7a89f71463939a78123924df6a62c5083c
parent22c9a6b8cd02408f3c3851292a0ac193abfd3f42 (diff)
downloadNotEnoughUpdates-01917a751c087ddb97e899611777a6f6de24ad01.tar.gz
NotEnoughUpdates-01917a751c087ddb97e899611777a6f6de24ad01.tar.bz2
NotEnoughUpdates-01917a751c087ddb97e899611777a6f6de24ad01.zip
Add Custom Neu biomes for smoldering tomb and glacite mineshaft (#1197)
-rw-r--r--src/main/java/io/github/moulberry/notenoughupdates/NotEnoughUpdates.java8
-rw-r--r--src/main/java/io/github/moulberry/notenoughupdates/miscfeatures/customblockzones/CrimsonIsleTextures.java44
-rw-r--r--src/main/java/io/github/moulberry/notenoughupdates/miscfeatures/customblockzones/CustomBiomes.java2
-rw-r--r--src/main/java/io/github/moulberry/notenoughupdates/miscfeatures/customblockzones/MineshaftTextures.java28
-rw-r--r--src/main/java/io/github/moulberry/notenoughupdates/miscfeatures/customblockzones/SpecialBlockZone.java2
5 files changed, 84 insertions, 0 deletions
diff --git a/src/main/java/io/github/moulberry/notenoughupdates/NotEnoughUpdates.java b/src/main/java/io/github/moulberry/notenoughupdates/NotEnoughUpdates.java
index b7586a93..b34150d7 100644
--- a/src/main/java/io/github/moulberry/notenoughupdates/NotEnoughUpdates.java
+++ b/src/main/java/io/github/moulberry/notenoughupdates/NotEnoughUpdates.java
@@ -156,6 +156,14 @@ public class NotEnoughUpdates {
.setBiomeName("NeuCrystalHollowsCrystalNucleus")
.setFillerBlockMetadata(5470985)
.setTemperatureRainfall(0.95F, 0.9F);
+ public static final BiomeGenBase smolderingTomb =
+ (new BiomeGenHell(107))
+ .setColor(16777215)
+ .setBiomeName("NeuSmolderingTomb");
+ public static final BiomeGenBase glaciteMineshaft =
+ (new BiomeGenSnow(108, false))
+ .setColor(16777215)
+ .setBiomeName("NeuGlaciteMineshaft");
private static final long CHAT_MSG_COOLDOWN = 200;
//Stolen from Biscut and used for detecting whether in skyblock
private static final Set<String> SKYBLOCK_IN_ALL_LANGUAGES =
diff --git a/src/main/java/io/github/moulberry/notenoughupdates/miscfeatures/customblockzones/CrimsonIsleTextures.java b/src/main/java/io/github/moulberry/notenoughupdates/miscfeatures/customblockzones/CrimsonIsleTextures.java
new file mode 100644
index 00000000..7cdd0513
--- /dev/null
+++ b/src/main/java/io/github/moulberry/notenoughupdates/miscfeatures/customblockzones/CrimsonIsleTextures.java
@@ -0,0 +1,44 @@
+/*
+ * Copyright (C) 2024 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 net.minecraft.util.AxisAlignedBB;
+import net.minecraft.util.BlockPos;
+import net.minecraft.util.Vec3;
+
+public class CrimsonIsleTextures implements IslandZoneSubdivider {
+
+ //-200 123 -930
+ //-390 123 -930
+ //-200 123 -1100
+ //-200 123 -1100
+ //-200 40 -930
+ //-390 40 -930
+ //-200 40 -1100
+ //-200 40 -1100
+ //smoldering tomb
+
+ @Override
+ public SpecialBlockZone getSpecialZoneForBlock(String location, BlockPos position) {
+ AxisAlignedBB axisAlignedBB = new AxisAlignedBB(-390, 40, -1100, -200, 123, -930);
+ if (!axisAlignedBB.isVecInside(new Vec3(position))) return null;
+ return SpecialBlockZone.SMOLDERING_TOMB;
+ }
+}
diff --git a/src/main/java/io/github/moulberry/notenoughupdates/miscfeatures/customblockzones/CustomBiomes.java b/src/main/java/io/github/moulberry/notenoughupdates/miscfeatures/customblockzones/CustomBiomes.java
index dd97a1f0..f9c5faba 100644
--- a/src/main/java/io/github/moulberry/notenoughupdates/miscfeatures/customblockzones/CustomBiomes.java
+++ b/src/main/java/io/github/moulberry/notenoughupdates/miscfeatures/customblockzones/CustomBiomes.java
@@ -49,6 +49,8 @@ public class CustomBiomes {
private CustomBiomes() {
subdividers.put("crystal_hollows", new CrystalHollowsTextures());
subdividers.put("mining_3", new DwarvenMinesTextures());
+ subdividers.put("crimson_isle", new CrimsonIsleTextures());
+ subdividers.put("mineshaft", new MineshaftTextures());
}
//Biome Prefix: NeuAreaBiomeName
diff --git a/src/main/java/io/github/moulberry/notenoughupdates/miscfeatures/customblockzones/MineshaftTextures.java b/src/main/java/io/github/moulberry/notenoughupdates/miscfeatures/customblockzones/MineshaftTextures.java
new file mode 100644
index 00000000..46bc7071
--- /dev/null
+++ b/src/main/java/io/github/moulberry/notenoughupdates/miscfeatures/customblockzones/MineshaftTextures.java
@@ -0,0 +1,28 @@
+/*
+ * Copyright (C) 2024 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 net.minecraft.util.BlockPos;
+
+public class MineshaftTextures implements IslandZoneSubdivider {
+ public SpecialBlockZone getSpecialZoneForBlock(String location, BlockPos pos) {
+ return SpecialBlockZone.GLACITE_MINESHAFT;
+ }
+}
diff --git a/src/main/java/io/github/moulberry/notenoughupdates/miscfeatures/customblockzones/SpecialBlockZone.java b/src/main/java/io/github/moulberry/notenoughupdates/miscfeatures/customblockzones/SpecialBlockZone.java
index e88e2c25..1393dd13 100644
--- a/src/main/java/io/github/moulberry/notenoughupdates/miscfeatures/customblockzones/SpecialBlockZone.java
+++ b/src/main/java/io/github/moulberry/notenoughupdates/miscfeatures/customblockzones/SpecialBlockZone.java
@@ -31,6 +31,8 @@ public enum SpecialBlockZone {
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),
NON_SPECIAL_ZONE(null, false, false, false, false, false);
private final BiomeGenBase customBiome;