9
0
mirror of https://github.com/LeavesMC/Leaves.git synced 2025-12-19 14:59:32 +00:00
Files
LeavesMC/leaves-server/minecraft-patches/features/0080-Spider-jockeys-drop-gapples.patch
2025-06-05 17:53:18 +08:00

51 lines
2.6 KiB
Diff

From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
From: violetc <58360096+s-yh-china@users.noreply.github.com>
Date: Tue, 5 Sep 2023 08:49:01 +0800
Subject: [PATCH] Spider jockeys drop gapples
diff --git a/net/minecraft/world/entity/monster/Skeleton.java b/net/minecraft/world/entity/monster/Skeleton.java
index 48f26ed693b43e3f65f1559ba69b3d7249664f71..7ee1aa2d41cadefb0ee0a5f17a04ed52da60de86 100644
--- a/net/minecraft/world/entity/monster/Skeleton.java
+++ b/net/minecraft/world/entity/monster/Skeleton.java
@@ -139,4 +139,16 @@ public class Skeleton extends AbstractSkeleton {
this.spawnAtLocation(level, Items.SKELETON_SKULL);
}
}
+
+ // Leaves start - spider jockeys drop gapples
+ @Override
+ protected void dropFromLootTable(ServerLevel level, DamageSource damageSource, boolean causedByPlayer) {
+ super.dropFromLootTable(level, damageSource, causedByPlayer);
+ if (org.leavesmc.leaves.LeavesConfig.modify.spiderJockeysDropGapples > 0.0D) {
+ if (this.getRootVehicle().getType() == EntityType.SPIDER && this.random.nextDouble() < org.leavesmc.leaves.LeavesConfig.modify.spiderJockeysDropGapples) {
+ this.spawnAtLocation(level, new net.minecraft.world.item.ItemStack(net.minecraft.world.item.Items.ENCHANTED_GOLDEN_APPLE));
+ }
+ }
+ }
+ // Leaves end - spider jockeys drop gapples
}
diff --git a/net/minecraft/world/entity/monster/Spider.java b/net/minecraft/world/entity/monster/Spider.java
index 60c4ac37bb491af13f9f9bf730b85bbe544cf81d..aaba82e591ac380314a1b7c59e4e04cca9864d31 100644
--- a/net/minecraft/world/entity/monster/Spider.java
+++ b/net/minecraft/world/entity/monster/Spider.java
@@ -139,6 +139,18 @@ public class Spider extends Monster {
this.entityData.set(DATA_FLAGS_ID, b);
}
+ // Leaves start - spider jockeys drop gapples
+ @Override
+ protected void dropFromLootTable(net.minecraft.server.level.ServerLevel level, DamageSource damageSource, boolean causedByPlayer) {
+ super.dropFromLootTable(level, damageSource, causedByPlayer);
+ if (org.leavesmc.leaves.LeavesConfig.modify.spiderJockeysDropGapples > 0.0D) {
+ if (this.hasPassenger(entity -> entity.getType() == EntityType.SKELETON) && this.random.nextDouble() < org.leavesmc.leaves.LeavesConfig.modify.spiderJockeysDropGapples) {
+ this.spawnAtLocation(level, new net.minecraft.world.item.ItemStack(net.minecraft.world.item.Items.ENCHANTED_GOLDEN_APPLE));
+ }
+ }
+ }
+ // Leaves end - spider jockeys drop gapples
+
@Nullable
@Override
public SpawnGroupData finalizeSpawn(