mirror of
https://github.com/Xiao-MoMi/craft-engine.git
synced 2025-12-26 02:19:23 +00:00
修改事件接口
This commit is contained in:
@@ -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;
|
||||
}
|
||||
|
||||
@@ -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;
|
||||
|
||||
@@ -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
|
||||
|
||||
Reference in New Issue
Block a user