mirror of
https://github.com/PaperMC/Paper.git
synced 2024-11-25 20:16:19 +01:00
dc684c60d1
The new behavior of disconnect to block the current thread until the disconnect succeeded is better than throwing it off to happen at some point
44 lines
3.1 KiB
Diff
44 lines
3.1 KiB
Diff
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
|
|
From: Jake Potrebic <jake.m.potrebic@gmail.com>
|
|
Date: Fri, 18 Mar 2022 21:15:55 -0700
|
|
Subject: [PATCH] Add EntityDyeEvent and CollarColorable interface
|
|
|
|
|
|
diff --git a/src/main/java/net/minecraft/world/entity/animal/Cat.java b/src/main/java/net/minecraft/world/entity/animal/Cat.java
|
|
index d44807c16712afd37efdbf434d1afb12a7c3d343..2ed442c8d36f285420cf84a956e90b6036384ce0 100644
|
|
--- a/src/main/java/net/minecraft/world/entity/animal/Cat.java
|
|
+++ b/src/main/java/net/minecraft/world/entity/animal/Cat.java
|
|
@@ -378,6 +378,13 @@ public class Cat extends TamableAnimal implements VariantHolder<Holder<CatVarian
|
|
DyeColor enumcolor = itemdye.getDyeColor();
|
|
|
|
if (enumcolor != this.getCollarColor()) {
|
|
+ // Paper start - Add EntityDyeEvent and CollarColorable interface
|
|
+ final io.papermc.paper.event.entity.EntityDyeEvent event = new io.papermc.paper.event.entity.EntityDyeEvent(this.getBukkitEntity(), org.bukkit.DyeColor.getByWoolData((byte) enumcolor.getId()), ((net.minecraft.server.level.ServerPlayer) player).getBukkitEntity());
|
|
+ if (!event.callEvent()) {
|
|
+ return InteractionResult.FAIL;
|
|
+ }
|
|
+ enumcolor = DyeColor.byId(event.getColor().getWoolData());
|
|
+ // Paper end - Add EntityDyeEvent and CollarColorable interface
|
|
if (!this.level().isClientSide()) {
|
|
this.setCollarColor(enumcolor);
|
|
itemstack.consume(1, player);
|
|
diff --git a/src/main/java/net/minecraft/world/entity/animal/Wolf.java b/src/main/java/net/minecraft/world/entity/animal/Wolf.java
|
|
index 26b050599984ae3ba3827a0cabab255374e38c1e..c382a8f95f612db881b9cdbd07316d1ca1cd9c4b 100644
|
|
--- a/src/main/java/net/minecraft/world/entity/animal/Wolf.java
|
|
+++ b/src/main/java/net/minecraft/world/entity/animal/Wolf.java
|
|
@@ -451,6 +451,14 @@ public class Wolf extends TamableAnimal implements NeutralMob, VariantHolder<Hol
|
|
DyeColor enumcolor = itemdye.getDyeColor();
|
|
|
|
if (enumcolor != this.getCollarColor()) {
|
|
+ // Paper start - Add EntityDyeEvent and CollarColorable interface
|
|
+ final io.papermc.paper.event.entity.EntityDyeEvent event = new io.papermc.paper.event.entity.EntityDyeEvent(this.getBukkitEntity(), org.bukkit.DyeColor.getByWoolData((byte) enumcolor.getId()), ((net.minecraft.server.level.ServerPlayer) player).getBukkitEntity());
|
|
+ if (!event.callEvent()) {
|
|
+ return InteractionResult.FAIL;
|
|
+ }
|
|
+ enumcolor = DyeColor.byId(event.getColor().getWoolData());
|
|
+ // Paper end - Add EntityDyeEvent and CollarColorable interface
|
|
+
|
|
this.setCollarColor(enumcolor);
|
|
itemstack.consume(1, player);
|
|
return InteractionResult.SUCCESS;
|