Yatopia/patches/server/0007-Per-entity-type-collision-settings.patch

225 lines
11 KiB
Diff
Raw Normal View History

From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
From: MrIvanPlays <ivan@mrivanplays.com>
Date: Thu, 13 Aug 2020 15:14:36 +0300
Subject: [PATCH] Per entity (type) collision settings
Base patch was the only player collisions patch, the original author of was tr7zw <tr7zw@live.de>
but pretty much the whole implementation changed.
This patch implements per entity (type) collision settings with 100% compatibility with bukkit api and
vanilla.
The whole code is based around 1 class, the EntityFilter class. Whole filtering logic is there.
Co-authored-by: tr7zw <tr7zw@live.de>
diff --git a/src/main/java/de/minebench/origami/OrigamiConfig.java b/src/main/java/de/minebench/origami/OrigamiConfig.java
upstream (#421) * Updated Upstream and Sidestream(s) (Paper/Tuinity/Purpur/Airplane/Empirecraft/Origami) Upstream/An Sidestream has released updates that appears to apply and compile correctly This update has NOT been tested by YatopiaMC and as with ANY update, please do your own testing. Paper Changes: d23f8b62e fix? #5222 0f2575de2 fix? #5222 7c3499702 fix? #5218 c8eec830b fix #5217 a235c77ce Adventure 4.5.0 511cd52f0 fix #5214 33d4f608b fix stupid legacy chat garbage a1eebfea9 fix #5212 and #5213 466820160 Upstream Update (#5211) 2a0ee4b65 Add support for hex color codes in console 4e958e229 We're going on an Adventure! (#4842) 1a9735611 Stop loop when flags set to false (#5101) a5928db4a [Auto] Updated Upstream (CraftBukkit) 5fd19303f Call PreCreatureSpawnEvent for more spawn reasons (#5201) Tuinity Changes: 2f298d3 Fix getEntities for ender dragon parts Purpur Changes: 55af107 Updated Upstream (Paper) 8369588 Updated Upstream (Paper & Tuinity) 14906a1 Allow for removing italics from items renamed in the anvil by starting the text with '&r' f599c59 Update silk touch spawners patch to use adventure e17ee14 Update anvil colors patch to use adventure b538cd9 Updated Upstream (Paper) c08f028 Updated Upstream (Tuinity) 90f67f8 Updated Upstream (Paper) c98cc6b Configs for if Wither/Ender Dragon can ride vehicles 2d2e1d4 Fix Wither and Ender Dragon being able to ride boats when they cannot in Paper/Vanilla Airplane Changes: 3fc432c [skip ci] Add Patrons section 4b9dd63 Skip POI finding if stuck in vehicle 1ba97ae Updated Upstream (Tuinity) Empirecraft Changes: 58dee2db Updated Paper 48c1161a Updated Paper Origami Changes: 654b344 Only try to update below hopper if non-ticking is enabled * Updated Upstream and Sidestream(s) (Paper) Upstream/An Sidestream has released updates that appears to apply and compile correctly This update has NOT been tested by YatopiaMC and as with ANY update, please do your own testing. Paper Changes: d5cb9308f fix #5224 * it works, finally * I think everything is fixed now.... * Updated Upstream and Sidestream(s) (Paper/Tuinity/Purpur/Airplane/Empirecraft) Upstream/An Sidestream has released updates that appears to apply and compile correctly This update has NOT been tested by YatopiaMC and as with ANY update, please do your own testing. Paper Changes: 2dd5dccf0 Add config option for displayname in quit message (#5260) 63fe5e4b7 Fix further issues with rgb text pattern matching 89be8185d Don't grab the threads stacktrace when dumping same thread ca4c781d8 [Auto] Updated Upstream (Bukkit/CraftBukkit) 6ae212125 Display name should never be null bf2f8aeaf Add @NotNull to Key in org.bukkit.sound (#5241) 01f9b65f9 Sound can implement Adventure's Sound.Type aa282a1a0 Don't try to deserialize a null string in legacy method 9bcd08cb3 [CI-SKIP] [Auto] Rebuild Patches ea6fd6076 [Auto] Updated Upstream (Bukkit) d9b02e94d Misc thread dumps (#5200) a0093e142 Adventure 4.5.1 afea0e8ab Add links to the Adventure javadocs 846783c8a Fix a couple of typos in the javadoc for Player (#5235) a2574d8f5 Replace usages of LegacyComponentSerializer.legacySection() in Paper-Server with PaperAdventure.LEGACY_SECTION_UXRC (#5233) cae142b85 Enable Hex colors on PaperAdventure.LEGACY_SECTION_UXRC, and use it for sending messages to console command sender (#5230) c1635eabb PlayerDeathEvent#getDeathMessage should provide translation for legacy reasons #5227 3f74af202 Fix Log4J converter not parsing hex without named colors (#5228) Tuinity Changes: 7734ef0 Detail player ticking in watchdog dumps Purpur Changes: 529c260 [ci-skip] Update Gradle to 6.8.3 831b8d7 Updated Upstream (Paper) d3c8fb2 Updated Upstream (Paper) 4602b9b Updated Upstream (Paper) 18f97a9 Make fox breeding cooldown work, add villager breeding cooldown config 868c9ca Updated Upstream (Paper) 274c7b2 Updated Upstream (Paper) Airplane Changes: 9f3cad3 Updated Upstream (Tuinity) Empirecraft Changes: 3e3e8e5e Updated Paper * Updated Upstream and Sidestream(s) (Paper/Purpur/Empirecraft) Upstream/An Sidestream has released updates that appears to apply and compile correctly This update has NOT been tested by YatopiaMC and as with ANY update, please do your own testing. Paper Changes: df4c68b66 fix #5279 - clickable links again ff5ff3af4 Print command usage for /paper entity list at more places (#5282) 5d779a621 Implements PlayerHandshakeEvent#getOriginalSocketAddressHostname and deprecates PlayerHandshakeEvent(String, boolean) in favour of PlayerHandshakeEvent(String, String, boolean) 6fab1ee3a Expose Tracked Players b53a650a5 Clear SyncLoadInfo c02c22fde fix: legacy component serialisation was wiped out Purpur Changes: a5fa038 Updated Upstream (Paper) Empirecraft Changes: 95ac7f87 Updated Paper * Updated Upstream and Sidestream(s) (Paper) Upstream/An Sidestream has released updates that appears to apply and compile correctly This update has NOT been tested by YatopiaMC and as with ANY update, please do your own testing. Paper Changes: 06900aef5 Fix username connecting with no texture being overwritten by usercache (#4970) * Updated Upstream and Sidestream(s) (Paper/Purpur) Upstream/An Sidestream has released updates that appears to apply and compile correctly This update has NOT been tested by YatopiaMC and as with ANY update, please do your own testing. Paper Changes: 9907cedec New chat events for better Adventure support (#5289) Purpur Changes: 34f0e57 Updated Upstream (Paper) * Updated Upstream and Sidestream(s) (Paper/Purpur/Paper) Upstream/An Sidestream has released updates that appears to apply and compile correctly This update has NOT been tested by YatopiaMC and as with ANY update, please do your own testing. Paper Changes: 9907cedec New chat events for better Adventure support (#5289) Purpur Changes: 34f0e57 Updated Upstream (Paper) Paper Changes: 60e92c061 fix #5292 with help from @JRoy * that doesn't need to be there * Updated Upstream and Sidestream(s) (Paper/Purpur/Airplane) Upstream/An Sidestream has released updates that appears to apply and compile correctly This update has NOT been tested by YatopiaMC and as with ANY update, please do your own testing. Paper Changes: 7d56f38ed Do not use the bukkit singleton for the GUI (Fixes #5301) 4c9bdf53a Updated Upstream (Bukkit/CraftBukkit/Spigot) (#5299) 8647bd130 Improve ServerGUI fcc6d3359 Throw proper exception on empty JsonList file 17d2e1291 Fix interact event in adventure mode 964e0bf42 MC-29274: Fix Wither hostility towards players 9e24a5213 Fixed furnace cook-speed multiplier losing precision when calculating cook time c7e42faa3 Do not create unnecessary copies of the passenger list 40881ad67 added tnt minecarts to the tnt height nerf 26be708f4 Remove streams from SensorNearest 5b5989b21 fix nullability of playerlist header/footer, closes #5290 45bc531dd Fix Material#getTranslationKey for Block Materials (#5294) Purpur Changes: 68ff99e Updated Upstream (Paper) Airplane Changes: 80d65be Add more licenses 4d27e5b Use our own bstats, move mcdev fixes * whoops * Updated Upstream and Sidestream(s) (Airplane) Upstream/An Sidestream has released updates that appears to apply and compile correctly This update has NOT been tested by YatopiaMC and as with ANY update, please do your own testing. Airplane Changes: d50d4e1 Rewrite disabling of POI searching when stuck * Updated Upstream and Sidestream(s) (Paper) Upstream/An Sidestream has released updates that appears to apply and compile correctly This update has NOT been tested by YatopiaMC and as with ANY update, please do your own testing. Paper Changes: be1687914 stop firing pressure plate EntityInteractEvent for ignored entities (fixes #4962) * Updated Upstream and Sidestream(s) (Paper/Paper) Upstream/An Sidestream has released updates that appears to apply and compile correctly This update has NOT been tested by YatopiaMC and as with ANY update, please do your own testing. Paper Changes: be1687914 stop firing pressure plate EntityInteractEvent for ignored entities (fixes #4962) Paper Changes: aaef1d5cc fix file conversion 674d8f7f7 Make discovered maps config work in treasure maps from loot tables too * Updated Upstream and Sidestream(s) (Paper) Upstream/An Sidestream has released updates that appears to apply and compile correctly This update has NOT been tested by YatopiaMC and as with ANY update, please do your own testing. Paper Changes: 616b1f3cd consider enchants for destroy speed * Updated Upstream and Sidestream(s) (Paper/Purpur/Airplane) Upstream/An Sidestream has released updates that appears to apply and compile correctly This update has NOT been tested by YatopiaMC and as with ANY update, please do your own testing. Paper Changes: 5b20df6bf added PlayerNameEntityEvent ff9c82444 Add worldborder events Purpur Changes: d93887a Updated Upstream (Paper) Airplane Changes: 02743da Complete /airplane command a2be422 Add /airplane command 3b90baf [SKIP-CI] Use patreon for sponsor button * Updated Upstream and Sidestream(s) (Paper/Tuinity/Purpur) Upstream/An Sidestream has released updates that appears to apply and compile correctly This update has NOT been tested by YatopiaMC and as with ANY update, please do your own testing. Paper Changes: be7cde2c7 [CI-SKIP] Always check PATH for JDK (#5315) Tuinity Changes: 09e1a10 Fix NPE in light exception handler 0ae7c2c Dump even more info for ticking entities 2e4a930 Store changed positions inside field on light engine Purpur Changes: c54e65f Add config for snow on blue ice 2fdd7d4 One Punch Man! (#185) c2bd3de Dont run with scissors (#184) * Updated Upstream and Sidestream(s) (Paper) Upstream/An Sidestream has released updates that appears to apply and compile correctly This update has NOT been tested by YatopiaMC and as with ANY update, please do your own testing. Paper Changes: 54ec85949 Prevent grindstones from overstacking items d7795080c Fix NPE for AIR in meta operations in ItemStack 2e70796c7 [CI-SKIP] Improve documentation of PreCreatureSpawnEvent (#5244) 7bb92e750 [CI-SKIP] Add JavaDoc links to Tag class pointing to custom Paper tags (#5285) 28cd686bf fix per-world difficulty command (#5306) * Updated Upstream and Sidestream(s) (Tuinity/Airplane/Akarin/Empirecraft) Upstream/An Sidestream has released updates that appears to apply and compile correctly This update has NOT been tested by YatopiaMC and as with ANY update, please do your own testing. Tuinity Changes: 71b089f Do not run raytrace logic for AIR Airplane Changes: 815b461 Flare Akarin Changes: 62342de Update README.md dfcbbf5 Update SUPPORT.md 4225fcf Updated Tuinity's Paper 3950fd5 Updated build badge f2d367c Merge branch 'ver/1.15.2' into ver/1.16.4 Empirecraft Changes: 3718e178 Updated Paper * whoops * Updated Upstream and Sidestream(s) (Tuinity) Upstream/An Sidestream has released updates that appears to apply and compile correctly This update has NOT been tested by YatopiaMC and as with ANY update, please do your own testing. Tuinity Changes: f87cb79 Make entity tracker use highest range of passengers * Updated Upstream and Sidestream(s) (Airplane) Upstream/An Sidestream has released updates that appears to apply and compile correctly This update has NOT been tested by YatopiaMC and as with ANY update, please do your own testing. Airplane Changes: dd6a75c Updated Upstream (Tuinity) 48ff3e0 Some tweaks to increase Flare's compatibility * Updated Upstream and Sidestream(s) (Airplane/Airplane) Upstream/An Sidestream has released updates that appears to apply and compile correctly This update has NOT been tested by YatopiaMC and as with ANY update, please do your own testing. Airplane Changes: dd6a75c Updated Upstream (Tuinity) 48ff3e0 Some tweaks to increase Flare's compatibility Airplane Changes: e7fc41a Update to latest version of Flare * Updated Upstream and Sidestream(s) (Airplane) Upstream/An Sidestream has released updates that appears to apply and compile correctly This update has NOT been tested by YatopiaMC and as with ANY update, please do your own testing. Airplane Changes: 86781ec Multithreaded Tracker! * Updated Upstream and Sidestream(s) (Paper) Upstream/An Sidestream has released updates that appears to apply and compile correctly This update has NOT been tested by YatopiaMC and as with ANY update, please do your own testing. Paper Changes: 7f72c4675 Use implementation-provided legacy serializer for events 27a8d99ec Adventure 4.7.0 e65bd35a1 Respect teams in legacy chat name if configured (#5321) b31089a92 Updated Upstream (Bukkit/CraftBukkit/Spigot) (#5325) a52b30814 Fix title swapping fadeIn and stay * Updated Upstream and Sidestream(s) (Paper) Upstream/An Sidestream has released updates that appears to apply and compile correctly This update has NOT been tested by YatopiaMC and as with ANY update, please do your own testing. Paper Changes: e4d8a6279 Implement Keyed on World bcb63dab7 [CI-SKIP] [Auto] Rebuild Patches 48342b06c Allow signs that are inside of the spawn protection to be right clicked to use their run_command tag c229f90c1 Add Block#isValidTool 20e709c1d Add recipe to cook events 2dcf8bff4 legacy formatting will be the death of me f597fea0d legacy formatting is worse than walking around in wet socks * Updated Upstream and Sidestream(s) (Paper/Purpur) Upstream/An Sidestream has released updates that appears to apply and compile correctly This update has NOT been tested by YatopiaMC and as with ANY update, please do your own testing. Paper Changes: e4d8a6279 Implement Keyed on World bcb63dab7 [CI-SKIP] [Auto] Rebuild Patches 48342b06c Allow signs that are inside of the spawn protection to be right clicked to use their run_command tag c229f90c1 Add Block#isValidTool 20e709c1d Add recipe to cook events 2dcf8bff4 legacy formatting will be the death of me f597fea0d legacy formatting is worse than walking around in wet socks Purpur Changes: 63c370c One Punch Man 2: Electric Boogaloo (#187)
2021-03-09 22:11:49 +01:00
index 27599f422be266ad2fdbda49617661801c2c1991..2457b240f3b49dbd5fe0eb603d86418fd65f0205 100644
--- a/src/main/java/de/minebench/origami/OrigamiConfig.java
+++ b/src/main/java/de/minebench/origami/OrigamiConfig.java
upstream (#421) * Updated Upstream and Sidestream(s) (Paper/Tuinity/Purpur/Airplane/Empirecraft/Origami) Upstream/An Sidestream has released updates that appears to apply and compile correctly This update has NOT been tested by YatopiaMC and as with ANY update, please do your own testing. Paper Changes: d23f8b62e fix? #5222 0f2575de2 fix? #5222 7c3499702 fix? #5218 c8eec830b fix #5217 a235c77ce Adventure 4.5.0 511cd52f0 fix #5214 33d4f608b fix stupid legacy chat garbage a1eebfea9 fix #5212 and #5213 466820160 Upstream Update (#5211) 2a0ee4b65 Add support for hex color codes in console 4e958e229 We're going on an Adventure! (#4842) 1a9735611 Stop loop when flags set to false (#5101) a5928db4a [Auto] Updated Upstream (CraftBukkit) 5fd19303f Call PreCreatureSpawnEvent for more spawn reasons (#5201) Tuinity Changes: 2f298d3 Fix getEntities for ender dragon parts Purpur Changes: 55af107 Updated Upstream (Paper) 8369588 Updated Upstream (Paper & Tuinity) 14906a1 Allow for removing italics from items renamed in the anvil by starting the text with '&r' f599c59 Update silk touch spawners patch to use adventure e17ee14 Update anvil colors patch to use adventure b538cd9 Updated Upstream (Paper) c08f028 Updated Upstream (Tuinity) 90f67f8 Updated Upstream (Paper) c98cc6b Configs for if Wither/Ender Dragon can ride vehicles 2d2e1d4 Fix Wither and Ender Dragon being able to ride boats when they cannot in Paper/Vanilla Airplane Changes: 3fc432c [skip ci] Add Patrons section 4b9dd63 Skip POI finding if stuck in vehicle 1ba97ae Updated Upstream (Tuinity) Empirecraft Changes: 58dee2db Updated Paper 48c1161a Updated Paper Origami Changes: 654b344 Only try to update below hopper if non-ticking is enabled * Updated Upstream and Sidestream(s) (Paper) Upstream/An Sidestream has released updates that appears to apply and compile correctly This update has NOT been tested by YatopiaMC and as with ANY update, please do your own testing. Paper Changes: d5cb9308f fix #5224 * it works, finally * I think everything is fixed now.... * Updated Upstream and Sidestream(s) (Paper/Tuinity/Purpur/Airplane/Empirecraft) Upstream/An Sidestream has released updates that appears to apply and compile correctly This update has NOT been tested by YatopiaMC and as with ANY update, please do your own testing. Paper Changes: 2dd5dccf0 Add config option for displayname in quit message (#5260) 63fe5e4b7 Fix further issues with rgb text pattern matching 89be8185d Don't grab the threads stacktrace when dumping same thread ca4c781d8 [Auto] Updated Upstream (Bukkit/CraftBukkit) 6ae212125 Display name should never be null bf2f8aeaf Add @NotNull to Key in org.bukkit.sound (#5241) 01f9b65f9 Sound can implement Adventure's Sound.Type aa282a1a0 Don't try to deserialize a null string in legacy method 9bcd08cb3 [CI-SKIP] [Auto] Rebuild Patches ea6fd6076 [Auto] Updated Upstream (Bukkit) d9b02e94d Misc thread dumps (#5200) a0093e142 Adventure 4.5.1 afea0e8ab Add links to the Adventure javadocs 846783c8a Fix a couple of typos in the javadoc for Player (#5235) a2574d8f5 Replace usages of LegacyComponentSerializer.legacySection() in Paper-Server with PaperAdventure.LEGACY_SECTION_UXRC (#5233) cae142b85 Enable Hex colors on PaperAdventure.LEGACY_SECTION_UXRC, and use it for sending messages to console command sender (#5230) c1635eabb PlayerDeathEvent#getDeathMessage should provide translation for legacy reasons #5227 3f74af202 Fix Log4J converter not parsing hex without named colors (#5228) Tuinity Changes: 7734ef0 Detail player ticking in watchdog dumps Purpur Changes: 529c260 [ci-skip] Update Gradle to 6.8.3 831b8d7 Updated Upstream (Paper) d3c8fb2 Updated Upstream (Paper) 4602b9b Updated Upstream (Paper) 18f97a9 Make fox breeding cooldown work, add villager breeding cooldown config 868c9ca Updated Upstream (Paper) 274c7b2 Updated Upstream (Paper) Airplane Changes: 9f3cad3 Updated Upstream (Tuinity) Empirecraft Changes: 3e3e8e5e Updated Paper * Updated Upstream and Sidestream(s) (Paper/Purpur/Empirecraft) Upstream/An Sidestream has released updates that appears to apply and compile correctly This update has NOT been tested by YatopiaMC and as with ANY update, please do your own testing. Paper Changes: df4c68b66 fix #5279 - clickable links again ff5ff3af4 Print command usage for /paper entity list at more places (#5282) 5d779a621 Implements PlayerHandshakeEvent#getOriginalSocketAddressHostname and deprecates PlayerHandshakeEvent(String, boolean) in favour of PlayerHandshakeEvent(String, String, boolean) 6fab1ee3a Expose Tracked Players b53a650a5 Clear SyncLoadInfo c02c22fde fix: legacy component serialisation was wiped out Purpur Changes: a5fa038 Updated Upstream (Paper) Empirecraft Changes: 95ac7f87 Updated Paper * Updated Upstream and Sidestream(s) (Paper) Upstream/An Sidestream has released updates that appears to apply and compile correctly This update has NOT been tested by YatopiaMC and as with ANY update, please do your own testing. Paper Changes: 06900aef5 Fix username connecting with no texture being overwritten by usercache (#4970) * Updated Upstream and Sidestream(s) (Paper/Purpur) Upstream/An Sidestream has released updates that appears to apply and compile correctly This update has NOT been tested by YatopiaMC and as with ANY update, please do your own testing. Paper Changes: 9907cedec New chat events for better Adventure support (#5289) Purpur Changes: 34f0e57 Updated Upstream (Paper) * Updated Upstream and Sidestream(s) (Paper/Purpur/Paper) Upstream/An Sidestream has released updates that appears to apply and compile correctly This update has NOT been tested by YatopiaMC and as with ANY update, please do your own testing. Paper Changes: 9907cedec New chat events for better Adventure support (#5289) Purpur Changes: 34f0e57 Updated Upstream (Paper) Paper Changes: 60e92c061 fix #5292 with help from @JRoy * that doesn't need to be there * Updated Upstream and Sidestream(s) (Paper/Purpur/Airplane) Upstream/An Sidestream has released updates that appears to apply and compile correctly This update has NOT been tested by YatopiaMC and as with ANY update, please do your own testing. Paper Changes: 7d56f38ed Do not use the bukkit singleton for the GUI (Fixes #5301) 4c9bdf53a Updated Upstream (Bukkit/CraftBukkit/Spigot) (#5299) 8647bd130 Improve ServerGUI fcc6d3359 Throw proper exception on empty JsonList file 17d2e1291 Fix interact event in adventure mode 964e0bf42 MC-29274: Fix Wither hostility towards players 9e24a5213 Fixed furnace cook-speed multiplier losing precision when calculating cook time c7e42faa3 Do not create unnecessary copies of the passenger list 40881ad67 added tnt minecarts to the tnt height nerf 26be708f4 Remove streams from SensorNearest 5b5989b21 fix nullability of playerlist header/footer, closes #5290 45bc531dd Fix Material#getTranslationKey for Block Materials (#5294) Purpur Changes: 68ff99e Updated Upstream (Paper) Airplane Changes: 80d65be Add more licenses 4d27e5b Use our own bstats, move mcdev fixes * whoops * Updated Upstream and Sidestream(s) (Airplane) Upstream/An Sidestream has released updates that appears to apply and compile correctly This update has NOT been tested by YatopiaMC and as with ANY update, please do your own testing. Airplane Changes: d50d4e1 Rewrite disabling of POI searching when stuck * Updated Upstream and Sidestream(s) (Paper) Upstream/An Sidestream has released updates that appears to apply and compile correctly This update has NOT been tested by YatopiaMC and as with ANY update, please do your own testing. Paper Changes: be1687914 stop firing pressure plate EntityInteractEvent for ignored entities (fixes #4962) * Updated Upstream and Sidestream(s) (Paper/Paper) Upstream/An Sidestream has released updates that appears to apply and compile correctly This update has NOT been tested by YatopiaMC and as with ANY update, please do your own testing. Paper Changes: be1687914 stop firing pressure plate EntityInteractEvent for ignored entities (fixes #4962) Paper Changes: aaef1d5cc fix file conversion 674d8f7f7 Make discovered maps config work in treasure maps from loot tables too * Updated Upstream and Sidestream(s) (Paper) Upstream/An Sidestream has released updates that appears to apply and compile correctly This update has NOT been tested by YatopiaMC and as with ANY update, please do your own testing. Paper Changes: 616b1f3cd consider enchants for destroy speed * Updated Upstream and Sidestream(s) (Paper/Purpur/Airplane) Upstream/An Sidestream has released updates that appears to apply and compile correctly This update has NOT been tested by YatopiaMC and as with ANY update, please do your own testing. Paper Changes: 5b20df6bf added PlayerNameEntityEvent ff9c82444 Add worldborder events Purpur Changes: d93887a Updated Upstream (Paper) Airplane Changes: 02743da Complete /airplane command a2be422 Add /airplane command 3b90baf [SKIP-CI] Use patreon for sponsor button * Updated Upstream and Sidestream(s) (Paper/Tuinity/Purpur) Upstream/An Sidestream has released updates that appears to apply and compile correctly This update has NOT been tested by YatopiaMC and as with ANY update, please do your own testing. Paper Changes: be7cde2c7 [CI-SKIP] Always check PATH for JDK (#5315) Tuinity Changes: 09e1a10 Fix NPE in light exception handler 0ae7c2c Dump even more info for ticking entities 2e4a930 Store changed positions inside field on light engine Purpur Changes: c54e65f Add config for snow on blue ice 2fdd7d4 One Punch Man! (#185) c2bd3de Dont run with scissors (#184) * Updated Upstream and Sidestream(s) (Paper) Upstream/An Sidestream has released updates that appears to apply and compile correctly This update has NOT been tested by YatopiaMC and as with ANY update, please do your own testing. Paper Changes: 54ec85949 Prevent grindstones from overstacking items d7795080c Fix NPE for AIR in meta operations in ItemStack 2e70796c7 [CI-SKIP] Improve documentation of PreCreatureSpawnEvent (#5244) 7bb92e750 [CI-SKIP] Add JavaDoc links to Tag class pointing to custom Paper tags (#5285) 28cd686bf fix per-world difficulty command (#5306) * Updated Upstream and Sidestream(s) (Tuinity/Airplane/Akarin/Empirecraft) Upstream/An Sidestream has released updates that appears to apply and compile correctly This update has NOT been tested by YatopiaMC and as with ANY update, please do your own testing. Tuinity Changes: 71b089f Do not run raytrace logic for AIR Airplane Changes: 815b461 Flare Akarin Changes: 62342de Update README.md dfcbbf5 Update SUPPORT.md 4225fcf Updated Tuinity's Paper 3950fd5 Updated build badge f2d367c Merge branch 'ver/1.15.2' into ver/1.16.4 Empirecraft Changes: 3718e178 Updated Paper * whoops * Updated Upstream and Sidestream(s) (Tuinity) Upstream/An Sidestream has released updates that appears to apply and compile correctly This update has NOT been tested by YatopiaMC and as with ANY update, please do your own testing. Tuinity Changes: f87cb79 Make entity tracker use highest range of passengers * Updated Upstream and Sidestream(s) (Airplane) Upstream/An Sidestream has released updates that appears to apply and compile correctly This update has NOT been tested by YatopiaMC and as with ANY update, please do your own testing. Airplane Changes: dd6a75c Updated Upstream (Tuinity) 48ff3e0 Some tweaks to increase Flare's compatibility * Updated Upstream and Sidestream(s) (Airplane/Airplane) Upstream/An Sidestream has released updates that appears to apply and compile correctly This update has NOT been tested by YatopiaMC and as with ANY update, please do your own testing. Airplane Changes: dd6a75c Updated Upstream (Tuinity) 48ff3e0 Some tweaks to increase Flare's compatibility Airplane Changes: e7fc41a Update to latest version of Flare * Updated Upstream and Sidestream(s) (Airplane) Upstream/An Sidestream has released updates that appears to apply and compile correctly This update has NOT been tested by YatopiaMC and as with ANY update, please do your own testing. Airplane Changes: 86781ec Multithreaded Tracker! * Updated Upstream and Sidestream(s) (Paper) Upstream/An Sidestream has released updates that appears to apply and compile correctly This update has NOT been tested by YatopiaMC and as with ANY update, please do your own testing. Paper Changes: 7f72c4675 Use implementation-provided legacy serializer for events 27a8d99ec Adventure 4.7.0 e65bd35a1 Respect teams in legacy chat name if configured (#5321) b31089a92 Updated Upstream (Bukkit/CraftBukkit/Spigot) (#5325) a52b30814 Fix title swapping fadeIn and stay * Updated Upstream and Sidestream(s) (Paper) Upstream/An Sidestream has released updates that appears to apply and compile correctly This update has NOT been tested by YatopiaMC and as with ANY update, please do your own testing. Paper Changes: e4d8a6279 Implement Keyed on World bcb63dab7 [CI-SKIP] [Auto] Rebuild Patches 48342b06c Allow signs that are inside of the spawn protection to be right clicked to use their run_command tag c229f90c1 Add Block#isValidTool 20e709c1d Add recipe to cook events 2dcf8bff4 legacy formatting will be the death of me f597fea0d legacy formatting is worse than walking around in wet socks * Updated Upstream and Sidestream(s) (Paper/Purpur) Upstream/An Sidestream has released updates that appears to apply and compile correctly This update has NOT been tested by YatopiaMC and as with ANY update, please do your own testing. Paper Changes: e4d8a6279 Implement Keyed on World bcb63dab7 [CI-SKIP] [Auto] Rebuild Patches 48342b06c Allow signs that are inside of the spawn protection to be right clicked to use their run_command tag c229f90c1 Add Block#isValidTool 20e709c1d Add recipe to cook events 2dcf8bff4 legacy formatting will be the death of me f597fea0d legacy formatting is worse than walking around in wet socks Purpur Changes: 63c370c One Punch Man 2: Electric Boogaloo (#187)
2021-03-09 22:11:49 +01:00
@@ -135,6 +135,39 @@ public final class OrigamiConfig {
private void pigmenDontTargetUnlessHit() {
pigmenDontTargetUnlessHit = getBoolean("pigmen.dont-target-unless-hit", pigmenDontTargetUnlessHit);
}
+
+ // Yatopia start
+ public boolean playerCollisions = true;
+ public boolean animalCollisions = true;
+ public boolean ambientCollisions = true;
+ public boolean monsterCollisions = true;
+ public boolean villagerCollisions = true;
+ public boolean pillagerCollisions = true;
+ public boolean ironGolemCollisions = true;
+ public boolean miscCollisions = true;
+ public boolean itemCollisions = true;
+ public boolean waterCreatureCollisions = true;
+ public boolean waterAmbientCollisions = true;
+ public boolean allCollisionsEnabled = false;
+ private void specificCollisionSettings() {
+ playerCollisions = getBoolean("collisions.players", playerCollisions);
+ animalCollisions = getBoolean("collisions.animals", animalCollisions);
+ ambientCollisions = getBoolean("collisions.ambient", ambientCollisions);
+ monsterCollisions = getBoolean("collisions.monsters", monsterCollisions);
+ villagerCollisions = getBoolean("collisions.villagers", villagerCollisions);
+ pillagerCollisions = getBoolean("collisions.pillagers", pillagerCollisions);
+ ironGolemCollisions = getBoolean("collisions.iron-golems", ironGolemCollisions);
+ miscCollisions = getBoolean("collisions.misc", miscCollisions);
+ itemCollisions = getBoolean("collisions.items", itemCollisions);
+ waterCreatureCollisions = getBoolean("collisions.water-creature", waterCreatureCollisions);
+ waterAmbientCollisions = getBoolean("collisions.water-ambient", waterAmbientCollisions);
+
+ allCollisionsEnabled =
+ playerCollisions && animalCollisions && ambientCollisions && monsterCollisions && villagerCollisions
+ && pillagerCollisions && ironGolemCollisions && miscCollisions && itemCollisions
+ && waterCreatureCollisions && waterAmbientCollisions;
+ }
+ // Yatopia end
}
}
\ No newline at end of file
diff --git a/src/main/java/net/minecraft/server/EntityLiving.java b/src/main/java/net/minecraft/server/EntityLiving.java
index 424e0a1c31561aa06229a13b68d0cc367f392545..86493a37a1ca5d35e660dadf1d6005af55f67144 100644
--- a/src/main/java/net/minecraft/server/EntityLiving.java
+++ b/src/main/java/net/minecraft/server/EntityLiving.java
upstream (#421) * Updated Upstream and Sidestream(s) (Paper/Tuinity/Purpur/Airplane/Empirecraft/Origami) Upstream/An Sidestream has released updates that appears to apply and compile correctly This update has NOT been tested by YatopiaMC and as with ANY update, please do your own testing. Paper Changes: d23f8b62e fix? #5222 0f2575de2 fix? #5222 7c3499702 fix? #5218 c8eec830b fix #5217 a235c77ce Adventure 4.5.0 511cd52f0 fix #5214 33d4f608b fix stupid legacy chat garbage a1eebfea9 fix #5212 and #5213 466820160 Upstream Update (#5211) 2a0ee4b65 Add support for hex color codes in console 4e958e229 We're going on an Adventure! (#4842) 1a9735611 Stop loop when flags set to false (#5101) a5928db4a [Auto] Updated Upstream (CraftBukkit) 5fd19303f Call PreCreatureSpawnEvent for more spawn reasons (#5201) Tuinity Changes: 2f298d3 Fix getEntities for ender dragon parts Purpur Changes: 55af107 Updated Upstream (Paper) 8369588 Updated Upstream (Paper & Tuinity) 14906a1 Allow for removing italics from items renamed in the anvil by starting the text with '&r' f599c59 Update silk touch spawners patch to use adventure e17ee14 Update anvil colors patch to use adventure b538cd9 Updated Upstream (Paper) c08f028 Updated Upstream (Tuinity) 90f67f8 Updated Upstream (Paper) c98cc6b Configs for if Wither/Ender Dragon can ride vehicles 2d2e1d4 Fix Wither and Ender Dragon being able to ride boats when they cannot in Paper/Vanilla Airplane Changes: 3fc432c [skip ci] Add Patrons section 4b9dd63 Skip POI finding if stuck in vehicle 1ba97ae Updated Upstream (Tuinity) Empirecraft Changes: 58dee2db Updated Paper 48c1161a Updated Paper Origami Changes: 654b344 Only try to update below hopper if non-ticking is enabled * Updated Upstream and Sidestream(s) (Paper) Upstream/An Sidestream has released updates that appears to apply and compile correctly This update has NOT been tested by YatopiaMC and as with ANY update, please do your own testing. Paper Changes: d5cb9308f fix #5224 * it works, finally * I think everything is fixed now.... * Updated Upstream and Sidestream(s) (Paper/Tuinity/Purpur/Airplane/Empirecraft) Upstream/An Sidestream has released updates that appears to apply and compile correctly This update has NOT been tested by YatopiaMC and as with ANY update, please do your own testing. Paper Changes: 2dd5dccf0 Add config option for displayname in quit message (#5260) 63fe5e4b7 Fix further issues with rgb text pattern matching 89be8185d Don't grab the threads stacktrace when dumping same thread ca4c781d8 [Auto] Updated Upstream (Bukkit/CraftBukkit) 6ae212125 Display name should never be null bf2f8aeaf Add @NotNull to Key in org.bukkit.sound (#5241) 01f9b65f9 Sound can implement Adventure's Sound.Type aa282a1a0 Don't try to deserialize a null string in legacy method 9bcd08cb3 [CI-SKIP] [Auto] Rebuild Patches ea6fd6076 [Auto] Updated Upstream (Bukkit) d9b02e94d Misc thread dumps (#5200) a0093e142 Adventure 4.5.1 afea0e8ab Add links to the Adventure javadocs 846783c8a Fix a couple of typos in the javadoc for Player (#5235) a2574d8f5 Replace usages of LegacyComponentSerializer.legacySection() in Paper-Server with PaperAdventure.LEGACY_SECTION_UXRC (#5233) cae142b85 Enable Hex colors on PaperAdventure.LEGACY_SECTION_UXRC, and use it for sending messages to console command sender (#5230) c1635eabb PlayerDeathEvent#getDeathMessage should provide translation for legacy reasons #5227 3f74af202 Fix Log4J converter not parsing hex without named colors (#5228) Tuinity Changes: 7734ef0 Detail player ticking in watchdog dumps Purpur Changes: 529c260 [ci-skip] Update Gradle to 6.8.3 831b8d7 Updated Upstream (Paper) d3c8fb2 Updated Upstream (Paper) 4602b9b Updated Upstream (Paper) 18f97a9 Make fox breeding cooldown work, add villager breeding cooldown config 868c9ca Updated Upstream (Paper) 274c7b2 Updated Upstream (Paper) Airplane Changes: 9f3cad3 Updated Upstream (Tuinity) Empirecraft Changes: 3e3e8e5e Updated Paper * Updated Upstream and Sidestream(s) (Paper/Purpur/Empirecraft) Upstream/An Sidestream has released updates that appears to apply and compile correctly This update has NOT been tested by YatopiaMC and as with ANY update, please do your own testing. Paper Changes: df4c68b66 fix #5279 - clickable links again ff5ff3af4 Print command usage for /paper entity list at more places (#5282) 5d779a621 Implements PlayerHandshakeEvent#getOriginalSocketAddressHostname and deprecates PlayerHandshakeEvent(String, boolean) in favour of PlayerHandshakeEvent(String, String, boolean) 6fab1ee3a Expose Tracked Players b53a650a5 Clear SyncLoadInfo c02c22fde fix: legacy component serialisation was wiped out Purpur Changes: a5fa038 Updated Upstream (Paper) Empirecraft Changes: 95ac7f87 Updated Paper * Updated Upstream and Sidestream(s) (Paper) Upstream/An Sidestream has released updates that appears to apply and compile correctly This update has NOT been tested by YatopiaMC and as with ANY update, please do your own testing. Paper Changes: 06900aef5 Fix username connecting with no texture being overwritten by usercache (#4970) * Updated Upstream and Sidestream(s) (Paper/Purpur) Upstream/An Sidestream has released updates that appears to apply and compile correctly This update has NOT been tested by YatopiaMC and as with ANY update, please do your own testing. Paper Changes: 9907cedec New chat events for better Adventure support (#5289) Purpur Changes: 34f0e57 Updated Upstream (Paper) * Updated Upstream and Sidestream(s) (Paper/Purpur/Paper) Upstream/An Sidestream has released updates that appears to apply and compile correctly This update has NOT been tested by YatopiaMC and as with ANY update, please do your own testing. Paper Changes: 9907cedec New chat events for better Adventure support (#5289) Purpur Changes: 34f0e57 Updated Upstream (Paper) Paper Changes: 60e92c061 fix #5292 with help from @JRoy * that doesn't need to be there * Updated Upstream and Sidestream(s) (Paper/Purpur/Airplane) Upstream/An Sidestream has released updates that appears to apply and compile correctly This update has NOT been tested by YatopiaMC and as with ANY update, please do your own testing. Paper Changes: 7d56f38ed Do not use the bukkit singleton for the GUI (Fixes #5301) 4c9bdf53a Updated Upstream (Bukkit/CraftBukkit/Spigot) (#5299) 8647bd130 Improve ServerGUI fcc6d3359 Throw proper exception on empty JsonList file 17d2e1291 Fix interact event in adventure mode 964e0bf42 MC-29274: Fix Wither hostility towards players 9e24a5213 Fixed furnace cook-speed multiplier losing precision when calculating cook time c7e42faa3 Do not create unnecessary copies of the passenger list 40881ad67 added tnt minecarts to the tnt height nerf 26be708f4 Remove streams from SensorNearest 5b5989b21 fix nullability of playerlist header/footer, closes #5290 45bc531dd Fix Material#getTranslationKey for Block Materials (#5294) Purpur Changes: 68ff99e Updated Upstream (Paper) Airplane Changes: 80d65be Add more licenses 4d27e5b Use our own bstats, move mcdev fixes * whoops * Updated Upstream and Sidestream(s) (Airplane) Upstream/An Sidestream has released updates that appears to apply and compile correctly This update has NOT been tested by YatopiaMC and as with ANY update, please do your own testing. Airplane Changes: d50d4e1 Rewrite disabling of POI searching when stuck * Updated Upstream and Sidestream(s) (Paper) Upstream/An Sidestream has released updates that appears to apply and compile correctly This update has NOT been tested by YatopiaMC and as with ANY update, please do your own testing. Paper Changes: be1687914 stop firing pressure plate EntityInteractEvent for ignored entities (fixes #4962) * Updated Upstream and Sidestream(s) (Paper/Paper) Upstream/An Sidestream has released updates that appears to apply and compile correctly This update has NOT been tested by YatopiaMC and as with ANY update, please do your own testing. Paper Changes: be1687914 stop firing pressure plate EntityInteractEvent for ignored entities (fixes #4962) Paper Changes: aaef1d5cc fix file conversion 674d8f7f7 Make discovered maps config work in treasure maps from loot tables too * Updated Upstream and Sidestream(s) (Paper) Upstream/An Sidestream has released updates that appears to apply and compile correctly This update has NOT been tested by YatopiaMC and as with ANY update, please do your own testing. Paper Changes: 616b1f3cd consider enchants for destroy speed * Updated Upstream and Sidestream(s) (Paper/Purpur/Airplane) Upstream/An Sidestream has released updates that appears to apply and compile correctly This update has NOT been tested by YatopiaMC and as with ANY update, please do your own testing. Paper Changes: 5b20df6bf added PlayerNameEntityEvent ff9c82444 Add worldborder events Purpur Changes: d93887a Updated Upstream (Paper) Airplane Changes: 02743da Complete /airplane command a2be422 Add /airplane command 3b90baf [SKIP-CI] Use patreon for sponsor button * Updated Upstream and Sidestream(s) (Paper/Tuinity/Purpur) Upstream/An Sidestream has released updates that appears to apply and compile correctly This update has NOT been tested by YatopiaMC and as with ANY update, please do your own testing. Paper Changes: be7cde2c7 [CI-SKIP] Always check PATH for JDK (#5315) Tuinity Changes: 09e1a10 Fix NPE in light exception handler 0ae7c2c Dump even more info for ticking entities 2e4a930 Store changed positions inside field on light engine Purpur Changes: c54e65f Add config for snow on blue ice 2fdd7d4 One Punch Man! (#185) c2bd3de Dont run with scissors (#184) * Updated Upstream and Sidestream(s) (Paper) Upstream/An Sidestream has released updates that appears to apply and compile correctly This update has NOT been tested by YatopiaMC and as with ANY update, please do your own testing. Paper Changes: 54ec85949 Prevent grindstones from overstacking items d7795080c Fix NPE for AIR in meta operations in ItemStack 2e70796c7 [CI-SKIP] Improve documentation of PreCreatureSpawnEvent (#5244) 7bb92e750 [CI-SKIP] Add JavaDoc links to Tag class pointing to custom Paper tags (#5285) 28cd686bf fix per-world difficulty command (#5306) * Updated Upstream and Sidestream(s) (Tuinity/Airplane/Akarin/Empirecraft) Upstream/An Sidestream has released updates that appears to apply and compile correctly This update has NOT been tested by YatopiaMC and as with ANY update, please do your own testing. Tuinity Changes: 71b089f Do not run raytrace logic for AIR Airplane Changes: 815b461 Flare Akarin Changes: 62342de Update README.md dfcbbf5 Update SUPPORT.md 4225fcf Updated Tuinity's Paper 3950fd5 Updated build badge f2d367c Merge branch 'ver/1.15.2' into ver/1.16.4 Empirecraft Changes: 3718e178 Updated Paper * whoops * Updated Upstream and Sidestream(s) (Tuinity) Upstream/An Sidestream has released updates that appears to apply and compile correctly This update has NOT been tested by YatopiaMC and as with ANY update, please do your own testing. Tuinity Changes: f87cb79 Make entity tracker use highest range of passengers * Updated Upstream and Sidestream(s) (Airplane) Upstream/An Sidestream has released updates that appears to apply and compile correctly This update has NOT been tested by YatopiaMC and as with ANY update, please do your own testing. Airplane Changes: dd6a75c Updated Upstream (Tuinity) 48ff3e0 Some tweaks to increase Flare's compatibility * Updated Upstream and Sidestream(s) (Airplane/Airplane) Upstream/An Sidestream has released updates that appears to apply and compile correctly This update has NOT been tested by YatopiaMC and as with ANY update, please do your own testing. Airplane Changes: dd6a75c Updated Upstream (Tuinity) 48ff3e0 Some tweaks to increase Flare's compatibility Airplane Changes: e7fc41a Update to latest version of Flare * Updated Upstream and Sidestream(s) (Airplane) Upstream/An Sidestream has released updates that appears to apply and compile correctly This update has NOT been tested by YatopiaMC and as with ANY update, please do your own testing. Airplane Changes: 86781ec Multithreaded Tracker! * Updated Upstream and Sidestream(s) (Paper) Upstream/An Sidestream has released updates that appears to apply and compile correctly This update has NOT been tested by YatopiaMC and as with ANY update, please do your own testing. Paper Changes: 7f72c4675 Use implementation-provided legacy serializer for events 27a8d99ec Adventure 4.7.0 e65bd35a1 Respect teams in legacy chat name if configured (#5321) b31089a92 Updated Upstream (Bukkit/CraftBukkit/Spigot) (#5325) a52b30814 Fix title swapping fadeIn and stay * Updated Upstream and Sidestream(s) (Paper) Upstream/An Sidestream has released updates that appears to apply and compile correctly This update has NOT been tested by YatopiaMC and as with ANY update, please do your own testing. Paper Changes: e4d8a6279 Implement Keyed on World bcb63dab7 [CI-SKIP] [Auto] Rebuild Patches 48342b06c Allow signs that are inside of the spawn protection to be right clicked to use their run_command tag c229f90c1 Add Block#isValidTool 20e709c1d Add recipe to cook events 2dcf8bff4 legacy formatting will be the death of me f597fea0d legacy formatting is worse than walking around in wet socks * Updated Upstream and Sidestream(s) (Paper/Purpur) Upstream/An Sidestream has released updates that appears to apply and compile correctly This update has NOT been tested by YatopiaMC and as with ANY update, please do your own testing. Paper Changes: e4d8a6279 Implement Keyed on World bcb63dab7 [CI-SKIP] [Auto] Rebuild Patches 48342b06c Allow signs that are inside of the spawn protection to be right clicked to use their run_command tag c229f90c1 Add Block#isValidTool 20e709c1d Add recipe to cook events 2dcf8bff4 legacy formatting will be the death of me f597fea0d legacy formatting is worse than walking around in wet socks Purpur Changes: 63c370c One Punch Man 2: Electric Boogaloo (#187)
2021-03-09 22:11:49 +01:00
@@ -2957,7 +2957,7 @@ public abstract class EntityLiving extends Entity {
// Paper - end don't run getEntities if we're not going to use its result
// Tuinity start - reduce memory allocation from collideNearby
List<Entity> list = com.tuinity.tuinity.util.CachedLists.getTempGetEntitiesList();
Updated Upstream and Sidestream(s) (Tuinity/EMC/Purpur/AirplaneLite) Upstream/An Sidestream has released updates that appears to apply and compile correctly This update has NOT been tested by YatopiaMC and as with ANY update, please do your own testing. Tuinity Changes: de6c239 Merge branch 'master' of https://github.com/Spottedleaf/Tuinity into ver/1.16.4 cc34294 Copy passenger list in enderTeleportTo 8c5d945 Improve abnormal server shutdown process 0ae7e67 Do not load chunks during a crash report 0fbcf78 Fix small issue with handling of step height in colliding 4722d59 Updated Upstream (Paper) EMC Changes: 1d0cc885 Updated Paper Purpur Changes: 3776636 Implement TPSBar 258ae07 Updated Upstream (Paper) c51e391 Add back --zero-commit ef0b93d Rebuild patches 0ae637c Option for chests to open even with a solid block on top ce4ab83 Phantom flames on swoop 5e2d697 Don't apply potion effects on load either bbe5a58 Don't apply potion effect to wolves during worldgen 06c4f83 Get max health attribute even closer to vanilla 41f23a7 Updated Upstream (Tuinity) 787e35c Get max health equations for horse types closer to vanilla aed0867 Fix CraftSound backwards compatibility dfabf51 Start of the configurable base attributes a1fa221 Updated Upstream (Paper) 0174fcd Configurable default wolf collar color (#116) da48e0a [ci-skip] fix comment in last patch 65fde28 Add option for using milk to cure wolves 38efb4d Use a ThreadLocal SimpleDateFormat for CriterionProgress deserialization 4e6e1ff Revert "Fix concurrency issue with CriterionProgress deserialization" 55bde37 Fix concurrency issue with CriterionProgress deserialization b4be9ab Small fixes to rabid wolves patch 5943978 Updated Upstream (Paper) ac34692 Chance to spawn wolves as "rabid" (#114) 1b40f87 Updated Upstream (Paper) 69790ff Alphabetize in-game /plugins list AirplaneLite Changes: 76810f1 Updated Upstream (Tuinity)
2020-12-13 16:18:57 +01:00
- this.world.getEntities(this, this.getBoundingBox(), IEntitySelector.pushable(this, world.paperConfig.fixClimbingBypassingCrammingRule), list); // Paper - fix climbing bypassing cramming rule
+ this.world.getEntities(this, this.getBoundingBox(), org.yatopiamc.yatopia.server.EntityFilter.getFilter(this, world.paperConfig.fixClimbingBypassingCrammingRule), list); // Paper - fix climbing bypassing cramming rule // Yatopia
try {
// Tuinity end - reduce memory allocation from collideNearby
diff --git a/src/main/java/org/yatopiamc/yatopia/server/EntityFilter.java b/src/main/java/org/yatopiamc/yatopia/server/EntityFilter.java
new file mode 100644
index 0000000000000000000000000000000000000000..cb6bab603dcb20521868a482c872f65dd5733c15
--- /dev/null
+++ b/src/main/java/org/yatopiamc/yatopia/server/EntityFilter.java
@@ -0,0 +1,145 @@
+package org.yatopiamc.yatopia.server;
+
+import de.minebench.origami.OrigamiConfig;
+import java.util.function.Predicate;
+import net.minecraft.server.Entity;
+import net.minecraft.server.EntityTypes;
+import net.minecraft.server.EnumCreatureType;
+import net.minecraft.server.IEntitySelector;
+import net.minecraft.server.ScoreboardTeamBase;
+
+public class EntityFilter {
+
+ public static Predicate<Entity> getFilter(Entity entity, boolean ignoreClimbing) {
+ OrigamiConfig.WorldConfig config = entity.world.origamiConfig;
+ if (config.allCollisionsEnabled) {
+ return IEntitySelector.pushable(entity, ignoreClimbing);
+ }
+
+ ScoreboardTeamBase entityTeam = entity.getScoreboardTeam();
+ ScoreboardTeamBase.EnumTeamPush entityTeamPush =
+ entityTeam == null ?
+ ScoreboardTeamBase.EnumTeamPush.ALWAYS :
+ entityTeam.getCollisionRule();
+
+ if (entityTeamPush == ScoreboardTeamBase.EnumTeamPush.NEVER || entity.world.isClientSide
+ || entity.isSpectator()) {
2020-08-21 14:44:47 +02:00
+ return tested -> false;
+ }
+
+ Predicate<Entity> ret = (tested) -> {
+ if (!tested.isCollidable(ignoreClimbing) || !tested.canCollideWith(entity) || !entity.canCollideWith(tested)) {
+ return false;
+ }
+ ScoreboardTeamBase testedTeam = tested.getScoreboardTeam();
+ ScoreboardTeamBase.EnumTeamPush testedPush =
+ testedTeam == null ?
+ ScoreboardTeamBase.EnumTeamPush.ALWAYS :
+ testedTeam.getCollisionRule();
+
+ if (testedPush == ScoreboardTeamBase.EnumTeamPush.NEVER) {
+ return false;
+ }
+ if (testedTeam != null && entityTeam != null) {
+ // see IEntitySelector#a(Entity)
+ // copied from there, although for me this logic doesn't seem quite right
+ boolean ally = entityTeam.isAlly(testedTeam);
+
+ if ((entityTeamPush == ScoreboardTeamBase.EnumTeamPush.PUSH_OWN_TEAM ||
+ testedPush == ScoreboardTeamBase.EnumTeamPush.PUSH_OWN_TEAM) && ally) {
+ return false;
+ }
+ return (entityTeamPush != ScoreboardTeamBase.EnumTeamPush.PUSH_OTHER_TEAMS
+ && testedPush != ScoreboardTeamBase.EnumTeamPush.PUSH_OTHER_TEAMS) || ally;
+ } else {
+ return testedPush == ScoreboardTeamBase.EnumTeamPush.ALWAYS &&
+ entityTeamPush == ScoreboardTeamBase.EnumTeamPush.ALWAYS;
+ }
+ };
+
+ ret = ret.and((tested) -> {
+ if (tested.getEntityType() == EntityTypes.PLAYER && config.playerCollisions) {
+ return true;
+ }
+ if (tested.getEntityType().getEnumCreatureType() == EnumCreatureType.CREATURE && config.animalCollisions) {
+ return true;
+ }
+ if (tested.getEntityType().getEnumCreatureType() == EnumCreatureType.AMBIENT && config.ambientCollisions) {
+ return true;
+ }
+ if (tested.getEntityType().getEnumCreatureType() == EnumCreatureType.MONSTER) {
+ if (config.monsterCollisions) {
+ if (config.pillagerCollisions) {
+ return true;
+ } else {
+ return tested.getEntityType() != EntityTypes.PILLAGER;
+ }
+ } else {
+ if (config.pillagerCollisions) {
+ return tested.getEntityType() == EntityTypes.PILLAGER;
+ } else {
+ return false;
+ }
+ }
+ }
+ if (tested.getEntityType().getEnumCreatureType() == EnumCreatureType.MISC) {
+ if (config.miscCollisions) {
+ if (config.villagerCollisions && config.ironGolemCollisions && config.itemCollisions) {
+ return true;
+ }
+ if (!config.villagerCollisions) {
+ if (tested.getEntityType() == EntityTypes.VILLAGER) {
+ return false;
+ }
+ }
+ if (!config.ironGolemCollisions) {
+ if (tested.getEntityType() == EntityTypes.IRON_GOLEM) {
+ return false;
+ }
+ }
+ if (!config.itemCollisions) {
+ if (tested.getEntityType() == EntityTypes.ITEM) {
+ return false;
+ }
+ }
+ return true;
+ } else {
+ if (config.villagerCollisions && config.ironGolemCollisions && config.itemCollisions) {
+ if (tested.getEntityType() == EntityTypes.VILLAGER) {
+ return true;
+ }
+ if (tested.getEntityType() == EntityTypes.IRON_GOLEM) {
+ return true;
+ }
+ if (tested.getEntityType() == EntityTypes.ITEM) {
+ return true;
+ }
+ }
+ if (config.villagerCollisions && config.ironGolemCollisions) {
+ if (tested.getEntityType() == EntityTypes.VILLAGER) {
+ return true;
+ }
+ if (tested.getEntityType() == EntityTypes.IRON_GOLEM) {
+ return true;
+ }
+ }
+ if (config.villagerCollisions) {
+ if (tested.getEntityType() == EntityTypes.VILLAGER) {
+ return true;
+ }
+ }
+ return false;
+ }
+ }
+ if (tested.getEntityType().getEnumCreatureType() == EnumCreatureType.WATER_CREATURE && config.waterCreatureCollisions) {
+ return true;
+ }
+ if (tested.getEntityType().getEnumCreatureType() == EnumCreatureType.WATER_AMBIENT && config.waterAmbientCollisions) {
+ return true;
+ }
+ return false;
+ });
+
+ return ret;
+ }
+}