From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?=E3=84=97=E3=84=A0=CB=8B=20=E3=84=91=E3=84=A7=CB=8A?=
 <tsao-chi@the-lingo.org>
Date: Fri, 10 Apr 2020 15:47:15 +0800
Subject: [PATCH] Swaps the predicate order of collision


diff --git a/src/main/java/net/minecraft/world/entity/Entity.java b/src/main/java/net/minecraft/world/entity/Entity.java
index c20787a20cf6f273092d2b7ef0d7d90abcfdf609..6bfd58a34224b22857a647b21c35068f911a3d26 100644
--- a/src/main/java/net/minecraft/world/entity/Entity.java
+++ b/src/main/java/net/minecraft/world/entity/Entity.java
@@ -1723,8 +1723,9 @@ public abstract class Entity implements INamableTileEntity, ICommandListener, ne
     public void pickup(EntityHuman entityhuman) {}
 
     public void collide(Entity entity) {
+        if (entity.noclip || this.noclip) return; // Akarin - Test this earlier
         if (!this.isSameVehicle(entity)) {
-            if (!entity.noclip && !this.noclip) {
+            if (true || !entity.noclip && !this.noclip) { // Akarin - Moved up
                 if (this.world.paperConfig.onlyPlayersCollide && !(entity instanceof EntityPlayer || this instanceof EntityPlayer)) return; // Paper
                 double d0 = entity.locX() - this.locX();
                 double d1 = entity.locZ() - this.locZ();
