From 01917a751c087ddb97e899611777a6f6de24ad01 Mon Sep 17 00:00:00 2001 From: NopoTheGamer <40329022+NopoTheGamer@users.noreply.github.com> Date: Thu, 13 Jun 2024 02:37:44 +1000 Subject: Add Custom Neu biomes for smoldering tomb and glacite mineshaft (#1197) --- .../notenoughupdates/NotEnoughUpdates.java | 8 ++++ .../customblockzones/CrimsonIsleTextures.java | 44 ++++++++++++++++++++++ .../customblockzones/CustomBiomes.java | 2 + .../customblockzones/MineshaftTextures.java | 28 ++++++++++++++ .../customblockzones/SpecialBlockZone.java | 2 + 5 files changed, 84 insertions(+) create mode 100644 src/main/java/io/github/moulberry/notenoughupdates/miscfeatures/customblockzones/CrimsonIsleTextures.java create mode 100644 src/main/java/io/github/moulberry/notenoughupdates/miscfeatures/customblockzones/MineshaftTextures.java 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 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 . + */ + +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 . + */ + +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; -- cgit