9
0
mirror of https://github.com/LeavesMC/Leaves.git synced 2026-01-06 15:51:33 +00:00
Files
LeavesMC/leaves-server/minecraft-patches/features/0032-Renewable-Elytra.patch
2025-07-03 14:53:21 +08:00

33 lines
1.5 KiB
Diff

From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
From: violetc <58360096+s-yh-china@users.noreply.github.com>
Date: Mon, 12 Dec 2022 16:41:52 +0800
Subject: [PATCH] Renewable Elytra
This patch is Powered by Carpet-TIS-Addition(https://github.com/plusls/Carpet-TIS-Addition)
diff --git a/net/minecraft/world/entity/monster/Phantom.java b/net/minecraft/world/entity/monster/Phantom.java
index ffcfdbc80df2a9e6c546348b86e7615e6109eb49..d985f224f06f5a823f74b276477ededdbe77596a 100644
--- a/net/minecraft/world/entity/monster/Phantom.java
+++ b/net/minecraft/world/entity/monster/Phantom.java
@@ -246,6 +246,20 @@ public class Phantom extends Mob implements Enemy {
return targetingConditions.test(level, this, entity);
}
+ // Leaves start - renewable elytra
+ @Override
+ protected void dropFromLootTable(ServerLevel level, DamageSource source, boolean causedByPlayer) {
+ super.dropFromLootTable(level, source, causedByPlayer);
+ if (org.leavesmc.leaves.LeavesConfig.modify.renewableElytra > 0.0D) {
+ if (source.getEntity() instanceof Shulker && this.random.nextDouble() < org.leavesmc.leaves.LeavesConfig.modify.renewableElytra) {
+ net.minecraft.world.item.ItemStack item = new net.minecraft.world.item.ItemStack(net.minecraft.world.item.Items.ELYTRA);
+ item.setDamageValue(431);
+ this.spawnAtLocation(level, item);
+ }
+ }
+ }
+ // Leaves end - renewable elytra
+
static enum AttackPhase {
CIRCLE,
SWOOP;