diff --git a/README.md b/README.md
index 56a7a2c..4f265f4 100644
--- a/README.md
+++ b/README.md
@@ -27,6 +27,7 @@ Also includes unmerged PRs.
- Auto32K (Removed from Meteor in [67f93](https://github.com/MeteorDevelopment/meteor-client/commit/67f93de1e5e287ea62ddef041441306f01249c3d#diff-95d3e3b18ffadf76eef2358f30d424843d57acf8bde5ebd49a3f6befa6ff0529))
- AutoBedTrap (Ported from [BleachHack-CupEdition](https://github.com/CUPZYY/BleachHack-CupEdition/blob/master/src/main/java/bleach/hack/module/mods/AutoBedtrap.java))
- AutoExtinguish
+- AutoEz (very toxic)
- AutoHighway (Taken from [Meteor AutoHighway Addon](https://github.com/VoidCyborg/meteor-auto-highway-addon))
- AutoPot (Taken from an [unmerged PR](https://github.com/MeteorDevelopment/meteor-client/pull/274))
- AutoTNT
diff --git a/src/main/java/cloudburst/rejects/MeteorRejectsAddon.java b/src/main/java/cloudburst/rejects/MeteorRejectsAddon.java
index f5490df..92fcd17 100644
--- a/src/main/java/cloudburst/rejects/MeteorRejectsAddon.java
+++ b/src/main/java/cloudburst/rejects/MeteorRejectsAddon.java
@@ -42,6 +42,7 @@ public class MeteorRejectsAddon extends MeteorAddon {
modules.add(new Auto32K());
modules.add(new AutoBedTrap());
modules.add(new AutoExtinguish());
+ modules.add(new AutoEz());
modules.add(new AutoHighway());
modules.add(new AutoPot());
modules.add(new AutoTNT());
diff --git a/src/main/java/cloudburst/rejects/modules/AutoEz.java b/src/main/java/cloudburst/rejects/modules/AutoEz.java
new file mode 100644
index 0000000..28c08a3
--- /dev/null
+++ b/src/main/java/cloudburst/rejects/modules/AutoEz.java
@@ -0,0 +1,175 @@
+package cloudburst.rejects.modules;
+
+import cloudburst.rejects.MeteorRejectsAddon;
+import meteordevelopment.meteorclient.events.entity.player.AttackEntityEvent;
+import meteordevelopment.meteorclient.events.world.TickEvent;
+import meteordevelopment.meteorclient.settings.*;
+import meteordevelopment.meteorclient.systems.friends.Friends;
+import meteordevelopment.meteorclient.systems.modules.Module;
+import meteordevelopment.meteorclient.utils.network.MeteorExecutor;
+import meteordevelopment.orbit.EventHandler;
+import net.minecraft.client.network.AbstractClientPlayerEntity;
+import net.minecraft.entity.EquipmentSlot;
+import net.minecraft.entity.decoration.EndCrystalEntity;
+import net.minecraft.entity.player.PlayerEntity;
+import net.minecraft.item.Items;
+import net.minecraft.util.Pair;
+
+import java.util.*;
+
+public class AutoEz extends Module {
+
+
+ private final SettingGroup sgGeneral = settings.getDefaultGroup();
+
+ private final Setting format = sgGeneral.add(new StringSetting.Builder()
+ .name("message")
+ .description("Send a chat message about killing a player.")
+ .defaultValue("EZ! {name}!")
+ .build()
+ );
+
+ private final Setting minArmor = sgGeneral.add(new IntSetting.Builder()
+ .name("min-armor")
+ .description("Minimum number of armor elements.")
+ .defaultValue(2)
+ .min(0)
+ .max(4)
+ .sliderMin(0)
+ .sliderMax(4)
+ .build()
+ );
+
+ private final Setting ignoreFriends = sgGeneral.add(new BoolSetting.Builder()
+ .name("ignore-friends")
+ .defaultValue(true)
+ .build()
+ );
+
+ ArrayList> players = new ArrayList<>();
+ ArrayList msgplayers = new ArrayList<>();
+
+
+ public AutoEz() {
+ super(MeteorRejectsAddon.CATEGORY, "auto-ez", "Send a chat message after killing a player.");
+ }
+
+ @Override
+ public void onActivate() {
+ players.clear();
+ msgplayers.clear();
+ }
+
+ private boolean checkArmor(PlayerEntity p) {
+
+ int armor = 0;
+
+ if (p.getEquippedStack(EquipmentSlot.HEAD).getItem() != Items.AIR) armor++;
+ if (p.getEquippedStack(EquipmentSlot.CHEST).getItem() != Items.AIR) armor++;
+ if (p.getEquippedStack(EquipmentSlot.LEGS).getItem() != Items.AIR) armor++;
+ if (p.getEquippedStack(EquipmentSlot.FEET).getItem() != Items.AIR) armor++;
+
+ return armor < minArmor.get();
+ }
+
+
+ private boolean checkFriend(PlayerEntity p) {
+ return (ignoreFriends.get() && Friends.get().isFriend(p));
+ }
+
+ @EventHandler
+ private void AttackEntity(AttackEntityEvent e) {
+ if (e.entity instanceof EndCrystalEntity) {
+ List worldplayers = mc.world.getPlayers();
+ for (int x = 0; x < worldplayers.size(); x++) {
+ PlayerEntity p = worldplayers.get(x);
+ if (!p.isSpectator() && !p.isCreative() && !p.isInvulnerable() && !mc.player.equals(p) && !checkArmor(p) && !checkFriend(p) && p.distanceTo(e.entity) < 12) {
+
+ Pair pair = new Pair<>(p.getUuid(), System.currentTimeMillis());
+ int index = -1;
+ for (int w = 0; w < players.size(); w++) {
+ if (players.get(w).getLeft().equals(p.getUuid())) {
+ index = w;
+ break;
+ }
+ }
+ if (index == -1) {
+ players.add(pair);
+ } else {
+ players.set(index, pair);
+ }
+
+ }
+ }
+ }
+
+ if (e.entity instanceof PlayerEntity) {
+ PlayerEntity p = (PlayerEntity) e.entity;
+ if (!p.isSpectator() && !p.isCreative() && !p.isInvulnerable() && !mc.player.equals(p) && !checkArmor(p) && !checkFriend(p)) {
+
+ Pair pair = new Pair<>(p.getUuid(), System.currentTimeMillis());
+ int index = -1;
+ for (int w = 0; w < players.size(); w++) {
+ if (players.get(w).getLeft().equals(p.getUuid())) {
+ index = w;
+ break;
+ }
+ }
+ if (index == -1) {
+ players.add(pair);
+ } else {
+ players.set(index, pair);
+ }
+ }
+ }
+ }
+
+
+ @EventHandler
+ private void onTick(TickEvent.Pre e) {
+ if (players.size() == 0) return;
+
+ ArrayList> newPlayers = players;
+
+ for (int x = 0; x < players.size(); x++) {
+ Pair w = players.get(x);
+ long time = w.getRight();
+
+ PlayerEntity p = mc.world.getPlayerByUuid(w.getLeft());
+
+ if (System.currentTimeMillis() - time > 2000 || p == null) {
+ newPlayers.remove(x);
+ continue;
+ }
+
+ if (p.isDead()) {
+ if (!msgplayers.contains(p.getName().asString()))
+ msgplayers.add(p.getName().asString());
+ newPlayers.remove(x);
+ MeteorExecutor.execute(() -> send());
+ }
+ }
+
+ players = newPlayers;
+ }
+
+ private void send() {
+ int size = msgplayers.size();
+ try {
+ Thread.sleep(500);
+ } catch (Exception e) {
+ }
+ if (size != msgplayers.size()) {
+ MeteorExecutor.execute(() -> send());
+ return;
+ }
+
+ if (msgplayers.size() == 0) return;
+ String message = format.get();
+ message = message.replace("{name}", String.join(", ", msgplayers));
+ mc.player.sendChatMessage(message);
+
+ msgplayers.clear();
+ }
+
+}
\ No newline at end of file