From 71967dbb2ccc129cd61eff480f7d256ed5915211 Mon Sep 17 00:00:00 2001 From: Gregorius Techneticies Date: Sun, 10 Sep 2023 00:27:48 +0200 Subject: [PATCH] improved the twilight forest book a bit --- .../java/gregtech/loaders/b/Loader_Books.java | 41 ++++++++++++++++--- .../worldgen/ChestGenHooksChestReplacer.java | 5 +++ .../worldgen/TwilightTreasureReplacer.java | 2 + 3 files changed, 43 insertions(+), 5 deletions(-) diff --git a/src/main/java/gregtech/loaders/b/Loader_Books.java b/src/main/java/gregtech/loaders/b/Loader_Books.java index fb0ff3b6f..b73486b7b 100644 --- a/src/main/java/gregtech/loaders/b/Loader_Books.java +++ b/src/main/java/gregtech/loaders/b/Loader_Books.java @@ -108,10 +108,41 @@ public void run() { , "Space out Machines a little in order to be able to automate them later without causing a huge Clusterfuck. Always have enough space for 2 Blocks inbetween each Machine, if not 3! Disregard the eventual Loss of Power, it's not worth it." }); - UT.Books.createWrittenBook("Manual_Portal_TF", "Benimatics Twilight Forest", "Gregorius Techneticies", ST.make(ItemsGT.BOOKS, 1, 5), new String[] { - "This Books existence means that you found a GregTech 6 Dungeon with a Twilight Forest Portal inside of it, congratulations. If you don't know how to light the Portal to go on the Adventure, don't worry, in here are some instructions." - , "Step 1: You see the 4x4 of Grass Blocks with 12 Flowers growing on it and a 2x2 Pool of Water in the middle? That is going to be the Twilight Forest Portal." - , "Step 2: All you need to do to activate that Portal, is throwing a Diamond into that Water Pool, and you are ready to go. Yep, it is that simple. I did all the work for you and summoned the Blocks of the Portal in the right configuration." + UT.Books.createWrittenBook("Manual_Portal_TF", "The Twilight Forest Guide", "Gregorius Techneticies", ST.make(ItemsGT.BOOKS, 1, 1005), new String[] { + "If you found this Book next to a Twilight Forest Portal, but you don't know how to light the Portal to go on the Adventure, don't worry, in here are some instructions. If found inside the Twilight Forest, you can probably skip 3 Pages." + , "Step 1: You see the 4x4 of some type of Dirt, Grass or Mud with 12 Flowers growing on it and a 2x2 Pool of Water in the middle? That is going to be the Twilight Forest Portal." + , "Step 2: All you need to do to activate that Portal, is throwing a Diamond into that Water Pool, and you are ready to go. Yep, it is that simple. If the Water is purple and swirly, the Portal is already active." + , "Step 3: So, now that you have a Portal to the Twilight Forest, all you need to do is jump in. You don't even need Materials to prepare or anything." + , "Once you are inside of the Twilight Forest you can gather up Materials from the ground as usual. A good recommendation would be to find a Firefly Forest and grab a bunch of the Firefly Jars there, because they are blocklike Torches." + , "The Obsidian Pillars you see spread all over the place have a Block of Lapis Lazuli at their Top, it is sometimes easier to get that then to go mining. These Pillars also have Ravens around them, if you need a Feather for a Magic Map Focus." + , "Lakes are just boring Bodies of Water, not even Squids spawn inside of them, due to the Twilight Forest being of a too low Y Level to do so. I guess the Lake is a good place to go fishing or build some IC2 Water Power Generator." + , "The Questing Ram is an Animal you can find in the middle of a Biome full of Rainbow Trees. If you click it with one of each type of Wool it will reward you with the Crumble Horn, a somewhat useful Mining Tool, and some Blocks of Resources." + , "In general all Loot Chests in Twilight Forest can be picked up wholesale as long as you have never opened them before. That way you can bring them home without cluttering your Inventory and then open them there safely." + , "If you find small ruined Buildings, it is well advised to break their wooden Floor and dig a three block deep hole to see if there is a hidden Chest in the Basement. It is a 50:50 chance for it to exist." + , "Water Wells can be found all over the place, it is important to note that some Wells have a Chest hidden at their Bottom. Only the Wells that have a 1-by-1 of Water can randomly have such a Chest, the ones that are 2-by-2 will never have it." + , "Hollow Trees can contain multiple Chests accompanied by Spider Spawners. The tiny Spiders and their noise make it easy to find, and even early Tools kill them in one hit. Bigger Hollow Trees tend to have more Chests in their Foliage." + , "Hedge Mazes are the next logical Step to find some Loot. First look from above where all the Rooms are, then rush for each of them, axe all the Chests, and run. Most of the Mobs in there are not hard to beat." + , "Ironwood is easy as you only need some Hematite/Magnetite, Gold, and some Liveroot you get from picking up Sticks. A Mortar, a Mixing Bowl, a Furnace and Stone Anvils with Stone Hammers are all you need to make basic Equipment of it." + , "Hollow Hills are something you can try once you are all armored up, nab some Chests from one of those. Beware it is full of very deadly and explosive Mobs, so you need to be constantly on the run and hide behind the many Stalagmites." + , "Naga Arena¶===================¶This is the first Boss you need to defeat. All you need is 8 solid Blocks, a Bow and a few Stacks of Arrows. Run into the Arena and let the Naga spawn, then immediately pillar up 8 Blocks and attack with the Bow." + , "Naga Arena¶===================¶The Naga will almost definitely kill you in Melee Combat so using ranged Weapons is the best way. And those Pillars that are already in the Arena are a good hint that you should get up and out of Melee Range." + , "Naga Arena¶===================¶The Naga Trophy you get can be used to produce KU through a Magic Field Absorber." + , "Lich Tower¶===================¶..." + , "Lich Tower¶===================¶The Lich Trophy you get can be used to produce QU through a Magic Field Absorber." + , "Minoshroom Maze¶===================¶..." + , "Minoshroom Vault¶===================¶..." + , "Hydra Cave¶===================¶..." + , "Hydra Cave¶===================¶The Hydra Trophy you get can be used to produce HU through a Magic Field Absorber." + , "Knight Stronghold¶===================¶..." + , "Dark Tower¶===================¶..." + , "Dark Tower¶===================¶The Ur-Ghast Trophy you get can be used to produce LU through a Magic Field Absorber." + , "Yeti Cave¶===================¶..." + , "Aurora Tower¶===================¶..." + , "Aurora Tower¶===================¶The Snow Queen Trophy you get can be used to produce CU through a Magic Field Absorber." + , "Troll Caves¶===================¶..." + , "Cloud Giants¶===================¶..." + , "Troll Vault¶===================¶The giant Obsidian Cube contains the Lamp of Cinders and vanilla Endgame Loot such as Ancient Debris and Wither Skeleton Skulls. At this Version of Minecraft it's the final worthwhile Loot of Twilight Forest." + , "Thorn Castle¶===================¶With the Lamp of Cinders you can either burn the Thorns or use it as an infinite Lighter. The Castle itself is unfinished, so there is not much to do there. There is likely Ancient Debris below the Castle." }); UT.Books.createWrittenBook("Manual_Enchantments", "The vexing World of Enchantments", "Evoker Number 42", ST.make(ItemsGT.BOOKS, 1, 10), new String[] { @@ -201,7 +232,7 @@ public void run() { , "Zombies¶===================¶Zombies, the most common Mob in Minecraft. Zombies always attack with Melee Damage and they can wield Weapons and wear Armor." , "Zombies¶===================¶Zombies are grouped amoung the Undead Mobs, meaning they can be damaged by Sunlight, since it sets them on Fire. However, this does not apply to Baby Zombies!" , "Zombies¶===================¶Due to being undead, Healing Splash Potions deal damage to them, while poisoning ones heal them. The Smite Enchant is a good way to cause a lot of damage on them." - , "Zombies¶===================¶Do not underestimate their Melee Damage and try to keep a safe distance while attacking them, make sure they dont hit you when you Melee them yourself." + , "Zombies¶===================¶Do not underestimate their Melee Damage and try to keep a safe distance while attacking them, make sure they don't hit you when you Melee them yourself." , "Zombies¶===================¶While wearing a Helmet they are immune to the Sun, that is until the Helmet loses all of its durability and breaks as it gets damaged when worn by a Zombie in Sunlight." , "Zombies¶===================¶Zombies are attracted by Villagers, you can use them to distract them. If you want them to murder that Village, that is." , "Zombies¶===================¶They can detect you from very far distances and will therefore end up swarming you from all directions, if you are not careful." diff --git a/src/main/java/gregtech/worldgen/ChestGenHooksChestReplacer.java b/src/main/java/gregtech/worldgen/ChestGenHooksChestReplacer.java index 9c9c3eebe..554395fb0 100644 --- a/src/main/java/gregtech/worldgen/ChestGenHooksChestReplacer.java +++ b/src/main/java/gregtech/worldgen/ChestGenHooksChestReplacer.java @@ -120,6 +120,11 @@ protected ItemStack[] generateChestContent(Random aRandom, IInventory aInventory aWorld.setBlock(aX, aY, aZ, NB, 0, 1); // Place the better Loot Chest. tRegistry.mBlock.placeBlock(aWorld, aX, aY, aZ, SIDE_UNKNOWN, mChestID, UT.NBT.make(NBT_FACING, tFacing, NBT_TRAPPED, T, "gt.dungeonloot", mCategory), F, T); + // TODO REMOVE DEBUG LINE + if (ChestGenHooks.DUNGEON_CHEST.equals(mCategory)) { + DEB.println(aX + " ; " + aY + " ; " + aZ); + new Exception().printStackTrace(DEB); + } // Loot wont need to be generated anymore in that case. return ZL_IS; } diff --git a/src/main/java/gregtech/worldgen/TwilightTreasureReplacer.java b/src/main/java/gregtech/worldgen/TwilightTreasureReplacer.java index 8590727d5..e4fb166dc 100644 --- a/src/main/java/gregtech/worldgen/TwilightTreasureReplacer.java +++ b/src/main/java/gregtech/worldgen/TwilightTreasureReplacer.java @@ -127,6 +127,8 @@ public TwilightTreasureReplacer(TFTreasure aTreasure, int aIndex, String aCatego useless .add(IL.Food_Pickle.get(8)); // Add a Death Compass to the Ultra Rares, even though it is super easy to get. ultrarare.add(IL.Compass_Death.get(1)); + // A Guide to the Twilight Forest. + ultrarare.add(ST.book("Manual_Portal_TF")); } // Labyrinth Vault