diff --git a/Licensing/LICENSE.md b/Licensing/LICENSE.md
index 9294b81b..2d768ddd 100644
--- a/Licensing/LICENSE.md
+++ b/Licensing/LICENSE.md
@@ -6,6 +6,5 @@
All patches (.patch files) marked with "Cadmium" are licensed under MIT found [here](https://github.com/LucilleTea/cadmium-fabric/blob/1.16.x/dev-my-fork/LICENSE.txt).
All patches (.patch files) marked with "LazyDFU" are licensed under MIT found [here](https://github.com/astei/lazydfu/blob/master/LICENSE).
All patches (.patch files) marked with "Tic-Tacs" are licensed under LGPLv3 found [here](https://github.com/Gegy/tic-tacs/blob/1.16.4/LICENSE).
-All patches (.patch files) marked with "AI-Improvements" are licensed under MIT found [here](https://github.com/BuiltBrokenModding/AI-Improvements/blob/1.16/LICENSEhttps://github.com/BuiltBrokenModding/AI-Improvements/blob/1.16/LICENSE).
All other patches (.patch files) included in this repo are licensed under the MIT license found [here](MIT.md).
See [EMC](https://github.com/starlis/empirecraft/blob/master/README.md), [Akarin](https://github.com/Akarin-project/Akarin/blob/1.16.5/LICENSE.md), [Purpur](https://github.com/pl3xgaming/Purpur/blob/ver/1.16.5/LICENSE), [Airplane](https://github.com/Technove/Airplane/blob/master/PATCHES-LICENSE), [Origami](https://github.com/Minebench/Origami/blob/1.16/PATCHES-LICENSE), and [Tuinity](https://github.com/Spottedleaf/Tuinity/blob/master/PATCHES-LICENSE) for the license of patches automatically pulled during upstream updates.
diff --git a/README.md b/README.md
index 26209019..c6eb9cd2 100644
--- a/README.md
+++ b/README.md
@@ -21,7 +21,6 @@ ## So what is Yatopia?
* [Cadmium](https://github.com/LucilleTea/cadmium-fabric)
* [LazyDFU](https://github.com/astei/lazydfu)
* [Tic-Tacs](https://github.com/Gegy/tic-tacs)
-* [AI-Improvements](https://github.com/BuiltBrokenModding/AI-Improvements/tree/1.16)
## Try it out
diff --git a/patches/server/0063-AI-Improvements-Optimized-tan-for-ControllerLook.patch b/patches/server/0063-AI-Improvements-Optimized-tan-for-ControllerLook.patch
deleted file mode 100644
index 0981d916..00000000
--- a/patches/server/0063-AI-Improvements-Optimized-tan-for-ControllerLook.patch
+++ /dev/null
@@ -1,94 +0,0 @@
-From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
-From: bl4ckscor3
-Date: Tue, 2 Feb 2021 21:38:12 -0500
-Subject: [PATCH] (AI-Improvements) Optimized tan for ControllerLook
-
-Code originally licenced under MIT from: https://github.com/BuiltBrokenModding/AI-Improvements/tree/1.16
-
-diff --git a/src/main/java/com/builtbroken/ai/improvements/FastTrig.java b/src/main/java/com/builtbroken/ai/improvements/FastTrig.java
-new file mode 100644
-index 0000000000000000000000000000000000000000..82150126c0d1608de0af9a8582571628efe53c2d
---- /dev/null
-+++ b/src/main/java/com/builtbroken/ai/improvements/FastTrig.java
-@@ -0,0 +1,59 @@
-+package com.builtbroken.ai.improvements;
-+
-+public class FastTrig {
-+ private static final int ATAN2_BITS = 8;
-+
-+ private static final int ATAN2_BITS2 = ATAN2_BITS << 1;
-+ private static final int ATAN2_MASK = ~(-1 << ATAN2_BITS2);
-+ private static final int ATAN2_COUNT = ATAN2_MASK + 1;
-+ private static final int ATAN2_DIM = (int) Math.sqrt(ATAN2_COUNT);
-+
-+ private static final float INV_ATAN2_DIM_MINUS_1 = 1.0f / (ATAN2_DIM - 1);
-+
-+ private static final float[] atan2 = new float[ATAN2_COUNT];
-+ static {
-+ for (int i = 0; i < ATAN2_DIM; i++) {
-+ for (int j = 0; j < ATAN2_DIM; j++) {
-+ float x0 = (float) i / ATAN2_DIM;
-+ float y0 = (float) j / ATAN2_DIM;
-+
-+ atan2[j * ATAN2_DIM + i] = (float) Math.atan2(y0, x0);
-+ }
-+ }
-+ }
-+
-+
-+ public static final float atan2(double y, double x) {
-+ float add, mul;
-+
-+ if (x < 0.0f) {
-+ if (y < 0.0f) {
-+ x = -x;
-+ y = -y;
-+
-+ mul = 1.0f;
-+ } else {
-+ x = -x;
-+ mul = -1.0f;
-+ }
-+
-+ add = -3.141592653f;
-+ } else {
-+ if (y < 0.0f) {
-+ y = -y;
-+ mul = -1.0f;
-+ } else {
-+ mul = 1.0f;
-+ }
-+
-+ add = 0.0f;
-+ }
-+
-+ double invDiv = 1.0f / (((x < y) ? y : x) * INV_ATAN2_DIM_MINUS_1);
-+
-+ int xi = (int) (x * invDiv);
-+ int yi = (int) (y * invDiv);
-+
-+ return (atan2[yi * ATAN2_DIM + xi] + add) * mul;
-+ }
-+}
-\ No newline at end of file
-diff --git a/src/main/java/net/minecraft/world/entity/ai/control/ControllerLook.java b/src/main/java/net/minecraft/world/entity/ai/control/ControllerLook.java
-index 3ce9edde641c8b8eea75479615bcd2866ffd2198..b44481633a798c560af5b55723daa32264bb2be3 100644
---- a/src/main/java/net/minecraft/world/entity/ai/control/ControllerLook.java
-+++ b/src/main/java/net/minecraft/world/entity/ai/control/ControllerLook.java
-@@ -86,14 +86,14 @@ public class ControllerLook {
- double d2 = this.g - this.a.locZ();
- double d3 = (double) MathHelper.sqrt(d0 * d0 + d2 * d2);
-
-- return (float) (-(MathHelper.d(d1, d3) * 57.2957763671875D));
-+ return (float) (-(com.builtbroken.ai.improvements.FastTrig.atan2(d1, d3) * 57.2957763671875D)); // Yatopia - Optimized tan implementation
- }
-
- protected float h() {
- double d0 = this.e - this.a.locX();
- double d1 = this.g - this.a.locZ();
-
-- return (float) (MathHelper.d(d1, d0) * 57.2957763671875D) - 90.0F;
-+ return (float) (com.builtbroken.ai.improvements.FastTrig.atan2(d1, d0) * 57.2957763671875D) - 90.0F; // Yatopia - Optimized tan implementation
- }
-
- protected float a(float f, float f1, float f2) {