Yatopia/patches/server/0014-lithium-enum_values.patch
Ivan Pekov 4da7b3aefc
Updated Upstream and Sidestream(s) (Tuinity/EMC/Origami/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:
3e77330 Updated Upstream (Paper)

EMC Changes:
e45a78e4 Update the API as well - setTargetRange to Double where null is default FOLLOW_RANGE
9fc6891d Default target range to the follow range
a1e2e2a3 Fix an issue with players in vehicles in vehicles desyncing
b6e2f202 Add a Dead vehicle reason to VehicleExitEvent
72b0da43 Use the correct entity local variable
ad32d0d6 Fix bug with entity passengers not executing entity tasks
194aaafb Updated Paper
cb3a7bb7 Always convert Lore/Name of an item to ensure consistency
6c63538d Revert "Updated Paper"
8837d5a9 Limit fortress spawns to the nether
005cdda9 Updated Paper
1476d693 Fix Lore comparisons to use legacy format
588f30f9 Quick fix the rcon log issue for now
475e626a Fix World Meta loading
3ad5f8a7 Remove RCON Thread Logs
7f3c4a25 Fix dismounting from vehicle when teleporting cross dimension
595bd307 Prevent NPE for PathfinderGoalMeleeAttack
0a64d9e9 Fix EntityDismountEvent reason
c25ef322 Updated Paper

Origami Changes:
36c0e05 Fix wrong circular dependency error if plugin depends on own provides
655fa5f Add option to disable legacy plugin support

Purpur Changes:
79d304f Updated Upstream (Paper)
bef678f [ci-skip] Simpler method of merging metadata files
3b18ff8 Updated Upstream (Paper)
25c7772 Apply the AppendingTransformer for `META-INF/services/java.sql.Driver`
faf0db9 Bump config version to 10
3d1926e More base attribute stuff
43d6dab Updated Upstream (Paper)
2fd92fe [ci-skip] Setup repo for api publishing
26b0736 Updated Upstream (Paper)
e704540 [ci-skip] Fix the remaining javadoc warnings
a541703 [ci-skip] Fix import mc-dev task
64f5f9d Fix dependency relocations
d7f1884 [ci-skip] Skip compiling tests as well as running them when using the `-Pfast` flag
3e08321 [ci-skip] Fix javadoc warnings (missing @param and @return)
1bfe697 [ci-skip] Remove paper's unsafe util
63b647c [ci-skip] Make it easier to fork Purpur using our scripts
c453170 Fix relocations
7e331c2 Fix #118 Phantom fire time not working
844337c Fix lag from villager lobotomize check
2ec0dba Updated Upstream (Paper)
69c6484 Build using Toothpick scripts (#122)

AirplaneLite Changes:
ff087b7 Changes from Purpur
7263c2f Fix maven subproject URL
819c731 Switch to Purpur's Toothpick
2020-12-22 16:01:31 +02:00

134 lines
5.9 KiB
Diff

From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
From: JellySquid <jellysquid+atwork@protonmail.com>
Date: Fri, 31 Jul 2020 21:44:22 -0500
Subject: [PATCH] lithium enum_values
Original code by JellySquid, licensed under GNU Lesser General Public License v3.0
you can find the original code on https://github.com/jellysquid3/lithium-fabric/tree/1.16.x/fabric (Yarn mappings)
diff --git a/src/main/java/net/minecraft/server/BlockPiston.java b/src/main/java/net/minecraft/server/BlockPiston.java
index 5d3bb5f393a1e0e4a2e8b9a466530a91279697a9..7f084e7f11a829c10d113c7fb39eec0b8ad77080 100644
--- a/src/main/java/net/minecraft/server/BlockPiston.java
+++ b/src/main/java/net/minecraft/server/BlockPiston.java
@@ -127,9 +127,10 @@ public class BlockPiston extends BlockDirectional {
}
}
+ private static final EnumDirection[] aenumdirection = EnumDirection.values(); // Yatopia
private boolean a(World world, BlockPosition blockposition, EnumDirection enumdirection) {
- EnumDirection[] aenumdirection = EnumDirection.values();
+ //EnumDirection[] aenumdirection = EnumDirection.values(); // Yatopia
int i = aenumdirection.length;
int j;
@@ -146,12 +147,12 @@ public class BlockPiston extends BlockDirectional {
return true;
} else {
BlockPosition blockposition1 = blockposition.up();
- EnumDirection[] aenumdirection1 = EnumDirection.values();
+ //EnumDirection[] aenumdirection1 = EnumDirection.values(); // Yatopia
- j = aenumdirection1.length;
+ j = aenumdirection.length; // Yatopia
for (int k = 0; k < j; ++k) {
- EnumDirection enumdirection2 = aenumdirection1[k];
+ EnumDirection enumdirection2 = aenumdirection[k]; // Yatopia
if (enumdirection2 != EnumDirection.DOWN && world.isBlockFacePowered(blockposition1.shift(enumdirection2), enumdirection2)) {
return true;
diff --git a/src/main/java/net/minecraft/server/EntityLiving.java b/src/main/java/net/minecraft/server/EntityLiving.java
index 862d54fdb9a0908d0c279e55437cf8ab7b9b55d3..a9a32ff9e44f31eeb52180777dffffcbef93bd83 100644
--- a/src/main/java/net/minecraft/server/EntityLiving.java
+++ b/src/main/java/net/minecraft/server/EntityLiving.java
@@ -2585,10 +2585,12 @@ public abstract class EntityLiving extends Entity {
}
+ private static final EnumItemSlot[] aenumitemslot = EnumItemSlot.values(); // Yatopia
+
@Nullable
private Map<EnumItemSlot, ItemStack> q() {
Map<EnumItemSlot, ItemStack> map = null;
- EnumItemSlot[] aenumitemslot = EnumItemSlot.values();
+ //EnumItemSlot[] aenumitemslot = EnumItemSlot.values(); // Yatopia
int i = aenumitemslot.length;
for (int j = 0; j < i; ++j) {
diff --git a/src/main/java/net/minecraft/server/EnumAxisCycle.java b/src/main/java/net/minecraft/server/EnumAxisCycle.java
index a7c2543fdd4d5f6a04c45ec42472837ccaea9619..92ab79532d29341e8840341ff5ee8f5203cb4aad 100644
--- a/src/main/java/net/minecraft/server/EnumAxisCycle.java
+++ b/src/main/java/net/minecraft/server/EnumAxisCycle.java
@@ -26,12 +26,24 @@ public enum EnumAxisCycle {
@Override
public EnumDirection.EnumAxis a(EnumDirection.EnumAxis enumdirection_enumaxis) {
- return null.d[Math.floorMod(enumdirection_enumaxis.ordinal() + 1, 3)];
+ // Yatopia start - replace logic
+ //return null.d[Math.floorMod(enumdirection_enumaxis.ordinal() + 1, 3)];
+ switch (enumdirection_enumaxis) {
+ case X:
+ return EnumDirection.EnumAxis.Y;
+ case Y:
+ return EnumDirection.EnumAxis.Z;
+ case Z:
+ return EnumDirection.EnumAxis.X;
+ }
+
+ throw new IllegalArgumentException();
+ // Yatopia end
}
@Override
public EnumAxisCycle a() {
- return null.BACKWARD;
+ return BACKWARD; // Yatopia
}
},
BACKWARD {
@@ -42,12 +54,24 @@ public enum EnumAxisCycle {
@Override
public EnumDirection.EnumAxis a(EnumDirection.EnumAxis enumdirection_enumaxis) {
- return null.d[Math.floorMod(enumdirection_enumaxis.ordinal() - 1, 3)];
+ // Yatopia start - replaced logic
+ //return null.d[Math.floorMod(enumdirection_enumaxis.ordinal() - 1, 3)];
+ switch (enumdirection_enumaxis) {
+ case X:
+ return EnumDirection.EnumAxis.Z;
+ case Y:
+ return EnumDirection.EnumAxis.X;
+ case Z:
+ return EnumDirection.EnumAxis.Y;
+ }
+
+ throw new IllegalArgumentException();
+ // Yatopia end
}
@Override
public EnumAxisCycle a() {
- return null.FORWARD;
+ return FORWARD; // Yatopia
}
};
diff --git a/src/main/java/net/minecraft/server/PistonExtendsChecker.java b/src/main/java/net/minecraft/server/PistonExtendsChecker.java
index ae28b1f6ef56ab2199e1cf8d4f7d3f3e12496545..b684f2b297eda2014962bed36087d08bfcddb119 100644
--- a/src/main/java/net/minecraft/server/PistonExtendsChecker.java
+++ b/src/main/java/net/minecraft/server/PistonExtendsChecker.java
@@ -166,10 +166,11 @@ public class PistonExtendsChecker {
this.f.addAll(list1);
this.f.addAll(list2);
}
+ private static final EnumDirection[] aenumdirection = EnumDirection.values(); // Yatopia
private boolean a(BlockPosition blockposition) {
IBlockData iblockdata = this.a.getType(blockposition);
- EnumDirection[] aenumdirection = EnumDirection.values();
+ //EnumDirection[] aenumdirection = EnumDirection.values(); // Yatopia
int i = aenumdirection.length;
for (int j = 0; j < i; ++j) {