9
0
mirror of https://github.com/Xiao-MoMi/craft-engine.git synced 2025-12-26 02:19:23 +00:00

修改事件接口

This commit is contained in:
jhqwqmc
2025-12-22 00:05:08 +08:00
parent b44e2621c1
commit ac26d317f1
3 changed files with 20 additions and 5 deletions

View File

@@ -12,13 +12,13 @@ import org.jetbrains.annotations.NotNull;
public final class CustomBlockBreakEvent extends PlayerEvent implements Cancellable {
private static final HandlerList HANDLER_LIST = new HandlerList();
private boolean cancelled;
private final CustomBlock customBlock;
private final ImmutableBlockState state;
private final Location location;
private final Block bukkitBlock;
private boolean dropItems;
private final BukkitServerPlayer player;
private boolean cancelled;
private boolean dropItems = true;
public CustomBlockBreakEvent(@NotNull BukkitServerPlayer player,
@NotNull Location location,
@@ -29,7 +29,6 @@ public final class CustomBlockBreakEvent extends PlayerEvent implements Cancella
this.state = state;
this.bukkitBlock = bukkitBlock;
this.location = location;
this.dropItems = true;
this.player = player;
}
@@ -37,10 +36,12 @@ public final class CustomBlockBreakEvent extends PlayerEvent implements Cancella
return player;
}
@Deprecated(forRemoval = true)
public boolean dropItems() {
return dropItems;
}
@Deprecated(forRemoval = true)
public void setDropItems(boolean dropItems) {
this.dropItems = dropItems;
}

View File

@@ -10,8 +10,9 @@ import org.jetbrains.annotations.NotNull;
public final class FurnitureBreakEvent extends PlayerEvent implements Cancellable {
private static final HandlerList HANDLER_LIST = new HandlerList();
private boolean cancelled;
private final BukkitFurniture furniture;
private boolean cancelled;
private boolean dropItems = true;
public FurnitureBreakEvent(@NotNull Player player,
@NotNull BukkitFurniture furniture) {
@@ -24,6 +25,14 @@ public final class FurnitureBreakEvent extends PlayerEvent implements Cancellabl
return getPlayer();
}
public boolean dropItems() {
return dropItems;
}
public void setDropItems(boolean dropItems) {
this.dropItems = dropItems;
}
@NotNull
public BukkitFurniture furniture() {
return this.furniture;

View File

@@ -1037,6 +1037,8 @@ public class BukkitNetworkManager implements NetworkManager, Listener {
int packetID = event.packetID();
ByteBufferPacketListenerHolder[] listener = s2cPacketListeners[user.encoderState().ordinal()];
if (packetID >= listener.length) { // fixme 为什么会这样
String string = "[name=" + user.name() + ", uuid=" + user.uuid() + ", remoteAddress=" + Optional.ofNullable(user.nettyChannel()).map(Channel::remoteAddress).orElse(null) + "]";
this.plugin.logger().warn("服务端尝试在 " + user.encoderState() + " 状态发送 ID 为 " + packetID + " 的无效数据包给 " + string);
return;
}
ByteBufferPacketListenerHolder holder = listener[packetID];
@@ -1053,6 +1055,8 @@ public class BukkitNetworkManager implements NetworkManager, Listener {
int packetID = event.packetID();
ByteBufferPacketListenerHolder[] listener = c2sPacketListeners[user.decoderState().ordinal()];
if (packetID >= listener.length) { // fixme 为什么会这样
String string = "[name=" + user.name() + ", uuid=" + user.uuid() + ", remoteAddress=" + Optional.ofNullable(user.nettyChannel()).map(Channel::remoteAddress).orElse(null) + "]";
this.plugin.logger().warn("客户端尝试在 " + user.decoderState() + " 状态发送 ID 为 " + packetID + " 的无效数据包给 " + string);
return;
}
ByteBufferPacketListenerHolder holder = listener[packetID];
@@ -3963,6 +3967,7 @@ public class BukkitNetworkManager implements NetworkManager, Listener {
return;
FurnitureBreakEvent breakEvent = new FurnitureBreakEvent(serverPlayer.platformPlayer(), furniture);
breakEvent.setDropItems(!serverPlayer.isCreativeMode());
if (EventUtils.fireAndCheckCancel(breakEvent))
return;
@@ -3981,7 +3986,7 @@ public class BukkitNetworkManager implements NetworkManager, Listener {
return;
}
CraftEngineFurniture.remove(furniture, serverPlayer, !serverPlayer.isCreativeMode(), true);
CraftEngineFurniture.remove(furniture, serverPlayer, breakEvent.dropItems(), true);
};
} else if (actionType == 2) {
// INTERACT_AT