Updated Upstream and Sidestream(s) (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.

Tuinity Changes:
e36359e Merge branch 'master' of https://github.com/Spottedleaf/Tuinity into ver/1.16.2
0b86de3 Fix several issues with Regions not recalculating correctly
36b43ee Automatically defrag IteratorSafeOrderedReferenceSet on element remove

Purpur Changes:
36672d6 remove unnecessary copying of BlockPosition
88ae09d fix the raid cooldown so that players can't just loop through the farm until the cooldown is over
de30a3e Updated Upstream (Paper & Tuinity)
This commit is contained in:
Ivan Pekov 2020-09-10 08:26:10 +03:00
parent aef6d794a9
commit 347ab2bae2
6 changed files with 121 additions and 164 deletions

2
Purpur

@ -1 +1 @@
Subproject commit 7ae2890175b843e954aa975f9a099f746bc16456
Subproject commit 36672d6bf24aff86c6e283ac70d70f2654c11987

@ -1 +1 @@
Subproject commit d479e125d2db35934d906410178751de6c9e8eb6
Subproject commit e36359ed6bacdb92977c443bdc6315954245721e

View File

@ -6,121 +6,121 @@ 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..8ffef40a2645124fd2de0dc45fa209431bfc1a3c
index 0000000000000000000000000000000000000000..22775d2d03ccd4c7decebc3e26b453efd44d865b
--- /dev/null
+++ b/src/main/java/net/yatopia/api/event/ProxyForwardDataEvent.java
@@ -0,0 +1,114 @@
+package net.yatopia.api.event;
+
+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;
+
+/**
+ * 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, UUID uuid, String name, 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
+ */
+ public UUID getUuid() {
+ return uuid;
+ }
+
+ /**
+ * Returns the name of the profile forwarded.
+ *
+ * @return name
+ */
+ public String getName() {
+ return name;
+ }
+
+ /**
+ * Returns an immutable copy of the forwarded properties.
+ *
+ * @return properties
+ */
+ 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(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
+ */
+ public Property getProperty(String property) {
+ for (Property prop : properties) {
+ if (prop.getName().toLowerCase().equalsIgnoreCase(property.toLowerCase())) {
+ 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(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(String property) {
+ properties.removeIf(prop -> prop.getName().toLowerCase().equalsIgnoreCase(property.toLowerCase()));
+ }
+
+ /**
+ * Removes the specified property if present
+ *
+ * @param property the property you want to remove
+ */
+ public void removeProperty(Property property) {
+ properties.remove(property);
+ }
+
+ //
+ private static final HandlerList handlers = new HandlerList();
+ @NotNull @Override public HandlerList getHandlers() { return handlers; }
+ public static HandlerList getHandlerList() { return handlers; }
+ //
+}
+package net.yatopia.api.event;
+
+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;
+
+/**
+ * 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, UUID uuid, String name, 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
+ */
+ public UUID getUuid() {
+ return uuid;
+ }
+
+ /**
+ * Returns the name of the profile forwarded.
+ *
+ * @return name
+ */
+ public String getName() {
+ return name;
+ }
+
+ /**
+ * Returns an immutable copy of the forwarded properties.
+ *
+ * @return properties
+ */
+ 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(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
+ */
+ public Property getProperty(String property) {
+ for (Property prop : properties) {
+ if (prop.getName().toLowerCase().equalsIgnoreCase(property.toLowerCase())) {
+ 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(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(String property) {
+ properties.removeIf(prop -> prop.getName().toLowerCase().equalsIgnoreCase(property.toLowerCase()));
+ }
+
+ /**
+ * Removes the specified property if present
+ *
+ * @param property the property you want to remove
+ */
+ public void removeProperty(Property property) {
+ properties.remove(property);
+ }
+
+ //
+ private static final HandlerList handlers = new HandlerList();
+ @NotNull @Override public HandlerList getHandlers() { return handlers; }
+ public static HandlerList getHandlerList() { return handlers; }
+ //
+}

View File

@ -859,49 +859,6 @@ index 39583978bd58994a70718fd009ae8e57f7c60af8..00000000000000000000000000000000
- craftBlock.getNMS().dropNaturally(world, blockposition, ItemStack.b);
- }
- // Paper start - TNTPrimeEvent
diff --git a/src/main/java/net/minecraft/server/EntityEnderSignal.java b/src/main/java/net/minecraft/server/EntityEnderSignal.java
index e3865a9b4c53656a1e9e1658c678ac6dfdfc55fc..de55acd1cda658a888e728b8aa7f3704a23a7fec 100644
--- a/src/main/java/net/minecraft/server/EntityEnderSignal.java
+++ b/src/main/java/net/minecraft/server/EntityEnderSignal.java
@@ -19,6 +19,13 @@ public class EntityEnderSignal extends Entity {
this.setPosition(d0, d1, d2);
}
+ // Purpur start
+ @Override
+ public boolean canSaveToDisk() {
+ return world != null && world.purpurConfig.saveProjectilesToDisk;
+ }
+ // Purpur end
+
public void b(ItemStack itemstack) {
if (true || itemstack.getItem() != Items.ENDER_EYE || itemstack.hasTag()) { // CraftBukkit - always allow item changing
this.getDataWatcher().set(EntityEnderSignal.b, SystemUtils.a(itemstack.cloneItemStack(), (itemstack1) -> { // CraftBukkit - decompile error
diff --git a/src/main/java/net/minecraft/server/EntityEnderSignal.java.rej b/src/main/java/net/minecraft/server/EntityEnderSignal.java.rej
deleted file mode 100644
index ee4313713c81fd342161fb0b749c5de8b2bff046..0000000000000000000000000000000000000000
--- a/src/main/java/net/minecraft/server/EntityEnderSignal.java.rej
+++ /dev/null
@@ -1,19 +0,0 @@
-diff a/src/main/java/net/minecraft/server/EntityEnderSignal.java b/src/main/java/net/minecraft/server/EntityEnderSignal.java (rejected hunks)
-@@ -19,9 +19,16 @@ public class EntityEnderSignal extends Entity {
- this.setPosition(d0, d1, d2);
- }
-
-+ // Purpur start
-+ @Override
-+ public boolean canSaveToDisk() {
-+ return world != null && world.purpurConfig.saveProjectilesToDisk;
-+ }
-+ // Purpur end
-+
- public void b(ItemStack itemstack) {
- if (itemstack.getItem() != Items.ENDER_EYE || itemstack.hasTag()) {
-- this.getDataWatcher().set(EntityEnderSignal.b, SystemUtils.a((Object) itemstack.cloneItemStack(), (itemstack1) -> {
-+ this.getDataWatcher().set(EntityEnderSignal.b, SystemUtils.a(itemstack.cloneItemStack(), (itemstack1) -> { // Purpur - decompile error
- itemstack1.setCount(1);
- }));
- }
diff --git a/src/main/java/net/minecraft/server/EntityFox.java.rej b/src/main/java/net/minecraft/server/EntityFox.java.rej
deleted file mode 100644
index c3c7738570d3670b50f144f145b61dcc2d35bb85..0000000000000000000000000000000000000000

View File

@ -996,10 +996,10 @@ index 882b82d8952d34f6e3c639404d1a1521dedf1bb0..ccf1416000354b78ccef78b072062ce0
default EntityHuman findNearbyPlayer(Entity entity, double d0, @Nullable Predicate<Entity> predicate) { return this.findNearbyPlayer(entity.locX(), entity.locY(), entity.locZ(), d0, predicate); } // Paper
diff --git a/src/main/java/net/minecraft/server/PlayerChunkMap.java b/src/main/java/net/minecraft/server/PlayerChunkMap.java
index a0c696f951824bd1988cf9922dc3829c325f41b5..2711ce7a2b4f1868542088729bf4aa2919ee153e 100644
index 8fd74f076713fa3ec289ee69d4d9a78f10139f8e..15df27eabfee965e6fd63ad74e5be9a991f0d4da 100644
--- a/src/main/java/net/minecraft/server/PlayerChunkMap.java
+++ b/src/main/java/net/minecraft/server/PlayerChunkMap.java
@@ -1339,11 +1339,11 @@ public class PlayerChunkMap extends IChunkLoader implements PlayerChunk.d {
@@ -1341,11 +1341,11 @@ public class PlayerChunkMap extends IChunkLoader implements PlayerChunk.d {
chunk.setLoaded(true);
this.world.a(chunk.getTileEntities().values());
List<Entity> list = null;
@ -1013,7 +1013,7 @@ index a0c696f951824bd1988cf9922dc3829c325f41b5..2711ce7a2b4f1868542088729bf4aa29
Iterator iterator = entityslice.iterator();
while (iterator.hasNext()) {
@@ -1636,7 +1636,7 @@ public class PlayerChunkMap extends IChunkLoader implements PlayerChunk.d {
@@ -1638,7 +1638,7 @@ public class PlayerChunkMap extends IChunkLoader implements PlayerChunk.d {
// CraftBukkit - decompile error
csvwriter.a(chunkcoordintpair.x, chunkcoordintpair.z, playerchunk.getTicketLevel(), optional.isPresent(), optional.map(IChunkAccess::getChunkStatus).orElse(null), optional1.map(Chunk::getState).orElse(null), a(playerchunk.c()), a(playerchunk.a()), a(playerchunk.b()), this.chunkDistanceManager.c(entry.getLongKey()), !this.isOutsideOfRange(chunkcoordintpair), optional1.map((chunk) -> {
int sum = 0;

View File

@ -17,7 +17,7 @@ rainforest=$(changeLog Rainforest)
updated=""
logsuffix=""
if [ ! -z "$tuinity" ]; then
logsuffix="$logsuffix\nTuinity Changes:\n$tuinity"
logsuffix="$logsuffix\n\nTuinity Changes:\n$tuinity"
updated="Tuinity"
fi
if [ ! -z "$akarin" ]; then