mirror of
https://github.com/YatopiaMC/Yatopia.git
synced 2024-11-24 03:25:31 +01:00
Drop Unsafe UUID & Proxy Data Patches (#357)
This commit is contained in:
parent
188fc31d79
commit
aebd71f724
1
.gitignore
vendored
1
.gitignore
vendored
@ -60,3 +60,4 @@ yatopia-launcher.jar
|
||||
last-paper
|
||||
!upstreamConfig/*
|
||||
!upstreamCommits/*
|
||||
testserver/
|
||||
|
68
PATCHES.md
68
PATCHES.md
@ -8,25 +8,24 @@ # Patches
|
||||
|
||||
| Side | Patch | Author | CoAuthors |
|
||||
| ----- | ------------- |:-------------:| -----:|
|
||||
| api | AFK API | William Blake Galbreath | |
|
||||
| server | AFK API | William Blake Galbreath | |
|
||||
| api | AFK API | William Blake Galbreath | |
|
||||
| server | Ability to re-add farmland mechanics from Alpha | Yive | |
|
||||
| server | Actually unload POI data | Spottedleaf | |
|
||||
| server | Add /ping command | William Blake Galbreath | |
|
||||
| server | Add 5 second tps average in /tps | William Blake Galbreath | |
|
||||
| api | Add ChatColor.getById | Aikar | |
|
||||
| api | Add EntityTeleportHinderedEvent | Mariell Hoversholm | |
|
||||
| server | Add EntityTeleportHinderedEvent | Mariell Hoversholm | |
|
||||
| api | Add GameProfileLookupEvent | tr7zw | |
|
||||
| api | Add EntityTeleportHinderedEvent | Mariell Hoversholm | |
|
||||
| server | Add GameProfileLookupEvent | tr7zw | |
|
||||
| api | Add GameProfileLookupEvent | tr7zw | |
|
||||
| server | Add IntelliJ IDEA runnable | Zoe | |
|
||||
| server | Add JsonList save timings | Ivan Pekov | |
|
||||
| api | Add NBT API as a first-class lib | tr7zw | |
|
||||
| server | Add NBT API as a first-class lib | tr7zw | |
|
||||
| api | Add StructureGenerateEvent | Nahuel | Mariell Hoversholm |
|
||||
| api | Add NBT API as a first-class lib | tr7zw | |
|
||||
| server | Add StructureGenerateEvent | Nahuel | Mariell Hoversholm |
|
||||
| api | Add StructureGenerateEvent | Nahuel | Mariell Hoversholm |
|
||||
| server | Add Velocity natives for encryption and compression | Andrew Steinborn | |
|
||||
| server | Add a special case for floodgate and offline uuids | Ivan Pekov | |
|
||||
| server | Add adjustable breeding cooldown to config | montlikadani | |
|
||||
| server | Add allow water in end world option | William Blake Galbreath | |
|
||||
| server | Add boat fall damage config | BillyGalbreath | |
|
||||
@ -34,12 +33,12 @@ # Patches
|
||||
| server | Add component util | William Blake Galbreath | |
|
||||
| server | Add config for allowing Endermen to despawn even while | jmp | |
|
||||
| server | Add configurable snowball damage | BillyGalbreath | |
|
||||
| api | Add critical hit check to EntityDamagedByEntityEvent | BillyGalbreath | |
|
||||
| server | Add critical hit check to EntityDamagedByEntityEvent | BillyGalbreath | |
|
||||
| api | Add critical hit check to EntityDamagedByEntityEvent | BillyGalbreath | |
|
||||
| server | Add demo command | BillyGalbreath | |
|
||||
| server | Add enderman and creeper griefing controls | William Blake Galbreath | |
|
||||
| api | Add last tick time API | Ivan Pekov | tr7zw |
|
||||
| server | Add last tick time API | Ivan Pekov | tr7zw |
|
||||
| api | Add last tick time API | Ivan Pekov | tr7zw |
|
||||
| server | Add mobGriefing bypass to everything affected | Encode42 | |
|
||||
| server | Add no-tick block list | William Blake Galbreath | |
|
||||
| server | Add nspt command | Ivan Pekov | |
|
||||
@ -49,16 +48,16 @@ # Patches
|
||||
| server | Add option to disable dolphin treasure searching | William Blake Galbreath | |
|
||||
| server | Add option to disable mushroom block updates | William Blake Galbreath | |
|
||||
| server | Add option to disable observer clocks | Phoenix616 | |
|
||||
| api | Add option to disable zombie aggressiveness towards villagers | nitricspace | |
|
||||
| server | Add option to disable zombie aggressiveness towards villagers | nitricspace | |
|
||||
| api | Add option to disable zombie aggressiveness towards villagers | nitricspace | |
|
||||
| server | Add option to set armorstand step height | William Blake Galbreath | |
|
||||
| server | Add option to teleport to spawn if outside world border | William Blake Galbreath | |
|
||||
| server | Add packet limiter config | Spottedleaf | |
|
||||
| server | Add permission for F3+N debug | William Blake Galbreath | |
|
||||
| server | Add phantom spawning options | William Blake Galbreath | |
|
||||
| server | Add player death exp control options | William Blake Galbreath | |
|
||||
| api | Add predicate to recipe's ExactChoice ingredient | William Blake Galbreath | |
|
||||
| server | Add predicate to recipe's ExactChoice ingredient | William Blake Galbreath | |
|
||||
| api | Add predicate to recipe's ExactChoice ingredient | William Blake Galbreath | |
|
||||
| server | Add soft async catcher | Spottedleaf | |
|
||||
| server | Add tablist suffix option for afk | montlikadani | |
|
||||
| server | Add timings for Behavior | Phoenix616 | |
|
||||
@ -66,8 +65,8 @@ # Patches
|
||||
| server | Add twisting and weeping vines growth rates | BillyGalbreath | |
|
||||
| server | Add vindicator johnny spawn chance | William Blake Galbreath | |
|
||||
| server | Add wither skeleton takes wither damage option | William Blake Galbreath | |
|
||||
| api | Advancement API | William Blake Galbreath | |
|
||||
| server | Advancement API | William Blake Galbreath | |
|
||||
| api | Advancement API | William Blake Galbreath | |
|
||||
| server | AirplaneLite MC Dev Fixes | Paul Sauve | |
|
||||
| server | Allow Entities to be removed from a world while ticking | Spottedleaf | |
|
||||
| server | Allow anvil colors | William Blake Galbreath | |
|
||||
@ -81,8 +80,8 @@ # Patches
|
||||
| server | Allow toggling special MobSpawners per world | jmp | |
|
||||
| api | Alphabetize in-game /plugins list | BillyGalbreath | |
|
||||
| server | Alternative Keepalive Handling | William Blake Galbreath | |
|
||||
| api | Anvil API | William Blake Galbreath | |
|
||||
| server | Anvil API | William Blake Galbreath | |
|
||||
| api | Anvil API | William Blake Galbreath | |
|
||||
| server | Apply display names from item forms of entities to entities | jmp | |
|
||||
| server | Arrows should not reset despawn counter | William Blake Galbreath | |
|
||||
| server | Attempt to recalculate regionfile header if it is corrupt | Spottedleaf | |
|
||||
@ -91,8 +90,8 @@ # Patches
|
||||
| server | Brand changes | Spottedleaf | |
|
||||
| server | Brandings | YatopiaMC | |
|
||||
| server | Breedable Polar Bears | William Blake Galbreath | |
|
||||
| api | Bring back server name | William Blake Galbreath | |
|
||||
| server | Bring back server name | William Blake Galbreath | |
|
||||
| api | Bring back server name | William Blake Galbreath | |
|
||||
| server | Cat spawning options | William Blake Galbreath | |
|
||||
| server | Change writes to use NORMAL priority rather than LOW | Spottedleaf | |
|
||||
| server | Changeable Mob Left Handed Chance | Ben Kerllenevich | |
|
||||
@ -149,12 +148,12 @@ # Patches
|
||||
| server | Don't trigger Lootable Refresh for non player interaction | Aikar | |
|
||||
| server | Don't wake up entities when damage event is cancelled | Phoenix616 | |
|
||||
| server | Dont send useless entity packets | William Blake Galbreath | |
|
||||
| api | DragonEggPlaceEvent | William Blake Galbreath | |
|
||||
| server | DragonEggPlaceEvent | William Blake Galbreath | |
|
||||
| api | DragonEggPlaceEvent | William Blake Galbreath | |
|
||||
| server | Duplicate paper's vanilla scoreboard colors patch to sync | William Blake Galbreath | |
|
||||
| server | EMC - Configurable disable give dropping | Aikar | |
|
||||
| api | EMC - MonsterEggSpawnEvent | Aikar | |
|
||||
| server | EMC - MonsterEggSpawnEvent | Aikar | |
|
||||
| api | EMC - MonsterEggSpawnEvent | Aikar | |
|
||||
| server | End gateway should check if entity can use portal | William Blake Galbreath | |
|
||||
| server | Ender dragon always drop egg | William Blake Galbreath | |
|
||||
| server | Ender dragon always drop full exp | William Blake Galbreath | |
|
||||
@ -162,8 +161,8 @@ # Patches
|
||||
| server | Entities can use portals configuration | William Blake Galbreath | |
|
||||
| server | Entities pick up loot bypass mob-griefing gamerule | William Blake Galbreath | |
|
||||
| server | Entity lifespan | William Blake Galbreath | |
|
||||
| api | EntityMoveEvent | William Blake Galbreath | |
|
||||
| server | EntityMoveEvent | William Blake Galbreath | |
|
||||
| api | EntityMoveEvent | William Blake Galbreath | |
|
||||
| server | Execute chunk tasks mid-tick | Spottedleaf | |
|
||||
| api | ExecuteCommandEvent | William Blake Galbreath | |
|
||||
| server | Farmland trampling changes | Mariell Hoversholm | |
|
||||
@ -181,8 +180,8 @@ # Patches
|
||||
| server | Fix swamp hut cat generation deadlock | Spottedleaf | |
|
||||
| server | Fix the dead lagging the server | William Blake Galbreath | |
|
||||
| server | Fix vanilla command permission handler | William Blake Galbreath | |
|
||||
| api | Full netherite armor grants fire resistance | BillyGalbreath | |
|
||||
| server | Full netherite armor grants fire resistance | BillyGalbreath | |
|
||||
| api | Full netherite armor grants fire resistance | BillyGalbreath | |
|
||||
| server | Giants AI settings | William Blake Galbreath | |
|
||||
| server | Global Eula file | tr7zw | |
|
||||
| server | Heavily optimize furnance fuel and recipe lookups | tr7zw | Mykyta Komarn |
|
||||
@ -205,24 +204,24 @@ # Patches
|
||||
| server | Infinite fuel furnace | William Blake Galbreath | |
|
||||
| server | Infinity No Arrows | Zoe | |
|
||||
| server | Infinity bow settings | William Blake Galbreath | |
|
||||
| api | Item entity immunities | William Blake Galbreath | |
|
||||
| server | Item entity immunities | William Blake Galbreath | |
|
||||
| api | Item entity immunities | William Blake Galbreath | |
|
||||
| server | Item stuck sleep config | tr7zw | |
|
||||
| api | ItemFactory#getMonsterEgg | William Blake Galbreath | |
|
||||
| server | ItemFactory#getMonsterEgg | William Blake Galbreath | |
|
||||
| api | ItemFactory#getMonsterEgg | William Blake Galbreath | |
|
||||
| api | ItemStack convenience methods | William Blake Galbreath | |
|
||||
| server | Kelp weeping and twisting vines configurable max growth age | BillyGalbreath | |
|
||||
| server | Lag compensate block breaking | Spottedleaf | |
|
||||
| api | Lagging threshold | William Blake Galbreath | |
|
||||
| server | Lagging threshold | William Blake Galbreath | |
|
||||
| api | Left handed API | BillyGalbreath | |
|
||||
| api | Lagging threshold | William Blake Galbreath | |
|
||||
| server | Left handed API | BillyGalbreath | |
|
||||
| api | LivingEntity safeFallDistance | William Blake Galbreath | |
|
||||
| api | Left handed API | BillyGalbreath | |
|
||||
| server | LivingEntity safeFallDistance | William Blake Galbreath | |
|
||||
| api | LivingEntity#broadcastItemBreak | William Blake Galbreath | |
|
||||
| api | LivingEntity safeFallDistance | William Blake Galbreath | |
|
||||
| server | LivingEntity#broadcastItemBreak | William Blake Galbreath | |
|
||||
| api | Llama API | William Blake Galbreath | |
|
||||
| api | LivingEntity#broadcastItemBreak | William Blake Galbreath | |
|
||||
| server | Llama API | William Blake Galbreath | |
|
||||
| api | Llama API | William Blake Galbreath | |
|
||||
| server | Lobotomize stuck villagers | BillyGalbreath | |
|
||||
| server | Logger settings (suppressing pointless logs) | William Blake Galbreath | |
|
||||
| server | MC-147659 - Fix non black cats spawning in swamp huts | William Blake Galbreath | |
|
||||
@ -235,8 +234,8 @@ # Patches
|
||||
| server | Make sure inlined getChunkAt has inlined logic for loaded | Spottedleaf | |
|
||||
| server | Manually inline methods in BlockPosition | Spottedleaf | |
|
||||
| server | Mending mends most damages equipment first | William Blake Galbreath | |
|
||||
| api | Modify POM | YatopiaMC | |
|
||||
| server | Modify POM | YatopiaMC | |
|
||||
| api | Modify POM | YatopiaMC | |
|
||||
| server | Modify default configs | tr7zw | |
|
||||
| server | Movement options for armour stands | Mariell Hoversholm | |
|
||||
| server | Multi-Threaded Server Ticking Vanilla | Spottedleaf | |
|
||||
@ -277,18 +276,18 @@ # Patches
|
||||
| server | Per entity (type) collision settings | MrIvanPlays | tr7zw |
|
||||
| server | Persistent TileEntity Lore and DisplayName | jmp | |
|
||||
| server | Phantom flames on swoop | BillyGalbreath | |
|
||||
| api | Phantoms attracted to crystals and crystals shoot phantoms | William Blake Galbreath | |
|
||||
| server | Phantoms attracted to crystals and crystals shoot phantoms | William Blake Galbreath | |
|
||||
| api | Phantoms attracted to crystals and crystals shoot phantoms | William Blake Galbreath | |
|
||||
| server | Phantoms burn in light | draycia | |
|
||||
| server | Pigs give saddle back | William Blake Galbreath | |
|
||||
| api | Player invulnerabilities | William Blake Galbreath | |
|
||||
| server | Player invulnerabilities | William Blake Galbreath | |
|
||||
| api | PlayerAttackEntityEvent | Ivan Pekov | |
|
||||
| api | Player invulnerabilities | William Blake Galbreath | |
|
||||
| server | PlayerAttackEntityEvent | Ivan Pekov | |
|
||||
| api | PlayerBookTooLargeEvent | BillyGalbreath | |
|
||||
| api | PlayerAttackEntityEvent | Ivan Pekov | |
|
||||
| server | PlayerBookTooLargeEvent | BillyGalbreath | |
|
||||
| api | PlayerSetSpawnerTypeWithEggEvent | William Blake Galbreath | |
|
||||
| api | PlayerBookTooLargeEvent | BillyGalbreath | |
|
||||
| server | PlayerSetSpawnerTypeWithEggEvent | William Blake Galbreath | |
|
||||
| api | PlayerSetSpawnerTypeWithEggEvent | William Blake Galbreath | |
|
||||
| server | Players should not cram to death | William Blake Galbreath | |
|
||||
| server | Populator seed controls | Spottedleaf | |
|
||||
| server | Port hydrogen | JellySquid | |
|
||||
@ -297,10 +296,8 @@ # Patches
|
||||
| server | Prevent long map entry creation in light engine | Spottedleaf | |
|
||||
| server | Prevent unload() calls removing tickets for sync loads | Spottedleaf | |
|
||||
| server | Properly handle cancellation of projectile hit event | Spottedleaf | |
|
||||
| api | ProxyForwardDataEvent | Ivan Pekov | |
|
||||
| server | ProxyForwardDataEvent | Ivan Pekov | |
|
||||
| api | Purpur config files | William Blake Galbreath | |
|
||||
| server | Purpur config files | William Blake Galbreath | |
|
||||
| api | Purpur config files | William Blake Galbreath | |
|
||||
| server | Queue lighting update only once | Paul Sauve | |
|
||||
| server | Rabbit naturally spawn toast and killer | William Blake Galbreath | |
|
||||
| api | Rabid Wolf API | Encode42 | |
|
||||
@ -320,8 +317,8 @@ # Patches
|
||||
| server | Revert getChunkAt(Async) retaining chunks for long periods of | Spottedleaf | |
|
||||
| server | Rework PlayerChunk main thread checks | Spottedleaf | |
|
||||
| server | Rewrite the light engine | Spottedleaf | |
|
||||
| api | Ridables | William Blake Galbreath | |
|
||||
| server | Ridables | William Blake Galbreath | |
|
||||
| api | Ridables | William Blake Galbreath | |
|
||||
| server | Separate lookup locking from state access in UserCache | Spottedleaf | |
|
||||
| server | Set name visible when using a Name Tag on an Armor Stand | jmp | |
|
||||
| server | Short enderman height | William Blake Galbreath | |
|
||||
@ -348,15 +345,14 @@ # Patches
|
||||
| server | Timings stuff | William Blake Galbreath | |
|
||||
| server | Toggle for Zombified Piglin death always counting as player | jmp | |
|
||||
| server | Totems work in inventory | draycia | |
|
||||
| api | Tuinity POM Changes | Spottedleaf | |
|
||||
| server | Tuinity POM Changes | Spottedleaf | |
|
||||
| api | Tuinity POM Changes | Spottedleaf | |
|
||||
| server | Tuinity Server Config | Spottedleaf | |
|
||||
| api | Tuinity config | Spottedleaf | |
|
||||
| server | Tulips change fox type | William Blake Galbreath | |
|
||||
| server | Update version fetcher repo | JRoy | |
|
||||
| server | Use configured height for nether surface builders | William Blake Galbreath | |
|
||||
| server | Use entity ticking chunk map for entity tracker | Spottedleaf | |
|
||||
| server | Use offline uuids if we need to | Ivan Pekov | |
|
||||
| server | Use unmodifiableMap instead of making copy | Paul Sauve | |
|
||||
| server | Util patch | Spottedleaf | |
|
||||
| server | Utilities | YatopiaMC | Mykyta Komarnytskyy, Ivan Pekov |
|
||||
|
@ -1,137 +0,0 @@
|
||||
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
|
||||
From: Ivan Pekov <ivan@mrivanplays.com>
|
||||
Date: Wed, 9 Sep 2020 16:14:00 +0300
|
||||
Subject: [PATCH] ProxyForwardDataEvent
|
||||
|
||||
|
||||
diff --git a/src/main/java/net/yatopia/api/event/ProxyForwardDataEvent.java b/src/main/java/net/yatopia/api/event/ProxyForwardDataEvent.java
|
||||
new file mode 100644
|
||||
index 0000000000000000000000000000000000000000..d3780d965bdd491425a92bf5e554f7def6e0ecf0
|
||||
--- /dev/null
|
||||
+++ b/src/main/java/net/yatopia/api/event/ProxyForwardDataEvent.java
|
||||
@@ -0,0 +1,125 @@
|
||||
+package net.yatopia.api.event;
|
||||
+
|
||||
+import com.google.common.base.Preconditions;
|
||||
+import com.google.common.collect.ImmutableList;
|
||||
+import com.mojang.authlib.properties.Property;
|
||||
+import java.util.List;
|
||||
+import java.util.UUID;
|
||||
+import org.bukkit.event.Event;
|
||||
+import org.bukkit.event.HandlerList;
|
||||
+import org.jetbrains.annotations.NotNull;
|
||||
+import org.jetbrains.annotations.Nullable;
|
||||
+
|
||||
+/**
|
||||
+ * Called when a proxy such as BungeeCord or Velocity forwards player data to the server.
|
||||
+ */
|
||||
+public class ProxyForwardDataEvent extends Event {
|
||||
+
|
||||
+ private final UUID uuid;
|
||||
+ private final String name;
|
||||
+ private List<Property> properties;
|
||||
+
|
||||
+ public ProxyForwardDataEvent(boolean async, @NotNull UUID uuid, @NotNull String name, @NotNull List<Property> properties) {
|
||||
+ super(async);
|
||||
+ this.uuid = uuid;
|
||||
+ this.name = name;
|
||||
+ this.properties = properties;
|
||||
+ }
|
||||
+
|
||||
+ /**
|
||||
+ * Returns the unique id of the profile forwarded.
|
||||
+ *
|
||||
+ * @return unique id
|
||||
+ */
|
||||
+ @NotNull
|
||||
+ public UUID getUuid() {
|
||||
+ return uuid;
|
||||
+ }
|
||||
+
|
||||
+ /**
|
||||
+ * Returns the name of the profile forwarded.
|
||||
+ *
|
||||
+ * @return name
|
||||
+ */
|
||||
+ @NotNull
|
||||
+ public String getName() {
|
||||
+ return name;
|
||||
+ }
|
||||
+
|
||||
+ /**
|
||||
+ * Returns an immutable copy of the forwarded properties.
|
||||
+ * <p>
|
||||
+ * If there were no properties, it would return an empty list.
|
||||
+ *
|
||||
+ * @return properties
|
||||
+ */
|
||||
+ @NotNull
|
||||
+ public List<Property> getProperties() {
|
||||
+ return ImmutableList.copyOf(properties);
|
||||
+ }
|
||||
+
|
||||
+ /**
|
||||
+ * Adds a property to this game profile. If the property already exists, it overrides it.
|
||||
+ *
|
||||
+ * @param property property
|
||||
+ */
|
||||
+ public void addProperty(@NotNull Property property) {
|
||||
+ Preconditions.checkNotNull(property, "property");
|
||||
+ if (hasProperty(property.getName())) {
|
||||
+ removeProperty(property.getName());
|
||||
+ }
|
||||
+ properties.add(property);
|
||||
+ }
|
||||
+
|
||||
+ /**
|
||||
+ * Returns the property with the specified name.
|
||||
+ *
|
||||
+ * @param property the property's name you want to get
|
||||
+ * @return property if present
|
||||
+ */
|
||||
+ @Nullable
|
||||
+ public Property getProperty(@NotNull String property) {
|
||||
+ Preconditions.checkNotNull(property, "property");
|
||||
+ for (Property prop : properties) {
|
||||
+ if (prop.getName().equalsIgnoreCase(property)) {
|
||||
+ return prop;
|
||||
+ }
|
||||
+ }
|
||||
+ return null;
|
||||
+ }
|
||||
+
|
||||
+ /**
|
||||
+ * Returns whether or not there's a property with the specified name.
|
||||
+ *
|
||||
+ * @param property the name of the property you want to check if exists
|
||||
+ * @return boolean value
|
||||
+ */
|
||||
+ public boolean hasProperty(@NotNull String property) {
|
||||
+ return getProperty(property) != null;
|
||||
+ }
|
||||
+
|
||||
+ /**
|
||||
+ * Removes the specified property if present
|
||||
+ *
|
||||
+ * @param property the property's name you want to remove
|
||||
+ */
|
||||
+ public void removeProperty(@NotNull String property) {
|
||||
+ properties.removeIf(prop -> prop.getName().equalsIgnoreCase(property));
|
||||
+ }
|
||||
+
|
||||
+ /**
|
||||
+ * Removes the specified property if present
|
||||
+ *
|
||||
+ * @param property the property you want to remove
|
||||
+ */
|
||||
+ public void removeProperty(@NotNull Property property) {
|
||||
+ Preconditions.checkNotNull(property, "property");
|
||||
+ properties.remove(property);
|
||||
+ }
|
||||
+
|
||||
+ //
|
||||
+ private static final HandlerList handlers = new HandlerList();
|
||||
+ @NotNull @Override public HandlerList getHandlers() { return handlers; }
|
||||
+ @NotNull public static HandlerList getHandlerList() { return handlers; }
|
||||
+ //
|
||||
+}
|
@ -1,105 +0,0 @@
|
||||
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
|
||||
From: Ivan Pekov <ivan@mrivanplays.com>
|
||||
Date: Mon, 17 Aug 2020 19:16:39 +0300
|
||||
Subject: [PATCH] Use offline uuids if we need to
|
||||
|
||||
By default, the user cache falls back to requests to mojang if it wasn't able to find a player.
|
||||
This is completely fine if we're running an online mode server, however proxies require the
|
||||
server to run in offline mode, which makes mojang's default commands to not work properly
|
||||
( say if we want to ban a player which has never joined the server, he wouldn't get banned )
|
||||
|
||||
What our change does is make use of already existing options in paper.yml and spigot.yml to check
|
||||
if the server is running behind a proxy and if the proxy is running online mode. If admins fail to
|
||||
configure it properly, their mistake!
|
||||
|
||||
Furthermore, my research on the issue shows that this behavior also can be seen if we're not running
|
||||
behind a proxy at all! I try to whitelist any of my staff, and they get whitelisted with online mode
|
||||
UUIDs, while they should get whitelisted with offline mode ones.
|
||||
|
||||
Thanks to Gabriele C <sgdc3.mail@gmail.com> for pointing this issue to us, as he said paper doesn't
|
||||
have any interest fixing this.
|
||||
|
||||
diff --git a/src/main/java/net/minecraft/server/EntityHuman.java b/src/main/java/net/minecraft/server/EntityHuman.java
|
||||
index 91c2756a8708a2f4154905baec20b9ae484fea0d..a191693b754724f2a5a3cd2a39e5b2171bddb6a8 100644
|
||||
--- a/src/main/java/net/minecraft/server/EntityHuman.java
|
||||
+++ b/src/main/java/net/minecraft/server/EntityHuman.java
|
||||
@@ -1954,7 +1954,7 @@ public abstract class EntityHuman extends EntityLiving {
|
||||
public static UUID a(GameProfile gameprofile) {
|
||||
UUID uuid = gameprofile.getId();
|
||||
|
||||
- if (uuid == null) {
|
||||
+ if (org.yatopiamc.yatopia.server.YatopiaConfig.shouldUseOfflineUUID() || uuid == null) { // Yatopia
|
||||
uuid = getOfflineUUID(gameprofile.getName());
|
||||
}
|
||||
|
||||
diff --git a/src/main/java/net/minecraft/server/UserCache.java b/src/main/java/net/minecraft/server/UserCache.java
|
||||
index 1496c43fc9487caf6ddb3782a9d1c79ef6ca1e94..d3ffbd5247b3a9b2a046d6696c959e834dff7ef4 100644
|
||||
--- a/src/main/java/net/minecraft/server/UserCache.java
|
||||
+++ b/src/main/java/net/minecraft/server/UserCache.java
|
||||
@@ -82,6 +82,11 @@ public class UserCache {
|
||||
|
||||
@Nullable
|
||||
private static GameProfile a(GameProfileRepository gameprofilerepository, String s) {
|
||||
+ // Yatopia start
|
||||
+ if (org.yatopiamc.yatopia.server.YatopiaConfig.shouldUseOfflineUUID() && org.yatopiamc.yatopia.server.YatopiaConfig.isProxy()) {
|
||||
+ return new GameProfile(EntityHuman.getOfflineUUID(s), s);
|
||||
+ }
|
||||
+ // Yatopia end
|
||||
final AtomicReference<GameProfile> atomicreference = new AtomicReference();
|
||||
ProfileLookupCallback profilelookupcallback = new ProfileLookupCallback() {
|
||||
public void onProfileLookupSucceeded(GameProfile gameprofile) {
|
||||
@@ -102,6 +107,15 @@ public class UserCache {
|
||||
gameprofile = new GameProfile(uuid, s);
|
||||
}
|
||||
|
||||
+ // Yatopia start
|
||||
+ if (org.yatopiamc.yatopia.server.YatopiaConfig.shouldUseOfflineUUID() && !org.yatopiamc.yatopia.server.YatopiaConfig.isProxy()) {
|
||||
+ GameProfile newProfile = new GameProfile(EntityHuman.getOfflineUUID(s), s);
|
||||
+ if (gameprofile == null || gameprofile.getProperties().isEmpty()) return newProfile;
|
||||
+ newProfile.getProperties().putAll(gameprofile.getProperties());
|
||||
+ return newProfile;
|
||||
+ }
|
||||
+ // Yatopia end
|
||||
+
|
||||
return gameprofile;
|
||||
}
|
||||
|
||||
diff --git a/src/main/java/org/yatopiamc/yatopia/server/YatopiaConfig.java b/src/main/java/org/yatopiamc/yatopia/server/YatopiaConfig.java
|
||||
index 003a024da8ab877895244ff9e4e4ff62288622ff..eb5f7172829037862c20bb7527badaa589f50cc7 100644
|
||||
--- a/src/main/java/org/yatopiamc/yatopia/server/YatopiaConfig.java
|
||||
+++ b/src/main/java/org/yatopiamc/yatopia/server/YatopiaConfig.java
|
||||
@@ -10,6 +10,7 @@ import java.util.List;
|
||||
import java.util.concurrent.TimeUnit;
|
||||
import java.util.logging.Level;
|
||||
import java.util.regex.Pattern;
|
||||
+import net.minecraft.server.MinecraftServer;
|
||||
import org.bukkit.Bukkit;
|
||||
import org.bukkit.configuration.InvalidConfigurationException;
|
||||
import org.bukkit.configuration.file.YamlConfiguration;
|
||||
@@ -211,4 +212,26 @@ public class YatopiaConfig {
|
||||
private static void fixFallDistance() {
|
||||
fixFallDistance = getBoolean("settings.fixFallDistance", false);
|
||||
}
|
||||
+
|
||||
+ public static boolean shouldUseOfflineUUID() {
|
||||
+ if (org.spigotmc.SpigotConfig.bungee && com.destroystokyo.paper.PaperConfig.bungeeOnlineMode) {
|
||||
+ return false;
|
||||
+ }
|
||||
+ if (org.spigotmc.SpigotConfig.bungee) {
|
||||
+ return true;
|
||||
+ }
|
||||
+ if (com.destroystokyo.paper.PaperConfig.velocitySupport &&
|
||||
+ com.destroystokyo.paper.PaperConfig.velocityOnlineMode) {
|
||||
+ return false;
|
||||
+ }
|
||||
+ if (com.destroystokyo.paper.PaperConfig.velocitySupport) {
|
||||
+ return true;
|
||||
+ }
|
||||
+
|
||||
+ return !MinecraftServer.getServer().getOnlineMode();
|
||||
+ }
|
||||
+
|
||||
+ public static boolean isProxy() {
|
||||
+ return org.spigotmc.SpigotConfig.bungee || com.destroystokyo.paper.PaperConfig.velocitySupport;
|
||||
+ }
|
||||
}
|
@ -1,96 +0,0 @@
|
||||
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
|
||||
From: Ivan Pekov <ivan@mrivanplays.com>
|
||||
Date: Wed, 9 Sep 2020 16:15:22 +0300
|
||||
Subject: [PATCH] ProxyForwardDataEvent
|
||||
|
||||
|
||||
diff --git a/src/main/java/net/minecraft/server/HandshakeListener.java b/src/main/java/net/minecraft/server/HandshakeListener.java
|
||||
index 79f726ef43e70b8882890007146df199824d14e3..edb7a9de55718d9c860c82580aca78c3d254ad57 100644
|
||||
--- a/src/main/java/net/minecraft/server/HandshakeListener.java
|
||||
+++ b/src/main/java/net/minecraft/server/HandshakeListener.java
|
||||
@@ -92,6 +92,7 @@ public class HandshakeListener implements PacketHandshakingInListener {
|
||||
if (event.getSocketAddressHostname() != null) this.getNetworkManager().socketAddress = new java.net.InetSocketAddress(event.getSocketAddressHostname(), ((java.net.InetSocketAddress) this.getNetworkManager().getSocketAddress()).getPort());
|
||||
this.getNetworkManager().spoofedUUID = event.getUniqueId();
|
||||
this.getNetworkManager().spoofedProfile = gson.fromJson(event.getPropertiesJson(), com.mojang.authlib.properties.Property[].class);
|
||||
+ if (proxyLogicEnabled) c.proxyProfileSpoof = true; // Yatopia
|
||||
handledByEvent = true; // Hooray, we did it!
|
||||
}
|
||||
}
|
||||
@@ -105,6 +106,7 @@ public class HandshakeListener implements PacketHandshakingInListener {
|
||||
packethandshakinginsetprotocol.hostname = split[0];
|
||||
c.socketAddress = new java.net.InetSocketAddress(split[1], ((java.net.InetSocketAddress) c.getSocketAddress()).getPort());
|
||||
c.spoofedUUID = com.mojang.util.UUIDTypeAdapter.fromString( split[2] );
|
||||
+ c.proxyProfileSpoof = true; // Yatopia
|
||||
} else
|
||||
{
|
||||
ChatMessage chatmessage = new ChatMessage("If you wish to use IP forwarding, please enable it in your BungeeCord config as well!");
|
||||
diff --git a/src/main/java/net/minecraft/server/LoginListener.java b/src/main/java/net/minecraft/server/LoginListener.java
|
||||
index d987483255195c0bde713a92676baced1eaff2b3..bb45fc83d81948c84bc721961474e5e806ab404a 100644
|
||||
--- a/src/main/java/net/minecraft/server/LoginListener.java
|
||||
+++ b/src/main/java/net/minecraft/server/LoginListener.java
|
||||
@@ -125,6 +125,23 @@ public class LoginListener implements PacketLoginInListener {
|
||||
|
||||
this.i = new GameProfile( uuid, this.i.getName() );
|
||||
|
||||
+ // Yatopia start - situate this around an event
|
||||
+ if (networkManager.proxyProfileSpoof) {
|
||||
+ java.util.List<com.mojang.authlib.properties.Property> properties;
|
||||
+ if (networkManager.spoofedProfile != null) {
|
||||
+ properties = new java.util.ArrayList<>(Arrays.asList(networkManager.spoofedProfile));
|
||||
+ } else {
|
||||
+ properties = java.util.Collections.emptyList();
|
||||
+ }
|
||||
+ net.yatopia.api.event.ProxyForwardDataEvent event = new net.yatopia.api.event.ProxyForwardDataEvent(
|
||||
+ !org.bukkit.Bukkit.isPrimaryThread(), uuid, i.getName(), properties
|
||||
+ );
|
||||
+ if (event.callEvent()) {
|
||||
+ for (com.mojang.authlib.properties.Property property : event.getProperties()) {
|
||||
+ i.getProperties().put(property.getName(), property);
|
||||
+ }
|
||||
+ }
|
||||
+ } else {
|
||||
if (networkManager.spoofedProfile != null)
|
||||
{
|
||||
for ( com.mojang.authlib.properties.Property property : networkManager.spoofedProfile )
|
||||
@@ -132,6 +149,7 @@ public class LoginListener implements PacketLoginInListener {
|
||||
this.i.getProperties().put( property.getName(), property );
|
||||
}
|
||||
}
|
||||
+ } // Yatopia end
|
||||
}
|
||||
// Spigot end
|
||||
|
||||
@@ -365,11 +383,20 @@ public class LoginListener implements PacketLoginInListener {
|
||||
|
||||
this.networkManager.socketAddress = new java.net.InetSocketAddress(com.destroystokyo.paper.proxy.VelocityProxy.readAddress(buf), ((java.net.InetSocketAddress) this.networkManager.getSocketAddress()).getPort());
|
||||
|
||||
- this.setGameProfile(com.destroystokyo.paper.proxy.VelocityProxy.createProfile(buf));
|
||||
+ // Yatopia start - how about spoofed uuid and profile
|
||||
+ //this.setGameProfile(com.destroystokyo.paper.proxy.VelocityProxy.createProfile(buf));
|
||||
+ com.mojang.authlib.GameProfile profile = com.destroystokyo.paper.proxy.VelocityProxy.createProfile(buf);
|
||||
+ networkManager.spoofedUUID = profile.getId();
|
||||
+ if (!profile.getProperties().isEmpty()) {
|
||||
+ networkManager.spoofedProfile = profile.getProperties().values().toArray(new com.mojang.authlib.properties.Property[0]);
|
||||
+ }
|
||||
+ networkManager.proxyProfileSpoof = true;
|
||||
+ // Yatopia end
|
||||
|
||||
// Proceed with login
|
||||
authenticatorPool.execute(() -> {
|
||||
try {
|
||||
+ initUUID(); // Yatopia
|
||||
new LoginHandler().fireEvents();
|
||||
} catch (Exception ex) {
|
||||
disconnect("Failed to verify username!");
|
||||
diff --git a/src/main/java/net/minecraft/server/NetworkManager.java b/src/main/java/net/minecraft/server/NetworkManager.java
|
||||
index 548c62a838848a9183e14f91b21a9dc309d8a3b2..08227ab446d6332af76491a063653f7f13f43560 100644
|
||||
--- a/src/main/java/net/minecraft/server/NetworkManager.java
|
||||
+++ b/src/main/java/net/minecraft/server/NetworkManager.java
|
||||
@@ -51,6 +51,7 @@ public class NetworkManager extends SimpleChannelInboundHandler<Packet<?>> {
|
||||
// Spigot Start
|
||||
public java.util.UUID spoofedUUID;
|
||||
public com.mojang.authlib.properties.Property[] spoofedProfile;
|
||||
+ public boolean proxyProfileSpoof = false; // Yatopia
|
||||
public boolean preparing = true;
|
||||
// Spigot End
|
||||
private PacketListener packetListener;
|
@ -111,7 +111,7 @@ index 893d2c1c74ed28dcdb83b71762ccdcbfd50a8f9d..107091a4cae0e4eaba93f69ae91239ab
|
||||
|
||||
private static int b(CommandListenerWrapper commandlistenerwrapper) throws CommandSyntaxException {
|
||||
diff --git a/src/main/java/net/minecraft/server/EntityHuman.java b/src/main/java/net/minecraft/server/EntityHuman.java
|
||||
index a191693b754724f2a5a3cd2a39e5b2171bddb6a8..434cfd0a224a8dc1f13809edcd4b98f0c7aa0899 100644
|
||||
index 91c2756a8708a2f4154905baec20b9ae484fea0d..7a6d5521e42a31723b4f006d0fcf618fd42050e4 100644
|
||||
--- a/src/main/java/net/minecraft/server/EntityHuman.java
|
||||
+++ b/src/main/java/net/minecraft/server/EntityHuman.java
|
||||
@@ -78,6 +78,7 @@ public abstract class EntityHuman extends EntityLiving {
|
@ -6,7 +6,7 @@ Subject: [PATCH] PlayerAttackEntityEvent
|
||||
Added per request
|
||||
|
||||
diff --git a/src/main/java/net/minecraft/server/EntityHuman.java b/src/main/java/net/minecraft/server/EntityHuman.java
|
||||
index 434cfd0a224a8dc1f13809edcd4b98f0c7aa0899..d2b3db34d69269a220185d203bc1232042a9e437 100644
|
||||
index 7a6d5521e42a31723b4f006d0fcf618fd42050e4..9689ebc0089f7586bad4ce4958cd792ddde50334 100644
|
||||
--- a/src/main/java/net/minecraft/server/EntityHuman.java
|
||||
+++ b/src/main/java/net/minecraft/server/EntityHuman.java
|
||||
@@ -1071,12 +1071,50 @@ public abstract class EntityHuman extends EntityLiving {
|
@ -7,7 +7,7 @@ If only 1 non-daemon thread is left to run when the server is shutting down, the
|
||||
This patche ensures that executors make daemon threads.
|
||||
|
||||
diff --git a/src/main/java/net/minecraft/server/LoginListener.java b/src/main/java/net/minecraft/server/LoginListener.java
|
||||
index bb45fc83d81948c84bc721961474e5e806ab404a..847122f76f6d951b24b22c86276140e02aaf37d6 100644
|
||||
index d987483255195c0bde713a92676baced1eaff2b3..e081905af0abbad0cf9011075a6380ef652924a7 100644
|
||||
--- a/src/main/java/net/minecraft/server/LoginListener.java
|
||||
+++ b/src/main/java/net/minecraft/server/LoginListener.java
|
||||
@@ -108,7 +108,11 @@ public class LoginListener implements PacketLoginInListener {
|
@ -94,10 +94,10 @@ index 0000000000000000000000000000000000000000..e6eaa07c57e04bbfba9e4aa8e0e939f8
|
||||
+ }
|
||||
+}
|
||||
diff --git a/src/main/java/org/yatopiamc/yatopia/server/YatopiaConfig.java b/src/main/java/org/yatopiamc/yatopia/server/YatopiaConfig.java
|
||||
index eb5f7172829037862c20bb7527badaa589f50cc7..b358aacce7b8e1282d721ae1077b888239ec6b39 100644
|
||||
index 003a024da8ab877895244ff9e4e4ff62288622ff..f6a8f3c4e92455eff806978d503751b6723ea858 100644
|
||||
--- a/src/main/java/org/yatopiamc/yatopia/server/YatopiaConfig.java
|
||||
+++ b/src/main/java/org/yatopiamc/yatopia/server/YatopiaConfig.java
|
||||
@@ -6,12 +6,15 @@ import java.io.IOException;
|
||||
@@ -6,11 +6,14 @@ import java.io.IOException;
|
||||
import java.lang.reflect.InvocationTargetException;
|
||||
import java.lang.reflect.Method;
|
||||
import java.lang.reflect.Modifier;
|
||||
@ -107,13 +107,12 @@ index eb5f7172829037862c20bb7527badaa589f50cc7..b358aacce7b8e1282d721ae1077b8882
|
||||
import java.util.concurrent.TimeUnit;
|
||||
import java.util.logging.Level;
|
||||
import java.util.regex.Pattern;
|
||||
import net.minecraft.server.MinecraftServer;
|
||||
import org.bukkit.Bukkit;
|
||||
+import org.bukkit.command.Command;
|
||||
import org.bukkit.configuration.InvalidConfigurationException;
|
||||
import org.bukkit.configuration.file.YamlConfiguration;
|
||||
|
||||
@@ -25,6 +28,7 @@ public class YatopiaConfig {
|
||||
@@ -24,6 +27,7 @@ public class YatopiaConfig {
|
||||
public static YamlConfiguration config;
|
||||
public static int version; // since we're remapping sidestreams' configs we need this public
|
||||
public static boolean verbose; // since we're remapping sidestreams' configs we need this public
|
||||
@ -121,7 +120,7 @@ index eb5f7172829037862c20bb7527badaa589f50cc7..b358aacce7b8e1282d721ae1077b8882
|
||||
/*========================================================================*/
|
||||
|
||||
public static void init(File configFile) {
|
||||
@@ -40,6 +44,8 @@ public class YatopiaConfig {
|
||||
@@ -39,6 +43,8 @@ public class YatopiaConfig {
|
||||
config.options().header(HEADER);
|
||||
config.options().copyDefaults(true);
|
||||
verbose = getBoolean("verbose", false);
|
||||
@ -130,13 +129,13 @@ index eb5f7172829037862c20bb7527badaa589f50cc7..b358aacce7b8e1282d721ae1077b8882
|
||||
|
||||
version = getInt("config-version", 1);
|
||||
set("config-version", 1);
|
||||
@@ -47,6 +53,12 @@ public class YatopiaConfig {
|
||||
@@ -46,6 +52,12 @@ public class YatopiaConfig {
|
||||
readConfig(YatopiaConfig.class, null);
|
||||
}
|
||||
|
||||
+ public static void registerCommands() {
|
||||
+ for (Map.Entry<String, Command> entry : commands.entrySet()) {
|
||||
+ MinecraftServer.getServer().server.getCommandMap().register(entry.getKey(), "Yatopia", entry.getValue());
|
||||
+ net.minecraft.server.MinecraftServer.getServer().server.getCommandMap().register(entry.getKey(), "Yatopia", entry.getValue());
|
||||
+ }
|
||||
+ }
|
||||
+
|
@ -27,12 +27,12 @@ index 41f4528cbcf5e5f98b1fba1cd6bae0987405cc21..540d16cb01e70fe46bce3a3bb4cdfd18
|
||||
this.disconnect(com.destroystokyo.paper.PaperConfig.flyingKickVehicleMessage); // Paper - use configurable kick message
|
||||
return;
|
||||
diff --git a/src/main/java/org/yatopiamc/yatopia/server/YatopiaConfig.java b/src/main/java/org/yatopiamc/yatopia/server/YatopiaConfig.java
|
||||
index b358aacce7b8e1282d721ae1077b888239ec6b39..26bd1fc5b348cc16ca29f66eead2ca42bd4258a8 100644
|
||||
index f6a8f3c4e92455eff806978d503751b6723ea858..81ab5afa7bd397266d2afe77426d2e629529aa1a 100644
|
||||
--- a/src/main/java/org/yatopiamc/yatopia/server/YatopiaConfig.java
|
||||
+++ b/src/main/java/org/yatopiamc/yatopia/server/YatopiaConfig.java
|
||||
@@ -246,4 +246,11 @@ public class YatopiaConfig {
|
||||
public static boolean isProxy() {
|
||||
return org.spigotmc.SpigotConfig.bungee || com.destroystokyo.paper.PaperConfig.velocitySupport;
|
||||
@@ -223,4 +223,11 @@ public class YatopiaConfig {
|
||||
private static void fixFallDistance() {
|
||||
fixFallDistance = getBoolean("settings.fixFallDistance", false);
|
||||
}
|
||||
+
|
||||
+ public static boolean checkFlying = true;
|
@ -8,7 +8,7 @@ In vanilla, statistics that count time spent for an action (i.e. time played or
|
||||
With an interval of 20, this patch saves roughly 3ms per tick on a server w/ 80 players online.
|
||||
|
||||
diff --git a/src/main/java/net/minecraft/server/EntityHuman.java b/src/main/java/net/minecraft/server/EntityHuman.java
|
||||
index d2b3db34d69269a220185d203bc1232042a9e437..c9f490e4e4e7a5a3a9ad99f864ff8fb2acc5b5b2 100644
|
||||
index 9689ebc0089f7586bad4ce4958cd792ddde50334..aa54fcc5ae3b33587278df2a3fa089af38b5552d 100644
|
||||
--- a/src/main/java/net/minecraft/server/EntityHuman.java
|
||||
+++ b/src/main/java/net/minecraft/server/EntityHuman.java
|
||||
@@ -175,18 +175,23 @@ public abstract class EntityHuman extends EntityLiving {
|
||||
@ -40,10 +40,10 @@ index d2b3db34d69269a220185d203bc1232042a9e437..c9f490e4e4e7a5a3a9ad99f864ff8fb2
|
||||
|
||||
int i = 29999999;
|
||||
diff --git a/src/main/java/org/yatopiamc/yatopia/server/YatopiaConfig.java b/src/main/java/org/yatopiamc/yatopia/server/YatopiaConfig.java
|
||||
index 26bd1fc5b348cc16ca29f66eead2ca42bd4258a8..2e08558eef23d40b3a704250dfe12bb7f4b660f3 100644
|
||||
index 81ab5afa7bd397266d2afe77426d2e629529aa1a..045ace1444b4db8fa5fab09f970de7a696c56ab8 100644
|
||||
--- a/src/main/java/org/yatopiamc/yatopia/server/YatopiaConfig.java
|
||||
+++ b/src/main/java/org/yatopiamc/yatopia/server/YatopiaConfig.java
|
||||
@@ -253,4 +253,9 @@ public class YatopiaConfig {
|
||||
@@ -230,4 +230,9 @@ public class YatopiaConfig {
|
||||
checkFlying = getBoolean("settings.checks.flight", checkFlying);
|
||||
checkVehicleFlying = getBoolean("settings.checks.vehicle-flight", checkVehicleFlying);
|
||||
}
|
@ -27,10 +27,10 @@ index 7596eaf605bf73dd44c06b66bcc0e5a36242fe7a..46813a0a65977233acdabb225552e8cf
|
||||
}
|
||||
|
||||
diff --git a/src/main/java/org/yatopiamc/yatopia/server/YatopiaConfig.java b/src/main/java/org/yatopiamc/yatopia/server/YatopiaConfig.java
|
||||
index 2e08558eef23d40b3a704250dfe12bb7f4b660f3..5578f5784a87019d3f091173b25b5ec1cc059fd6 100644
|
||||
index 045ace1444b4db8fa5fab09f970de7a696c56ab8..2100ac9c1f4d0df75347579cc5d58255b77ec252 100644
|
||||
--- a/src/main/java/org/yatopiamc/yatopia/server/YatopiaConfig.java
|
||||
+++ b/src/main/java/org/yatopiamc/yatopia/server/YatopiaConfig.java
|
||||
@@ -258,4 +258,14 @@ public class YatopiaConfig {
|
||||
@@ -235,4 +235,14 @@ public class YatopiaConfig {
|
||||
private static void intervals() {
|
||||
playerTimeStatisticsInterval = Math.max(1, getInt("settings.intervals.player-time-statistics", 1));
|
||||
}
|
@ -21,10 +21,10 @@ index 9a6bb7b6cb4d4aabae6f7e7915f993e4ebd6f77f..954462353d35c06b0568c56669e31d0a
|
||||
worldserver.hasRidableMoveEvent = net.pl3x.purpur.event.entity.RidableMoveEvent.getHandlerList().getRegisteredListeners().length > 0; // Purpur
|
||||
TileEntityHopper.skipHopperEvents = worldserver.paperConfig.disableHopperMoveEvents || org.bukkit.event.inventory.InventoryMoveItemEvent.getHandlerList().getRegisteredListeners().length == 0; // Paper
|
||||
diff --git a/src/main/java/org/yatopiamc/yatopia/server/YatopiaConfig.java b/src/main/java/org/yatopiamc/yatopia/server/YatopiaConfig.java
|
||||
index 5578f5784a87019d3f091173b25b5ec1cc059fd6..4f99aa4b578333795296da2424f38aae65a808a3 100644
|
||||
index 2100ac9c1f4d0df75347579cc5d58255b77ec252..4d6410401457afe91457ae72df14bf687e9c62fd 100644
|
||||
--- a/src/main/java/org/yatopiamc/yatopia/server/YatopiaConfig.java
|
||||
+++ b/src/main/java/org/yatopiamc/yatopia/server/YatopiaConfig.java
|
||||
@@ -268,4 +268,8 @@ public class YatopiaConfig {
|
||||
@@ -245,4 +245,8 @@ public class YatopiaConfig {
|
||||
criterionTriggerTick = getBoolean("settings.criterion-triggers.tick", true);
|
||||
}
|
||||
|
@ -5,7 +5,7 @@ Subject: [PATCH] Infinity No Arrows
|
||||
|
||||
|
||||
diff --git a/src/main/java/net/minecraft/server/EntityHuman.java b/src/main/java/net/minecraft/server/EntityHuman.java
|
||||
index c9f490e4e4e7a5a3a9ad99f864ff8fb2acc5b5b2..b3c76fcf65b028e4aa53699ee93a5c3ba59981f2 100644
|
||||
index aa54fcc5ae3b33587278df2a3fa089af38b5552d..81cb94e3a4fd26bba47d96bbd35be110765934c3 100644
|
||||
--- a/src/main/java/net/minecraft/server/EntityHuman.java
|
||||
+++ b/src/main/java/net/minecraft/server/EntityHuman.java
|
||||
@@ -2179,7 +2179,7 @@ public abstract class EntityHuman extends EntityLiving {
|
@ -45,10 +45,10 @@ index 540d16cb01e70fe46bce3a3bb4cdfd1841b3d155..4b0b4c2c9af4c0a43b30f84a87cb1539
|
||||
PlayerConnection.LOGGER.warn("{} moved wrongly! ({})", this.player.getDisplayName().getString(), d11); // Purpur
|
||||
}
|
||||
diff --git a/src/main/java/org/yatopiamc/yatopia/server/YatopiaConfig.java b/src/main/java/org/yatopiamc/yatopia/server/YatopiaConfig.java
|
||||
index 4f99aa4b578333795296da2424f38aae65a808a3..34b5a087d1d5d84b193adbd756add060a2d49354 100644
|
||||
index 4d6410401457afe91457ae72df14bf687e9c62fd..78decc9c7483f42acb65f342f12fc1d644440822 100644
|
||||
--- a/src/main/java/org/yatopiamc/yatopia/server/YatopiaConfig.java
|
||||
+++ b/src/main/java/org/yatopiamc/yatopia/server/YatopiaConfig.java
|
||||
@@ -272,4 +272,15 @@ public class YatopiaConfig {
|
||||
@@ -249,4 +249,15 @@ public class YatopiaConfig {
|
||||
private static void fireBlockPhysicsEvent() {
|
||||
fireBlockPhysicsEvent = getBoolean("settings.fire-block-physics-event", true);
|
||||
}
|
@ -31,10 +31,10 @@ index 9b0c75332d9815657d96183e51e40cf14ee3ed75..e3de65b58a599b375b3be7470d918038
|
||||
this.l = this.k;
|
||||
EntityHuman entityhuman = this.world.a((double) this.position.getX() + 0.5D, (double) this.position.getY() + 0.5D, (double) this.position.getZ() + 0.5D, 3.0D, false);
|
||||
diff --git a/src/main/java/org/yatopiamc/yatopia/server/YatopiaConfig.java b/src/main/java/org/yatopiamc/yatopia/server/YatopiaConfig.java
|
||||
index 34b5a087d1d5d84b193adbd756add060a2d49354..2d4fb0a4664578f8d5c23db854eb8f2764724940 100644
|
||||
index 78decc9c7483f42acb65f342f12fc1d644440822..890247fadf69dabce6d1c23ba887f93ae5121e1e 100644
|
||||
--- a/src/main/java/org/yatopiamc/yatopia/server/YatopiaConfig.java
|
||||
+++ b/src/main/java/org/yatopiamc/yatopia/server/YatopiaConfig.java
|
||||
@@ -283,4 +283,9 @@ public class YatopiaConfig {
|
||||
@@ -260,4 +260,9 @@ public class YatopiaConfig {
|
||||
checkVehicleMovedQuickly = getBoolean("settings.checks.vehicle-moved-quickly", checkVehicleMovedQuickly);
|
||||
checkVehicleMovedWrongly = getBoolean("settings.checks.vehicle-moved-wrongly", checkVehicleMovedWrongly);
|
||||
}
|
@ -1,29 +0,0 @@
|
||||
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
|
||||
From: Ivan Pekov <ivan@mrivanplays.com>
|
||||
Date: Tue, 29 Dec 2020 08:47:43 +0200
|
||||
Subject: [PATCH] Add a special case for floodgate and offline uuids
|
||||
|
||||
floodgate spoofs uuids, but plugins such as luckperms get the uuid that the server uses, causing problems
|
||||
if this option is configured properly, such things won't happen
|
||||
|
||||
diff --git a/src/main/java/org/yatopiamc/yatopia/server/YatopiaConfig.java b/src/main/java/org/yatopiamc/yatopia/server/YatopiaConfig.java
|
||||
index 2d4fb0a4664578f8d5c23db854eb8f2764724940..00c600d74ba84cb564b9b22f53f279a93839d71f 100644
|
||||
--- a/src/main/java/org/yatopiamc/yatopia/server/YatopiaConfig.java
|
||||
+++ b/src/main/java/org/yatopiamc/yatopia/server/YatopiaConfig.java
|
||||
@@ -225,7 +225,16 @@ public class YatopiaConfig {
|
||||
fixFallDistance = getBoolean("settings.fixFallDistance", false);
|
||||
}
|
||||
|
||||
+ public static boolean usingFloodgate = false;
|
||||
+ private static void usingFloodgate() {
|
||||
+ usingFloodgate = getBoolean("settings.using-floodgate", false);
|
||||
+ }
|
||||
+
|
||||
public static boolean shouldUseOfflineUUID() {
|
||||
+ if (usingFloodgate) {
|
||||
+ // never cuz floodgate spoofs an uuid
|
||||
+ return false;
|
||||
+ }
|
||||
if (org.spigotmc.SpigotConfig.bungee && com.destroystokyo.paper.PaperConfig.bungeeOnlineMode) {
|
||||
return false;
|
||||
}
|
@ -24,10 +24,10 @@ index 7e42654873195d17c9a5a2a718216a943533e658..fd2fe2f5e53f34957f80223e1694a573
|
||||
|
||||
public void sendScoreboard(ScoreboardServer scoreboardserver, EntityPlayer entityplayer) {
|
||||
diff --git a/src/main/java/org/yatopiamc/yatopia/server/YatopiaConfig.java b/src/main/java/org/yatopiamc/yatopia/server/YatopiaConfig.java
|
||||
index 00c600d74ba84cb564b9b22f53f279a93839d71f..35f212c2ac43ebea6ce9c4a333738c7a869ebc18 100644
|
||||
index 890247fadf69dabce6d1c23ba887f93ae5121e1e..c2dc5265552ebd429111253c70481003a4be29dd 100644
|
||||
--- a/src/main/java/org/yatopiamc/yatopia/server/YatopiaConfig.java
|
||||
+++ b/src/main/java/org/yatopiamc/yatopia/server/YatopiaConfig.java
|
||||
@@ -297,4 +297,10 @@ public class YatopiaConfig {
|
||||
@@ -265,4 +265,10 @@ public class YatopiaConfig {
|
||||
private static void tickEnchantingTables() {
|
||||
shouldTickEnchantingTables = getBoolean("settings.tick.enchanting-tables", shouldTickEnchantingTables);
|
||||
}
|
@ -128,10 +128,10 @@ index 0668d383db1f3a81d1053954d72678c7ac5aecec..d22f0ee3f7f2daa8323d454aca1f9473
|
||||
}
|
||||
|
||||
diff --git a/src/main/java/org/yatopiamc/yatopia/server/YatopiaConfig.java b/src/main/java/org/yatopiamc/yatopia/server/YatopiaConfig.java
|
||||
index 35f212c2ac43ebea6ce9c4a333738c7a869ebc18..6fb4fdaaba092cce04e3600122e534ce8dff073c 100644
|
||||
index c2dc5265552ebd429111253c70481003a4be29dd..c67654e8701b9da6499d442048429149daae7150 100644
|
||||
--- a/src/main/java/org/yatopiamc/yatopia/server/YatopiaConfig.java
|
||||
+++ b/src/main/java/org/yatopiamc/yatopia/server/YatopiaConfig.java
|
||||
@@ -303,4 +303,17 @@ public class YatopiaConfig {
|
||||
@@ -271,4 +271,17 @@ public class YatopiaConfig {
|
||||
logPlayerLoginLoc = getBoolean("settings.log-player-login-location", logPlayerLoginLoc);
|
||||
}
|
||||
|
@ -76,7 +76,7 @@ index 4a49fe4cc600e2b70963302ddae0c4479849f3f5..3abc3869b8012f060e1997822ffdb321
|
||||
|
||||
// Paper start - Make legacy ping handler more reliable
|
||||
diff --git a/src/main/java/net/minecraft/server/LoginListener.java b/src/main/java/net/minecraft/server/LoginListener.java
|
||||
index 847122f76f6d951b24b22c86276140e02aaf37d6..fe15c450bc1f792dba74823e08fc70f0757ceac3 100644
|
||||
index e081905af0abbad0cf9011075a6380ef652924a7..c3240607b23ccaa6743c013251e1e45a67072441 100644
|
||||
--- a/src/main/java/net/minecraft/server/LoginListener.java
|
||||
+++ b/src/main/java/net/minecraft/server/LoginListener.java
|
||||
@@ -8,6 +8,7 @@ import java.math.BigInteger;
|
Loading…
Reference in New Issue
Block a user