Skip to content

Commit

Permalink
It compiles \o/
Browse files Browse the repository at this point in the history
  • Loading branch information
Krakenied committed Jun 15, 2024
1 parent d5d61b7 commit 7e567ca
Show file tree
Hide file tree
Showing 4 changed files with 18 additions and 40 deletions.
8 changes: 3 additions & 5 deletions patches/server/0015-Anvil-API.patch
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,7 @@ index 32910f677b0522ac8ec513fa0d00b714b52cfae4..f85eef14b91a0ada1f6f4b13ab3966f0
// CraftBukkit start
public boolean checkReachable = true;
diff --git a/src/main/java/net/minecraft/world/inventory/AnvilMenu.java b/src/main/java/net/minecraft/world/inventory/AnvilMenu.java
index 7198dc9ffc9a37dab3654e12aa497c442a9993c5..2348ee0065367ade5354d54aac53ab23d43d0622 100644
index 7198dc9ffc9a37dab3654e12aa497c442a9993c5..c09d7e3bab21f0d1d43d78622585660ddba68f84 100644
--- a/src/main/java/net/minecraft/world/inventory/AnvilMenu.java
+++ b/src/main/java/net/minecraft/world/inventory/AnvilMenu.java
@@ -25,6 +25,13 @@ import org.slf4j.Logger;
Expand Down Expand Up @@ -82,13 +82,11 @@ index 7198dc9ffc9a37dab3654e12aa497c442a9993c5..2348ee0065367ade5354d54aac53ab23
ItemStack itemstack1 = itemstack.copy();
ItemStack itemstack2 = this.inputSlots.getItem(1);
ItemEnchantments.Mutable itemenchantments_a = new ItemEnchantments.Mutable(EnchantmentHelper.getEnchantmentsForCrafting(itemstack1));
@@ -221,8 +239,8 @@ public class AnvilMenu extends ItemCombinerMenu {
while (iterator1.hasNext()) {
@@ -222,7 +240,7 @@ public class AnvilMenu extends ItemCombinerMenu {
Holder<Enchantment> holder1 = (Holder) iterator1.next();

- if (!holder1.equals(holder) && !Enchantment.areCompatible(holder, holder1)) {
if (!holder1.equals(holder) && !Enchantment.areCompatible(holder, holder1)) {
- flag3 = false;
+ if (!holder1.equals(holder) && !enchantment.isCompatibleWith((Enchantment) holder1.value())) {
+ flag3 = canDoUnsafeEnchants; // Purpur
++i;
}
Expand Down
12 changes: 6 additions & 6 deletions patches/server/0140-Config-to-allow-for-unsafe-enchants.patch
Original file line number Diff line number Diff line change
Expand Up @@ -27,7 +27,7 @@ index 99695e38b6a10c3cffda6e453f9f0619c7406cc0..9aa3ee4f51c5ad5d8712898bf67fbe97
i++;
} else if (targets.size() == 1) {
diff --git a/src/main/java/net/minecraft/world/inventory/AnvilMenu.java b/src/main/java/net/minecraft/world/inventory/AnvilMenu.java
index 48d803a3e8419a04fce934263f7a01dbfd335e2e..26951cc5fb64a8d6c99d450dbe236f28b56e44a7 100644
index 285ae455a7118ba5017d76567031d8ce9368f1df..25478b59537945843f81d84a8a9927b1c6a0bc02 100644
--- a/src/main/java/net/minecraft/world/inventory/AnvilMenu.java
+++ b/src/main/java/net/minecraft/world/inventory/AnvilMenu.java
@@ -228,7 +228,8 @@ public class AnvilMenu extends ItemCombinerMenu {
Expand All @@ -43,13 +43,13 @@ index 48d803a3e8419a04fce934263f7a01dbfd335e2e..26951cc5fb64a8d6c99d450dbe236f28
@@ -240,16 +241,20 @@ public class AnvilMenu extends ItemCombinerMenu {
Holder<Enchantment> holder1 = (Holder) iterator1.next();

if (!holder1.equals(holder) && !enchantment.isCompatibleWith((Enchantment) holder1.value())) {
if (!holder1.equals(holder) && !Enchantment.areCompatible(holder, holder1)) {
- flag3 = canDoUnsafeEnchants; // Purpur
+ flag4 = canDoUnsafeEnchants || (org.purpurmc.purpur.PurpurConfig.allowUnsafeEnchants && org.purpurmc.purpur.PurpurConfig.allowIncompatibleEnchants); // Purpur flag3 -> flag4
+ if (!flag4 && org.purpurmc.purpur.PurpurConfig.replaceIncompatibleEnchants) {
+ iterator1.remove();
+ flag4 = true;
+ }
+ if (!flag4 && org.purpurmc.purpur.PurpurConfig.replaceIncompatibleEnchants) {
+ iterator1.remove();
+ flag4 = true;
+ }
++i;
}
}
Expand Down
21 changes: 9 additions & 12 deletions patches/server/0161-API-for-any-mob-to-burn-daylight.patch
Original file line number Diff line number Diff line change
Expand Up @@ -212,7 +212,7 @@ index cb96bd5769159e6c25968673ea07cd6d107cff46..440c90feeae3a55c98e2011ecb27c28d

@Override
diff --git a/src/main/java/net/minecraft/world/entity/monster/Phantom.java b/src/main/java/net/minecraft/world/entity/monster/Phantom.java
index 554e01cf4fb3b15549c8c381274014c4735e08c6..df85753709271a6ad1f802da63f189200ead9a3a 100644
index 554e01cf4fb3b15549c8c381274014c4735e08c6..c1bdb746973a3b5237450e41d574328eedda1a8a 100644
--- a/src/main/java/net/minecraft/world/entity/monster/Phantom.java
+++ b/src/main/java/net/minecraft/world/entity/monster/Phantom.java
@@ -59,6 +59,7 @@ public class Phantom extends FlyingMob implements Enemy {
Expand Down Expand Up @@ -258,28 +258,25 @@ index 554e01cf4fb3b15549c8c381274014c4735e08c6..df85753709271a6ad1f802da63f18920
// Paper end
}

@@ -356,8 +349,20 @@ public class Phantom extends FlyingMob implements Enemy {
@@ -356,10 +349,16 @@ public class Phantom extends FlyingMob implements Enemy {
return this.spawningEntity;
}
public void setSpawningEntity(java.util.UUID entity) { this.spawningEntity = entity; }
- private boolean shouldBurnInDay = true;
- public boolean shouldBurnInDay() { return shouldBurnInDay; }
+
+ // private boolean shouldBurnInDay = true; // Purpur - moved to LivingEntity - keep methods for ABI compatibility
+ // Purpur start
+ public boolean shouldBurnInDay() {
+ // Purpur start
+ boolean burnFromDaylight = this.shouldBurnInDay && this.isSunBurnTick() && this.level().purpurConfig.phantomBurnInDaylight;
+ boolean burnFromDaylight = this.shouldBurnInDay && this.level().purpurConfig.phantomBurnInDaylight;
+ boolean burnFromLightSource = this.level().purpurConfig.phantomBurnInLight > 0 && this.level().getMaxLocalRawBrightness(blockPosition()) >= this.level().purpurConfig.phantomBurnInLight;
+ if (this.isAlive() && (burnFromDaylight || burnFromLightSource)) { // Paper - shouldBurnInDay API
+ // Purpur end
+ if (getRider() == null || !this.isControllable()) // Purpur
+ this.igniteForSeconds(8.0F);
+ }
+ return burnFromDaylight || burnFromLightSource;
+ }
+ // Purpur End
+ // Purpur end
public void setShouldBurnInDay(boolean shouldBurnInDay) { this.shouldBurnInDay = shouldBurnInDay; }
// Paper end
- // Paper end
+ // Paper end - shouldBurnInDay API

private static enum AttackPhase {

diff --git a/src/main/java/net/minecraft/world/entity/monster/Zombie.java b/src/main/java/net/minecraft/world/entity/monster/Zombie.java
index 1c2291c8a20541cc1e306efdd5263e5d8b3e0b16..c8a664447f19e437eb7c615563add92715be9650 100644
Expand Down
17 changes: 0 additions & 17 deletions patches/server/0215-Shears-can-have-looting-enchantment.patch
Original file line number Diff line number Diff line change
Expand Up @@ -138,23 +138,6 @@ index 8f08b45b7e6279e2f57e3921ebe879082a5fd261..a39ea8cf75adbf84388b74222b3417a4
final java.util.List<ItemStack> drops = new java.util.ArrayList<>();
this.generateShearedMushrooms(drops::add);
return drops;
diff --git a/src/main/java/net/minecraft/world/item/enchantment/EnchantmentHelper.java b/src/main/java/net/minecraft/world/item/enchantment/EnchantmentHelper.java
index 0837bcd3cfc02d76918913df24571efb5890c384..02b6c121c803f64570749204e1bb374f51fe16c7 100644
--- a/src/main/java/net/minecraft/world/item/enchantment/EnchantmentHelper.java
+++ b/src/main/java/net/minecraft/world/item/enchantment/EnchantmentHelper.java
@@ -568,6 +568,12 @@ public class EnchantmentHelper {
return getItemEnchantmentLevel(reference, stack);
}

+ public static int getEnchantmentLevel(ResourceKey<Enchantment> enchantment, LivingEntity entity) {
+ net.minecraft.core.HolderLookup.RegistryLookup<Enchantment> registryLookup = entity.registryAccess().lookupOrThrow(Registries.ENCHANTMENT);
+ Holder.Reference<Enchantment> reference = registryLookup.getOrThrow(enchantment);
+ return getEnchantmentLevel(reference, entity);
+ }
+
public static Optional<EnchantedItemInUse> getMostDamagedEquipment(ResourceKey<Enchantment> enchantment, LivingEntity entity) {
net.minecraft.core.HolderLookup.RegistryLookup<Enchantment> registryLookup = entity.registryAccess().lookupOrThrow(Registries.ENCHANTMENT);
Holder.Reference<Enchantment> reference = registryLookup.getOrThrow(enchantment);
diff --git a/src/main/java/org/purpurmc/purpur/PurpurConfig.java b/src/main/java/org/purpurmc/purpur/PurpurConfig.java
index 3032944e7ae61f31ceb72ad688add99f2451f33e..346113abdc8da4a2fe69650642515460086a357a 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurConfig.java
Expand Down

0 comments on commit 7e567ca

Please sign in to comment.