From 5b8dc227dd2c8e1aa01c8115874ce67f1532b391 Mon Sep 17 00:00:00 2001 From: thenextelement Date: Thu, 27 Nov 2025 00:08:43 -0700 Subject: [PATCH 1/8] Revert Eye of the FLugel to functionality present in versions prior to build 1.7.10-209 Assets and teleportations functional, still need to fix the text overlay for distance/teleport name. --- .../common/item/relic/ItemExcaliber.java | 3 +- .../common/item/relic/ItemFlugelEye.java | 444 +++++++++++++----- .../botania/common/lib/LibItemNames.java | 1 + .../assets/botania/textures/items/sign0.png | Bin 0 -> 19028 bytes .../assets/botania/textures/items/sign1.png | Bin 0 -> 19105 bytes .../assets/botania/textures/items/sign10.png | Bin 0 -> 18615 bytes .../assets/botania/textures/items/sign11.png | Bin 0 -> 19038 bytes .../assets/botania/textures/items/sign2.png | Bin 0 -> 19577 bytes .../assets/botania/textures/items/sign3.png | Bin 0 -> 19577 bytes .../assets/botania/textures/items/sign4.png | Bin 0 -> 19577 bytes .../assets/botania/textures/items/sign5.png | Bin 0 -> 19144 bytes .../assets/botania/textures/items/sign6.png | Bin 0 -> 18995 bytes .../assets/botania/textures/items/sign7.png | Bin 0 -> 18988 bytes .../assets/botania/textures/items/sign8.png | Bin 0 -> 19500 bytes .../assets/botania/textures/items/sign9.png | Bin 0 -> 19234 bytes 15 files changed, 337 insertions(+), 111 deletions(-) create mode 100644 src/main/resources/assets/botania/textures/items/sign0.png create mode 100644 src/main/resources/assets/botania/textures/items/sign1.png create mode 100644 src/main/resources/assets/botania/textures/items/sign10.png create mode 100644 src/main/resources/assets/botania/textures/items/sign11.png create mode 100644 src/main/resources/assets/botania/textures/items/sign2.png create mode 100644 src/main/resources/assets/botania/textures/items/sign3.png create mode 100644 src/main/resources/assets/botania/textures/items/sign4.png create mode 100644 src/main/resources/assets/botania/textures/items/sign5.png create mode 100644 src/main/resources/assets/botania/textures/items/sign6.png create mode 100644 src/main/resources/assets/botania/textures/items/sign7.png create mode 100644 src/main/resources/assets/botania/textures/items/sign8.png create mode 100644 src/main/resources/assets/botania/textures/items/sign9.png diff --git a/src/main/java/vazkii/botania/common/item/relic/ItemExcaliber.java b/src/main/java/vazkii/botania/common/item/relic/ItemExcaliber.java index 471f677e70..03a8c2e154 100644 --- a/src/main/java/vazkii/botania/common/item/relic/ItemExcaliber.java +++ b/src/main/java/vazkii/botania/common/item/relic/ItemExcaliber.java @@ -8,7 +8,7 @@ * * File Created @ [Mar 29, 2015, 10:12:50 PM (GMT)] */ -/*package vazkii.botania.common.item.relic; +package vazkii.botania.common.item.relic; import java.util.List; @@ -220,4 +220,3 @@ public EnumRarity getRarity(ItemStack p_77613_1_) { } } - */ \ No newline at end of file diff --git a/src/main/java/vazkii/botania/common/item/relic/ItemFlugelEye.java b/src/main/java/vazkii/botania/common/item/relic/ItemFlugelEye.java index c73e5dce75..1931af6d48 100644 --- a/src/main/java/vazkii/botania/common/item/relic/ItemFlugelEye.java +++ b/src/main/java/vazkii/botania/common/item/relic/ItemFlugelEye.java @@ -2,127 +2,353 @@ * This class was created by . It's distributed as * part of the Botania Mod. Get the Source Code in github: * https://github.com/Vazkii/Botania - * + * * Botania is Open Source and distributed under the * Botania License: http://botaniamod.net/license.php - * + * * File Created @ [Mar 29, 2015, 10:13:26 PM (GMT)] */ package vazkii.botania.common.item.relic; +import net.minecraft.client.Minecraft; +import net.minecraft.client.gui.FontRenderer; +import net.minecraft.client.gui.ScaledResolution; +import net.minecraft.client.renderer.ItemRenderer; +import net.minecraft.client.renderer.Tessellator; +import net.minecraft.client.renderer.entity.RenderManager; +import net.minecraft.client.renderer.texture.IIconRegister; +import net.minecraft.client.renderer.texture.TextureMap; import net.minecraft.entity.Entity; +import net.minecraft.entity.EntityLivingBase; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.entity.player.EntityPlayerMP; -import net.minecraft.item.EnumAction; import net.minecraft.item.ItemStack; -import net.minecraft.util.ChunkCoordinates; +import net.minecraft.nbt.NBTTagCompound; +import net.minecraft.util.IIcon; +import net.minecraft.util.MathHelper; +import net.minecraft.util.ResourceLocation; +import net.minecraft.util.StatCollector; import net.minecraft.world.World; -import vazkii.botania.api.mana.IManaUsingItem; -import vazkii.botania.api.mana.ManaItemHandler; -import vazkii.botania.api.wand.ICoordBoundItem; -import vazkii.botania.common.Botania; +import net.minecraftforge.client.event.RenderWorldLastEvent; +import net.minecraftforge.common.MinecraftForge; + +import org.lwjgl.opengl.GL11; + +import vazkii.botania.client.core.handler.ClientTickHandler; +import vazkii.botania.client.core.helper.IconHelper; +import vazkii.botania.client.lib.LibResources; import vazkii.botania.common.core.helper.ItemNBTHelper; -import vazkii.botania.common.core.helper.MathHelper; import vazkii.botania.common.lib.LibItemNames; +import cpw.mods.fml.common.eventhandler.SubscribeEvent; +import cpw.mods.fml.relauncher.Side; +import cpw.mods.fml.relauncher.SideOnly; + +public class ItemFlugelEye extends ItemRelic { + + private static final ResourceLocation glowTexture = new ResourceLocation(LibResources.MISC_GLOW_CYAN); + + private static final int SEGMENTS = 12; + private static final MultiversePosition FALLBACK_POSITION = new MultiversePosition(0, -1, 0, 0); + + private static final String TAG_EQUIPPED = "equipped"; + private static final String TAG_ROTATION_BASE = "rotationBase"; + private static final String TAG_WARP_PREFIX = "warp"; + private static final String TAG_POS_X = "posX"; + private static final String TAG_POS_Y = "posY"; + private static final String TAG_POS_Z = "posZ"; + private static final String TAG_DIMENSION = "dim"; + private static final String TAG_FIRST_TICK = "firstTick"; + + IIcon[] signs; + + public ItemFlugelEye() { + super(LibItemNames.FLUGEL_EYE); + MinecraftForge.EVENT_BUS.register(this); + } + + @Override + @SideOnly(Side.CLIENT) + public void registerIcons(IIconRegister par1IconRegister) { + super.registerIcons(par1IconRegister); + signs = new IIcon[12]; + for(int i = 0; i < 12; i++) + signs[i] = IconHelper.forName(par1IconRegister, "sign" + i); + } + + @Override + public ItemStack onItemRightClick(ItemStack stack, World world, EntityPlayer player) { + if(isRightPlayer(player, stack)) { + int segment = getSegmentLookedAt(stack, player); + MultiversePosition pos = getWarpPoint(stack, segment); + if(pos.isValid()) { + if(pos.dim == world.provider.dimensionId && player instanceof EntityPlayerMP) { + ((EntityPlayerMP) player).playerNetServerHandler.setPlayerLocation(pos.x, pos.y, pos.z, player.rotationYaw, player.rotationPitch); + world.playSoundAtEntity(player, "mob.endermen.portal", 1F, 1F); + } + } else setWarpPoint(stack, segment, player.posX, player.posY, player.posZ, world.provider.dimensionId); + } + + return stack; + } + + @Override + public boolean onEntitySwing(EntityLivingBase player, ItemStack stack) { + if(player.isSneaking() && player instanceof EntityPlayer && isRightPlayer((EntityPlayer) player, stack)) { + int segment = getSegmentLookedAt(stack, player); + MultiversePosition pos = getWarpPoint(stack, segment); + if(pos.isValid()) { + setWarpPoint(stack, segment, 0, -1, 0, 0); + return true; + } + } + + return false; + } + + @Override + public void onUpdate(ItemStack stack, World world, Entity entity, int pos, boolean equipped) { + super.onUpdate(stack, world, entity, pos, equipped); + boolean eqLastTick = wasEquipped(stack); + boolean firstTick = isFirstTick(stack); + if(eqLastTick != equipped) + setEquipped(stack, equipped); + + if((!equipped || firstTick) && entity instanceof EntityLivingBase) { + int angles = 360; + int segAngles = angles / SEGMENTS; + float shift = segAngles / 2; + setRotationBase(stack, getCheckingAngle((EntityLivingBase) entity) - shift); + if(firstTick) + tickFirst(stack); + } + } + + private static int getSegmentLookedAt(ItemStack stack, EntityLivingBase player) { + float yaw = getCheckingAngle(player, getRotationBase(stack)); + + int angles = 360; + int segAngles = angles / SEGMENTS; + for(int seg = 0; seg < SEGMENTS; seg++) { + float calcAngle = (float) seg * segAngles; + if(yaw >= calcAngle && yaw < calcAngle + segAngles) + return seg; + } + return 0; + } + + private static float getCheckingAngle(EntityLivingBase player) { + return getCheckingAngle(player, 0F); + } + + // Screw the way minecraft handles rotation + // Really... + private static float getCheckingAngle(EntityLivingBase player, float base) { + float yaw = MathHelper.wrapAngleTo180_float(player.rotationYaw) + 90F; + int angles = 360; + int segAngles = angles / SEGMENTS; + float shift = segAngles / 2; + + if(yaw < 0) + yaw = 180F + (180F + yaw); + yaw -= 360F - base; + float angle = 360F - yaw + shift; + + if(angle < 0) + angle = 360F + angle; + + return angle; + } + + public static boolean isFirstTick(ItemStack stack) { + return ItemNBTHelper.getBoolean(stack, TAG_FIRST_TICK, true); + } + + public static void tickFirst(ItemStack stack) { + ItemNBTHelper.setBoolean(stack, TAG_FIRST_TICK, false); + } + + public static boolean wasEquipped(ItemStack stack) { + return ItemNBTHelper.getBoolean(stack, TAG_EQUIPPED, false); + } + + public static void setEquipped(ItemStack stack, boolean equipped) { + ItemNBTHelper.setBoolean(stack, TAG_EQUIPPED, equipped); + } + + public static float getRotationBase(ItemStack stack) { + return ItemNBTHelper.getFloat(stack, TAG_ROTATION_BASE, 0F); + } + + public static void setRotationBase(ItemStack stack, float rotation) { + ItemNBTHelper.setFloat(stack, TAG_ROTATION_BASE, rotation); + } + + public static void setWarpPoint(ItemStack stack, int warp, double x, double y, double z, int dim) { + NBTTagCompound cmp = new NBTTagCompound(); + cmp.setDouble(TAG_POS_X, x); + cmp.setDouble(TAG_POS_Y, y); + cmp.setDouble(TAG_POS_Z, z); + cmp.setInteger(TAG_DIMENSION, dim); + ItemNBTHelper.setCompound(stack, TAG_WARP_PREFIX + warp, cmp); + } + + public static MultiversePosition getWarpPoint(ItemStack stack, int warp) { + NBTTagCompound cmp = ItemNBTHelper.getCompound(stack, TAG_WARP_PREFIX + warp, true); + if(cmp == null) + return FALLBACK_POSITION; + + double x = cmp.getDouble(TAG_POS_X); + double y = cmp.getDouble(TAG_POS_Y); + double z = cmp.getDouble(TAG_POS_Z); + int dim = cmp.getInteger(TAG_DIMENSION); + return new MultiversePosition(x, y, z, dim); + } + + @SideOnly(Side.CLIENT) + @SubscribeEvent + public void onRenderWorldLast(RenderWorldLastEvent event) { + EntityPlayer player = Minecraft.getMinecraft().thePlayer; + ItemStack stack = player.getCurrentEquippedItem(); + if(stack != null && stack.getItem() == this) + render(stack, player, event.partialTicks); + } + + @SideOnly(Side.CLIENT) + public void render(ItemStack stack, EntityPlayer player, float partialTicks) { + Minecraft mc = Minecraft.getMinecraft(); + Tessellator tess = Tessellator.instance; + Tessellator.renderingWorldRenderer = false; + + GL11.glPushMatrix(); + GL11.glEnable(GL11.GL_BLEND); + GL11.glBlendFunc(GL11.GL_SRC_ALPHA, GL11.GL_ONE_MINUS_SRC_ALPHA); + float alpha = ((float) Math.sin((ClientTickHandler.ticksInGame + partialTicks) * 0.2F) * 0.5F + 0.5F) * 0.4F + 0.3F; + + double posX = player.prevPosX + (player.posX - player.prevPosX) * partialTicks; + double posY = player.prevPosY + (player.posY - player.prevPosY) * partialTicks; + double posZ = player.prevPosZ + (player.posZ - player.prevPosZ) * partialTicks; + + GL11.glTranslated(posX - RenderManager.renderPosX, posY - RenderManager.renderPosY, posZ - RenderManager.renderPosZ); + + float base = getRotationBase(stack); + int angles = 360; + int segAngles = angles / SEGMENTS; + float shift = base - segAngles / 2; + + float u = 1F; + float v = 0.25F; + + float s = 3F; + float m = 0.8F; + float y = v * s * 2; + float y0 = 0; + + int segmentLookedAt = getSegmentLookedAt(stack, player); + + for(int seg = 0; seg < SEGMENTS; seg++) { + boolean inside = false; + float rotationAngle = (seg + 0.5F) * segAngles + shift; + if(segmentLookedAt == seg) + inside = true; + + GL11.glPushMatrix(); + GL11.glRotatef(rotationAngle, 0F, 1F, 0F); + GL11.glTranslatef(s * m, -0.75F, 0F); + + mc.renderEngine.bindTexture(TextureMap.locationItemsTexture); + GL11.glScalef(0.75F, 0.75F, 0.75F); + GL11.glTranslatef(0F, 0F, 0.5F); + IIcon icon = signs[seg]; + GL11.glRotatef(90F, 0F, 1F, 0F); + GL11.glColor4f(1F, 1F, 1F, getWarpPoint(stack, seg).isValid() ? 1F : 0.2F); + float f = icon.getMinU(); + float f1 = icon.getMaxU(); + float f2 = icon.getMinV(); + float f3 = icon.getMaxV(); + ItemRenderer.renderItemIn2D(Tessellator.instance, f1, f2, f, f3, icon.getIconWidth(), icon.getIconHeight(), 1F / 16F); + + GL11.glColor3f(1F, 1F, 1F); + GL11.glPopMatrix(); + + GL11.glPushMatrix(); + GL11.glRotatef(180F, 1F, 0F, 0F); + float a = alpha; + if(inside) { + a += 0.3F; + y0 = -y; + } + + if(seg % 2 == 0) + GL11.glColor4f(0.6F, 0.6F, 0.6F, a); + else GL11.glColor4f(1F, 1F, 1F, a); + + mc.renderEngine.bindTexture(glowTexture); + tess.startDrawingQuads(); + for(int i = 0; i < segAngles; i++) { + float ang = i + seg * segAngles + shift; + double xp = Math.cos(ang * Math.PI / 180F) * s; + double zp = Math.sin(ang * Math.PI / 180F) * s; + + tess.addVertexWithUV(xp * m, y, zp * m, u, v); + tess.addVertexWithUV(xp, y0, zp, u, 0); + + xp = Math.cos((ang + 1) * Math.PI / 180F) * s; + zp = Math.sin((ang + 1) * Math.PI / 180F) * s; + + tess.addVertexWithUV(xp, y0, zp, 0, 0); + tess.addVertexWithUV(xp * m, y, zp * m, 0, v); + } + y0 = 0; + tess.draw(); + + GL11.glPopMatrix(); + } + GL11.glPopMatrix(); + } + + @SideOnly(Side.CLIENT) + public static void renderHUD(ScaledResolution resolution, EntityPlayer player, ItemStack stack) { + Minecraft.getMinecraft(); + int slot = getSegmentLookedAt(stack, player); + MultiversePosition pos = getWarpPoint(stack, slot); + + FontRenderer font = Minecraft.getMinecraft().fontRenderer; + String s = StatCollector.translateToLocal("botania.sign" + slot); + font.drawStringWithShadow(s, resolution.getScaledWidth() / 2 - font.getStringWidth(s) / 2, resolution.getScaledHeight() / 2 - 55, 0xFFD409); + + if(pos.isValid()) { + int dist = (int) vazkii.botania.common.core.helper.MathHelper.pointDistanceSpace(pos.x, pos.y, pos.z, player.posX, player.posY - 1.6, player.posZ); + + s = dist == 1 ? StatCollector.translateToLocal("botaniamisc.blockAway") : String.format(StatCollector.translateToLocal("botaniamisc.blocksAway"), dist); + font.drawStringWithShadow(s, resolution.getScaledWidth() / 2 - font.getStringWidth(s) / 2, resolution.getScaledHeight() / 2 - 40, 0x9999FF); + s = StatCollector.translateToLocal("botaniamisc.clickToTeleport"); + font.drawStringWithShadow(s, resolution.getScaledWidth() / 2 - font.getStringWidth(s) / 2, resolution.getScaledHeight() / 2 - 30, 0xFFFFFF); + s = StatCollector.translateToLocal("botaniamisc.clickToRemoveWarp"); + font.drawStringWithShadow(s, resolution.getScaledWidth() / 2 - font.getStringWidth(s) / 2, resolution.getScaledHeight() / 2 - 20, 0xFFFFFF); + } else { + s = StatCollector.translateToLocal("botaniamisc.unboundWarp"); + font.drawStringWithShadow(s, resolution.getScaledWidth() / 2 - font.getStringWidth(s) / 2, resolution.getScaledHeight() / 2 - 40, 0xFFFFFF); + s = StatCollector.translateToLocal("botaniamisc.clickToAddWarp"); + font.drawStringWithShadow(s, resolution.getScaledWidth() / 2 - font.getStringWidth(s) / 2, resolution.getScaledHeight() / 2 - 30, 0xFFFFFF); + } + } + + private static class MultiversePosition { + + public final double x, y, z; + public final int dim; + + public MultiversePosition(double x, double y, double z, int dim) { + this.x = x; + this.y = y; + this.z = z; + this.dim = dim; + } + + boolean isValid() { + return y > 0; + } + + } -public class ItemFlugelEye extends ItemRelic implements ICoordBoundItem, IManaUsingItem { - - public ItemFlugelEye() { - super(LibItemNames.FLUGEL_EYE); - } - - private static final String TAG_X = "x"; - private static final String TAG_Y = "y"; - private static final String TAG_Z = "z"; - private static final String TAG_DIMENSION = "dim"; - - @Override - public boolean onItemUse(ItemStack stack, EntityPlayer player, World world, int x, int y, int z, int side, float subX, float subY, float subZ) { - if(player.isSneaking()) { - if(world.isRemote) { - player.swingItem(); - for(int i = 0; i < 10; i++) { - float x1 = (float) (x + Math.random()); - float y1 = y + 1; - float z1 = (float) (z + Math.random()); - Botania.proxy.wispFX(player.worldObj, x1, y1, z1, (float) Math.random(), (float) Math.random(), (float) Math.random(), (float) Math.random() * 0.5F, -0.05F + (float) Math.random() * 0.05F); - } - } else { - ItemNBTHelper.setInt(stack, TAG_X, x); - ItemNBTHelper.setInt(stack, TAG_Y, y); - ItemNBTHelper.setInt(stack, TAG_Z, z); - ItemNBTHelper.setInt(stack, TAG_DIMENSION, world.provider.dimensionId); - world.playSoundAtEntity(player, "mob.endermen.portal", 1F, 5F); - } - } - - return true; - } - - @Override - public void onUsingTick(ItemStack stack, EntityPlayer player, int count) { - float x = (float) (player.posX - Math.random() * player.width); - float y = (float) (player.posY - 1.6 + Math.random()); - float z = (float) (player.posZ - Math.random() * player.width); - Botania.proxy.wispFX(player.worldObj, x, y, z, (float) Math.random(), (float) Math.random(), (float) Math.random(), (float) Math.random() * 0.7F, -0.05F - (float) Math.random() * 0.05F); - } - - @Override - public ItemStack onItemRightClick(ItemStack stack, World world, EntityPlayer player) { - player.setItemInUse(stack, getMaxItemUseDuration(stack)); - return stack; - } - - @Override - public ItemStack onEaten(ItemStack stack, World world, EntityPlayer player) { - int x = ItemNBTHelper.getInt(stack, TAG_X, 0); - int y = ItemNBTHelper.getInt(stack, TAG_Y, -1); - int z = ItemNBTHelper.getInt(stack, TAG_Z, 0); - int dim = ItemNBTHelper.getInt(stack, TAG_DIMENSION, 0); - - int cost = (int) (MathHelper.pointDistanceSpace(x + 0.5, y + 0.5, z + 0.5, player.posX, player.posY, player.posZ) * 10); - - if(y > -1 && dim == world.provider.dimensionId && ManaItemHandler.requestManaExact(stack, player, cost, true)) { - moveParticlesAndSound(player); - if(player instanceof EntityPlayerMP && !world.isRemote) - ((EntityPlayerMP) player).playerNetServerHandler.setPlayerLocation(x + 0.5, y + 1.6, z + 0.5, player.rotationYaw, player.rotationPitch); - moveParticlesAndSound(player); - } - - return stack; - } - - private static void moveParticlesAndSound(Entity entity) { - for(int i = 0; i < 15; i++) { - float x = (float) (entity.posX + Math.random()); - float y = (float) (entity.posY - 1.6 + Math.random()); - float z = (float) (entity.posZ + Math.random()); - Botania.proxy.wispFX(entity.worldObj, x, y, z, (float) Math.random(), (float) Math.random(), (float) Math.random(), (float) Math.random(), -0.3F + (float) Math.random() * 0.2F); - } - if(!entity.worldObj.isRemote) - entity.worldObj.playSoundAtEntity(entity, "mob.endermen.portal", 1F, 1F); - } - - @Override - public int getMaxItemUseDuration(ItemStack stack) { - return 40; - } - - @Override - public EnumAction getItemUseAction(ItemStack stack) { - return EnumAction.block; - } - - @Override - public ChunkCoordinates getBinding(ItemStack stack) { - int x = ItemNBTHelper.getInt(stack, TAG_X, 0); - int y = ItemNBTHelper.getInt(stack, TAG_Y, -1); - int z = ItemNBTHelper.getInt(stack, TAG_Z, 0); - return y == -1 ? null : new ChunkCoordinates(x, y, z); - } - - @Override - public boolean usesMana(ItemStack stack) { - return true; - } } diff --git a/src/main/java/vazkii/botania/common/lib/LibItemNames.java b/src/main/java/vazkii/botania/common/lib/LibItemNames.java index 3e27e81031..5ce4026c4a 100644 --- a/src/main/java/vazkii/botania/common/lib/LibItemNames.java +++ b/src/main/java/vazkii/botania/common/lib/LibItemNames.java @@ -131,6 +131,7 @@ public final class LibItemNames { public static final String POOL_MINECART = "poolMinecart"; public static final String PINKINATOR = "pinkinator"; public static final String INFINITE_FRUIT = "infiniteFruit"; + public static final String EXCALIBER = "excaliber"; public static final String KING_KEY = "kingKey"; public static final String FLUGEL_EYE = "flugelEye"; public static final String THOR_RING = "thorRing"; diff --git a/src/main/resources/assets/botania/textures/items/sign0.png b/src/main/resources/assets/botania/textures/items/sign0.png new file mode 100644 index 0000000000000000000000000000000000000000..dca00b1cf8778942690ff305d309cc776e7376bf GIT binary patch literal 19028 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 literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/botania/textures/items/sign1.png b/src/main/resources/assets/botania/textures/items/sign1.png new file mode 100644 index 0000000000000000000000000000000000000000..d0e4e3779507c0ca3e3c5e2940ff232ec01ee328 GIT binary patch literal 19105 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 FzX8E$RBr$P literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/botania/textures/items/sign10.png b/src/main/resources/assets/botania/textures/items/sign10.png new file mode 100644 index 0000000000000000000000000000000000000000..310fd124d289c57c7b97b8f4284b99484924b1ab GIT binary patch literal 18615 zcmeI43pA8l`@mn-aSN4{N;=~blDS`)X^hLbhJ+Ei&*hylxy&>(HRvQNrOQcDh&Z~S zkS;ycpL++H(1)7PB|r=ST9vZ5(!RM`dH|sA$*0p7 zE({b%1mZw}5aCLvBZMLWmmdrQK-j}HA0ES}YpQi$%Nu*Q*r>g30`DoR2ygoxQ9AJ^ z<_2mL=f@fxY@Fg%KFQH>oZi)p*s;5IMeUs8WudWM{eeom!J%E74##f4{^7~G!$J2- z`kvJeoV`!$%iCJW|UrGq(;-cwxVPsZ!Ktr7}spm78jm4qzLx%RURRbyA8- zOE&QVGR6TbYuKzdU?CD%X}aOrZ6GS`-Trk-z>>WNQa+ZJ?t*S7-|WPb85I0~Y9l8Bz0;qe2D_&F&c& zxO{xZn!X*}(-UmZ0vTNo{d$EmHjW2(7d19^w6{N)UunODdEIaQ0Iy<2nO}eKUy;<0 zeQzIMd}|2AJr>zzr#?o4ez{yoKrFHShqs!Q1|8z5*=r1XI+6Mryiv{I( z%v8rl1#Ws$FCBbk)9;)y8;Ih%?pX~0%N>kSjOzt9)v5sCkP&Tu(oXM9`810%<(cI_ zHJ6Y7xRSKl-ng>DexkiPCu*i><(#~Y_GVjZPwJbmMBlO1CzN>wZb=Yop(=dOYgr2? zyl1MWmz$MDtBtd}sydlz@Gw@1wcX!nm#Xgmn0E%{F5|R!7$dI5>UbHt#S>ky-rE@n zUl;w?)}k@wtxKIQ#Lv45;5L5TQsRu=8-3c#`i{m~deKqK8JnFBjlao}U{m6zW~AN} zota_1lXS52W^UkwhjBD|HKy$OG!=YhFa}k1+5VK3g<1l;=9FQcMsC%NlZ*1k7H@mY zu0JImrycEBrbZekwMQ^#*}3?;`!9IlauhMsm@w&~nx)#<&0ZCzh6zXA&X`=7^jGCH z77n}B-^Ie{o_5@1^u%?s^h!%(?QL|NY0>U6uBVPLZfW0gx)the)MarjmEbbNDB;>e zPS9x;@?HzX+^aF|Y3-NW@$Gu;2CtW>r?G5TA9?5V)Xe+(s`=A9CUy`yl)+@2o$uik z??*=uGA0q@7TX^`Sm=GiYwOX;gf%JT+D%hk-7=3K+IM?Kpl)Cv|HO02g-MV0&03Ij z)9+SIm-F+a=VRYUH8i(O*;F0NGn<||O=TKyx^&u!WcRG;w|7jhW?(F_FOxg>PuMT; z^*1jx|7A-2b@hGo_nGX|Ge}infv}#CZ1ff-nn%AkEw@Yodvj zCZ}o}e_3l@oZPQpyu&)@*g-NKKOgT`;N82IYopSZy!zb%$pW=bv+Sha$n7mUujV|R zqnAZ+FT#RLgK`p+68&>sa=mh$UzU>cyR*}>N*#*>K16HTRnIqFYU<33tNSUf)2Gqr zQMP*aR1a&)+k8|`P^R9&Vh8D^(CnV%^oz@*(%l8wE#ak|?`N(@_cQuK-e#@ z&@fhR(x{t8y+T|qpz5QmoBr^kFS~3@&t&dnCOz34U(`T7eAnq$rwKdxRZH89+d`^B zst%hdn;4k5dA#uGN%8h5%9@ik&wZYIb?uGXL$&wz6H~3R_i>%6ovHUzThFar9Jbh^ z@Mz(A(Diit;;ew4!jjOK#pHlYf8WK+3Y?Co9iM%#_;_*lr0k*v2@7)5@9{35{G;$% z;jwemPj);|ZptqVDO}Iwv2=OouH;|tNhnQNe_{Qv{njd)TN|}<^%v_$iqD92D2pg9 zDRl>WY}Q|Slh}pk`PWaZe}Hc*oLn=flAq?2dfS<&%PSIZ>W$s8&23{1Dv5?l)vJ1R zwX}V{`}5bfSmU!|&PJ{M!w}Z*$TE@Zy`7uhJiTbu`$F|7{;8 zs5LLrlkOSKJKJf5W~1Z%j^96dE>oJ*$9$zr`;#X6t&P@3wQRw)1gyAWS$6K~xf;*Q zg7g(Jt@I5>gPg&L!3H2ZYPJ$@?6zpT=p|!5yo>n7;LBermof$=TQ|#h4 z9^cqee%v7N>hHUc8}xN1*TvWIwPF@VKEHQUh53xR<8q{iY0TCbzb!Vqgt7iJ8n8)3 zX+twz-0JY&A<>~Fm522tpFqwhn$vPntEdkxFAy%+RH3*5H}3kU`MU z7h6Ae_ilZf_H=yPI^AUS)n&r)gLM^eVzQ?mLup%35^ddM7g+86AG?X>N2l(b{d%%= z_Ad4C3jGS6A-aLo5c`0>)O^;0*DmHB5qo}*FCm5-U%_WubQEniJ+`~VUDN$hDkXht z%34GS&YDt+-Lxlu_iFnb1CNA4-V5F{?%J9>Fy{2YmCzmM(6jcbTnj4Lo%d4!QoYbV z>p5ew*?n`B(>&0Rd#QHYb#h{E`rO*?8wJ;!c3U2J_1j>#c7^tnJ%yQD-29OG{?AJD zR*_FrSBE#Lw@vwJ?v_Q$dDQdU3(Z6BdggZfCFMt!nnZX6MK3SEzOnqQQqarszUmz@ z>t8nC?_TEVj}B-(%Y45jO^-HZ+xC2&Cf%ed8y=W7hjr*}6_uqv!^ysZC`IGSb-KHfaef_j+7n^*Qd_C@R?}8s(KNR%YlCL{pOg$yd(jf{ z(Yfj82?q$&fbjXfjBEUdT^nyF@Lt#NOxu^XJ`(j;^U9_}h3h)mb*-x=2wq*7D0y3DU&;x}ijWtQ7u11-+n&|M2Z~eji{Ew-F_wJ^Xtsj;4MhN<@^u2AJ`Y2Ll+Fw^w+$c5eIbPyfvf_E+tBRXryR4XejxsB+ywehar@(HwrFm7nQlcRlb_m%`nx`6 z)9X3)Ch58ZhX!i$b*G{u-`#zAzpf#<;b7A1q=ZW$zhw5mD0?~mL{n8o)vSxx!tmJT zZx(&%E|)e-^6y< zJNfL#0Ti=Ee4&Id2t~;JGFgH(5^F<4Swmm0PvZ&^erYIF{D~bz5go=9qOm9p`UgfH z9`emXLcVJ$mN>43dh%&x-)&IL2p58AZ%`~)BVvP&Yr#;7(f2wb{Ctx5zPm5#AC7{< z{$eRyBMKe@%weO!U@!z~Qw-T*zdHsApF1)+UkyQ~`C)Tl82<-mGR?5rP$&$~5EY6) z3S9&;B?1vcAPA-nN7=~v2|7NR`SC+J0;zZo6%DUFGSwrFKnJD-q(PxbL}KtrJcfa_ zq7aGDYc2*$!C*!?8LkQQ;Q@s`hbdvgz2I;ZJRW+D_VQI-xE}$B&kg@uUPfwu?Zd-^ z;urv+4 zxb_tBp(Ml%9#u!y`~Phd-*NLzQ!acl6guIfLJA73p)}(IuKv38vm%&3lrDr!kr49kHWC!NAXp&s5O6>mo{Iin@kr2&vVwl+ zTsZtQCr#|_Y>#ktq?52@5($YzVMn_eRqwlgJ}((|(4r^H?BcKU$53XsXY#%-l|lQI zZ9cCvSPaNvfm}Ayiet$_VmZ(%W<>-sNIVBiB7=A~4iAF=E=3J3xw1uz$hE={*=#1# zk_?iOAQ8$JWFpZL$;RV3Br80LiNoUlwzI#N{=b(zhnx6%^rP9zV@Kt%DO`algejr% zLzp}eEez#R(IbVUCPTKrqd;pfv<@(b);wqezbS*)_m{1q!E1)Q_WD250^q`Cg`|^{&HUXCjP(dJO0TpBP04J zy~2Dc8i4_kFDh`!=L6F!aKV7c7ZteV^MPpAo4}IxYS3UfCfXM$DXCo^UW`OT9Tn>qY-Qu zZw~;7m<<3?n*iXiLFls!0M=jt;KfP+pg?tW1$$Opaf0gRx;oe~!XDnaZJl{ywQh7!0&Dy)9wAvJE1*R?MiKV{$KW zOj(3j7f@X;6m^-@PivE+6T3`GKd^R!zL$dUn))P|4D8U^p4AOJXI=n~@aJWvd>rIO aXaIIk%X*As^7Ei>1Fnt>9P;f~Zu}QxJ76*Z literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/botania/textures/items/sign11.png b/src/main/resources/assets/botania/textures/items/sign11.png new file mode 100644 index 0000000000000000000000000000000000000000..1ef7ad3ff3e6505f67524b8c8d0aa2f08213cdb6 GIT binary patch literal 19038 zcmeI33p7+~`@pyA5Fv^r>5NM^8FL?I8Y9LvB#eV}+cUF`2{Xe?xpWehC>nQ>N<;syinS>?ES^%Kn#A7g4 zuJjRz1tK4T5M{?;poD<}Z=N3n0KrXZu3V;T*DTY4hp#N`qr(r_3tZHvqFgLu!qwsy z80g5WERWX7ysz$Du4-j9MeAxt^yJvs@IC6zhKjot?#Z?59FE<7BzpJt_m4Lp@x4|J{2iN3UgdbzTxiix%aXHvN0af^AXkG5A=Ry}SvS{9+8FNE*AfTJTC)RO_; zgwbeAbj#!}0y4q3rcDLP98=4%bEAf*KetF;Efc;&rc4}XVm~!p4OkW$YjG43zgTQpI?$4)@8BUhC1qVh06fou{f+@$PiO7Cw!@Fxc|`M`8`v7 z)=taVI1uBVKYiI*Afv0vy-zs8#wv4P(f#`!?d|uLS6X<1*WI@aaVyr9xexli4WoS+ z=znzaiGBorO@z&qH;*cAymH8zTfbj^2dm}jUYif+rVW44zNK4f$13tLP-}CZ5fE#c zvZoK9rMt^w|Kcn28;3bhS`FV%rni!S(;MhAo8!>O*03kPwqK~?Auf9|006xug7QBW zO`RO>v;A>>(C|yML7R;EK)AQv{r~`2YpHLcXHmYztuWTxu z{tld)UcRU_LVk+*)u}Tq&0L@9O?&B#YHZoF*>Z$RKde#JWs5T=hVt?3nlrj56mzTQoc`&=OcQ;D{7^y05I zaeVXTChC$wv|>-2glq_LI-{PxE6$s(8Q8d0P6K>7%(eN4Ioq8rNR(+5#Z$;8g z_r{ton`cSSCcg?&RNAS&y*iq^NHcY|+-$C9(CkwO9gb?=iqWiQVvTVx4t6F_PZqd& z7!(@(tR8n=Az^vKf&?uC4D)!-(VT}l)7<*pYM6VEuXWv$XYEFCZ96XiM`Es9PTI;B zu3E0#<4cc4<#3M)m}b9)c@FN9^}OtG*@^L+bH84cU_%{WrQDqxBS@7C z&eY!jd6PlO!9nek7}K2NnG^Z`}`Rov!y? zA7m?J&vG=S_U9Sp_-1KkmRJT|;%E09Oux7`Jl#Q%{V?Q0=exOEFoVoN|99E_Hi{my z1&aEz&5CuiX;(-A0-83ay7@0>#+u8^7+GKfnDlr@Tu}q<$ZhLitf%kcRjqE*Z}YG6 zuR5|oc7e_Ud&lRFJt;1ZMMoDOUFxvZp}O`)?cv%x$)r?M++BQUYG>-*)YfzBR|T&! zEId|t98r?8YCxr*YM<>9t!O@Z~vw3GAil$AwoE z6&^pQdAj4CY;#_rf8iF8%hKSUyOMXgC;meGmf|hH44TR*Mcr4<)n26?Ci*>4jrtSy zVM^Vh9|udRV&=>9+BN=YI5R|r{#9Ys499^Y5$pyco%m6|>) zWfRIDZ%Vy@+rB?;Uw}o9j$?cw_c`~e_okW?P-Onl6@JV)%)A7-YrX~hPW<4BRw%SM z`i!}1(Om<%d@khfeW`ZWbxLAx`jXo28wJ;!_Zc60`Rj1^jEWhL_ZMdEw0B2qdpx~x zVgn_g77)^`(5C*wlAS-vo}iuIU1;Ec+bOr(Jt;5j!h%po--xy4*SD3QmGONs%}t>r za?6XByWMM?JTRWEXTf(n)3oU7yLRWPHESfPZ@ssuCAdQ?N^t#Ba?63=kLOkvaq7Jr zy}O=1M5lWxC*~wQO;YA7-EaC`sr9GdyZc{THDi)$7d4k`FJu%QxkNi(3T0obt6gfw z{EhjF`Ho5MX?$=Ny!(dV(4)1v^fmF%+s$631B3Ky7n|K=+#GLv--h1Xy)PIr%iERH z^(OJX|C*C4`~$kHCpS(Wl+#l#yj%3gZS6)=rpw+tOJ3M0SO0i%DD7nsT8XUW_RFEF zCwfB5koK+t`PPAXO4O!Jdp4hVEO+b2P1;;-%m#~;-W2Op*Od2OEU#jx8}x=d&mV?< zuxb8r`XM6CGh}%m^BS+IYul}OZg2gbw1l)RVMcFT);Aw6+}z2oYuzwi@UmD%{J7C- zIHq%H>C(E@z30Wf`OO_O-OszHoT9Gte=dGb8;ZZ>R9$kYBqgtCwQo^R=!LVJy$8Cq z(v9mLyt)wb*R0_?x6>)64=(hD3I?tW^taA>5Ei&_u&$=$e$c|6lci3j>s~GEHown! z5Ov$kYpCVk%a*Mh%7QZb8d_`yWFxoN55@KGozD1SZ}Q%nok}}jq?^zwlqY6^gIyo8 z8TFj{1?d_?hlgtNG-hGK-rRn1x31w}LuOKMQv4(uI^C)LXVlh3!#;1%^t;~7ejl$HA3r>0^1;3jYy!F&08E2@S2LL;-+i7AyqWzK|Hjg19`ssqV{?OS&i?$5hvyKe;f{$Om%(4Vj&fS2?`1_3L+Q@0=XC*g+jq#@fbWF4fjBcLil1Z7|j>y zjXC+`#}X2;19?I*Pryfw_yt*ljbc+>-I0Mle?HF3U-)?-zUU)6m?9<^6k>2jSj=~f z933T_`TKv*xVO$`QU}GQ~vf2dk#d_bm3E`)c#JAmjR)2RE z9QJ2R;l@C}QNSEF2J(aa;W0(99qyZR5c9mpgY(4{Ml|0Y4hrUd$81D1W;U7%V-cdk z`A200LZDa>$P@_t=wn$netv?FPmA1ne2ySUw3voL_8t%QxFg6C6hm}46-j6;0ZqU% zaTF>ROC?~JU~%xp1SexX5k4H@wC8|g5a|VvrxHk1B59(RFZv?=2sk|NkiX?+yyurb z93824e32OBvmrZ6Iy`qH9*;w1;Xs@T#4$k|vyEA3iZPLbW|3F~G}eRy;y5G{kwx|% zo#dD1U%9pvus4pRz(>~{*fqzP0O3e%BAUP=oC+!xpDjO{@xBh=-=jR{e}eh< z#|ZL)_>vNS%++YG?>i9*yv0FaAY{&kbK-wkhGP!Dv_N{MVMc1QAMgJl1|o3Ne-;6( zF@!TF;f&F2BGwoUvfwdVE9p~&|9c}ap1W)xkk5rUbj+toeQNk` z3fkYRd;h_*L00(xmu2&h1#N8oeOUxQ)$Xs0ChhZs1eGE169hU6I1rsc!+fiGJZUCa z!M}5^9Q&D*E^@K4K-pO_$T$j_jK&+mOKIHAgnr-j^J&X4hc~^E$}ak{evDRj3y}L| z>j<=u)#lSagTq1`7Ua!Fn{eP=62~EeXcH2Ig?Ba_nF0~mcmf1(Ws*zO=$1ROY2ooE zAccryp}kE^@Mt!k=#6GUAP&vqfH*vx!y*zu%HMWI@;1Se*lc)zr9c!kL?RN=6cP!p zMFaweY(gM|cpUz3JNtWk$+xCCHpG`GCk9GVAZQ#m)msqg4~pqLe~=4dgnTXyGu}8M zvLg?RRCptYHx+Pn1BJ8Ut2ShRkC6@8Z{uix3K(2~N^wc% zgV0KGA%I90rMM*XL1?A85I`i0Qe2YxAhc3k2q2P0DK5!;5LziN1Q5xh6qjT^2(1(s z0*GW$ic2ydgjR|R0YtJW#U+^!LMz3E03unG;*!hgZuygKw-49Nh-DSB0F$pC(7q>Fo`^djo&s4ohJl(AZ#J1Jc89DpT zJ-Oyl`Bl<}bqe{uzhZ|NRx4)9T-h?By1B}u z_w)e8M96$)=0IcUfYPJ^IW@vdbfN|c=NO-${$qWNZI)u}ysrIGM<#pKFI$XNWN2FJ z=e;<>+gAh092-n|`ez4cKuH;&tO(BT4aBz#jT`SLm-o?%2dFN|z5(`DOLa1u*y6ZV3%w{YO2z$LNdSz)syMEbK|6rm|eb5p>z#vVIe+Fye)n`H{-7(sD<^E)a;BG z)U{i}30pEJ3D+c{e7a*YK2%}7s_qrECM@5m8h$48kDMh18&|qIxG6nvRmeYH#<6M( z7OXi-cMR`*y92bHTm7s!wr$FWVp{RrrEikn5rCX^T8&B?J$WOq>DyVYu*|bqzwO`T C^(A2d literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/botania/textures/items/sign2.png b/src/main/resources/assets/botania/textures/items/sign2.png new file mode 100644 index 0000000000000000000000000000000000000000..fa242c88e0a8b71ed61540d3970c9e921500beb4 GIT binary patch literal 19577 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 O7H4~RyF%M#YyS;-zHMm$ literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/botania/textures/items/sign3.png b/src/main/resources/assets/botania/textures/items/sign3.png new file mode 100644 index 0000000000000000000000000000000000000000..e0c3935156328256cb0939aefc4e70b5230bed8b GIT binary patch literal 19577 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 DI@9Sj literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/botania/textures/items/sign4.png b/src/main/resources/assets/botania/textures/items/sign4.png new file mode 100644 index 0000000000000000000000000000000000000000..eacf94e9e1593383589084afc3953720cc057c14 GIT binary patch literal 19577 zcmeI32{=^y|HqGr?CmP)4q9c*KFl;mj5SHN(0nQ{P)p5vI4v0TI2>?_a`7GAr#ohvu zKUI81d+-d)^wUx#IjM?wMy>pM$=}O+G))lPX$MS@$-#tg&dkpj38_N+42AYlA|ZU zqiyL5F4agcEv4?s)L4c6a8psN=jB!1U0aqGFdqQkh{DRd4RIM$!sjW5`*k0i(Wv0P zQZ;#9`!4P!&G}b=Jj&|(>Q&wXPz@7Ah3_b%TrVT^C> zZGYZ)J3WH9BEm+YhTV>cO&#a;V7uGQ4Hbi4juVBl6wx2cHLzMTn9RQlM1^Iu> z9wi^{z4=X9khsaL%O-gS5YDyRw-x|aT241|y_aEDJPH6TlOqf+m}|G@PcqC?oSHwf zGGF!EYU&n?>4mo}Mq8+G!lwqVo^y7S#q4b*7jz6(bax&8C4PXxo=tUyq)52Ow_xwk^kous`CGlj$F7S6Er6ji+p}KBoGRBO=5{O-xRB z72B)Lx`%1rnlGc6tYUoL`$z^JmLCi>?7+({?7XKhG!DUwo~+D z?!M&sTvDR#H^j`nv$ZC%rl5vYqg|uhyi6t0YyR339WHNYJKtNgU~=u~T5_!-6h}07 zJ09=+>hw|9F_fsK7Uzy;I-hsietH~vT|BL1^F%xQljn{dcs#{h%e$R_{=Mk>m{$j; zEsA~U{^)+a&HLE*@~uH?>f0u4E{^2Qo}4gAX%cU8(4_Nm3r|gcylZl?E8dv!F|O{A z<{^Qbhe4*nuM?v0sT^2vVCDgB1Dxxb)KjUiQ&rts-0r(ZomuI!G2PmY|Lg*XO7ZXqy;4R4Cj{pTr;KWxV0UJMT?Z{W~aoqgzbDi zzG=?eIohYl3$qB&a-Ym=`aYwS1NhFRFB8 zVx7wimscq&DH9z`>22vosXiyQk7ip2-Skgsj7z$)GCXOaAmw#PZr#_Z8*yE(U4CCv z+HBN36f@MOD^{qLPGa1qtQ9bHaK#m$oLDOg=Ce+M2f)}jTcWed8ONVk|8A|hn_slN zdU~~AkzdjAnTj)YXWBb_aA=HocE~z4=hVD~^A;ADJSaI<^7IfT!IbcfSeHguJzOARwmXI_KsF4ZhO<=L2-&3Kx9E<0sRO4g#7MQKS- zc?B0fW!}v^b9M5C+UJTD>6w0+8$q6z7Vqlq^n%8i+?b8mH~!vbs-(XCg+`jrQk^j2 z<-qauCG^+vrH32MHr{SMSdZg*l#MQXPO8ovcYjVHKhY)Ou?SFv^NrL-e&hDaBM-<&<|KKNgbxeuu>N$a zEjLp=ascmBbvDeA> z@9Lea_Z*4dDNzJn`-mV>3ZM!YwtPT_PV&z=u*DM*2Q7(pFUIq-+{Xd!qjGM-M-a*o7tX# zNRKJygjh;Yc_m9&W%I}z9=m{Iz)Uq-!+2?YoqXM_$cXFt;E6|~hn=te zRGN`NI@RCzM%A~5mhEp7->Oz`(2B#|SrHI&wDeZ%)|827jK&($56)j0xyWSy-{zwY zPEXuDqj_A=j6EtLw{&jt^l;_W^2q0`-Mki&O7im(G4>pmd1`xpQxp?6^len3goRq~Srvy^6iYhntRw8^+!m`(|I} z$!+%TSRIddxo6kVE-}`IRH#%>7&&*_62-HOYdbRy{GK?bHMqy7hvm);b?}K;nSXCn z{uMc&kE(7ewOcoStbEq6!qEfgS#<^cx-C(gIbp}n^zjv1u@ioKKD#owR(reP-pxam z`!AnKE6n1QaUXH(-@V2rEz>xd8v8C*!(aWy%ggFjOD;FGeYUE=#g@#j$ljdE$~u0N zaV-Z*xm#K?&&>6NYpd&5S8C&`Z77z1B;Tc^uaWsI>yIZok4#;iqn^(FXrod5%Z={D zrXZ|3Ro(6P!$oiP11v*o>f4p8+NY`0U#{Q1;p`iw$G@!C;pyPkSj0ESTPL{0cP{f< zcHQv-v;66Y*P-8RDt^&COlEk7ENF4P%YRwF>2VCNxomghfy9krMqesdR~*aSP{%H< zTB9jwx;|R;=8=_nSKYjvd8NynuZfy3Rn(4izvdo)p1#WOgXjaJJLa)tarWWt`1Gvh zK3R>SxmPxD+v~NHj7wj&=7xNlD1Q1RiDvpLw3EfB8(Trggd3^?!QDBN0 z>jbO|^p)`8uyK$ti#(pF5D8A+d<(hhb1K{|8}+ zrzcD@6?!tnfaf2b6$pVML7=NZ;LGfpWdrX|@axlTcfLPI5G0(#z@cjoq6y zbG*nTkk%(XDEvEV$3Q;334y+Y>L9)U-!?If%y&)M@`do!2^ln{;E5&KW?Z1PLreP{ zzI@4c5da1XA!HSr>h&$d{{5wY`#@qOtCHSVc>?84s@$OvNw$XeFA@u za*zI?@E^AknKg0~3YO|L8zx348^C4gwCuBr$Nq6%QK)|3`Fj&p$+<4KbjGYyWN}y4xSfUYO zu*{%(!|L=MF6Qv@h@1h!p*xM_46p!sLrW37z57z%iA2Cd950B=#+q=9y|4rh8N`}U zAUu}DAy8=$iA^Ly&_8WvlEeAuk2mQ%W4{=g0-As(cs7;{pY2#GgltpBNJps@69|u| z61g<^Ao@u$3fBZrVY5N3F%6<&Aqts{rBNuxST>2op_-7WAdx^EUaY5dD9XW!l9mVt z@~}vU4|4cW0VM}0oa67x2IW`c^FR({-*uAu#zZ{)f!`|NPjBd8H#*c)dgx#`I&>h? z&7Ut~!ZakEK@|^*LY`=Q7J&==@&z&Bp`nY=wHNb)Azu$mKK$S%L>?yy)ZQ4hW7t5? z9|aC_^al1MZO|){WF7RB!Y^R(yC1Iq8T+;cVyfR!UAks}4F6n$wUKuVF5b352mvlZTuM8Io zh;&niOFAEvSB47(M7k-%C7ln-E5n5XBHfhXlFkR^mEl4Gk#5RxN#}#|%5b58NH=A; zr1L>}Ww=m4q?3mRL87>qM>81>qbUrAr3>ONBbW?^)Ivy&Ijd{;X(nCZpv^;=Y#UfaG`)mH)Xh_^FeuKxKKc( zn=)L|`JlWqTqq#YO{ut427XQr`NO}V4uXFyePny=L->c*7`Cmm0|1210D$n#0PsZ& zU+V#29UcHatOfvj8~|tu_N}^Y4FC!lJ4RRx}eYg@+nSSSa1P0)%uD6Dj+BRP6X)z`rBH!TzoB64K5z)L&_RoBGm`V zzY9j3=t_eF(7qA<{rkxqMfK%FY7Q%K@1YvdR3Y~r-2pCxG?4CndIbRA-YWxLpS;BF z)e7RSdKC!+gvH?Qqiw_|$%4GR9MG+@M_iB_3beJ206II{0UL8T;mY&+n?ibo^vuSs zzo_R1QTbfIT%2)IslT=6*8qSJZ>ks|K3wZatRxG6R}NH!DFfmL4VVFZZ8DXJcKjVX zY+4Zk3B>&3kpMF8&u`^nB>?!^(E+Gx#fr0Y%O&0X)_xoAddqjSP~t>XkXDf)wEih4 zhJlL3t&li9d4!~OB=5sbDkKj1O4b6BftHpIAir2%{N+m*Fm9YCVCnp~q(ubYcheVc z8d)c*la9+tRQlA0yAC&f2Q&Fc0YtP<1Q`x`ok)g|m8Ra4Q|W&P&rHeiV6XsuBNi*n WDDhse^}9C`Z)dg0GTmbJrvCu~|M_YF literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/botania/textures/items/sign5.png b/src/main/resources/assets/botania/textures/items/sign5.png new file mode 100644 index 0000000000000000000000000000000000000000..ac3351db70f96cf87b7f3136874f84b491993b6b GIT binary patch literal 19144 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 Ah5!Hn literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/botania/textures/items/sign6.png b/src/main/resources/assets/botania/textures/items/sign6.png new file mode 100644 index 0000000000000000000000000000000000000000..63b9110c694a3c7387a312e333d88a90709290e7 GIT binary patch literal 18995 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 E0UoLxGXMYp literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/botania/textures/items/sign7.png b/src/main/resources/assets/botania/textures/items/sign7.png new file mode 100644 index 0000000000000000000000000000000000000000..aed4b7844a4c921dbef5c643f3b4c7d9b571ed58 GIT binary patch literal 18988 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 literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/botania/textures/items/sign8.png b/src/main/resources/assets/botania/textures/items/sign8.png new file mode 100644 index 0000000000000000000000000000000000000000..b032f1a5dd9934af2656756eaa81343080131a5c GIT binary patch literal 19500 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 literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/botania/textures/items/sign9.png b/src/main/resources/assets/botania/textures/items/sign9.png new file mode 100644 index 0000000000000000000000000000000000000000..03262306ad7e0ad41810ca42338b78cc5002c5ec GIT binary patch literal 19234 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 literal 0 HcmV?d00001 From 8beb9d29c73ca0eaa09eb4ba6babaf9c915e5af2 Mon Sep 17 00:00:00 2001 From: thenextelement Date: Thu, 27 Nov 2025 01:32:05 -0700 Subject: [PATCH 2/8] Update Link to Witchery Wiki --- src/main/java/vazkii/botania/api/BotaniaAPI.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/main/java/vazkii/botania/api/BotaniaAPI.java b/src/main/java/vazkii/botania/api/BotaniaAPI.java index 6bbdca1b7b..9b9f5d78f5 100644 --- a/src/main/java/vazkii/botania/api/BotaniaAPI.java +++ b/src/main/java/vazkii/botania/api/BotaniaAPI.java @@ -220,7 +220,7 @@ public final class BotaniaAPI { registerModWiki("EnderIO", new SimpleWikiProvider("EnderIO Wiki", "http://wiki.enderio.com/%s")); registerModWiki("TropiCraft", new SimpleWikiProvider("Tropicraft Wiki", "http://wiki.tropicraft.net/wiki/%s")); registerModWiki("RandomThings", new SimpleWikiProvider("Random Things Wiki", "http://randomthingsminecraftmod.wikispaces.com/%s")); - registerModWiki("Witchery", new SimpleWikiProvider("Witchery Wiki", "https://sites.google.com/site/witcherymod/%s", "-", true)); + registerModWiki("Witchery", new SimpleWikiProvider("Witchery Wiki", "https://legacy-wiki.msrandom.net/site/witcherymod/%s", "-", true)); registerModWiki("AppliedEnergistics2", new SimpleWikiProvider("AE2 Wiki", "http://ae-mod.info/%s")); registerModWiki("BigReactors", technicWiki); registerModWiki("BuildCraft|Core", buildcraftWiki); From 0734b3836d3d6a21b1f77d80123d1852a3005e0f Mon Sep 17 00:00:00 2001 From: thenextelement Date: Thu, 27 Nov 2025 01:32:55 -0700 Subject: [PATCH 3/8] Add Excaliber back, still needs lots of ironing out to get it to spawn as an actual Relic. --- .../common/core/BotaniaCreativeTab.java | 1 + .../vazkii/botania/common/item/ModItems.java | 3 + .../resources/assets/botania/lang/en_US.lang | 139 ++++++++---------- .../botania/textures/items/excaliber.png | Bin 0 -> 16396 bytes 4 files changed, 68 insertions(+), 75 deletions(-) create mode 100644 src/main/resources/assets/botania/textures/items/excaliber.png diff --git a/src/main/java/vazkii/botania/common/core/BotaniaCreativeTab.java b/src/main/java/vazkii/botania/common/core/BotaniaCreativeTab.java index 2787ae62c7..c7e1c628cc 100644 --- a/src/main/java/vazkii/botania/common/core/BotaniaCreativeTab.java +++ b/src/main/java/vazkii/botania/common/core/BotaniaCreativeTab.java @@ -221,6 +221,7 @@ public void displayAllReleventItems(List list) { addItem(ModItems.odinRing); addItem(ModItems.lokiRing); addItem(ModItems.aesirRing); + addItem(ModItems.excaliber); } addItem(ModItems.baubleBox); diff --git a/src/main/java/vazkii/botania/common/item/ModItems.java b/src/main/java/vazkii/botania/common/item/ModItems.java index 43b8f5f533..266fdd1834 100644 --- a/src/main/java/vazkii/botania/common/item/ModItems.java +++ b/src/main/java/vazkii/botania/common/item/ModItems.java @@ -99,6 +99,7 @@ import vazkii.botania.common.item.record.ItemRecordGaia2; import vazkii.botania.common.item.relic.ItemAesirRing; import vazkii.botania.common.item.relic.ItemDice; +import vazkii.botania.common.item.relic.ItemExcaliber; import vazkii.botania.common.item.relic.ItemFlugelEye; import vazkii.botania.common.item.relic.ItemInfiniteFruit; import vazkii.botania.common.item.relic.ItemKingKey; @@ -239,6 +240,7 @@ public final class ModItems { public static Item poolMinecart; public static Item pinkinator; public static Item infiniteFruit; + public static Item excaliber; public static Item kingKey; public static Item flugelEye; public static Item thorRing; @@ -389,6 +391,7 @@ public static void init() { poolMinecart = new ItemPoolMinecart(); pinkinator = new ItemPinkinator(); infiniteFruit = new ItemInfiniteFruit(); + excaliber = new ItemExcaliber(); kingKey = new ItemKingKey(); flugelEye = new ItemFlugelEye(); thorRing = new ItemThorRing(); diff --git a/src/main/resources/assets/botania/lang/en_US.lang b/src/main/resources/assets/botania/lang/en_US.lang index dc3bf4aa16..02a4b7cee0 100644 --- a/src/main/resources/assets/botania/lang/en_US.lang +++ b/src/main/resources/assets/botania/lang/en_US.lang @@ -157,21 +157,9 @@ botaniamisc.santaweaveInfo=Manaweave, changed up for the &cs&fe&ca&fs&co&fn botaniamisc.enterToView=^ Press ENTER to view ^ botaniamisc.keyCategory=Botania -#LOKI -botaniamisc.toggleLoki=Ring of Loki Switch Key -botaniamisc.ringOfLokiClear=Clear Ring of Loki Selection -botaniamisc.lokiOn=On -botaniamisc.lokiOff=Off -botaniamisc.breaking=Breaking -botaniamisc.lokiClear=Successfully cleared all selection -botaniamisc.lokiDescription=Builder's wand but §c§oC§6§oo§e§oo§a§ol§9§oe§5§or -botaniamisc.lokiDescription2=Can Place/Interact/Break with multiple blocks at once! -botaniamisc.lokiToggleDescription=Loki Switch Key to turn ring -botaniamisc.lokiBreakingDescription=Loki Switch Key + Shift to toggle breaking -botaniamisc.lokiCurrent=Current -botaniamisc.lokiState=Ring -botaniamisc.lokiMirror=Current mirror: -botaniamisc.insufficient_mana=Not enough mana! + + + # NEI INTEGRATION botania.nei.brewery=Botanical Brewery @@ -386,21 +374,21 @@ botania.versioning.flavour12=Botania updated. #hoennconfirmed botania.versioning.flavour13=You activated my Trap Card! I play Botania Update! botania.versioning.flavour14=Let's play a drinking game, have a drink every time Botania updates. *hic* botania.versioning.flavour15=Pay no attention to the Botania update behind the curtain. -botania.versioning.flavour16=You get an update! You get an update! EVERYONE GETS AN UPDATE! -botania.versioning.flavour17=Your build's unbalanced and your hair's a Kuriboh! Hey. Hoo. -botania.versioning.flavour18=WhY iS tHiS uPdAtE mEsSaGe CaSeD lIkE tHiS!? -botania.versioning.flavour19=By updating botania you must not accept the terms of service. -botania.versioning.flavour20=wow such botania so update much fix very content +botania.versioning.flavour16=You get an update! You get an update! EVERYONE GETS AN UPDATE! +botania.versioning.flavour17=Your build's unbalanced and your hair's a Kuriboh! Hey. Hoo. +botania.versioning.flavour18=WhY iS tHiS uPdAtE mEsSaGe CaSeD lIkE tHiS!? +botania.versioning.flavour19=By updating botania you must not accept the terms of service. +botania.versioning.flavour20=wow such botania so update much fix very content botania.versioning.flavour21=This botania update will self destruct in 3...2... -botania.versioning.flavour22=There were bugs in botania, but everything changed when the fire nation attacked. Or not. -botania.versioning.flavour23=Botania updated. On other news, Germany totally bribed the referee. -botania.versioning.flavour24=Hey! Hey player! Hey player! Hey player hey! Botania update! -botania.versioning.flavour25=And what do we say to the Botania update? -botania.versioning.flavour26=And I grabbed the Botania update AND I THREW IT ON THE GROUND! MAAAN! -botania.versioning.flavour27=If you can break wood with your fists, why don't you update Botania too? -botania.versioning.flavour28=BotaniaWow! You'll say wow every time! As seen on your chat log! -botania.versioning.flavour29=Just update it, update it, update it, update it! No one wants to be outdated! -botania.versioning.flavour30=Botania used Update! It's super effective! +botania.versioning.flavour22=There were bugs in botania, but everything changed when the fire nation attacked. Or not. +botania.versioning.flavour23=Botania updated. On other news, Germany totally bribed the referee. +botania.versioning.flavour24=Hey! Hey player! Hey player! Hey player hey! Botania update! +botania.versioning.flavour25=And what do we say to the Botania update? +botania.versioning.flavour26=And I grabbed the Botania update AND I THREW IT ON THE GROUND! MAAAN! +botania.versioning.flavour27=If you can break wood with your fists, why don't you update Botania too? +botania.versioning.flavour28=BotaniaWow! You'll say wow every time! As seen on your chat log! +botania.versioning.flavour29=Just update it, update it, update it, update it! No one wants to be outdated! +botania.versioning.flavour30=Botania used Update! It's super effective! botania.versioning.flavour31=A new Botania update is available, now 20% cooler. botania.versioning.flavour32=Congratulations! You're the 100,000th Botania player with an outdated version, click HERE for a free iPad! botania.versioning.flavour33=Before you update your Botania version, would you like to install the ask toolbar? @@ -609,7 +597,7 @@ botania.challenge.apothecaryRefill.desc=Create a system that automatically refil botania.challenge.treeFarm=Tree Farm botania.challenge.treeFarm.desc=Create an automated, self-sustaining tree farm. Bonus points if it can do multiple types of tree. botania.challenge.fullCropFarm=Full Crop Farm -botania.challenge.fullCropFarm.desc=Create a crop farm with all types of crops (wheat, carrot, potato, melon, pumpkin, cocoa and nether wart) that runs at full efficiency. Bonus points if the outputs are sorted. +botania.challenge.fullCropFarm.desc=Create a crop farm with all types of crops (wheat, carrot, potato, melon, pumpkin, cocoa and nether wart) that runs at full efficiency. Bonus points if the outputs are sorted. botania.challenge.animalFarm=Animal Farm botania.challenge.animalFarm.desc=Create an automated animal farm with all farmable animal types. Bonus points if the food doesn't need to be put in manually. botania.challenge.boneMealFarm=Bone Meal-type Farm @@ -622,7 +610,7 @@ botania.challenge.mobTower.desc=Create a tower style mob farm. Mobs must be sort botania.challenge.entropinnyumSetup=Entropinnyum Setup botania.challenge.entropinnyumSetup.desc=Create a system that automatically crafts TNT and safely feeds it to an Entropinnyum flower, creating mana. Bonus points if the sand and gunpowder required for the TNT don't need to be put in manually. botania.challenge.spectrolusSetup=Spectrolus Setup -botania.challenge.spectrolusSetup.desc=Create a system that feeds a Spectrolus, generating mana. Aside from raw mana, no items may be input from outside the system. Bonus points if it operates at 100% efficiency, never wasting any wool. +botania.challenge.spectrolusSetup.desc=Create a system that feeds a Spectrolus, generating mana. Aside from raw mana, no items may be input from outside the system. Bonus points if it operates at 100% efficiency, never wasting any wool. botania.challenge.potionBrewer=Automated Brewing botania.challenge.potionBrewer.desc=Create a system that can make all types of brews automatically on demand. Bonus points if it keeps a set of incense always ignited in the player's base. @@ -1619,7 +1607,7 @@ item.botania:cosmetic16.name=Four-Leafed Clover item.botania:cosmetic17.name=Clock Eye item.botania:cosmetic18.name=Unicorn Horn item.botania:cosmetic19.name=Devil Horns -item.botania:cosmetic20.name=Hyper Plus +item.botania:cosmetic20.name=Hyper Plus item.botania:cosmetic21.name=Botanist Emblem item.botania:cosmetic22.name=Ancient Mask item.botania:cosmetic23.name=Eerie Mask @@ -2448,7 +2436,7 @@ botania.page.welcome0=&oWelcome to Botania! I congratulate you on the fine choic botania.page.welcome1=&oDespite its looks, Botania is in essence a "tech mod", by definition of requiring you to put to use ingenuity, thought and redstone to create and progress. It's good to keep that in mind.
&oOf course you'll also be rewarded with cool toys, blocks and equipment, if you're worried. botania.page.welcome2=&oFor all intents and purposes, Botania is a mod that anybody who likes to play the game with the primary purpose of building cool things will likely enjoy. It is designed to be fully playable standalone, but is also playable with other mods.
&oExcluding a small few examples, everything in the mod is fully automatable using minecraft and its own features exclusively. botania.page.welcome3=&oIf you happen to find yourself lost, try checking out the mod's Achievements or Challenges, both of which can be found on the left hand side of this book's main page.
&oThe book is laid out in a friendly way with a good amount of handy features, so before you start jumping in and playing, take a bit of time to familiarize yourself with what the various tidbits around the place do. -botania.page.welcome4=&oAfter this you'll be taken to a page where you can optionally start a tutorial that will teach you the basics of the mod in around ten minutes, give or take.
&oHowever, it teaches you only the very basics. So, after you got a good foothold on those concepts, further research is a good idea. +botania.page.welcome4=&oAfter this you'll be taken to a page where you can optionally start a tutorial that will teach you the basics of the mod in around ten minutes, give or take.
&oHowever, it teaches you only the very basics. So, after you got a good foothold on those concepts, further research is a good idea. botania.page.welcome5=&oIf you're unsure as to what you want to learn about, hold SHIFT while browsing through the various categories to get a quick idea of what each thing is.
&oThe "Lexicon Index" category can be very helpful for searching, as it contains every entry in the book in one place. botania.page.welcome6=&oAnd that's it for this introduction! You can move on to the tutorial now. I hope you enjoy playing with Botania as much as I enjoyed making it!
&o~Vazkii, the mod author

&oCarry on by pressing the "Back" button on the bottom. Your right mouse button or backspace key will have the same effect. @@ -2461,7 +2449,7 @@ botania.page.tutorial0=While one could just go through the various entries in th botania.entry.gardenOfGlass=Garden of Glass botania.tagline.gardenOfGlass=Your new challenge botania.page.gardenOfGlass0=In the &2Garden of Glass&0 nobody can hear you scream.
You're alone in space.
How exciting. -botania.page.gardenOfGlass1=The &2Garden of Glass&0 is a skyblock mode for Botania. It's advised only for players who are somewhat experienced in the mod, but if you're new to it, you're more than welcome to try it out anyway.
Most of the mod functions the same, but some tweaks have been put in place to allow for the skyblock style game. They'll be listed in the following pages. +botania.page.gardenOfGlass1=The &2Garden of Glass&0 is a skyblock mode for Botania. It's advised only for players who are somewhat experienced in the mod, but if you're new to it, you're more than welcome to try it out anyway.
Most of the mod functions the same, but some tweaks have been put in place to allow for the skyblock style game. They'll be listed in the following pages. botania.page.gardenOfGlass2=After spawning in the &1Garden of Glass&0 you'll find &1Living Roots&0 below the landing area. These can be used to create &1Saplings&0 and &1Floral Fertilizer&0. They also work as &1Bone Meal&0. Shift-right clicking a &1Dirt&0 or &1Grass&0 block with an empty hand will have you rummage through the soil, finding some &1Pebbles&0, that can be converted into &1Cobblestone&0. Filling a &1Petal Apothecary&0 can be done with a &1Bowl&0 by clicking on a water block. botania.page.gardenOfGlass3=Creating &1Saplings&0 botania.page.gardenOfGlass4=Creating &1Floral Fertilizer&0 @@ -2513,7 +2501,7 @@ botania.page.apothecary5=Crafting the &1Petal Apothecary&0. # -- PURE DAISY botania.entry.pureDaisy=Pure Daisy botania.tagline.pureDaisy=Creator of Livingwood and Livingrock, among others -botania.page.pureDaisy0=The &1Pure Daisy&0 is not only the most basic, but also the most important flower a botanist can have.
This flower will purify any adjacent &1Wood&0 and &1Stone&0 blocks, as seen on the next page, into their purified counterparts, &1Livingwood&0 and &1Livingrock&0, which can be used for crafting. +botania.page.pureDaisy0=The &1Pure Daisy&0 is not only the most basic, but also the most important flower a botanist can have.
This flower will purify any adjacent &1Wood&0 and &1Stone&0 blocks, as seen on the next page, into their purified counterparts, &1Livingwood&0 and &1Livingrock&0, which can be used for crafting. botania.page.pureDaisy1=Just give it &4a minute&0 or so... botania.page.pureDaisy2=&1Livingwood&0 can be turned into twigs botania.page.pureDaisy4=A few other blocks can also be purified by placing them around the flower. While not as unique and essential as the living blocks, perhaps this might come in handy. This includes &1Netherrack&0 into &1Cobblestone&0, &1Soul Sand&0 into &1Sand&0, &1Ice&0 into &1Packed Ice&0 or &1Water&0 to &1Snow&0. @@ -2566,13 +2554,13 @@ botania.page.terrasteel4=T.A. Plate # -- BLACK LOTUS botania.entry.blackLotus=Black Lotus botania.tagline.blackLotus=Rare loot that can make mana -botania.page.blackLotus0=An elusive flower by the name of &1Black Lotus&0 is known to exist, however, it does not grow or reproduce. Where they can be found or come from is not known.
It is known, however, that it contains a strong amount of concentrated &4Mana&0, that can be released by putting it in contact with a &1Mana Pool&0 that already has some in it. Just tossing it would do. +botania.page.blackLotus0=An elusive flower by the name of &1Black Lotus&0 is known to exist, however, it does not grow or reproduce. Where they can be found or come from is not known.
It is known, however, that it contains a strong amount of concentrated &4Mana&0, that can be released by putting it in contact with a &1Mana Pool&0 that already has some in it. Just tossing it would do. # -- FLOWER POUCH botania.entry.flowerBag=Flower Pouch botania.tagline.flowerBag=A trusty pouch to hold your floral goodness botania.page.flowerBag0=The laws of physics regarding one's &4Inventory&0 are somewhat skewed in this world. Thanks to that, carrying an array of different colors of flowers turns out to be a major hassle. Luckily, a &1Flower Pouch&0 takes care of all those issues. It can store up to one stack of each color of &1Mystical Flower&0, not only that but it'll passively catch any that enter the holder's inventory. -botania.page.flowerBag2=Items won't be added automatically to the pouch if that's the item being held.
Furthermore, shift-right clicking the pouch into a &1Chest&0 or other inventory will store the flowers it contains into said inventory. +botania.page.flowerBag2=Items won't be added automatically to the pouch if that's the item being held.
Furthermore, shift-right clicking the pouch into a &1Chest&0 or other inventory will store the flowers it contains into said inventory. botania.page.flowerBag1=Pull a copter out of it (any colors work) # -- MUSHROOM POUCH @@ -2592,14 +2580,14 @@ botania.entry.mIntro=An Introduction to Mana botania.tagline.mIntro=Start off with Mana botania.page.mIntro0=&4Mana&0 is an ethereal substance. In layman's terms, it is a form of &4mystical energy&0. Its sensorial existence is inconstant, and its color depends on the environment its put in.
Mastering &4Mana&0 is one of the most important skills a botanist needs to master. botania.page.mIntro1=In order to create &4Mana&0, one would require a set of &4Generating Flowers&0 (read the respective section). This &4Mana&0 can be dispersed by utilizing &1Mana Spreaders&0 and stored in &1Mana Pools&0. &4Mana&0 can be used for a myriad of different things. For starters, it can be used for &4Functional Flowers&0 (read the respective section). -botania.page.mIntro2=To get started with mastering the art of &4Mana&0, one would start by learning how to use &1Dayblooms&0, &1Mana Spreaders&0 and &1Mana Pools&0.
These form a basic infrastructure for mana, which can be used for all sorts of purposes. Have a read at the &4Functional Flora&0 and &4Natural Apparatus&0 sections of this Lexicon. +botania.page.mIntro2=To get started with mastering the art of &4Mana&0, one would start by learning how to use &1Dayblooms&0, &1Mana Spreaders&0 and &1Mana Pools&0.
These form a basic infrastructure for mana, which can be used for all sorts of purposes. Have a read at the &4Functional Flora&0 and &4Natural Apparatus&0 sections of this Lexicon. # -- MANA SPREADER botania.entry.spreader=Mana Spreader botania.tagline.spreader=Your essential Mana transporter botania.page.spreader0=The &1Mana Spreader&0 is the most important component in manipulating &4Mana&0.
This is the block that allows &4Mana&0 to travel from point A to point B. When this block is placed on the ground, it'll face one of 6 basic directions. By holding shift-right on it with a &1Wand of the Forest&0, one can orient it to the opposite of where it was clicked. It can be pointed to other blocks with a wand in &4Bind Mode&0. botania.page.spreader1=Holding a &1Wand of the Forest&0 -botania.page.spreader2=The &1Mana Spreader&0 has a small internal buffer of &4Mana&0, which will get filled by nearby &4Generating Flowers&0. This buffer can be viewed by looking at the &1Spreader&0 with a &1Wand of the Forest&0, as demonstrated in the last page.
Note that the block needs to be right clicked with a wand to get accurate and adequate values. +botania.page.spreader2=The &1Mana Spreader&0 has a small internal buffer of &4Mana&0, which will get filled by nearby &4Generating Flowers&0. This buffer can be viewed by looking at the &1Spreader&0 with a &1Wand of the Forest&0, as demonstrated in the last page.
Note that the block needs to be right clicked with a wand to get accurate and adequate values. botania.page.spreader3=Holding a &1Wand of the Forest&0 displays a beam which shows where the spreader is pointing at. Hovering over it shows the target. The sparkle that's always shown is the point when &4Mana loss&0 starts to happen.
If the target of the spreader is a block that can contain &4Mana&0, and isn't full, the spreader will fire a &4Mana Burst&0, which will travel to the target, and pass the &4Mana&0 along to it. botania.page.spreader4=The spreader only fires one burst at once, it'll only fire another one when the last one hits the target.
Furthermore, the bursts also start suffering &4mana loss&0 after a small amount of time. This can be seen in the beam, which becomes a lot thinner when this happens. There is also a small amount of &4mana loss&0 when a beam enters a spreader. botania.page.spreader11=Applying a &4Redstone Signal&0 to the spreader will have it cease to function. Case better control is required, a &1Pulse Mana Spreader&0 is recommended, as it can fire bursts without a target block and works on redstone pulses. @@ -2646,7 +2634,7 @@ botania.page.sparkUpgrades5=Crafting the Augments # -- MANA DISTRIBUTOR botania.entry.distributor=Mana Distributor botania.tagline.distributor=Equivalently distribute Mana between various pools -botania.page.distributor0=Any botanist will eventually reach a point where a single &1Mana Pool&0 setup is not enough.
The &1Mana Distributor&0 will fix all those issues. By placing it adjacently to a few &1Mana Pools&0 on its sides, when it receives &4Mana&0 through &4Mana Bursts&0 it'll equally spread it to the adjacent pools. +botania.page.distributor0=Any botanist will eventually reach a point where a single &1Mana Pool&0 setup is not enough.
The &1Mana Distributor&0 will fix all those issues. By placing it adjacently to a few &1Mana Pools&0 on its sides, when it receives &4Mana&0 through &4Mana Bursts&0 it'll equally spread it to the adjacent pools. botania.page.distributor1=Crafting the distributor # -- MANA VOID @@ -2677,13 +2665,13 @@ botania.page.lens9=Potency Lens botania.page.lens10=The &1Resistance Lens&0 will significantly increase the amount of time the &4Mana Burst&0 can go without starting to lose &4Mana&0, but it makes it a a bit slower. botania.page.lens11=Resistance Lens botania.page.lens12=The &1Efficiency Lens&0 will decrease the amount of time it takes for the &4Mana Burst&0 to start losing its &4Mana&0, but when that happens, it does so at a lot slower rate. -botania.page.lens13=Efficiency Lens +botania.page.lens13=Efficiency Lens botania.page.lens14=The &1Bounce Lens&0 will allow the &4Mana Burst&0 to bounce off walls, rather than dissipating on a collision. botania.page.lens15=Bounce Lens botania.page.lens16=The &1Gravity Lens&0 makes the &4Mana Burst&0 be attracted by the world's gravitational pull, thus moving in an arc. As compensation, it also slightly increases the time before &4Mana&0 loss starts to happen. -botania.page.lens17=Gravity Lens +botania.page.lens17=Gravity Lens botania.page.lens18=The &1Bore Lens&0 charges the &4Mana Burst&0 with the ability to break any blocks it comes into contact with, draining its own mana to do so. -botania.page.lens19=Bore Lens +botania.page.lens19=Bore Lens botania.page.lens20=The &1Damaging Lens&0 charges the &4Mana Burst&0 with the power to damage any living beings it comes across, draining its own mana to do so. botania.page.lens21=Damaging Lens botania.page.lens22=The &1Phantom Lens&0 is an interesting one. By utilizing the &1Abstruse Platform&0 and its' properties, it's possible to make a lens that'll allow the &4Mana Burst&0 to pass through blocks. In doing so, the time it can stay without losing mana is decreased. @@ -2705,7 +2693,7 @@ botania.page.lens37=Flash Lens # -- MANA TABLET botania.entry.manaTablet=Mana Tablet -botania.tagline.manaTablet=Portable Mana Storage +botania.tagline.manaTablet=Portable Mana Storage botania.page.manaTablet0=While using &1Mana Spreaders&0 to transport &4Mana&0 around is all well and good, there is also a way of doing it in a different manner.
The &1Mana Tablet&0 is a portable object which can carry &4Mana&0 on itself.
Not only that, but other items can also pull from it as they need it for their uses, making this an essential tool. botania.page.manaTablet1=Tossing one of these on top of a &1Mana Pool&0 will allow for transport of &4Mana&0 between one and another.
Shift-right clicking the &1Mana Pool&0 with a &1Wand of the Forest&0 will change in which way the &4Mana&0 flows.
Lastly, unlike normal items, these will never despawn when dropped on the floor. botania.page.manaTablet2=Don't put it on your pocket, it might bend @@ -2777,7 +2765,7 @@ botania.page.poolCart4=This is not a pipe # -- SPARK TINKERER botania.entry.sparkChanger=Spark Tinkerer botania.tagline.sparkChanger=Control augments on sparks with redstone -botania.page.sparkChanger0=The &1Spark Tinkerer&0 is a block with the ability to modify the &1Augments&0 placed on &1Sparks&0. Placing it adjacent to &1Mana Pools&0 or other blocks with a &1Spark&0 attached will connect it to those blocks.
Right clicking the &1Spark Tinkerer&0 with a &1Spark Augment&0 will put the augment in the block, it can be removed by right clicking again. +botania.page.sparkChanger0=The &1Spark Tinkerer&0 is a block with the ability to modify the &1Augments&0 placed on &1Sparks&0. Placing it adjacent to &1Mana Pools&0 or other blocks with a &1Spark&0 attached will connect it to those blocks.
Right clicking the &1Spark Tinkerer&0 with a &1Spark Augment&0 will put the augment in the block, it can be removed by right clicking again. botania.page.sparkChanger1=When the &1Spark Tinkerer&0 gets a redstone signal it'll randomly pick a &1Spark&0, between all of those it's connected to that have a different augment from the one stored in it, and swap the augment in that &1Spark&0 with the one stored in the block.
The stored augment can be withdrawn or deposited with &1Hoppers&0 or other automation methods. &1Comparators&0 can read what augment is stored. botania.page.sparkChanger2=Hahahaha, water fire... @@ -2826,7 +2814,7 @@ botania.page.bellethorne1=&oEvery rose has its thorn&r. # -- DREADTHORNE botania.entry.dreadthorne=Dreadthorne botania.tagline.dreadthorne=Damages adult animals -botania.page.dreadthorne0=The &1Dreadthorne&0 is a slightly more specific counterpart to the &1Bellethrorne&0, by which, instead of all mobs around, it'll only hurt &4adult&0 animals and none else. +botania.page.dreadthorne0=The &1Dreadthorne&0 is a slightly more specific counterpart to the &1Bellethrorne&0, by which, instead of all mobs around, it'll only hurt &4adult&0 animals and none else. botania.page.dreadthorne1=&oNo Mr.Bond, I expect you to die&r. # -- HEISEI DREAM @@ -2882,7 +2870,7 @@ botania.page.hopperhock2=&oI guess I'll be talking my loli and leaving&r. # -- TANGLEBERRIE botania.entry.tangleberrie=Tangleberrie botania.tagline.tangleberrie=Keeps mobs in -botania.page.tangleberrie0=The &1Tangleberrie&0 is a flower that, at the cost of a small amount of &4Mana&0, will keep any nearby animals or monsters within a circle ward, preventing them from getting out. +botania.page.tangleberrie0=The &1Tangleberrie&0 is a flower that, at the cost of a small amount of &4Mana&0, will keep any nearby animals or monsters within a circle ward, preventing them from getting out. botania.page.tangleberrie1=&oTangled, brave and frozen&r. # -- JIYUULIA @@ -2945,7 +2933,7 @@ botania.page.spectranthemum3=&o(n)spooky(n+2)me&r. # -- MEDUMONE botania.entry.medumone=Medumone botania.tagline.medumone=Freezes mobs -botania.page.medumone0=The &1Medumone&0 is a flower with the ability to completely halt a creature's movement.
While it receives &4Mana&0, it'll halt any nearby entities in their tracks with a powerful slowness effect, provided they are not players. +botania.page.medumone0=The &1Medumone&0 is a flower with the ability to completely halt a creature's movement.
While it receives &4Mana&0, it'll halt any nearby entities in their tracks with a powerful slowness effect, provided they are not players. botania.page.medumone1=&oThose credits look fake&r... # -- MARIMORPHOSIS @@ -2980,12 +2968,12 @@ botania.page.gIntro2=It is important to keep in mind that these flowers memorize botania.entry.passiveGen=Caveats of Passive Generation botania.tagline.passiveGen=It's free or it's good, pick one botania.page.passiveGen0=The spectrum of &4Generating Flowers&0 can be arranged in two groups, &4Passive&0 and &4Active&0.
&4Passive Flowers&0 are those that simply create &4Mana&0 using a completely free resource, such as the sun, or water. &4Active Flowers&0 require some sort of resource to transform into &4Mana&0, be it renewable or not. -botania.page.passiveGen1=At the start of a botanist's career, only very basic and rudimentary &4Passive Flowers&0 are available, such as the &1Daybloom&0 or &1Nightshade&0.
These flowers are required to advance on to more potent and effective &4Active Flowers&0, but they should not be relied upon aside from being a stepping stone, as all &4Passive Flowers&0 will decay into a &1Dead Bush&0 after three days of work. +botania.page.passiveGen1=At the start of a botanist's career, only very basic and rudimentary &4Passive Flowers&0 are available, such as the &1Daybloom&0 or &1Nightshade&0.
These flowers are required to advance on to more potent and effective &4Active Flowers&0, but they should not be relied upon aside from being a stepping stone, as all &4Passive Flowers&0 will decay into a &1Dead Bush&0 after three days of work. # -- PRIMUS LOCI botania.entry.primusLoci=Primus Loci botania.tagline.primusLoci=Rare flower patches with non-decaying flowers -botania.page.primusLoci0=Among one's travels, one might come across an unusual flower patch, with flowers resembling &1Dayblooms&0 and &1Nightshades&0.
This is called a &4Primus Locus&0, a rare occurence in the world, where two special generating flora, the &1Daybloom Primus&0 and &1Nightshade Primus&0 can appear. +botania.page.primusLoci0=Among one's travels, one might come across an unusual flower patch, with flowers resembling &1Dayblooms&0 and &1Nightshades&0.
This is called a &4Primus Locus&0, a rare occurence in the world, where two special generating flora, the &1Daybloom Primus&0 and &1Nightshade Primus&0 can appear. botania.page.primusLoci1=These flowers act as normal &1Dayblooms&0 or &1Nightshades&0, however, they produce mana a little bit faster and do not decay, making them a great find for a fledgling botanist to set up camp around.
Primus flowers are incredibly fickle, and as such, attempting to move them off their natural resting place will kill them. # -- DAYBLOOM @@ -3053,7 +3041,7 @@ botania.page.kekimurus1=&otop kek&r botania.entry.gourmaryllis=Gourmaryllis botania.tagline.gourmaryllis=Mana from food botania.page.gourmaryllis0=The &1Gourmaryllis&0 is one hungry flower. It'll eat up any food in a small area around it, and turn it into &4Mana&0.
There's a catch, though, it can only digest a single food at any given time, the &4Mana&0 is created when it's done. Any other food it finds, it'll also devour, but not create any mana from it. -botania.page.gourmaryllis1=The amount of time it takes to digest a delicacy depends on its nutritional value, in layman's terms, the amount of food points it restores.
So, a &1Steak&0 will take four seconds to digest, a &1Carrot&0 will take two, a loaf of &1Bread&0 will take two and a half, so on. +botania.page.gourmaryllis1=The amount of time it takes to digest a delicacy depends on its nutritional value, in layman's terms, the amount of food points it restores.
So, a &1Steak&0 will take four seconds to digest, a &1Carrot&0 will take two, a loaf of &1Bread&0 will take two and a half, so on. botania.page.gourmaryllis2=The amount of &4Mana&0 created also makes use of this value, but in a way where the more nutritious the food is, the more efficient it is. For example, a single &1Steak&0 will produce more &1Mana&0 than two &1Carrots&0, both absolutely and per second. botania.page.gourmaryllis3=&oA hot pot for our new residents&r. @@ -3061,7 +3049,7 @@ botania.page.gourmaryllis3=&oA hot pot for our new residents&r. botania.entry.narslimmus=Narslimmus botania.tagline.narslimmus=Mana from slime botania.page.narslimmus0=There's some sort of unbeknownst power in the universe that creates &1Slimes&0 at seemingly random spots. &4Slime Chunks&0, they call it. The &1Narslimmus&0 is a flower that has the ability to tap into that energy. If placed down near a &1Slime&0 created by that power, it'll destroy it, collecting all the &4Mana&0 generated by the entropy. The larger the &1Slime&0, the more &4Mana&0 is created. It also makes a bit of a sticky mess. -botania.page.narslimmus1=&oStick around, would ye&r? +botania.page.narslimmus1=&oStick around, would ye&r? # -- SPECTROLUS botania.entry.spectrolus=Spectrolus @@ -3205,7 +3193,7 @@ botania.page.complexBrews3b=And I call it magic botania.page.complexBrews4a=This brew casts an aura of emptiness around any entity that has its effect. In a 128 block radius, mobs will not be allowed to spawn naturally. botania.page.complexBrews4b=Close the floodgates botania.page.complexBrews5a=This brew casts an aura of emptiness around any entity that has its effect. In a 64 block radius, mobs will be allowed to spawn regardless of light or other conditions. This won't work with &1Emptiness&0. -botania.page.complexBrews5b=Shall we pray for a miracle? +botania.page.complexBrews5b=Shall we pray for a miracle? botania.page.complexBrews6a=A player affected with this brew's effect will have much higher proficiency at fishing and will catch fish and other loot twice as fast. botania.page.complexBrews6b=Maybe you'll catch a Chris botania.page.complexBrews7a=When drank, this brew will clear all potion effects on the player, negative or otherwise. @@ -3215,7 +3203,7 @@ botania.page.complexBrews7b=Absolute sooooooul botania.entry.incense=Brew Incenses botania.tagline.incense=Brews on an area of effect botania.page.incense0=&4Brews&0 can provide a great variety of effects when in liquid form. They, however, don't last long, and take up inventory space. Utilizing &1Incense Sticks&0 instead of flasks mitigates that problem, these can be infused with &4Brew&0 effects just like a normal flask would, but take around ten times as much &4Mana&0 to do so. -botania.page.incense1=An &1Incense Stick&0 can be placed on an &1Incense Plate&0 by right clicking on it, a simple click with a &1Flint and Steel&0 will light it up. Once lit, the stick can not be retrieved.
A single stick of incense will burn for sixty times as long as as the liquid counterpart before needing to be replaced. +botania.page.incense1=An &1Incense Stick&0 can be placed on an &1Incense Plate&0 by right clicking on it, a simple click with a &1Flint and Steel&0 will light it up. Once lit, the stick can not be retrieved.
A single stick of incense will burn for sixty times as long as as the liquid counterpart before needing to be replaced. botania.page.incense2=&1Incense Plates&0 that are burning &1Incense Sticks&0 will provide the effects of the &4Brew&0 infused in the stick to any players on a 30 block radius of the plate.
Not all &4Brews&0 can be infused into &1Incense Sticks&0, for example, &4Instant Health&0 or &1Absorption&0 can't, nor can any with more than one effect. botania.page.incense5=For the incense lovers who are also automation junkies, the &1Incense Plate&0 can receive items through &1Hoppers&0 or other input. It'll output a &1Comparator&0 signal of 1 when it has a stick and 2 when it's burning it.
Lastly, if a &4Mana Burst&0 with a &1Kindle Lens&0 hits the plate while there's a stick on it, it'll start burning it. botania.page.incense3=Incense is wincense @@ -3317,7 +3305,7 @@ botania.page.canopyDrum1=The Pinking Drum botania.entry.cocoon=Cocoon of Caprice botania.tagline.cocoon=Hatch your own animals botania.page.cocoon0=A cocoon is usually a symbol of change, of evolution.
Creating a &1Cocoon of Caprice&0 and placing it down will slowly evolve the rudimentary contents inside it into a &1Baby Animal&0. More often than not the animal hatched will be a farm animal, but on rare ocasions, different animals such as &1Wolves&0 or &1Horses&0 may be created. -botania.page.cocoon1=Speculation says that giving the cocoon &1Emeralds&0 influences the outcome towards something a bit different.
What could come out of such experiment is anyone's guess, really. +botania.page.cocoon1=Speculation says that giving the cocoon &1Emeralds&0 influences the outcome towards something a bit different.
What could come out of such experiment is anyone's guess, really. botania.page.cocoon2=New World, Perfect World # -- MANASTORM CHARGE @@ -3351,7 +3339,7 @@ botania.entry.manaBlaster=Mana Blaster botania.tagline.manaBlaster=Portable Mana Spreader, with lenses! botania.page.manaBlaster0=The &1Mana Blaster&0 is like a portable &1Mana Spreader&0, while shaped like a pistol for easy handling, it's not exactly a firearm, as much as it is just a portable spreader.
By utilizing &4Mana&0 from &4Mana carrying items&0 in the holder's inventory, it can shoot a mana burst wherever one is looking. botania.page.manaBlaster1=This burst is a bit different from the one fired from speaders, as it's faster, but carries only three quarters of the mana a spreader burst would. There's also a short cooldown period after firing the blaster until another burst can be shot. -botania.page.manaBlaster2=&1Mana Lenses&0 also function with the blaster. To attach one to it, put them side by side on a crafting table, to remove it, simply place the &1Mana Blaster&0 back on the crafting grid.
If the shooter has a &1Haste&0 effect present on their person, the speed at which they can fire the blaster also increases. +botania.page.manaBlaster2=&1Mana Lenses&0 also function with the blaster. To attach one to it, put them side by side on a crafting table, to remove it, simply place the &1Mana Blaster&0 back on the crafting grid.
If the shooter has a &1Haste&0 effect present on their person, the speed at which they can fire the blaster also increases. botania.page.manaBlaster3=We need more dakka # -- PASTURE SEEDS @@ -3441,7 +3429,7 @@ botania.page.elfGear2=Starting off, the &1Elementium Pickaxe&0 will destroy any botania.page.elfGear3=I can fit a shower in my pocket, screw cobble botania.page.elfGear4=The &1Elementium Shovel&0 will, case the block dug is affected by gravity (&1Gravel&0, &1Sand&0, etc), dig all the blocks of that material above and/or below it, no more gravel falling while mining. botania.page.elfGear5=Putting Things on Top of Other Things -botania.page.elfGear6=The &1Elementium Axe&0 doubles as a weapon, if used to strike the finishing blow to a &4Zombie&0, &4Skeleton&0, &4Creeper&0 or even another &4Player&0, it has a chance to decapitate them, leaving their severed head or skull behind. +botania.page.elfGear6=The &1Elementium Axe&0 doubles as a weapon, if used to strike the finishing blow to a &4Zombie&0, &4Skeleton&0, &4Creeper&0 or even another &4Player&0, it has a chance to decapitate them, leaving their severed head or skull behind. botania.page.elfGear7=Off with their heads botania.page.elfGear8=The &1Elementium Shears&0 hold the ability to, when held back like a bow, shear any nearby sheep with speed within a large area of effect centered on the holder. botania.page.elfGear9=Nui? She's h-arm-less @@ -3525,7 +3513,7 @@ botania.entry.diviningRod=Rod of the Plentiful Mantle botania.tagline.diviningRod=A rod to find ores botania.page.diviningRod0=The &1Rod of the Plentiful Mantle&0 has the ability to divine in a decently large radius around the user to find any ores. These will shine for a little bit, allowing their location.
This process, obviously, requires a decent amount of &4Mana&0 from the user's inventory. botania.page.diviningRod2=This rod can be given to a &1Livingwood Avatar&0. When done so, it'll show all nearby ores, as if it was used by a player. The colors, in this case, remain the same if the avatar isn't moved.
This process uses &4Mana&0 from the avatar, and can be disabled by applying redstone to it. -botania.page.diviningRod1=inb4 ee3 +botania.page.diviningRod1=inb4 ee3 # -- ROD OF THE BLACK MESA botania.entry.gravityRod=Rod of the Shaded Mesa @@ -3651,7 +3639,7 @@ botania.page.exchangeRod3=Bootlegged equal trade # -- MANAWEAVE CLOTH botania.entry.manaweave=Manaweave Cloth botania.tagline.manaweave=Cloth armor that regenerates with mana and provides a boost to rod powers -botania.page.manaweave0=&1Manaweave Cloth&0 is a type of fabric with powerful ties to the primal energies contained in &4Mana&0.
Armor can be made of this cloth, &1Manaweave Robes&0, while they aren't very strong when it comes to raw resistance and strength, the robes make up for it with a powerful set bonus, making tools and rods cheaper to use, &4Mana&0 wise, and making the latter more powerful. +botania.page.manaweave0=&1Manaweave Cloth&0 is a type of fabric with powerful ties to the primal energies contained in &4Mana&0.
Armor can be made of this cloth, &1Manaweave Robes&0, while they aren't very strong when it comes to raw resistance and strength, the robes make up for it with a powerful set bonus, making tools and rods cheaper to use, &4Mana&0 wise, and making the latter more powerful. botania.page.manaweave1=Wearing the full set of &1Manaweave Robes&0 grants the wearer with increased proficiency when operating magical rods, increasing the power/range of them, or just their cost, for some of the more simpleton ones.
&1Manaweave Robes&0 can use &4Mana&0 from one's inventory to repair themselves, similarly to &1Manasteel Armor&0, but, due to their affinities with the primal energies, at a lower mana cost. botania.page.manaweave2=Weaving the threads of mana botania.page.manaweave3=Creating the Cowl @@ -3676,7 +3664,7 @@ botania.page.sextant2=You sketch a circle, filling you with determination # -- EXTRACTING ENDER AIR botania.entry.enderAir=Extracting Ender Air botania.tagline.enderAir=Throwable bottles that create End Stone -botania.page.enderAir0=The air present in the void of the &1End&0 seems to have some mutating properties. Right clicking with an empty &1Glass Bottle&0 while in the &1End&0 will capture some of that air, which can then later be tossed similarly to a splash potion, turning nearby &1Stone&0 on the landing point into &1End Stone&0. +botania.page.enderAir0=The air present in the void of the &1End&0 seems to have some mutating properties. Right clicking with an empty &1Glass Bottle&0 while in the &1End&0 will capture some of that air, which can then later be tossed similarly to a splash potion, turning nearby &1Stone&0 on the landing point into &1End Stone&0. # -- ENDER OVERSEER botania.entry.enderEyeBlock=Ender Overseer @@ -3752,7 +3740,7 @@ botania.page.corporea1=Starting off, they can go on top of any &4Inventory&0, li botania.page.corporea2=When a &1Corporea Spark&0 is placed or polled, each spark will poll any nearby sparks, adding them to the network designated by the single &1Master Corporea Spark&0 and also polling other nearby sparks, in a chain. While each individual spark can only reach a few blocks, combined, the entire network can go for a virtually infinite distance. botania.page.corporea3=&1Corporea Sparks&0 have a view of the inventory directly below them, but can only access items from the top side. Each &1Corporea Spark&0 has the ability to view every other spark in the network and its contents, and the ability to request them as necessary, depending on the type of block below it. botania.page.corporea4=It's to note that the &1Master Corporea Spark&0, while being part of the network, can not have the items in its inventory extracted from.
Futhermore, no requests for items in the network are ever done passively. Corporea does not have the ability to add new items to the network, those should be inserted physically through &1Hoppers&0 or other methods. -botania.page.corporea5=Similarly to normal &1Sparks&0, &1Corporea Sparks&0 have a method of augmentation, that being the ability to color them. While in the world, there's an icon floating around the spark that shows which color it has, this can be changed by right clicking on the spark with a piece of &1Floral Powder&0. These colors define networks. A spark may only be in the same network as another spark if the two have the same color. +botania.page.corporea5=Similarly to normal &1Sparks&0, &1Corporea Sparks&0 have a method of augmentation, that being the ability to color them. While in the world, there's an icon floating around the spark that shows which color it has, this can be changed by right clicking on the spark with a piece of &1Floral Powder&0. These colors define networks. A spark may only be in the same network as another spark if the two have the same color. botania.page.corporea6=The ability to color sparks allows for multiple different &4Corporea Networks&0 to be together in a close area, without interfering with each other.
Viewing the network and removing the spark works exactly the same as a normal spark. Lastly, having two &1Master Corporea Sparks&0 of the same color nearby, while possible, is a bad idea and will cause conflicts and odd behaviour. botania.page.corporea7=Creating &1Corporea Sparks&0 botania.page.corporea8=And &1Master Corporea Sparks&0 @@ -3787,7 +3775,7 @@ botania.page.corporeaInterceptor2=So many automation prospects # -- CORPOREA CRYSTAL CUBE botania.entry.corporeaCrystalCube=Corporea Crystal Cube botania.tagline.corporeaCrystalCube=View and request items from a Corporea network -botania.page.corporeaCrystalCube0=A seer usually looks through a crystal ball to see the future. Well, a corporea handler would look through a crystal cube to see the present. The &1Corporea Crystal Cube&0 acts as a visual medium to interact ith one's &4Corporea Network&0. Placing the block down and giving it a &1Corporea Spark&0 is the obvious first step to hooking it up to the network. +botania.page.corporeaCrystalCube0=A seer usually looks through a crystal ball to see the future. Well, a corporea handler would look through a crystal cube to see the present. The &1Corporea Crystal Cube&0 acts as a visual medium to interact ith one's &4Corporea Network&0. Placing the block down and giving it a &1Corporea Spark&0 is the obvious first step to hooking it up to the network. botania.page.corporeaCrystalCube1=When the block is connected, right clicking it with any sort of item will have it monitor that item, allowing someone who's looking at it see how many exist in the network. The display updates about once every second.
While there's an item selected, left clicking the block will request one of that item from the network. Shift-left clicking requests a whole stack. botania.page.corporeaCrystalCube3=The &1Corporea Crystal Cube&0 can be used alongside a &1Redstone Comparator&0. This will output the amount of items of the type it's looking for in the system. The output value follows a logarithmic progression, or on layman's terms, every level requires twice as many of the item as the previous one, starting at 1. 0 items would be signal 0. 1 item for 1, 2 items for 2, 4 items for 3, 8 items for 4, 16 items for 5 and so on up to 15. botania.page.corporeaCrystalCube2=I can see forever @@ -3859,7 +3847,7 @@ botania.entry.bIntro=An Introduction to Baubles botania.tagline.bIntro=Accessories that provide power botania.page.bIntro0=&4Baubles&0, also commonly referred to as &4Trinkets&0 or &4Charms&0 are pieces of equipment which offer all sorts of different effects, when worn.
To equip them, one can press the &4B&0 (configurable) key. There's four slots, one &4Amulet&0 slot, two &4Ring&0 slots and one &4Belt&0 slot. botania.page.bIntro1=The &4Baubles Screen&0 -botania.page.bIntro2=It's to note that, if &4Thaumcraft&0 or any other mod that uses the baubles system is installed, this inventory will be shared between the various mods. +botania.page.bIntro2=It's to note that, if &4Thaumcraft&0 or any other mod that uses the baubles system is installed, this inventory will be shared between the various mods. # -- COSMETIC BAUBLES botania.entry.cosmeticBaubles=Cosmetic Baubles @@ -3901,8 +3889,8 @@ botania.page.cosmeticBaubles33=Get on the treadmill, angbadang # -- TINY PLANET botania.entry.tinyPlanet=Tiny Planet -botania.tagline.tinyPlanet=Send Mana bursts flying around you -botania.page.tinyPlanet0=The &1Tiny Planet&0 is a &4Bauble&0 with gravitational proprieties, while equipped, the &1Tiny Planet&0 will pull any nearby &4Mana Bursts&0 towards the wearer, having them orbit around him or her.
By increasing its mass with some &1Stone&0, it can also be placed in world, for the same effect. +botania.tagline.tinyPlanet=Send Mana bursts flying around you +botania.page.tinyPlanet0=The &1Tiny Planet&0 is a &4Bauble&0 with gravitational proprieties, while equipped, the &1Tiny Planet&0 will pull any nearby &4Mana Bursts&0 towards the wearer, having them orbit around him or her.
By increasing its mass with some &1Stone&0, it can also be placed in world, for the same effect. botania.page.tinyPlanet1=Clearly from rebirth botania.page.tinyPlanet2=More of a planet than Pluto @@ -3935,7 +3923,7 @@ botania.page.knockbackBelt1=I'm the man who can't be moved # -- SNOWFLAKE PENDANT botania.entry.icePendant=Snowflake Pendant botania.tagline.icePendant=Walk on water, by making ice -botania.page.icePendant0=The &1Snowflake Pendant&0 is a &4Bauble&0 that resonates freezing energy, while it's worn, any nearby still &1Water&0 blocks at foot level will be converted into &1Ice&0.
The &1Ice&0 will melt shortly afterward the wearer leaves the area. Lastly, this charm will not freeze any blocks if the wearer is sneaking or fully submerged. +botania.page.icePendant0=The &1Snowflake Pendant&0 is a &4Bauble&0 that resonates freezing energy, while it's worn, any nearby still &1Water&0 blocks at foot level will be converted into &1Ice&0.
The &1Ice&0 will melt shortly afterward the wearer leaves the area. Lastly, this charm will not freeze any blocks if the wearer is sneaking or fully submerged. botania.page.icePendant1=Do you want to build a snowman? # -- PYROCLAST PENDANT @@ -4043,7 +4031,7 @@ botania.page.speedUpBelt1=If you go slow you're a Planeswalker # -- BAUBLE CASE botania.entry.baubleBox=Bauble Case botania.tagline.baubleBox=A handy container to store your Baubles -botania.page.baubleBox0=Somtimes having too many &4Baubles&0 to pick from can be a real problem, as inventory space is limited. A better way would be to store all of these in a &1Bauble Case&0, a handy container for any &4Baubles&0.
The case's interface allows for quick switching of the current equipped baubles. The case can also store &4Mana&0 containing items like a &1Mana Tablet&0. +botania.page.baubleBox0=Somtimes having too many &4Baubles&0 to pick from can be a real problem, as inventory space is limited. A better way would be to store all of these in a &1Bauble Case&0, a handy container for any &4Baubles&0.
The case's interface allows for quick switching of the current equipped baubles. The case can also store &4Mana&0 containing items like a &1Mana Tablet&0. botania.page.baubleBox1=It could even be a boat! # - ALFHOMANCY @@ -4074,7 +4062,7 @@ botania.page.elfMessage6=&oLast but not least, do keep in mind that if you decid # -- THE RESOURCES OF ALFHEIM botania.entry.elfResources=The Resources of Alfheim botania.tagline.elfResources=What's beyond the gate -botania.page.elfResources0=&4Alfheim&0 contains a very varied amount of exquisite resources. Sadly though, most of them are extremely scarce and hard to come by due to competition between the various clans. The elves are interested in trading some materials, such as &1Dreamwood&0, &1Elementium&0, &1Pixie Dust&0 or &1Dragonstone&0, resources native to their lands. +botania.page.elfResources0=&4Alfheim&0 contains a very varied amount of exquisite resources. Sadly though, most of them are extremely scarce and hard to come by due to competition between the various clans. The elves are interested in trading some materials, such as &1Dreamwood&0, &1Elementium&0, &1Pixie Dust&0 or &1Dragonstone&0, resources native to their lands. botania.page.elfResources1=Trading for &1Dreamwood&0 botania.page.elfResources2=&1Dreamwood&0, similarly to &1Livingwood&0 can be turned into various &4Decorative Blocks&0, have a look through the &4Decorative Blocks&0 entry under &4Miscelaneous&0 for the recipes. botania.page.elfResources10=&1Dreamwood Twigs&0 @@ -4114,7 +4102,7 @@ botania.tagline.relicInfo=They're real after all botania.page.relicInfo0=It appears as if the speculated relics are, in fact, real. These items, materialized from rolls of the &1Dice of Fate&0 possess incredible powers, the fact that the dice is six-sided possibly indicates to the existance of six of these.
Relics seem to contain knowledge of who earned them, and thus giving someone else a relic that doesn't belong to them might be a poor idea. botania.page.relicInfo1=According to the original texts, the same relic may not be awarded to any one person twice, so keeping the item safe is a priority. Perhaps something like &1Resolute Ivy&0 would be a good investment.
Interestingly enough, earning a relic also imparts upon this lexicon the knowledge on how to use it. How useful. -# -- THE FRUIT OF GRISAIA +# -- THE FRUIT OF GRISAIA botania.entry.infiniteFruit=The Fruit of Grisaia botania.tagline.infiniteFruit=Endless supply of nourishment botania.page.infiniteFruit0=The relic known as &1The Fruit of Grisaia&0 is bestowed with the power to eternally nourish the brave soul who earned it. It can be eaten similarly to any other piece of food, but instead of utilizing matter to feed, it uses &4Mana&0 from one's inventory.
Hope you like the taste of apple though. @@ -4126,7 +4114,7 @@ botania.page.kingKey0=The &1Key of the King's Law&0 is a powerful relic with the # -- EYE OF THE FLUGEL botania.entry.flugelEye=Eye of the Flügel -botania.tagline.flugelEye=The true power of a Flügel +botania.tagline.flugelEye=The true power of a Flügel botania.page.flugelEye0=Unlike the fabricated &1Flügel Tiara&0, the &1Eye of the Flügel&0 contains primordial &4Flügel&0 magic. Magic strong enough, in fact, to harness the &4Flügels&0' ability to recall themselves to a place they've visited.
Shift-right clicking with this eye somewhere will bind it to that position. After that, holding right click for a while will recall the user back to the aforementioned location. botania.page.flugelEye1=This teleportation ability not only costs &4Mana&0 but can not be executed across two different dimensions, sadly enough.
Aside from that, simply being in possession of an &1Eye of the Flügel&0 allows a wearer of the &1Flügel Tiara&0 to fly past the normal limits, at a higher cost, of course. @@ -4140,13 +4128,13 @@ botania.entry.lokiRing=Ring of Loki botania.tagline.lokiRing=The power to be here, and there, and over there too botania.page.lokiRing0=One of the three mythic rings of the &4Aesir&0, the &1Ring of Loki&0 allows for the wearer to tap upon the Trickster God &4Loki&0 to effectively be in multiple places at once.
The setup for this ability requires, first and foremost, an empty hand. Shift-right clicking on a block with said empty hand while having the &1Ring of Loki&0 equipped begins the procedure. botania.page.lokiRing1=Once the source block is selected, shift-right clicking on other blocks in the world will add them to the relative positions affected by this power. In order to finish the procedure, one would shift-right click the original block.
Shift-right clicking on one of the blocks that has been selected will remove it. To reset a completed selection, shift-right click the ground twice. -botania.page.lokiRing2=After the selection is complete, when looking around, one will notice multiple boxes in relative positions to the selected block. When a block is placed while sneaking, the placing action is mimicked on all of those positions, allowing for one to place a large amount of blocks at once. This ability also extends to destruction using the &1Terra Shatterer&0 or &1Terra Truncator&0. +botania.page.lokiRing2=After the selection is complete, when looking around, one will notice multiple boxes in relative positions to the selected block. When a block is placed while sneaking, the placing action is mimicked on all of those positions, allowing for one to place a large amount of blocks at once. This ability also extends to destruction using the &1Terra Shatterer&0 or &1Terra Truncator&0. botania.page.lokiRing3=Such a power does not come for free of course. Utilizing this ability costs &4Mana&0 from the user's inventory per each block placed. It's to note that the more blocks that are selected, the more expensive &4each placed block&0 becomes.
Lastly, this ring can be combined with the other two rings of the &4Aesir&0 in a crafting table to create the ultimate ring. # -- RING OF ODIN botania.entry.odinRing=Ring of Odin botania.tagline.odinRing=Godlike resistance -botania.page.odinRing0=One of the three mythic rings of the &4Aesir&0, the &1Ring of Odin&0 grants its wearer the vitality and resistance of the Elder God &4Odin&0. As well as the addition of ten extra hearts of health, the &1Ring of Odin&0 protects the wearer from various kinds of elemental damage such as drowning, suffocation, fire or starvation. The ring can also be combined with the other two rings of the &4Aesir&0 in a crafting table to create the ultimate ring. +botania.page.odinRing0=One of the three mythic rings of the &4Aesir&0, the &1Ring of Odin&0 grants its wearer the vitality and resistance of the Elder God &4Odin&0. As well as the addition of ten extra hearts of health, the &1Ring of Odin&0 protects the wearer from various kinds of elemental damage such as drowning, suffocation, fire or starvation. The ring can also be combined with the other two rings of the &4Aesir&0 in a crafting table to create the ultimate ring. # -- ELVEN LORE - THE SHATTERING botania.entry.elvenLore=Elven Lore - The Shattering @@ -4186,7 +4174,7 @@ botania.page.decorativeBlocks6=Mossing the planks botania.page.decorativeBlocks7=Framing the planks botania.page.decorativeBlocks8=Pattern planks botania.page.decorativeBlocks9=Glimmering livingwood -botania.page.decorativeBlocks10=Carrying on, by combining &1Nether Quartz&0 with all sorts of other substances, it's possible to create a wide array of other decorative &1Quartz&0 blocks.
As expected, all these items can be crafted into all their decorative block counterparts just like regular &1Quartz&0 blocks are crafted. +botania.page.decorativeBlocks10=Carrying on, by combining &1Nether Quartz&0 with all sorts of other substances, it's possible to create a wide array of other decorative &1Quartz&0 blocks.
As expected, all these items can be crafted into all their decorative block counterparts just like regular &1Quartz&0 blocks are crafted. botania.page.decorativeBlocks11=Smokey Quartz botania.page.decorativeBlocks12=Mana Quartz botania.page.decorativeBlocks13=Blaze Quartz @@ -4234,7 +4222,7 @@ botania.page.shedding0=The living and unliving beings that inhabit our lands don botania.entry.tinyPotato=Tiny Potato botania.tagline.tinyPotato=A potato friend for all of us botania.page.tinyPotato0=It's a tiny potato, it believes in you, you can do the thing.
No really, that's it, by tossing a &1Potato&0 in a &1Mana Pool&0, the potato gains a little lively essence and happy feeling. It's a lively one, giving it a right click will make it even more so!
It can also be named in an &1Anvil&0. -botania.page.tinyPotato1=Put it on Kickstarter, it'll work +botania.page.tinyPotato1=Put it on Kickstarter, it'll work # -- HEAD CREATION botania.entry.headCreating=Head Creation @@ -4315,7 +4303,7 @@ botania.page.pavement1=These aren't slippery botania.entry.tcIntegration=Thaumcraft Integration botania.tagline.tcIntegration=Tidbits of integration with Thaumcraft botania.page.tcIntegration0=Often enough, the paths of &4Botany&0 and &4Thaumaturgy&0 cross together. Mixing some of the artifacts mentioned in this book as well as any from the school of &5Thaumcraft&0 can allow for combinations of these to form. -botania.page.tcIntegration1=First and foremost, combining any of the &1Mana Metal&0 helms with a set of &1Goggles of Revealing&0 allows for a combination of both.
The protection and regenerability of the armor works alongside the Goggles' abilities, but the &4Vis&0 discount is lost. +botania.page.tcIntegration1=First and foremost, combining any of the &1Mana Metal&0 helms with a set of &1Goggles of Revealing&0 allows for a combination of both.
The protection and regenerability of the armor works alongside the Goggles' abilities, but the &4Vis&0 discount is lost. botania.page.tcIntegration2=Helmets of Revealing (works with any Botania helm) botania.page.tcIntegration3=Carrying on, &4Mana&0 can also serve as an interesting type of Ink. Infusing a set of black &1Scribing Tools&0 with &4Mana&0 from a &1Mana Pool&0 allows for them to use said &4Mana&0 as their source of color.
Refilling these tools works similarly to a &1Mana Tablet&0, done by tossing it on top of the pool. It's to note that the tools do not come pre-filled. botania.page.tcIntegration4=Making the &1Botanurgist's Inkwell @@ -4338,3 +4326,4 @@ botania.page.banners1=Showcase of the various banners botania.entry.preventingDecay=Preventing Decay botania.tagline.preventingDecay=Preventing passive flowers' decay botania.page.preventingDecay0=no + diff --git a/src/main/resources/assets/botania/textures/items/excaliber.png b/src/main/resources/assets/botania/textures/items/excaliber.png new file mode 100644 index 0000000000000000000000000000000000000000..70e117cea56d825a033fd3737c768bdc0a9fc187 GIT binary patch literal 16396 zcmeI3Ply{;9LHawh^`b09u!47q!kr9nLnBQnQ4+zH*I%|smpe2w_fba%**c3WF}^2 zo9v#7J&8BHhzNoQ4On$%L z`~H6KecqqUCGV`AJ$+#5*(HR~fz_49I(;65`|-!<=b_(6m_DB9ty~Ncdh#i__n{9z zdIq6mZFgfc+-$yT*?u>V9lu5L!)}kZMyPsx*u(Z^5=t$y<$AT;-EXevB-g3sE)<(; zv$ssP-IcvQIk$Iq!`{1Wn@;X{eW^OMXo4;Yu{7*-aimuDFg&gd9As)(JaCn>~&eI@)-FJJT z>w6O9#Vvm)tmSf0D7hx%>h_XCUNB)tDJnzUQ?$IQED||(qUr7QJ5kphTOl3NC0-a% zowiWd+xA00*!D9@CgIG&bWWPhr1rx8cDoBp2jR&p6u|`PLS?YA+at<43H+VDO-^2+ zLpi)?^r73HPR>jwh-CJi4BZSFM8>jcDU4^RO2=v~_X!UD{)X>&>f=?m79*6Fm!+33 zxSrz=f|sib+j=_H(?q0!LsF+pu_&v$tf?EiZWSw*p}mpPj~g-arti4z-ITl_>%|SN zV(Erus1tdr5i6$~#=#-JSAul2R0_wo+J3)_!@AqWTSV!3TUBN1Otnl_khSc0{66gw zsTZosB6ms^ttxBP3qtJKWVKPJj=bwS7Qv2QF5s5zICfc99m9}KgMJiBbRU*A8&}kJ zgs$04%jZ%ze0v9W#w4{vQ`@#$DYaEwE@NDh%eqmPO}k~vxMfsGxn026FyhoH`CRJP z`Yt`ya3|FUdjFs$7NnUgwc-YJE$*h)C|#-1xpj`bHS3K79XC3Edbl4D*j=?;yuFeG zD>;uq6YWw9+i-H#ZCL!osVXzxX}1#PMCQ&<;Qdh^=TFJAYYeuDm$8G!S)vBn`oM38 z1KcMkw&-%W$Ce%^oK>)ys|uX&9rqu=AK)v055D2Fonld=+r_3QPOD{LxuRAIGS<^uz@jHC-SRj(*|e%M=bNsSar;d;DLXq+`?9Xmi@rb7Ya&gDS?NW-G#zH8Q{{Qj z4eR=(8sko>;N4~XV|$LiW|MlUSS%E)3hQPSYwnPAHXAPeRSe*)*Gdx&8(1j3m?caF zCc^PlrCx}mlXC2(uiNxZUrAo|=MK^27v@oZnU3gDW@U1TA`B3|DRA-mFj0Yv0m3&0 zE#plCB1ug~% z-xRp`e3+=f#Q@=(0vDeT6BW1^AbeBc;`3pm0v7{>Zwg#|K1@{LVu0{Xfs4qj7yhC3(?^r>%bQfFLAU)Chcw{BaS8?E{uyjlNbc+${YJfz^{|8(+L~>FvJ&IMhoK literal 0 HcmV?d00001 From 4c2dba9283c3381a04fc9a1f3111531bdc885d81 Mon Sep 17 00:00:00 2001 From: thenextelement Date: Thu, 27 Nov 2025 01:32:55 -0700 Subject: [PATCH 4/8] Update Link to Witchery Wiki- tested and works --- .../common/core/BotaniaCreativeTab.java | 1 + .../vazkii/botania/common/item/ModItems.java | 3 + .../resources/assets/botania/lang/en_US.lang | 139 ++++++++---------- .../botania/textures/items/excaliber.png | Bin 0 -> 16396 bytes 4 files changed, 68 insertions(+), 75 deletions(-) create mode 100644 src/main/resources/assets/botania/textures/items/excaliber.png diff --git a/src/main/java/vazkii/botania/common/core/BotaniaCreativeTab.java b/src/main/java/vazkii/botania/common/core/BotaniaCreativeTab.java index 2787ae62c7..c7e1c628cc 100644 --- a/src/main/java/vazkii/botania/common/core/BotaniaCreativeTab.java +++ b/src/main/java/vazkii/botania/common/core/BotaniaCreativeTab.java @@ -221,6 +221,7 @@ public void displayAllReleventItems(List list) { addItem(ModItems.odinRing); addItem(ModItems.lokiRing); addItem(ModItems.aesirRing); + addItem(ModItems.excaliber); } addItem(ModItems.baubleBox); diff --git a/src/main/java/vazkii/botania/common/item/ModItems.java b/src/main/java/vazkii/botania/common/item/ModItems.java index 43b8f5f533..266fdd1834 100644 --- a/src/main/java/vazkii/botania/common/item/ModItems.java +++ b/src/main/java/vazkii/botania/common/item/ModItems.java @@ -99,6 +99,7 @@ import vazkii.botania.common.item.record.ItemRecordGaia2; import vazkii.botania.common.item.relic.ItemAesirRing; import vazkii.botania.common.item.relic.ItemDice; +import vazkii.botania.common.item.relic.ItemExcaliber; import vazkii.botania.common.item.relic.ItemFlugelEye; import vazkii.botania.common.item.relic.ItemInfiniteFruit; import vazkii.botania.common.item.relic.ItemKingKey; @@ -239,6 +240,7 @@ public final class ModItems { public static Item poolMinecart; public static Item pinkinator; public static Item infiniteFruit; + public static Item excaliber; public static Item kingKey; public static Item flugelEye; public static Item thorRing; @@ -389,6 +391,7 @@ public static void init() { poolMinecart = new ItemPoolMinecart(); pinkinator = new ItemPinkinator(); infiniteFruit = new ItemInfiniteFruit(); + excaliber = new ItemExcaliber(); kingKey = new ItemKingKey(); flugelEye = new ItemFlugelEye(); thorRing = new ItemThorRing(); diff --git a/src/main/resources/assets/botania/lang/en_US.lang b/src/main/resources/assets/botania/lang/en_US.lang index dc3bf4aa16..02a4b7cee0 100644 --- a/src/main/resources/assets/botania/lang/en_US.lang +++ b/src/main/resources/assets/botania/lang/en_US.lang @@ -157,21 +157,9 @@ botaniamisc.santaweaveInfo=Manaweave, changed up for the &cs&fe&ca&fs&co&fn botaniamisc.enterToView=^ Press ENTER to view ^ botaniamisc.keyCategory=Botania -#LOKI -botaniamisc.toggleLoki=Ring of Loki Switch Key -botaniamisc.ringOfLokiClear=Clear Ring of Loki Selection -botaniamisc.lokiOn=On -botaniamisc.lokiOff=Off -botaniamisc.breaking=Breaking -botaniamisc.lokiClear=Successfully cleared all selection -botaniamisc.lokiDescription=Builder's wand but §c§oC§6§oo§e§oo§a§ol§9§oe§5§or -botaniamisc.lokiDescription2=Can Place/Interact/Break with multiple blocks at once! -botaniamisc.lokiToggleDescription=Loki Switch Key to turn ring -botaniamisc.lokiBreakingDescription=Loki Switch Key + Shift to toggle breaking -botaniamisc.lokiCurrent=Current -botaniamisc.lokiState=Ring -botaniamisc.lokiMirror=Current mirror: -botaniamisc.insufficient_mana=Not enough mana! + + + # NEI INTEGRATION botania.nei.brewery=Botanical Brewery @@ -386,21 +374,21 @@ botania.versioning.flavour12=Botania updated. #hoennconfirmed botania.versioning.flavour13=You activated my Trap Card! I play Botania Update! botania.versioning.flavour14=Let's play a drinking game, have a drink every time Botania updates. *hic* botania.versioning.flavour15=Pay no attention to the Botania update behind the curtain. -botania.versioning.flavour16=You get an update! You get an update! EVERYONE GETS AN UPDATE! -botania.versioning.flavour17=Your build's unbalanced and your hair's a Kuriboh! Hey. Hoo. -botania.versioning.flavour18=WhY iS tHiS uPdAtE mEsSaGe CaSeD lIkE tHiS!? -botania.versioning.flavour19=By updating botania you must not accept the terms of service. -botania.versioning.flavour20=wow such botania so update much fix very content +botania.versioning.flavour16=You get an update! You get an update! EVERYONE GETS AN UPDATE! +botania.versioning.flavour17=Your build's unbalanced and your hair's a Kuriboh! Hey. Hoo. +botania.versioning.flavour18=WhY iS tHiS uPdAtE mEsSaGe CaSeD lIkE tHiS!? +botania.versioning.flavour19=By updating botania you must not accept the terms of service. +botania.versioning.flavour20=wow such botania so update much fix very content botania.versioning.flavour21=This botania update will self destruct in 3...2... -botania.versioning.flavour22=There were bugs in botania, but everything changed when the fire nation attacked. Or not. -botania.versioning.flavour23=Botania updated. On other news, Germany totally bribed the referee. -botania.versioning.flavour24=Hey! Hey player! Hey player! Hey player hey! Botania update! -botania.versioning.flavour25=And what do we say to the Botania update? -botania.versioning.flavour26=And I grabbed the Botania update AND I THREW IT ON THE GROUND! MAAAN! -botania.versioning.flavour27=If you can break wood with your fists, why don't you update Botania too? -botania.versioning.flavour28=BotaniaWow! You'll say wow every time! As seen on your chat log! -botania.versioning.flavour29=Just update it, update it, update it, update it! No one wants to be outdated! -botania.versioning.flavour30=Botania used Update! It's super effective! +botania.versioning.flavour22=There were bugs in botania, but everything changed when the fire nation attacked. Or not. +botania.versioning.flavour23=Botania updated. On other news, Germany totally bribed the referee. +botania.versioning.flavour24=Hey! Hey player! Hey player! Hey player hey! Botania update! +botania.versioning.flavour25=And what do we say to the Botania update? +botania.versioning.flavour26=And I grabbed the Botania update AND I THREW IT ON THE GROUND! MAAAN! +botania.versioning.flavour27=If you can break wood with your fists, why don't you update Botania too? +botania.versioning.flavour28=BotaniaWow! You'll say wow every time! As seen on your chat log! +botania.versioning.flavour29=Just update it, update it, update it, update it! No one wants to be outdated! +botania.versioning.flavour30=Botania used Update! It's super effective! botania.versioning.flavour31=A new Botania update is available, now 20% cooler. botania.versioning.flavour32=Congratulations! You're the 100,000th Botania player with an outdated version, click HERE for a free iPad! botania.versioning.flavour33=Before you update your Botania version, would you like to install the ask toolbar? @@ -609,7 +597,7 @@ botania.challenge.apothecaryRefill.desc=Create a system that automatically refil botania.challenge.treeFarm=Tree Farm botania.challenge.treeFarm.desc=Create an automated, self-sustaining tree farm. Bonus points if it can do multiple types of tree. botania.challenge.fullCropFarm=Full Crop Farm -botania.challenge.fullCropFarm.desc=Create a crop farm with all types of crops (wheat, carrot, potato, melon, pumpkin, cocoa and nether wart) that runs at full efficiency. Bonus points if the outputs are sorted. +botania.challenge.fullCropFarm.desc=Create a crop farm with all types of crops (wheat, carrot, potato, melon, pumpkin, cocoa and nether wart) that runs at full efficiency. Bonus points if the outputs are sorted. botania.challenge.animalFarm=Animal Farm botania.challenge.animalFarm.desc=Create an automated animal farm with all farmable animal types. Bonus points if the food doesn't need to be put in manually. botania.challenge.boneMealFarm=Bone Meal-type Farm @@ -622,7 +610,7 @@ botania.challenge.mobTower.desc=Create a tower style mob farm. Mobs must be sort botania.challenge.entropinnyumSetup=Entropinnyum Setup botania.challenge.entropinnyumSetup.desc=Create a system that automatically crafts TNT and safely feeds it to an Entropinnyum flower, creating mana. Bonus points if the sand and gunpowder required for the TNT don't need to be put in manually. botania.challenge.spectrolusSetup=Spectrolus Setup -botania.challenge.spectrolusSetup.desc=Create a system that feeds a Spectrolus, generating mana. Aside from raw mana, no items may be input from outside the system. Bonus points if it operates at 100% efficiency, never wasting any wool. +botania.challenge.spectrolusSetup.desc=Create a system that feeds a Spectrolus, generating mana. Aside from raw mana, no items may be input from outside the system. Bonus points if it operates at 100% efficiency, never wasting any wool. botania.challenge.potionBrewer=Automated Brewing botania.challenge.potionBrewer.desc=Create a system that can make all types of brews automatically on demand. Bonus points if it keeps a set of incense always ignited in the player's base. @@ -1619,7 +1607,7 @@ item.botania:cosmetic16.name=Four-Leafed Clover item.botania:cosmetic17.name=Clock Eye item.botania:cosmetic18.name=Unicorn Horn item.botania:cosmetic19.name=Devil Horns -item.botania:cosmetic20.name=Hyper Plus +item.botania:cosmetic20.name=Hyper Plus item.botania:cosmetic21.name=Botanist Emblem item.botania:cosmetic22.name=Ancient Mask item.botania:cosmetic23.name=Eerie Mask @@ -2448,7 +2436,7 @@ botania.page.welcome0=&oWelcome to Botania! I congratulate you on the fine choic botania.page.welcome1=&oDespite its looks, Botania is in essence a "tech mod", by definition of requiring you to put to use ingenuity, thought and redstone to create and progress. It's good to keep that in mind.
&oOf course you'll also be rewarded with cool toys, blocks and equipment, if you're worried. botania.page.welcome2=&oFor all intents and purposes, Botania is a mod that anybody who likes to play the game with the primary purpose of building cool things will likely enjoy. It is designed to be fully playable standalone, but is also playable with other mods.
&oExcluding a small few examples, everything in the mod is fully automatable using minecraft and its own features exclusively. botania.page.welcome3=&oIf you happen to find yourself lost, try checking out the mod's Achievements or Challenges, both of which can be found on the left hand side of this book's main page.
&oThe book is laid out in a friendly way with a good amount of handy features, so before you start jumping in and playing, take a bit of time to familiarize yourself with what the various tidbits around the place do. -botania.page.welcome4=&oAfter this you'll be taken to a page where you can optionally start a tutorial that will teach you the basics of the mod in around ten minutes, give or take.
&oHowever, it teaches you only the very basics. So, after you got a good foothold on those concepts, further research is a good idea. +botania.page.welcome4=&oAfter this you'll be taken to a page where you can optionally start a tutorial that will teach you the basics of the mod in around ten minutes, give or take.
&oHowever, it teaches you only the very basics. So, after you got a good foothold on those concepts, further research is a good idea. botania.page.welcome5=&oIf you're unsure as to what you want to learn about, hold SHIFT while browsing through the various categories to get a quick idea of what each thing is.
&oThe "Lexicon Index" category can be very helpful for searching, as it contains every entry in the book in one place. botania.page.welcome6=&oAnd that's it for this introduction! You can move on to the tutorial now. I hope you enjoy playing with Botania as much as I enjoyed making it!
&o~Vazkii, the mod author

&oCarry on by pressing the "Back" button on the bottom. Your right mouse button or backspace key will have the same effect. @@ -2461,7 +2449,7 @@ botania.page.tutorial0=While one could just go through the various entries in th botania.entry.gardenOfGlass=Garden of Glass botania.tagline.gardenOfGlass=Your new challenge botania.page.gardenOfGlass0=In the &2Garden of Glass&0 nobody can hear you scream.
You're alone in space.
How exciting. -botania.page.gardenOfGlass1=The &2Garden of Glass&0 is a skyblock mode for Botania. It's advised only for players who are somewhat experienced in the mod, but if you're new to it, you're more than welcome to try it out anyway.
Most of the mod functions the same, but some tweaks have been put in place to allow for the skyblock style game. They'll be listed in the following pages. +botania.page.gardenOfGlass1=The &2Garden of Glass&0 is a skyblock mode for Botania. It's advised only for players who are somewhat experienced in the mod, but if you're new to it, you're more than welcome to try it out anyway.
Most of the mod functions the same, but some tweaks have been put in place to allow for the skyblock style game. They'll be listed in the following pages. botania.page.gardenOfGlass2=After spawning in the &1Garden of Glass&0 you'll find &1Living Roots&0 below the landing area. These can be used to create &1Saplings&0 and &1Floral Fertilizer&0. They also work as &1Bone Meal&0. Shift-right clicking a &1Dirt&0 or &1Grass&0 block with an empty hand will have you rummage through the soil, finding some &1Pebbles&0, that can be converted into &1Cobblestone&0. Filling a &1Petal Apothecary&0 can be done with a &1Bowl&0 by clicking on a water block. botania.page.gardenOfGlass3=Creating &1Saplings&0 botania.page.gardenOfGlass4=Creating &1Floral Fertilizer&0 @@ -2513,7 +2501,7 @@ botania.page.apothecary5=Crafting the &1Petal Apothecary&0. # -- PURE DAISY botania.entry.pureDaisy=Pure Daisy botania.tagline.pureDaisy=Creator of Livingwood and Livingrock, among others -botania.page.pureDaisy0=The &1Pure Daisy&0 is not only the most basic, but also the most important flower a botanist can have.
This flower will purify any adjacent &1Wood&0 and &1Stone&0 blocks, as seen on the next page, into their purified counterparts, &1Livingwood&0 and &1Livingrock&0, which can be used for crafting. +botania.page.pureDaisy0=The &1Pure Daisy&0 is not only the most basic, but also the most important flower a botanist can have.
This flower will purify any adjacent &1Wood&0 and &1Stone&0 blocks, as seen on the next page, into their purified counterparts, &1Livingwood&0 and &1Livingrock&0, which can be used for crafting. botania.page.pureDaisy1=Just give it &4a minute&0 or so... botania.page.pureDaisy2=&1Livingwood&0 can be turned into twigs botania.page.pureDaisy4=A few other blocks can also be purified by placing them around the flower. While not as unique and essential as the living blocks, perhaps this might come in handy. This includes &1Netherrack&0 into &1Cobblestone&0, &1Soul Sand&0 into &1Sand&0, &1Ice&0 into &1Packed Ice&0 or &1Water&0 to &1Snow&0. @@ -2566,13 +2554,13 @@ botania.page.terrasteel4=T.A. Plate # -- BLACK LOTUS botania.entry.blackLotus=Black Lotus botania.tagline.blackLotus=Rare loot that can make mana -botania.page.blackLotus0=An elusive flower by the name of &1Black Lotus&0 is known to exist, however, it does not grow or reproduce. Where they can be found or come from is not known.
It is known, however, that it contains a strong amount of concentrated &4Mana&0, that can be released by putting it in contact with a &1Mana Pool&0 that already has some in it. Just tossing it would do. +botania.page.blackLotus0=An elusive flower by the name of &1Black Lotus&0 is known to exist, however, it does not grow or reproduce. Where they can be found or come from is not known.
It is known, however, that it contains a strong amount of concentrated &4Mana&0, that can be released by putting it in contact with a &1Mana Pool&0 that already has some in it. Just tossing it would do. # -- FLOWER POUCH botania.entry.flowerBag=Flower Pouch botania.tagline.flowerBag=A trusty pouch to hold your floral goodness botania.page.flowerBag0=The laws of physics regarding one's &4Inventory&0 are somewhat skewed in this world. Thanks to that, carrying an array of different colors of flowers turns out to be a major hassle. Luckily, a &1Flower Pouch&0 takes care of all those issues. It can store up to one stack of each color of &1Mystical Flower&0, not only that but it'll passively catch any that enter the holder's inventory. -botania.page.flowerBag2=Items won't be added automatically to the pouch if that's the item being held.
Furthermore, shift-right clicking the pouch into a &1Chest&0 or other inventory will store the flowers it contains into said inventory. +botania.page.flowerBag2=Items won't be added automatically to the pouch if that's the item being held.
Furthermore, shift-right clicking the pouch into a &1Chest&0 or other inventory will store the flowers it contains into said inventory. botania.page.flowerBag1=Pull a copter out of it (any colors work) # -- MUSHROOM POUCH @@ -2592,14 +2580,14 @@ botania.entry.mIntro=An Introduction to Mana botania.tagline.mIntro=Start off with Mana botania.page.mIntro0=&4Mana&0 is an ethereal substance. In layman's terms, it is a form of &4mystical energy&0. Its sensorial existence is inconstant, and its color depends on the environment its put in.
Mastering &4Mana&0 is one of the most important skills a botanist needs to master. botania.page.mIntro1=In order to create &4Mana&0, one would require a set of &4Generating Flowers&0 (read the respective section). This &4Mana&0 can be dispersed by utilizing &1Mana Spreaders&0 and stored in &1Mana Pools&0. &4Mana&0 can be used for a myriad of different things. For starters, it can be used for &4Functional Flowers&0 (read the respective section). -botania.page.mIntro2=To get started with mastering the art of &4Mana&0, one would start by learning how to use &1Dayblooms&0, &1Mana Spreaders&0 and &1Mana Pools&0.
These form a basic infrastructure for mana, which can be used for all sorts of purposes. Have a read at the &4Functional Flora&0 and &4Natural Apparatus&0 sections of this Lexicon. +botania.page.mIntro2=To get started with mastering the art of &4Mana&0, one would start by learning how to use &1Dayblooms&0, &1Mana Spreaders&0 and &1Mana Pools&0.
These form a basic infrastructure for mana, which can be used for all sorts of purposes. Have a read at the &4Functional Flora&0 and &4Natural Apparatus&0 sections of this Lexicon. # -- MANA SPREADER botania.entry.spreader=Mana Spreader botania.tagline.spreader=Your essential Mana transporter botania.page.spreader0=The &1Mana Spreader&0 is the most important component in manipulating &4Mana&0.
This is the block that allows &4Mana&0 to travel from point A to point B. When this block is placed on the ground, it'll face one of 6 basic directions. By holding shift-right on it with a &1Wand of the Forest&0, one can orient it to the opposite of where it was clicked. It can be pointed to other blocks with a wand in &4Bind Mode&0. botania.page.spreader1=Holding a &1Wand of the Forest&0 -botania.page.spreader2=The &1Mana Spreader&0 has a small internal buffer of &4Mana&0, which will get filled by nearby &4Generating Flowers&0. This buffer can be viewed by looking at the &1Spreader&0 with a &1Wand of the Forest&0, as demonstrated in the last page.
Note that the block needs to be right clicked with a wand to get accurate and adequate values. +botania.page.spreader2=The &1Mana Spreader&0 has a small internal buffer of &4Mana&0, which will get filled by nearby &4Generating Flowers&0. This buffer can be viewed by looking at the &1Spreader&0 with a &1Wand of the Forest&0, as demonstrated in the last page.
Note that the block needs to be right clicked with a wand to get accurate and adequate values. botania.page.spreader3=Holding a &1Wand of the Forest&0 displays a beam which shows where the spreader is pointing at. Hovering over it shows the target. The sparkle that's always shown is the point when &4Mana loss&0 starts to happen.
If the target of the spreader is a block that can contain &4Mana&0, and isn't full, the spreader will fire a &4Mana Burst&0, which will travel to the target, and pass the &4Mana&0 along to it. botania.page.spreader4=The spreader only fires one burst at once, it'll only fire another one when the last one hits the target.
Furthermore, the bursts also start suffering &4mana loss&0 after a small amount of time. This can be seen in the beam, which becomes a lot thinner when this happens. There is also a small amount of &4mana loss&0 when a beam enters a spreader. botania.page.spreader11=Applying a &4Redstone Signal&0 to the spreader will have it cease to function. Case better control is required, a &1Pulse Mana Spreader&0 is recommended, as it can fire bursts without a target block and works on redstone pulses. @@ -2646,7 +2634,7 @@ botania.page.sparkUpgrades5=Crafting the Augments # -- MANA DISTRIBUTOR botania.entry.distributor=Mana Distributor botania.tagline.distributor=Equivalently distribute Mana between various pools -botania.page.distributor0=Any botanist will eventually reach a point where a single &1Mana Pool&0 setup is not enough.
The &1Mana Distributor&0 will fix all those issues. By placing it adjacently to a few &1Mana Pools&0 on its sides, when it receives &4Mana&0 through &4Mana Bursts&0 it'll equally spread it to the adjacent pools. +botania.page.distributor0=Any botanist will eventually reach a point where a single &1Mana Pool&0 setup is not enough.
The &1Mana Distributor&0 will fix all those issues. By placing it adjacently to a few &1Mana Pools&0 on its sides, when it receives &4Mana&0 through &4Mana Bursts&0 it'll equally spread it to the adjacent pools. botania.page.distributor1=Crafting the distributor # -- MANA VOID @@ -2677,13 +2665,13 @@ botania.page.lens9=Potency Lens botania.page.lens10=The &1Resistance Lens&0 will significantly increase the amount of time the &4Mana Burst&0 can go without starting to lose &4Mana&0, but it makes it a a bit slower. botania.page.lens11=Resistance Lens botania.page.lens12=The &1Efficiency Lens&0 will decrease the amount of time it takes for the &4Mana Burst&0 to start losing its &4Mana&0, but when that happens, it does so at a lot slower rate. -botania.page.lens13=Efficiency Lens +botania.page.lens13=Efficiency Lens botania.page.lens14=The &1Bounce Lens&0 will allow the &4Mana Burst&0 to bounce off walls, rather than dissipating on a collision. botania.page.lens15=Bounce Lens botania.page.lens16=The &1Gravity Lens&0 makes the &4Mana Burst&0 be attracted by the world's gravitational pull, thus moving in an arc. As compensation, it also slightly increases the time before &4Mana&0 loss starts to happen. -botania.page.lens17=Gravity Lens +botania.page.lens17=Gravity Lens botania.page.lens18=The &1Bore Lens&0 charges the &4Mana Burst&0 with the ability to break any blocks it comes into contact with, draining its own mana to do so. -botania.page.lens19=Bore Lens +botania.page.lens19=Bore Lens botania.page.lens20=The &1Damaging Lens&0 charges the &4Mana Burst&0 with the power to damage any living beings it comes across, draining its own mana to do so. botania.page.lens21=Damaging Lens botania.page.lens22=The &1Phantom Lens&0 is an interesting one. By utilizing the &1Abstruse Platform&0 and its' properties, it's possible to make a lens that'll allow the &4Mana Burst&0 to pass through blocks. In doing so, the time it can stay without losing mana is decreased. @@ -2705,7 +2693,7 @@ botania.page.lens37=Flash Lens # -- MANA TABLET botania.entry.manaTablet=Mana Tablet -botania.tagline.manaTablet=Portable Mana Storage +botania.tagline.manaTablet=Portable Mana Storage botania.page.manaTablet0=While using &1Mana Spreaders&0 to transport &4Mana&0 around is all well and good, there is also a way of doing it in a different manner.
The &1Mana Tablet&0 is a portable object which can carry &4Mana&0 on itself.
Not only that, but other items can also pull from it as they need it for their uses, making this an essential tool. botania.page.manaTablet1=Tossing one of these on top of a &1Mana Pool&0 will allow for transport of &4Mana&0 between one and another.
Shift-right clicking the &1Mana Pool&0 with a &1Wand of the Forest&0 will change in which way the &4Mana&0 flows.
Lastly, unlike normal items, these will never despawn when dropped on the floor. botania.page.manaTablet2=Don't put it on your pocket, it might bend @@ -2777,7 +2765,7 @@ botania.page.poolCart4=This is not a pipe # -- SPARK TINKERER botania.entry.sparkChanger=Spark Tinkerer botania.tagline.sparkChanger=Control augments on sparks with redstone -botania.page.sparkChanger0=The &1Spark Tinkerer&0 is a block with the ability to modify the &1Augments&0 placed on &1Sparks&0. Placing it adjacent to &1Mana Pools&0 or other blocks with a &1Spark&0 attached will connect it to those blocks.
Right clicking the &1Spark Tinkerer&0 with a &1Spark Augment&0 will put the augment in the block, it can be removed by right clicking again. +botania.page.sparkChanger0=The &1Spark Tinkerer&0 is a block with the ability to modify the &1Augments&0 placed on &1Sparks&0. Placing it adjacent to &1Mana Pools&0 or other blocks with a &1Spark&0 attached will connect it to those blocks.
Right clicking the &1Spark Tinkerer&0 with a &1Spark Augment&0 will put the augment in the block, it can be removed by right clicking again. botania.page.sparkChanger1=When the &1Spark Tinkerer&0 gets a redstone signal it'll randomly pick a &1Spark&0, between all of those it's connected to that have a different augment from the one stored in it, and swap the augment in that &1Spark&0 with the one stored in the block.
The stored augment can be withdrawn or deposited with &1Hoppers&0 or other automation methods. &1Comparators&0 can read what augment is stored. botania.page.sparkChanger2=Hahahaha, water fire... @@ -2826,7 +2814,7 @@ botania.page.bellethorne1=&oEvery rose has its thorn&r. # -- DREADTHORNE botania.entry.dreadthorne=Dreadthorne botania.tagline.dreadthorne=Damages adult animals -botania.page.dreadthorne0=The &1Dreadthorne&0 is a slightly more specific counterpart to the &1Bellethrorne&0, by which, instead of all mobs around, it'll only hurt &4adult&0 animals and none else. +botania.page.dreadthorne0=The &1Dreadthorne&0 is a slightly more specific counterpart to the &1Bellethrorne&0, by which, instead of all mobs around, it'll only hurt &4adult&0 animals and none else. botania.page.dreadthorne1=&oNo Mr.Bond, I expect you to die&r. # -- HEISEI DREAM @@ -2882,7 +2870,7 @@ botania.page.hopperhock2=&oI guess I'll be talking my loli and leaving&r. # -- TANGLEBERRIE botania.entry.tangleberrie=Tangleberrie botania.tagline.tangleberrie=Keeps mobs in -botania.page.tangleberrie0=The &1Tangleberrie&0 is a flower that, at the cost of a small amount of &4Mana&0, will keep any nearby animals or monsters within a circle ward, preventing them from getting out. +botania.page.tangleberrie0=The &1Tangleberrie&0 is a flower that, at the cost of a small amount of &4Mana&0, will keep any nearby animals or monsters within a circle ward, preventing them from getting out. botania.page.tangleberrie1=&oTangled, brave and frozen&r. # -- JIYUULIA @@ -2945,7 +2933,7 @@ botania.page.spectranthemum3=&o(n)spooky(n+2)me&r. # -- MEDUMONE botania.entry.medumone=Medumone botania.tagline.medumone=Freezes mobs -botania.page.medumone0=The &1Medumone&0 is a flower with the ability to completely halt a creature's movement.
While it receives &4Mana&0, it'll halt any nearby entities in their tracks with a powerful slowness effect, provided they are not players. +botania.page.medumone0=The &1Medumone&0 is a flower with the ability to completely halt a creature's movement.
While it receives &4Mana&0, it'll halt any nearby entities in their tracks with a powerful slowness effect, provided they are not players. botania.page.medumone1=&oThose credits look fake&r... # -- MARIMORPHOSIS @@ -2980,12 +2968,12 @@ botania.page.gIntro2=It is important to keep in mind that these flowers memorize botania.entry.passiveGen=Caveats of Passive Generation botania.tagline.passiveGen=It's free or it's good, pick one botania.page.passiveGen0=The spectrum of &4Generating Flowers&0 can be arranged in two groups, &4Passive&0 and &4Active&0.
&4Passive Flowers&0 are those that simply create &4Mana&0 using a completely free resource, such as the sun, or water. &4Active Flowers&0 require some sort of resource to transform into &4Mana&0, be it renewable or not. -botania.page.passiveGen1=At the start of a botanist's career, only very basic and rudimentary &4Passive Flowers&0 are available, such as the &1Daybloom&0 or &1Nightshade&0.
These flowers are required to advance on to more potent and effective &4Active Flowers&0, but they should not be relied upon aside from being a stepping stone, as all &4Passive Flowers&0 will decay into a &1Dead Bush&0 after three days of work. +botania.page.passiveGen1=At the start of a botanist's career, only very basic and rudimentary &4Passive Flowers&0 are available, such as the &1Daybloom&0 or &1Nightshade&0.
These flowers are required to advance on to more potent and effective &4Active Flowers&0, but they should not be relied upon aside from being a stepping stone, as all &4Passive Flowers&0 will decay into a &1Dead Bush&0 after three days of work. # -- PRIMUS LOCI botania.entry.primusLoci=Primus Loci botania.tagline.primusLoci=Rare flower patches with non-decaying flowers -botania.page.primusLoci0=Among one's travels, one might come across an unusual flower patch, with flowers resembling &1Dayblooms&0 and &1Nightshades&0.
This is called a &4Primus Locus&0, a rare occurence in the world, where two special generating flora, the &1Daybloom Primus&0 and &1Nightshade Primus&0 can appear. +botania.page.primusLoci0=Among one's travels, one might come across an unusual flower patch, with flowers resembling &1Dayblooms&0 and &1Nightshades&0.
This is called a &4Primus Locus&0, a rare occurence in the world, where two special generating flora, the &1Daybloom Primus&0 and &1Nightshade Primus&0 can appear. botania.page.primusLoci1=These flowers act as normal &1Dayblooms&0 or &1Nightshades&0, however, they produce mana a little bit faster and do not decay, making them a great find for a fledgling botanist to set up camp around.
Primus flowers are incredibly fickle, and as such, attempting to move them off their natural resting place will kill them. # -- DAYBLOOM @@ -3053,7 +3041,7 @@ botania.page.kekimurus1=&otop kek&r botania.entry.gourmaryllis=Gourmaryllis botania.tagline.gourmaryllis=Mana from food botania.page.gourmaryllis0=The &1Gourmaryllis&0 is one hungry flower. It'll eat up any food in a small area around it, and turn it into &4Mana&0.
There's a catch, though, it can only digest a single food at any given time, the &4Mana&0 is created when it's done. Any other food it finds, it'll also devour, but not create any mana from it. -botania.page.gourmaryllis1=The amount of time it takes to digest a delicacy depends on its nutritional value, in layman's terms, the amount of food points it restores.
So, a &1Steak&0 will take four seconds to digest, a &1Carrot&0 will take two, a loaf of &1Bread&0 will take two and a half, so on. +botania.page.gourmaryllis1=The amount of time it takes to digest a delicacy depends on its nutritional value, in layman's terms, the amount of food points it restores.
So, a &1Steak&0 will take four seconds to digest, a &1Carrot&0 will take two, a loaf of &1Bread&0 will take two and a half, so on. botania.page.gourmaryllis2=The amount of &4Mana&0 created also makes use of this value, but in a way where the more nutritious the food is, the more efficient it is. For example, a single &1Steak&0 will produce more &1Mana&0 than two &1Carrots&0, both absolutely and per second. botania.page.gourmaryllis3=&oA hot pot for our new residents&r. @@ -3061,7 +3049,7 @@ botania.page.gourmaryllis3=&oA hot pot for our new residents&r. botania.entry.narslimmus=Narslimmus botania.tagline.narslimmus=Mana from slime botania.page.narslimmus0=There's some sort of unbeknownst power in the universe that creates &1Slimes&0 at seemingly random spots. &4Slime Chunks&0, they call it. The &1Narslimmus&0 is a flower that has the ability to tap into that energy. If placed down near a &1Slime&0 created by that power, it'll destroy it, collecting all the &4Mana&0 generated by the entropy. The larger the &1Slime&0, the more &4Mana&0 is created. It also makes a bit of a sticky mess. -botania.page.narslimmus1=&oStick around, would ye&r? +botania.page.narslimmus1=&oStick around, would ye&r? # -- SPECTROLUS botania.entry.spectrolus=Spectrolus @@ -3205,7 +3193,7 @@ botania.page.complexBrews3b=And I call it magic botania.page.complexBrews4a=This brew casts an aura of emptiness around any entity that has its effect. In a 128 block radius, mobs will not be allowed to spawn naturally. botania.page.complexBrews4b=Close the floodgates botania.page.complexBrews5a=This brew casts an aura of emptiness around any entity that has its effect. In a 64 block radius, mobs will be allowed to spawn regardless of light or other conditions. This won't work with &1Emptiness&0. -botania.page.complexBrews5b=Shall we pray for a miracle? +botania.page.complexBrews5b=Shall we pray for a miracle? botania.page.complexBrews6a=A player affected with this brew's effect will have much higher proficiency at fishing and will catch fish and other loot twice as fast. botania.page.complexBrews6b=Maybe you'll catch a Chris botania.page.complexBrews7a=When drank, this brew will clear all potion effects on the player, negative or otherwise. @@ -3215,7 +3203,7 @@ botania.page.complexBrews7b=Absolute sooooooul botania.entry.incense=Brew Incenses botania.tagline.incense=Brews on an area of effect botania.page.incense0=&4Brews&0 can provide a great variety of effects when in liquid form. They, however, don't last long, and take up inventory space. Utilizing &1Incense Sticks&0 instead of flasks mitigates that problem, these can be infused with &4Brew&0 effects just like a normal flask would, but take around ten times as much &4Mana&0 to do so. -botania.page.incense1=An &1Incense Stick&0 can be placed on an &1Incense Plate&0 by right clicking on it, a simple click with a &1Flint and Steel&0 will light it up. Once lit, the stick can not be retrieved.
A single stick of incense will burn for sixty times as long as as the liquid counterpart before needing to be replaced. +botania.page.incense1=An &1Incense Stick&0 can be placed on an &1Incense Plate&0 by right clicking on it, a simple click with a &1Flint and Steel&0 will light it up. Once lit, the stick can not be retrieved.
A single stick of incense will burn for sixty times as long as as the liquid counterpart before needing to be replaced. botania.page.incense2=&1Incense Plates&0 that are burning &1Incense Sticks&0 will provide the effects of the &4Brew&0 infused in the stick to any players on a 30 block radius of the plate.
Not all &4Brews&0 can be infused into &1Incense Sticks&0, for example, &4Instant Health&0 or &1Absorption&0 can't, nor can any with more than one effect. botania.page.incense5=For the incense lovers who are also automation junkies, the &1Incense Plate&0 can receive items through &1Hoppers&0 or other input. It'll output a &1Comparator&0 signal of 1 when it has a stick and 2 when it's burning it.
Lastly, if a &4Mana Burst&0 with a &1Kindle Lens&0 hits the plate while there's a stick on it, it'll start burning it. botania.page.incense3=Incense is wincense @@ -3317,7 +3305,7 @@ botania.page.canopyDrum1=The Pinking Drum botania.entry.cocoon=Cocoon of Caprice botania.tagline.cocoon=Hatch your own animals botania.page.cocoon0=A cocoon is usually a symbol of change, of evolution.
Creating a &1Cocoon of Caprice&0 and placing it down will slowly evolve the rudimentary contents inside it into a &1Baby Animal&0. More often than not the animal hatched will be a farm animal, but on rare ocasions, different animals such as &1Wolves&0 or &1Horses&0 may be created. -botania.page.cocoon1=Speculation says that giving the cocoon &1Emeralds&0 influences the outcome towards something a bit different.
What could come out of such experiment is anyone's guess, really. +botania.page.cocoon1=Speculation says that giving the cocoon &1Emeralds&0 influences the outcome towards something a bit different.
What could come out of such experiment is anyone's guess, really. botania.page.cocoon2=New World, Perfect World # -- MANASTORM CHARGE @@ -3351,7 +3339,7 @@ botania.entry.manaBlaster=Mana Blaster botania.tagline.manaBlaster=Portable Mana Spreader, with lenses! botania.page.manaBlaster0=The &1Mana Blaster&0 is like a portable &1Mana Spreader&0, while shaped like a pistol for easy handling, it's not exactly a firearm, as much as it is just a portable spreader.
By utilizing &4Mana&0 from &4Mana carrying items&0 in the holder's inventory, it can shoot a mana burst wherever one is looking. botania.page.manaBlaster1=This burst is a bit different from the one fired from speaders, as it's faster, but carries only three quarters of the mana a spreader burst would. There's also a short cooldown period after firing the blaster until another burst can be shot. -botania.page.manaBlaster2=&1Mana Lenses&0 also function with the blaster. To attach one to it, put them side by side on a crafting table, to remove it, simply place the &1Mana Blaster&0 back on the crafting grid.
If the shooter has a &1Haste&0 effect present on their person, the speed at which they can fire the blaster also increases. +botania.page.manaBlaster2=&1Mana Lenses&0 also function with the blaster. To attach one to it, put them side by side on a crafting table, to remove it, simply place the &1Mana Blaster&0 back on the crafting grid.
If the shooter has a &1Haste&0 effect present on their person, the speed at which they can fire the blaster also increases. botania.page.manaBlaster3=We need more dakka # -- PASTURE SEEDS @@ -3441,7 +3429,7 @@ botania.page.elfGear2=Starting off, the &1Elementium Pickaxe&0 will destroy any botania.page.elfGear3=I can fit a shower in my pocket, screw cobble botania.page.elfGear4=The &1Elementium Shovel&0 will, case the block dug is affected by gravity (&1Gravel&0, &1Sand&0, etc), dig all the blocks of that material above and/or below it, no more gravel falling while mining. botania.page.elfGear5=Putting Things on Top of Other Things -botania.page.elfGear6=The &1Elementium Axe&0 doubles as a weapon, if used to strike the finishing blow to a &4Zombie&0, &4Skeleton&0, &4Creeper&0 or even another &4Player&0, it has a chance to decapitate them, leaving their severed head or skull behind. +botania.page.elfGear6=The &1Elementium Axe&0 doubles as a weapon, if used to strike the finishing blow to a &4Zombie&0, &4Skeleton&0, &4Creeper&0 or even another &4Player&0, it has a chance to decapitate them, leaving their severed head or skull behind. botania.page.elfGear7=Off with their heads botania.page.elfGear8=The &1Elementium Shears&0 hold the ability to, when held back like a bow, shear any nearby sheep with speed within a large area of effect centered on the holder. botania.page.elfGear9=Nui? She's h-arm-less @@ -3525,7 +3513,7 @@ botania.entry.diviningRod=Rod of the Plentiful Mantle botania.tagline.diviningRod=A rod to find ores botania.page.diviningRod0=The &1Rod of the Plentiful Mantle&0 has the ability to divine in a decently large radius around the user to find any ores. These will shine for a little bit, allowing their location.
This process, obviously, requires a decent amount of &4Mana&0 from the user's inventory. botania.page.diviningRod2=This rod can be given to a &1Livingwood Avatar&0. When done so, it'll show all nearby ores, as if it was used by a player. The colors, in this case, remain the same if the avatar isn't moved.
This process uses &4Mana&0 from the avatar, and can be disabled by applying redstone to it. -botania.page.diviningRod1=inb4 ee3 +botania.page.diviningRod1=inb4 ee3 # -- ROD OF THE BLACK MESA botania.entry.gravityRod=Rod of the Shaded Mesa @@ -3651,7 +3639,7 @@ botania.page.exchangeRod3=Bootlegged equal trade # -- MANAWEAVE CLOTH botania.entry.manaweave=Manaweave Cloth botania.tagline.manaweave=Cloth armor that regenerates with mana and provides a boost to rod powers -botania.page.manaweave0=&1Manaweave Cloth&0 is a type of fabric with powerful ties to the primal energies contained in &4Mana&0.
Armor can be made of this cloth, &1Manaweave Robes&0, while they aren't very strong when it comes to raw resistance and strength, the robes make up for it with a powerful set bonus, making tools and rods cheaper to use, &4Mana&0 wise, and making the latter more powerful. +botania.page.manaweave0=&1Manaweave Cloth&0 is a type of fabric with powerful ties to the primal energies contained in &4Mana&0.
Armor can be made of this cloth, &1Manaweave Robes&0, while they aren't very strong when it comes to raw resistance and strength, the robes make up for it with a powerful set bonus, making tools and rods cheaper to use, &4Mana&0 wise, and making the latter more powerful. botania.page.manaweave1=Wearing the full set of &1Manaweave Robes&0 grants the wearer with increased proficiency when operating magical rods, increasing the power/range of them, or just their cost, for some of the more simpleton ones.
&1Manaweave Robes&0 can use &4Mana&0 from one's inventory to repair themselves, similarly to &1Manasteel Armor&0, but, due to their affinities with the primal energies, at a lower mana cost. botania.page.manaweave2=Weaving the threads of mana botania.page.manaweave3=Creating the Cowl @@ -3676,7 +3664,7 @@ botania.page.sextant2=You sketch a circle, filling you with determination # -- EXTRACTING ENDER AIR botania.entry.enderAir=Extracting Ender Air botania.tagline.enderAir=Throwable bottles that create End Stone -botania.page.enderAir0=The air present in the void of the &1End&0 seems to have some mutating properties. Right clicking with an empty &1Glass Bottle&0 while in the &1End&0 will capture some of that air, which can then later be tossed similarly to a splash potion, turning nearby &1Stone&0 on the landing point into &1End Stone&0. +botania.page.enderAir0=The air present in the void of the &1End&0 seems to have some mutating properties. Right clicking with an empty &1Glass Bottle&0 while in the &1End&0 will capture some of that air, which can then later be tossed similarly to a splash potion, turning nearby &1Stone&0 on the landing point into &1End Stone&0. # -- ENDER OVERSEER botania.entry.enderEyeBlock=Ender Overseer @@ -3752,7 +3740,7 @@ botania.page.corporea1=Starting off, they can go on top of any &4Inventory&0, li botania.page.corporea2=When a &1Corporea Spark&0 is placed or polled, each spark will poll any nearby sparks, adding them to the network designated by the single &1Master Corporea Spark&0 and also polling other nearby sparks, in a chain. While each individual spark can only reach a few blocks, combined, the entire network can go for a virtually infinite distance. botania.page.corporea3=&1Corporea Sparks&0 have a view of the inventory directly below them, but can only access items from the top side. Each &1Corporea Spark&0 has the ability to view every other spark in the network and its contents, and the ability to request them as necessary, depending on the type of block below it. botania.page.corporea4=It's to note that the &1Master Corporea Spark&0, while being part of the network, can not have the items in its inventory extracted from.
Futhermore, no requests for items in the network are ever done passively. Corporea does not have the ability to add new items to the network, those should be inserted physically through &1Hoppers&0 or other methods. -botania.page.corporea5=Similarly to normal &1Sparks&0, &1Corporea Sparks&0 have a method of augmentation, that being the ability to color them. While in the world, there's an icon floating around the spark that shows which color it has, this can be changed by right clicking on the spark with a piece of &1Floral Powder&0. These colors define networks. A spark may only be in the same network as another spark if the two have the same color. +botania.page.corporea5=Similarly to normal &1Sparks&0, &1Corporea Sparks&0 have a method of augmentation, that being the ability to color them. While in the world, there's an icon floating around the spark that shows which color it has, this can be changed by right clicking on the spark with a piece of &1Floral Powder&0. These colors define networks. A spark may only be in the same network as another spark if the two have the same color. botania.page.corporea6=The ability to color sparks allows for multiple different &4Corporea Networks&0 to be together in a close area, without interfering with each other.
Viewing the network and removing the spark works exactly the same as a normal spark. Lastly, having two &1Master Corporea Sparks&0 of the same color nearby, while possible, is a bad idea and will cause conflicts and odd behaviour. botania.page.corporea7=Creating &1Corporea Sparks&0 botania.page.corporea8=And &1Master Corporea Sparks&0 @@ -3787,7 +3775,7 @@ botania.page.corporeaInterceptor2=So many automation prospects # -- CORPOREA CRYSTAL CUBE botania.entry.corporeaCrystalCube=Corporea Crystal Cube botania.tagline.corporeaCrystalCube=View and request items from a Corporea network -botania.page.corporeaCrystalCube0=A seer usually looks through a crystal ball to see the future. Well, a corporea handler would look through a crystal cube to see the present. The &1Corporea Crystal Cube&0 acts as a visual medium to interact ith one's &4Corporea Network&0. Placing the block down and giving it a &1Corporea Spark&0 is the obvious first step to hooking it up to the network. +botania.page.corporeaCrystalCube0=A seer usually looks through a crystal ball to see the future. Well, a corporea handler would look through a crystal cube to see the present. The &1Corporea Crystal Cube&0 acts as a visual medium to interact ith one's &4Corporea Network&0. Placing the block down and giving it a &1Corporea Spark&0 is the obvious first step to hooking it up to the network. botania.page.corporeaCrystalCube1=When the block is connected, right clicking it with any sort of item will have it monitor that item, allowing someone who's looking at it see how many exist in the network. The display updates about once every second.
While there's an item selected, left clicking the block will request one of that item from the network. Shift-left clicking requests a whole stack. botania.page.corporeaCrystalCube3=The &1Corporea Crystal Cube&0 can be used alongside a &1Redstone Comparator&0. This will output the amount of items of the type it's looking for in the system. The output value follows a logarithmic progression, or on layman's terms, every level requires twice as many of the item as the previous one, starting at 1. 0 items would be signal 0. 1 item for 1, 2 items for 2, 4 items for 3, 8 items for 4, 16 items for 5 and so on up to 15. botania.page.corporeaCrystalCube2=I can see forever @@ -3859,7 +3847,7 @@ botania.entry.bIntro=An Introduction to Baubles botania.tagline.bIntro=Accessories that provide power botania.page.bIntro0=&4Baubles&0, also commonly referred to as &4Trinkets&0 or &4Charms&0 are pieces of equipment which offer all sorts of different effects, when worn.
To equip them, one can press the &4B&0 (configurable) key. There's four slots, one &4Amulet&0 slot, two &4Ring&0 slots and one &4Belt&0 slot. botania.page.bIntro1=The &4Baubles Screen&0 -botania.page.bIntro2=It's to note that, if &4Thaumcraft&0 or any other mod that uses the baubles system is installed, this inventory will be shared between the various mods. +botania.page.bIntro2=It's to note that, if &4Thaumcraft&0 or any other mod that uses the baubles system is installed, this inventory will be shared between the various mods. # -- COSMETIC BAUBLES botania.entry.cosmeticBaubles=Cosmetic Baubles @@ -3901,8 +3889,8 @@ botania.page.cosmeticBaubles33=Get on the treadmill, angbadang # -- TINY PLANET botania.entry.tinyPlanet=Tiny Planet -botania.tagline.tinyPlanet=Send Mana bursts flying around you -botania.page.tinyPlanet0=The &1Tiny Planet&0 is a &4Bauble&0 with gravitational proprieties, while equipped, the &1Tiny Planet&0 will pull any nearby &4Mana Bursts&0 towards the wearer, having them orbit around him or her.
By increasing its mass with some &1Stone&0, it can also be placed in world, for the same effect. +botania.tagline.tinyPlanet=Send Mana bursts flying around you +botania.page.tinyPlanet0=The &1Tiny Planet&0 is a &4Bauble&0 with gravitational proprieties, while equipped, the &1Tiny Planet&0 will pull any nearby &4Mana Bursts&0 towards the wearer, having them orbit around him or her.
By increasing its mass with some &1Stone&0, it can also be placed in world, for the same effect. botania.page.tinyPlanet1=Clearly from rebirth botania.page.tinyPlanet2=More of a planet than Pluto @@ -3935,7 +3923,7 @@ botania.page.knockbackBelt1=I'm the man who can't be moved # -- SNOWFLAKE PENDANT botania.entry.icePendant=Snowflake Pendant botania.tagline.icePendant=Walk on water, by making ice -botania.page.icePendant0=The &1Snowflake Pendant&0 is a &4Bauble&0 that resonates freezing energy, while it's worn, any nearby still &1Water&0 blocks at foot level will be converted into &1Ice&0.
The &1Ice&0 will melt shortly afterward the wearer leaves the area. Lastly, this charm will not freeze any blocks if the wearer is sneaking or fully submerged. +botania.page.icePendant0=The &1Snowflake Pendant&0 is a &4Bauble&0 that resonates freezing energy, while it's worn, any nearby still &1Water&0 blocks at foot level will be converted into &1Ice&0.
The &1Ice&0 will melt shortly afterward the wearer leaves the area. Lastly, this charm will not freeze any blocks if the wearer is sneaking or fully submerged. botania.page.icePendant1=Do you want to build a snowman? # -- PYROCLAST PENDANT @@ -4043,7 +4031,7 @@ botania.page.speedUpBelt1=If you go slow you're a Planeswalker # -- BAUBLE CASE botania.entry.baubleBox=Bauble Case botania.tagline.baubleBox=A handy container to store your Baubles -botania.page.baubleBox0=Somtimes having too many &4Baubles&0 to pick from can be a real problem, as inventory space is limited. A better way would be to store all of these in a &1Bauble Case&0, a handy container for any &4Baubles&0.
The case's interface allows for quick switching of the current equipped baubles. The case can also store &4Mana&0 containing items like a &1Mana Tablet&0. +botania.page.baubleBox0=Somtimes having too many &4Baubles&0 to pick from can be a real problem, as inventory space is limited. A better way would be to store all of these in a &1Bauble Case&0, a handy container for any &4Baubles&0.
The case's interface allows for quick switching of the current equipped baubles. The case can also store &4Mana&0 containing items like a &1Mana Tablet&0. botania.page.baubleBox1=It could even be a boat! # - ALFHOMANCY @@ -4074,7 +4062,7 @@ botania.page.elfMessage6=&oLast but not least, do keep in mind that if you decid # -- THE RESOURCES OF ALFHEIM botania.entry.elfResources=The Resources of Alfheim botania.tagline.elfResources=What's beyond the gate -botania.page.elfResources0=&4Alfheim&0 contains a very varied amount of exquisite resources. Sadly though, most of them are extremely scarce and hard to come by due to competition between the various clans. The elves are interested in trading some materials, such as &1Dreamwood&0, &1Elementium&0, &1Pixie Dust&0 or &1Dragonstone&0, resources native to their lands. +botania.page.elfResources0=&4Alfheim&0 contains a very varied amount of exquisite resources. Sadly though, most of them are extremely scarce and hard to come by due to competition between the various clans. The elves are interested in trading some materials, such as &1Dreamwood&0, &1Elementium&0, &1Pixie Dust&0 or &1Dragonstone&0, resources native to their lands. botania.page.elfResources1=Trading for &1Dreamwood&0 botania.page.elfResources2=&1Dreamwood&0, similarly to &1Livingwood&0 can be turned into various &4Decorative Blocks&0, have a look through the &4Decorative Blocks&0 entry under &4Miscelaneous&0 for the recipes. botania.page.elfResources10=&1Dreamwood Twigs&0 @@ -4114,7 +4102,7 @@ botania.tagline.relicInfo=They're real after all botania.page.relicInfo0=It appears as if the speculated relics are, in fact, real. These items, materialized from rolls of the &1Dice of Fate&0 possess incredible powers, the fact that the dice is six-sided possibly indicates to the existance of six of these.
Relics seem to contain knowledge of who earned them, and thus giving someone else a relic that doesn't belong to them might be a poor idea. botania.page.relicInfo1=According to the original texts, the same relic may not be awarded to any one person twice, so keeping the item safe is a priority. Perhaps something like &1Resolute Ivy&0 would be a good investment.
Interestingly enough, earning a relic also imparts upon this lexicon the knowledge on how to use it. How useful. -# -- THE FRUIT OF GRISAIA +# -- THE FRUIT OF GRISAIA botania.entry.infiniteFruit=The Fruit of Grisaia botania.tagline.infiniteFruit=Endless supply of nourishment botania.page.infiniteFruit0=The relic known as &1The Fruit of Grisaia&0 is bestowed with the power to eternally nourish the brave soul who earned it. It can be eaten similarly to any other piece of food, but instead of utilizing matter to feed, it uses &4Mana&0 from one's inventory.
Hope you like the taste of apple though. @@ -4126,7 +4114,7 @@ botania.page.kingKey0=The &1Key of the King's Law&0 is a powerful relic with the # -- EYE OF THE FLUGEL botania.entry.flugelEye=Eye of the Flügel -botania.tagline.flugelEye=The true power of a Flügel +botania.tagline.flugelEye=The true power of a Flügel botania.page.flugelEye0=Unlike the fabricated &1Flügel Tiara&0, the &1Eye of the Flügel&0 contains primordial &4Flügel&0 magic. Magic strong enough, in fact, to harness the &4Flügels&0' ability to recall themselves to a place they've visited.
Shift-right clicking with this eye somewhere will bind it to that position. After that, holding right click for a while will recall the user back to the aforementioned location. botania.page.flugelEye1=This teleportation ability not only costs &4Mana&0 but can not be executed across two different dimensions, sadly enough.
Aside from that, simply being in possession of an &1Eye of the Flügel&0 allows a wearer of the &1Flügel Tiara&0 to fly past the normal limits, at a higher cost, of course. @@ -4140,13 +4128,13 @@ botania.entry.lokiRing=Ring of Loki botania.tagline.lokiRing=The power to be here, and there, and over there too botania.page.lokiRing0=One of the three mythic rings of the &4Aesir&0, the &1Ring of Loki&0 allows for the wearer to tap upon the Trickster God &4Loki&0 to effectively be in multiple places at once.
The setup for this ability requires, first and foremost, an empty hand. Shift-right clicking on a block with said empty hand while having the &1Ring of Loki&0 equipped begins the procedure. botania.page.lokiRing1=Once the source block is selected, shift-right clicking on other blocks in the world will add them to the relative positions affected by this power. In order to finish the procedure, one would shift-right click the original block.
Shift-right clicking on one of the blocks that has been selected will remove it. To reset a completed selection, shift-right click the ground twice. -botania.page.lokiRing2=After the selection is complete, when looking around, one will notice multiple boxes in relative positions to the selected block. When a block is placed while sneaking, the placing action is mimicked on all of those positions, allowing for one to place a large amount of blocks at once. This ability also extends to destruction using the &1Terra Shatterer&0 or &1Terra Truncator&0. +botania.page.lokiRing2=After the selection is complete, when looking around, one will notice multiple boxes in relative positions to the selected block. When a block is placed while sneaking, the placing action is mimicked on all of those positions, allowing for one to place a large amount of blocks at once. This ability also extends to destruction using the &1Terra Shatterer&0 or &1Terra Truncator&0. botania.page.lokiRing3=Such a power does not come for free of course. Utilizing this ability costs &4Mana&0 from the user's inventory per each block placed. It's to note that the more blocks that are selected, the more expensive &4each placed block&0 becomes.
Lastly, this ring can be combined with the other two rings of the &4Aesir&0 in a crafting table to create the ultimate ring. # -- RING OF ODIN botania.entry.odinRing=Ring of Odin botania.tagline.odinRing=Godlike resistance -botania.page.odinRing0=One of the three mythic rings of the &4Aesir&0, the &1Ring of Odin&0 grants its wearer the vitality and resistance of the Elder God &4Odin&0. As well as the addition of ten extra hearts of health, the &1Ring of Odin&0 protects the wearer from various kinds of elemental damage such as drowning, suffocation, fire or starvation. The ring can also be combined with the other two rings of the &4Aesir&0 in a crafting table to create the ultimate ring. +botania.page.odinRing0=One of the three mythic rings of the &4Aesir&0, the &1Ring of Odin&0 grants its wearer the vitality and resistance of the Elder God &4Odin&0. As well as the addition of ten extra hearts of health, the &1Ring of Odin&0 protects the wearer from various kinds of elemental damage such as drowning, suffocation, fire or starvation. The ring can also be combined with the other two rings of the &4Aesir&0 in a crafting table to create the ultimate ring. # -- ELVEN LORE - THE SHATTERING botania.entry.elvenLore=Elven Lore - The Shattering @@ -4186,7 +4174,7 @@ botania.page.decorativeBlocks6=Mossing the planks botania.page.decorativeBlocks7=Framing the planks botania.page.decorativeBlocks8=Pattern planks botania.page.decorativeBlocks9=Glimmering livingwood -botania.page.decorativeBlocks10=Carrying on, by combining &1Nether Quartz&0 with all sorts of other substances, it's possible to create a wide array of other decorative &1Quartz&0 blocks.
As expected, all these items can be crafted into all their decorative block counterparts just like regular &1Quartz&0 blocks are crafted. +botania.page.decorativeBlocks10=Carrying on, by combining &1Nether Quartz&0 with all sorts of other substances, it's possible to create a wide array of other decorative &1Quartz&0 blocks.
As expected, all these items can be crafted into all their decorative block counterparts just like regular &1Quartz&0 blocks are crafted. botania.page.decorativeBlocks11=Smokey Quartz botania.page.decorativeBlocks12=Mana Quartz botania.page.decorativeBlocks13=Blaze Quartz @@ -4234,7 +4222,7 @@ botania.page.shedding0=The living and unliving beings that inhabit our lands don botania.entry.tinyPotato=Tiny Potato botania.tagline.tinyPotato=A potato friend for all of us botania.page.tinyPotato0=It's a tiny potato, it believes in you, you can do the thing.
No really, that's it, by tossing a &1Potato&0 in a &1Mana Pool&0, the potato gains a little lively essence and happy feeling. It's a lively one, giving it a right click will make it even more so!
It can also be named in an &1Anvil&0. -botania.page.tinyPotato1=Put it on Kickstarter, it'll work +botania.page.tinyPotato1=Put it on Kickstarter, it'll work # -- HEAD CREATION botania.entry.headCreating=Head Creation @@ -4315,7 +4303,7 @@ botania.page.pavement1=These aren't slippery botania.entry.tcIntegration=Thaumcraft Integration botania.tagline.tcIntegration=Tidbits of integration with Thaumcraft botania.page.tcIntegration0=Often enough, the paths of &4Botany&0 and &4Thaumaturgy&0 cross together. Mixing some of the artifacts mentioned in this book as well as any from the school of &5Thaumcraft&0 can allow for combinations of these to form. -botania.page.tcIntegration1=First and foremost, combining any of the &1Mana Metal&0 helms with a set of &1Goggles of Revealing&0 allows for a combination of both.
The protection and regenerability of the armor works alongside the Goggles' abilities, but the &4Vis&0 discount is lost. +botania.page.tcIntegration1=First and foremost, combining any of the &1Mana Metal&0 helms with a set of &1Goggles of Revealing&0 allows for a combination of both.
The protection and regenerability of the armor works alongside the Goggles' abilities, but the &4Vis&0 discount is lost. botania.page.tcIntegration2=Helmets of Revealing (works with any Botania helm) botania.page.tcIntegration3=Carrying on, &4Mana&0 can also serve as an interesting type of Ink. Infusing a set of black &1Scribing Tools&0 with &4Mana&0 from a &1Mana Pool&0 allows for them to use said &4Mana&0 as their source of color.
Refilling these tools works similarly to a &1Mana Tablet&0, done by tossing it on top of the pool. It's to note that the tools do not come pre-filled. botania.page.tcIntegration4=Making the &1Botanurgist's Inkwell @@ -4338,3 +4326,4 @@ botania.page.banners1=Showcase of the various banners botania.entry.preventingDecay=Preventing Decay botania.tagline.preventingDecay=Preventing passive flowers' decay botania.page.preventingDecay0=no + diff --git a/src/main/resources/assets/botania/textures/items/excaliber.png b/src/main/resources/assets/botania/textures/items/excaliber.png new file mode 100644 index 0000000000000000000000000000000000000000..70e117cea56d825a033fd3737c768bdc0a9fc187 GIT binary patch literal 16396 zcmeI3Ply{;9LHawh^`b09u!47q!kr9nLnBQnQ4+zH*I%|smpe2w_fba%**c3WF}^2 zo9v#7J&8BHhzNoQ4On$%L z`~H6KecqqUCGV`AJ$+#5*(HR~fz_49I(;65`|-!<=b_(6m_DB9ty~Ncdh#i__n{9z zdIq6mZFgfc+-$yT*?u>V9lu5L!)}kZMyPsx*u(Z^5=t$y<$AT;-EXevB-g3sE)<(; zv$ssP-IcvQIk$Iq!`{1Wn@;X{eW^OMXo4;Yu{7*-aimuDFg&gd9As)(JaCn>~&eI@)-FJJT z>w6O9#Vvm)tmSf0D7hx%>h_XCUNB)tDJnzUQ?$IQED||(qUr7QJ5kphTOl3NC0-a% zowiWd+xA00*!D9@CgIG&bWWPhr1rx8cDoBp2jR&p6u|`PLS?YA+at<43H+VDO-^2+ zLpi)?^r73HPR>jwh-CJi4BZSFM8>jcDU4^RO2=v~_X!UD{)X>&>f=?m79*6Fm!+33 zxSrz=f|sib+j=_H(?q0!LsF+pu_&v$tf?EiZWSw*p}mpPj~g-arti4z-ITl_>%|SN zV(Erus1tdr5i6$~#=#-JSAul2R0_wo+J3)_!@AqWTSV!3TUBN1Otnl_khSc0{66gw zsTZosB6ms^ttxBP3qtJKWVKPJj=bwS7Qv2QF5s5zICfc99m9}KgMJiBbRU*A8&}kJ zgs$04%jZ%ze0v9W#w4{vQ`@#$DYaEwE@NDh%eqmPO}k~vxMfsGxn026FyhoH`CRJP z`Yt`ya3|FUdjFs$7NnUgwc-YJE$*h)C|#-1xpj`bHS3K79XC3Edbl4D*j=?;yuFeG zD>;uq6YWw9+i-H#ZCL!osVXzxX}1#PMCQ&<;Qdh^=TFJAYYeuDm$8G!S)vBn`oM38 z1KcMkw&-%W$Ce%^oK>)ys|uX&9rqu=AK)v055D2Fonld=+r_3QPOD{LxuRAIGS<^uz@jHC-SRj(*|e%M=bNsSar;d;DLXq+`?9Xmi@rb7Ya&gDS?NW-G#zH8Q{{Qj z4eR=(8sko>;N4~XV|$LiW|MlUSS%E)3hQPSYwnPAHXAPeRSe*)*Gdx&8(1j3m?caF zCc^PlrCx}mlXC2(uiNxZUrAo|=MK^27v@oZnU3gDW@U1TA`B3|DRA-mFj0Yv0m3&0 zE#plCB1ug~% z-xRp`e3+=f#Q@=(0vDeT6BW1^AbeBc;`3pm0v7{>Zwg#|K1@{LVu0{Xfs4qj7yhC3(?^r>%bQfFLAU)Chcw{BaS8?E{uyjlNbc+${YJfz^{|8(+L~>FvJ&IMhoK literal 0 HcmV?d00001 From d8a4421bb7234770dc3ade3cbe4ee0501a6d85df Mon Sep 17 00:00:00 2001 From: thenextelement Date: Thu, 27 Nov 2025 15:18:49 -0700 Subject: [PATCH 5/8] Localized Excaliber, Added to and Arranged Achievements and added Excaliber to Dice Pool. --- .github/workflows/build-and-test.yml | 13 ------- .github/workflows/release-tags.yml | 14 ------- .../common/achievement/ModAchievements.java | 4 +- .../botania/common/item/relic/ItemDice.java | 3 +- .../common/lib/LibAchievementNames.java | 1 + .../resources/assets/botania/lang/en_US.lang | 38 +++++++++++++++++++ 6 files changed, 44 insertions(+), 29 deletions(-) delete mode 100644 .github/workflows/build-and-test.yml delete mode 100644 .github/workflows/release-tags.yml diff --git a/.github/workflows/build-and-test.yml b/.github/workflows/build-and-test.yml deleted file mode 100644 index 3ee2f686fd..0000000000 --- a/.github/workflows/build-and-test.yml +++ /dev/null @@ -1,13 +0,0 @@ - -name: Build and test - -on: - pull_request: - branches: [ master, main ] - push: - branches: [ master, main ] - -jobs: - build-and-test: - uses: GTNewHorizons/GTNH-Actions-Workflows/.github/workflows/build-and-test.yml@master - secrets: inherit diff --git a/.github/workflows/release-tags.yml b/.github/workflows/release-tags.yml deleted file mode 100644 index e4c0be6b0d..0000000000 --- a/.github/workflows/release-tags.yml +++ /dev/null @@ -1,14 +0,0 @@ - -name: Release tagged build - -on: - push: - tags: [ '*' ] - -permissions: - contents: write - -jobs: - release-tags: - uses: GTNewHorizons/GTNH-Actions-Workflows/.github/workflows/release-tags.yml@master - secrets: inherit diff --git a/src/main/java/vazkii/botania/common/achievement/ModAchievements.java b/src/main/java/vazkii/botania/common/achievement/ModAchievements.java index 9db5d62dda..7d305dc699 100644 --- a/src/main/java/vazkii/botania/common/achievement/ModAchievements.java +++ b/src/main/java/vazkii/botania/common/achievement/ModAchievements.java @@ -78,6 +78,7 @@ public final class ModAchievements { public static Achievement pinkinator; public static Achievement relicInfiniteFruit; + public static Achievement relicExcaliber; public static Achievement relicKingKey; public static Achievement relicFlugelEye; public static Achievement relicThorRing; @@ -139,12 +140,13 @@ public static void init() { if(ConfigHandler.relicsEnabled) { relicInfiniteFruit = new AchievementMod(LibAchievementNames.RELIC_INFINITE_FRUIT, -9, 8, ModItems.infiniteFruit, null); + relicExcaliber = new AchievementMod(LibAchievementNames.RELIC_EXCALIBER, -7, 8, ModItems.excaliber, null).setSpecial(); relicKingKey = new AchievementMod(LibAchievementNames.RELIC_KING_KEY, -7, 11, ModItems.kingKey, null); relicFlugelEye = new AchievementMod(LibAchievementNames.RELIC_FLUGEL_EYE, -5, 8, ModItems.flugelEye, null); relicThorRing = new AchievementMod(LibAchievementNames.RELIC_THOR_RING, -7, 7, ModItems.thorRing, null); relicOdinRing = new AchievementMod(LibAchievementNames.RELIC_ODIN_RING, -9, 10, ModItems.odinRing, null); relicLokiRing = new AchievementMod(LibAchievementNames.RELIC_LOKI_RING, -5, 10, ModItems.lokiRing, null); - relicAesirRing = new AchievementMod(LibAchievementNames.RELIC_AESIR_RING, -7, 9, ModItems.aesirRing, null).setSpecial(); + relicAesirRing = new AchievementMod(LibAchievementNames.RELIC_AESIR_RING, -7, 10, ModItems.aesirRing, null).setSpecial(); } nullFlower = new AchievementMod(LibAchievementNames.NULL_FLOWER, -8, 0, ModBlocks.specialFlower, null).setSpecial(); diff --git a/src/main/java/vazkii/botania/common/item/relic/ItemDice.java b/src/main/java/vazkii/botania/common/item/relic/ItemDice.java index fdc80ee1be..836072df33 100644 --- a/src/main/java/vazkii/botania/common/item/relic/ItemDice.java +++ b/src/main/java/vazkii/botania/common/item/relic/ItemDice.java @@ -39,6 +39,7 @@ public ItemDice() { relicStacks = new ItemStack[] { new ItemStack(ModItems.infiniteFruit), + new ItemStack(ModItems.excaliber), new ItemStack(ModItems.kingKey), new ItemStack(ModItems.flugelEye), new ItemStack(ModItems.thorRing), @@ -87,7 +88,7 @@ public boolean shouldDamageWrongPlayer() { } boolean hasRelicAlready(EntityPlayer player, int relic) { - if(relic < 0 || relic > 5 || !(player instanceof EntityPlayerMP mpPlayer)) + if(relic < 0 || relic > 6 || !(player instanceof EntityPlayerMP mpPlayer)) return true; Item item = relicStacks[relic].getItem(); diff --git a/src/main/java/vazkii/botania/common/lib/LibAchievementNames.java b/src/main/java/vazkii/botania/common/lib/LibAchievementNames.java index 5372b364dd..a2ba63e6c5 100644 --- a/src/main/java/vazkii/botania/common/lib/LibAchievementNames.java +++ b/src/main/java/vazkii/botania/common/lib/LibAchievementNames.java @@ -55,6 +55,7 @@ public final class LibAchievementNames { public static final String PINKINATOR = "pinkinator"; public static final String RELIC_INFINITE_FRUIT = "infiniteFruit"; + public static final String RELIC_EXCALIBER = "excaliber"; public static final String RELIC_KING_KEY = "kingKey"; public static final String RELIC_FLUGEL_EYE = "flugelEye"; public static final String RELIC_THOR_RING = "thorRing"; diff --git a/src/main/resources/assets/botania/lang/en_US.lang b/src/main/resources/assets/botania/lang/en_US.lang index 02a4b7cee0..a72b501653 100644 --- a/src/main/resources/assets/botania/lang/en_US.lang +++ b/src/main/resources/assets/botania/lang/en_US.lang @@ -439,6 +439,41 @@ botania.baubletype.belt=Equippable in the &aBelt&7 slot botania.baubletooltip=Press &b%key%&7 to open the Baubles menu # RELIC POEMS +item.infiniteFruit.poem0=The fruit of the forbidden garden +item.infiniteFruit.poem1=Eternally cleanses one's hunger, +item.infiniteFruit.poem2=For that it rebuilds its pulp +item.infiniteFruit.poem3=And makes itself younger. + +item.excaliber.poem0=A sword of a true hero +item.excaliber.poem1=Fit for only one of the kind, +item.excaliber.poem2=Sharp and magic conjuring, +item.excaliber.poem3=Enemies it will quickly find. + +item.flugelEye.poem0=A vision of the past on one's mind, +item.flugelEye.poem1=Round and round is the memory matrix, +item.flugelEye.poem2=And their viable interactions +item.flugelEye.poem3=Will take the psyche back to basics. + +item.thorRing.poem0=The force of the Thunder God +item.thorRing.poem1=Will Shatter the salt of the Terra, +item.thorRing.poem2=With unstoppable strength +item.thorRing.poem3=It'll begin anew a new era. + +item.odinRing.poem0=The wise old God lays its blessings, +item.odinRing.poem1=Of virtue, life and divinity, +item.odinRing.poem2=With the hindrance of death on one's hands, +item.odinRing.poem3=They'll form the Holy Trinity. + +item.lokiRing.poem0=Empty handed, a sneaking interaction, +item.lokiRing.poem1=Once on the center, then around the track, +item.lokiRing.poem2=Back to the start one'd go to complete +item.lokiRing.poem3=The power of creating back-to-back. + +item.aesirRing.poem0=The forces of the Gods +item.aesirRing.poem1=In this band form as one, +item.aesirRing.poem2=And when combined all together +item.aesirRing.poem3=Above them will be none. + item.dice.poem0=He deals the cards to find the answer, item.dice.poem1=The sacred geometry of chance, item.dice.poem2=The hidden laws of a probable outcome, @@ -553,6 +588,8 @@ achievement.botania:pinkinator.desc=Put to use The Pinkinator achievement.botania:infiniteFruit=Innocentia achievement.botania:infiniteFruit.desc=Be rewarded The Fruit of Grisaia for a heroic feat +achievement.botania:excaliber=Streaming Heart +achievement.botania:excaliber.desc=Be rewarded the Holy Sword Excaliber for a heroic feat achievement.botania:kingKey=A Fake, Fake Psychotropic achievement.botania:kingKey.desc=Be rewarded the Key of the King's Law for a heroic feat achievement.botania:flugelEye=Angel of Death @@ -1627,6 +1664,7 @@ item.botania:phantomInk.name=Phantom Ink item.botania:poolMinecart.name=Minecart with Mana Pool item.botania:pinkinator.name=The Pinkinator item.botania:infiniteFruit.name=The Fruit of Grisaia +item.botania:excaliber.name=Holy Sword Excaliber item.botania:kingKey.name=Key of the King's Law item.botania:flugelEye.name=Eye of the Flügel item.botania:thorRing.name=Ring of Thor From ccc82f0b12f89b40560058f66945bb1070101918 Mon Sep 17 00:00:00 2001 From: thenextelement Date: Thu, 27 Nov 2025 20:42:48 -0700 Subject: [PATCH 6/8] Fix Eye of the flugel HUD :D --- .../botania/client/core/handler/HUDHandler.java | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) diff --git a/src/main/java/vazkii/botania/client/core/handler/HUDHandler.java b/src/main/java/vazkii/botania/client/core/handler/HUDHandler.java index 879275ab6c..5cbcaf27ec 100644 --- a/src/main/java/vazkii/botania/client/core/handler/HUDHandler.java +++ b/src/main/java/vazkii/botania/client/core/handler/HUDHandler.java @@ -64,6 +64,7 @@ import vazkii.botania.common.item.ModItems; import vazkii.botania.common.item.equipment.bauble.ItemFlightTiara; import vazkii.botania.common.item.equipment.bauble.ItemMonocle; +import vazkii.botania.common.item.relic.ItemFlugelEye; import vazkii.botania.common.lib.LibObfuscation; import baubles.common.lib.PlayerHandler; import cpw.mods.fml.common.eventhandler.EventPriority; @@ -153,11 +154,11 @@ else if(tile != null && tile instanceof TileRuneAltar) profiler.endSection(); } - /*if(equippedStack != null && equippedStack.getItem() == ModItems.flugelEye) { - profiler.startSection("flugelEye"); - ItemFlugelEye.renderHUD(event.resolution, mc.thePlayer, equippedStack); - profiler.endSection(); - }*/ + if(equippedStack != null && equippedStack.getItem() == ModItems.flugelEye) { + profiler.startSection("flugelEye"); + ItemFlugelEye.renderHUD(event.resolution, mc.thePlayer, equippedStack); + profiler.endSection(); + } if(Botania.proxy.isClientPlayerWearingMonocle()) { profiler.startSection("monocle"); From 66cff054a89941dbca7197460e75ac1c008cb3ec Mon Sep 17 00:00:00 2001 From: thenextelement Date: Thu, 27 Nov 2025 20:59:05 -0700 Subject: [PATCH 7/8] Forgot to re localize Loki ring D: --- .../resources/assets/botania/lang/en_US.lang | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) diff --git a/src/main/resources/assets/botania/lang/en_US.lang b/src/main/resources/assets/botania/lang/en_US.lang index a72b501653..e0bc219a55 100644 --- a/src/main/resources/assets/botania/lang/en_US.lang +++ b/src/main/resources/assets/botania/lang/en_US.lang @@ -503,6 +503,23 @@ entity.Botania.botania:manaStorm.name=Manastorm Epicenter entity.Botania.botania:babylonWeapon.name=Treasury Weapon entity.Botania.botania:fallingStar.name=Falling Star +#LOKI +botaniamisc.toggleLoki=Ring of Loki Switch Key +botaniamisc.ringOfLokiClear=Clear Ring of Loki Selection +botaniamisc.lokiOn=On +botaniamisc.lokiOff=Off +botaniamisc.breaking=Breaking +botaniamisc.lokiClear=Successfully cleared all selection +botaniamisc.lokiDescription=Builder's wand but §c§oC§6§oo§e§oo§a§ol§9§oe§5§or +botaniamisc.lokiDescription2=Can Place/Interact/Break with multiple blocks at once! +botaniamisc.lokiToggleDescription=Loki Switch Key to turn ring +botaniamisc.lokiBreakingDescription=Loki Switch Key + Shift to toggle breaking +botaniamisc.lokiCurrent=Current +botaniamisc.lokiState=Ring +botaniamisc.lokiMirror=Current mirror: +botaniamisc.insufficient_mana=Not enough mana! + + # ACHIEVEMENT NAMES + DESC achievement.botania:flowerPickup=Sky of Beginning achievement.botania:flowerPickup.desc=Pick up a Mystical Flower from the world From db8891d42979f228e006cf29728a42bbcb761832 Mon Sep 17 00:00:00 2001 From: thenextelement Date: Thu, 27 Nov 2025 21:41:26 -0700 Subject: [PATCH 8/8] Extend Dice pool to 7 rolls for Excaliber. --- src/main/java/vazkii/botania/common/item/relic/ItemDice.java | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/main/java/vazkii/botania/common/item/relic/ItemDice.java b/src/main/java/vazkii/botania/common/item/relic/ItemDice.java index 836072df33..443cff82f8 100644 --- a/src/main/java/vazkii/botania/common/item/relic/ItemDice.java +++ b/src/main/java/vazkii/botania/common/item/relic/ItemDice.java @@ -57,7 +57,7 @@ public ItemStack onItemRightClick(ItemStack stack, World world, EntityPlayer pla if(hasRelicAlready(player, relic)) { List possible = new ArrayList<>(); List alreadyHas = new ArrayList<>(); - for(int i = 0; i < 6; i++) + for(int i = 0; i < 7; i++) if(hasRelicAlready(player, i)) alreadyHas.add(i); else possible.add(i); @@ -88,7 +88,7 @@ public boolean shouldDamageWrongPlayer() { } boolean hasRelicAlready(EntityPlayer player, int relic) { - if(relic < 0 || relic > 6 || !(player instanceof EntityPlayerMP mpPlayer)) + if(relic < 0 || relic > 7 || !(player instanceof EntityPlayerMP mpPlayer)) return true; Item item = relicStacks[relic].getItem();