geforkt von Mirrors/Paper
2873869bb1
Signs no longer have a specific isEdiable state, the entire API in this regard needs updating/deprecation. The boolean field is completely gone, replaced by a uuid (which will need a new setEditingPlayer(UUID) method on the Sign interface), and the current upstream implementation of setEdiable simply flips the is_waxed state. This patch is hence not needed as it neither allows editing (which will be redone in a later patch) nor is required to copy the is_waxed boolean flag as it lives in the signs compound tag and is covered by applyTo.
44 Zeilen
2.9 KiB
Diff
44 Zeilen
2.9 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 770b15f5413eb38890587aa6af2a56f15bf5934f..438d7c26cc3a4a3b5a1affffbbe26e4d272b0c00 100644
|
|
--- a/src/main/java/net/minecraft/world/entity/animal/Cat.java
|
|
+++ b/src/main/java/net/minecraft/world/entity/animal/Cat.java
|
|
@@ -401,6 +401,13 @@ public class Cat extends TamableAnimal implements VariantHolder<CatVariant> {
|
|
DyeColor enumcolor = ((DyeItem) item).getDyeColor();
|
|
|
|
if (enumcolor != this.getCollarColor()) {
|
|
+ // Paper start
|
|
+ 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
|
|
this.setCollarColor(enumcolor);
|
|
if (!player.getAbilities().instabuild) {
|
|
itemstack.shrink(1);
|
|
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 948978306db3bffd07d0c5d91cd4853102411061..27c4dd3605373f08078048fe923a8f6f4d3ccf3b 100644
|
|
--- a/src/main/java/net/minecraft/world/entity/animal/Wolf.java
|
|
+++ b/src/main/java/net/minecraft/world/entity/animal/Wolf.java
|
|
@@ -380,6 +380,14 @@ public class Wolf extends TamableAnimal implements NeutralMob {
|
|
DyeColor enumcolor = itemdye.getDyeColor();
|
|
|
|
if (enumcolor != this.getCollarColor()) {
|
|
+ // Paper start
|
|
+ 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
|
|
+
|
|
this.setCollarColor(enumcolor);
|
|
if (!player.getAbilities().instabuild) {
|
|
itemstack.shrink(1);
|