Archived
0

Избавляемся от Google Guava EventBus

This commit is contained in:
2019-01-12 18:57:41 +03:00
parent e192a40a69
commit 169af20f74
15 changed files with 14 additions and 122 deletions

View File

@@ -1,8 +1,6 @@
package mc.core; package mc.core;
import com.google.common.eventbus.Subscribe;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
import mc.core.eventbus.EventBusGetter;
import mc.core.eventbus.events.CS_PlayerMoveEvent; import mc.core.eventbus.events.CS_PlayerMoveEvent;
import mc.core.eventbus.events.SC_ChunkLoadEvent; import mc.core.eventbus.events.SC_ChunkLoadEvent;
import mc.core.eventbus.events.SC_ChunkUnloadEvent; import mc.core.eventbus.events.SC_ChunkUnloadEvent;
@@ -16,10 +14,9 @@ import java.util.Iterator;
public class CoreEventListener { public class CoreEventListener {
@PostConstruct @PostConstruct
public void registerEventHandlers() { public void registerEventHandlers() {
EventBusGetter.getInstance().register(this); // EventBusGetter.getInstance().register(this);
} }
@Subscribe
public void handlerPlayerMoveEvent(CS_PlayerMoveEvent event) { public void handlerPlayerMoveEvent(CS_PlayerMoveEvent event) {
log.trace("(GameLoop) playerMoveEventHandler()"); log.trace("(GameLoop) playerMoveEventHandler()");
@@ -50,7 +47,7 @@ public class CoreEventListener {
} }
if (!eventChunkUnload.getNeedUnloadChunks().isEmpty()) { if (!eventChunkUnload.getNeedUnloadChunks().isEmpty()) {
EventBusGetter.getInstance().post(eventChunkUnload); // EventBusGetter.getInstance().post(eventChunkUnload);
} }
SC_ChunkLoadEvent eventChunkLoad = new SC_ChunkLoadEvent(event.getPlayer()); SC_ChunkLoadEvent eventChunkLoad = new SC_ChunkLoadEvent(event.getPlayer());
@@ -67,7 +64,7 @@ public class CoreEventListener {
} }
if (!eventChunkLoad.getNeedLoadChunks().isEmpty()) { if (!eventChunkLoad.getNeedLoadChunks().isEmpty()) {
EventBusGetter.getInstance().post(eventChunkLoad); // EventBusGetter.getInstance().post(eventChunkLoad);
} }
} }

View File

@@ -1,6 +1,4 @@
package mc.core.eventbus; package mc.core.eventbus;
public interface Event { public interface Event {
void setCanceled(boolean value);
boolean isCanceled();
} }

View File

@@ -1,10 +0,0 @@
package mc.core.eventbus;
import lombok.Getter;
import lombok.Setter;
@Getter
@Setter
public abstract class EventBase implements Event {
private boolean canceled;
}

View File

@@ -1,16 +0,0 @@
/*
* DmitriyMX <dimon550@gmail.com>
* 2018-05-02
*/
package mc.core.eventbus;
import com.google.common.eventbus.EventBus;
import lombok.Getter;
public final class EventBusGetter {
@Getter
private static final EventBus instance = new EventBus();
private EventBusGetter() {
}
}

View File

@@ -1,18 +1,14 @@
/*
* DmitriyMX <dimon550@gmail.com>
* 2018-05-02
*/
package mc.core.eventbus.events; package mc.core.eventbus.events;
import lombok.Getter; import lombok.Getter;
import lombok.Setter; import lombok.Setter;
import mc.core.EntityLocation; import mc.core.EntityLocation;
import mc.core.ImmutableEntityLocation; import mc.core.ImmutableEntityLocation;
import mc.core.eventbus.EventBase; import mc.core.eventbus.Event;
import mc.core.player.Player; import mc.core.player.Player;
@Getter @Getter
public class CS_PlayerMoveEvent extends EventBase { public class CS_PlayerMoveEvent implements Event {
private final Player player; private final Player player;
private final ImmutableEntityLocation oldLocation; private final ImmutableEntityLocation oldLocation;
@Setter @Setter

View File

@@ -2,14 +2,14 @@ package mc.core.eventbus.events;
import lombok.Getter; import lombok.Getter;
import lombok.RequiredArgsConstructor; import lombok.RequiredArgsConstructor;
import mc.core.eventbus.EventBase; import mc.core.eventbus.Event;
import mc.core.player.Player; import mc.core.player.Player;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.List; import java.util.List;
@RequiredArgsConstructor @RequiredArgsConstructor
public class SC_ChunkLoadEvent extends EventBase { public class SC_ChunkLoadEvent implements Event {
@Getter @Getter
private final Player player; private final Player player;
@Getter @Getter

View File

@@ -2,14 +2,14 @@ package mc.core.eventbus.events;
import lombok.Getter; import lombok.Getter;
import lombok.RequiredArgsConstructor; import lombok.RequiredArgsConstructor;
import mc.core.eventbus.EventBase; import mc.core.eventbus.Event;
import mc.core.player.Player; import mc.core.player.Player;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.List; import java.util.List;
@RequiredArgsConstructor @RequiredArgsConstructor
public class SC_ChunkUnloadEvent extends EventBase { public class SC_ChunkUnloadEvent implements Event {
@Getter @Getter
private final Player player; private final Player player;
@Getter @Getter

View File

@@ -1,22 +0,0 @@
/*
* DmitriyMX <dimon550@gmail.com>
* 2018-05-02
*/
package mc.core.eventbus.events;
import lombok.Getter;
import lombok.RequiredArgsConstructor;
import lombok.Setter;
import mc.core.eventbus.EventBase;
import java.net.SocketAddress;
@RequiredArgsConstructor
@Getter
@Setter
public class SC_LoginEvent extends EventBase {
private String playerName;
private final SocketAddress remoteAddress;
private boolean deny;
private String denyReason;
}

View File

@@ -1,20 +0,0 @@
/*
* DmitriyMX <dimon550@gmail.com>
* 2018-05-02
*/
package mc.core.eventbus.events;
import lombok.Getter;
import lombok.RequiredArgsConstructor;
import lombok.Setter;
import mc.core.EntityLocation;
import mc.core.eventbus.EventBase;
import mc.core.player.Player;
@RequiredArgsConstructor
@Getter
@Setter
public class SC_PlayerLookEvent extends EventBase {
private final Player player;
private EntityLocation newLook;
}

View File

@@ -4,12 +4,12 @@ import lombok.Getter;
import lombok.RequiredArgsConstructor; import lombok.RequiredArgsConstructor;
import lombok.Setter; import lombok.Setter;
import mc.core.EntityLocation; import mc.core.EntityLocation;
import mc.core.eventbus.EventBase; import mc.core.eventbus.Event;
import mc.core.player.Player; import mc.core.player.Player;
@RequiredArgsConstructor @RequiredArgsConstructor
@Getter @Getter
public class SC_PlayerMoveEvent extends EventBase { public class SC_PlayerMoveEvent implements Event {
private final Player player; private final Player player;
@Setter @Setter
private EntityLocation newLocation; private EntityLocation newLocation;

View File

@@ -1,22 +0,0 @@
/*
* DmitriyMX <dimon550@gmail.com>
* 2018-05-02
*/
package mc.core.eventbus.events;
import lombok.Getter;
import lombok.RequiredArgsConstructor;
import lombok.Setter;
import mc.core.eventbus.EventBase;
import java.net.SocketAddress;
@RequiredArgsConstructor
@Getter
@Setter
public class SC_ServerPingEvent extends EventBase {
private final SocketAddress remoteAddress;
private String description;
private int online;
private int maxOnline;
}

View File

@@ -11,7 +11,6 @@ import io.netty.channel.socket.nio.NioServerSocketChannel;
import io.netty.util.AttributeKey; import io.netty.util.AttributeKey;
import lombok.Setter; import lombok.Setter;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
import mc.core.eventbus.EventBusGetter;
import mc.core.network.Server; import mc.core.network.Server;
import mc.core.network.StartServerException; import mc.core.network.StartServerException;
import mc.core.network.proto_1_12_2.State; import mc.core.network.proto_1_12_2.State;
@@ -65,7 +64,7 @@ public class NettyServer implements Server {
public void start() throws StartServerException { public void start() throws StartServerException {
log.info("Use protocol {}", StatusResponsePacket.NAME); log.info("Use protocol {}", StatusResponsePacket.NAME);
EventBusGetter.getInstance().register(new PlayerEventListener()); // EventBusGetter.getInstance().register(new PlayerEventListener());
bossGroup = new NioEventLoopGroup(1); bossGroup = new NioEventLoopGroup(1);
workerGroup = new NioEventLoopGroup(workerGroupCount); workerGroup = new NioEventLoopGroup(workerGroupCount);

View File

@@ -1,6 +1,5 @@
package mc.core.network.proto_1_12_2.netty; package mc.core.network.proto_1_12_2.netty;
import com.google.common.eventbus.Subscribe;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
import mc.core.eventbus.events.SC_ChunkLoadEvent; import mc.core.eventbus.events.SC_ChunkLoadEvent;
import mc.core.eventbus.events.SC_ChunkUnloadEvent; import mc.core.eventbus.events.SC_ChunkUnloadEvent;
@@ -14,7 +13,6 @@ import mc.core.world.chunk.Chunk;
@Slf4j @Slf4j
class PlayerEventListener { class PlayerEventListener {
@Subscribe
public void playerMoveEventHandler(SC_PlayerMoveEvent event) { public void playerMoveEventHandler(SC_PlayerMoveEvent event) {
log.debug("(SC) playerMoveEventHandler()"); log.debug("(SC) playerMoveEventHandler()");
PlayerPositionAndLookPacket packet = new PlayerPositionAndLookPacket(); PlayerPositionAndLookPacket packet = new PlayerPositionAndLookPacket();
@@ -25,7 +23,6 @@ class PlayerEventListener {
event.getPlayer().getChannel().writeAndFlush(packet); event.getPlayer().getChannel().writeAndFlush(packet);
} }
@Subscribe
public void playerChunkLoadHandler(SC_ChunkLoadEvent event) { public void playerChunkLoadHandler(SC_ChunkLoadEvent event) {
for(Integer compressXZ : event.getNeedLoadChunks()) { for(Integer compressXZ : event.getNeedLoadChunks()) {
int[] xz = CompactedCoords.uncompressXZ(compressXZ); int[] xz = CompactedCoords.uncompressXZ(compressXZ);
@@ -41,7 +38,6 @@ class PlayerEventListener {
} }
} }
@Subscribe
public void playerChunkUnloadHandler(SC_ChunkUnloadEvent event) { public void playerChunkUnloadHandler(SC_ChunkUnloadEvent event) {
for(Integer compressXZ : event.getNeedUnloadChunks()) { for(Integer compressXZ : event.getNeedUnloadChunks()) {
int[] xz = CompactedCoords.uncompressXZ(compressXZ); int[] xz = CompactedCoords.uncompressXZ(compressXZ);

View File

@@ -2,7 +2,6 @@ package mc.core.network.proto_1_12_2.netty.handlers;
import io.netty.channel.Channel; import io.netty.channel.Channel;
import io.netty.channel.ChannelFutureListener; import io.netty.channel.ChannelFutureListener;
import mc.core.eventbus.EventBusGetter;
import mc.core.eventbus.events.CS_PlayerMoveEvent; import mc.core.eventbus.events.CS_PlayerMoveEvent;
import mc.core.network.proto_1_12_2.State; import mc.core.network.proto_1_12_2.State;
import mc.core.network.proto_1_12_2.TeleportManager; import mc.core.network.proto_1_12_2.TeleportManager;
@@ -15,9 +14,7 @@ import mc.core.player.PlayerMode;
import mc.core.text.Text; import mc.core.text.Text;
import mc.core.text.TextColor; import mc.core.text.TextColor;
import mc.core.text.TextStyle; import mc.core.text.TextStyle;
import mc.core.utils.CompactedCoords;
import mc.core.world.World; import mc.core.world.World;
import mc.core.world.chunk.Chunk;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Component; import org.springframework.stereotype.Component;
@@ -123,7 +120,7 @@ public class LoginHandler extends AbstractStateHandler implements LoginStateHand
CS_PlayerMoveEvent event = new CS_PlayerMoveEvent(player, player.getLocation()); CS_PlayerMoveEvent event = new CS_PlayerMoveEvent(player, player.getLocation());
event.setNewLocation(player.getLocation()); event.setNewLocation(player.getLocation());
event.setRecalcChunk(true); event.setRecalcChunk(true);
EventBusGetter.getInstance().post(event); // EventBusGetter.getInstance().post(event);
} }
} }
} }

View File

@@ -8,7 +8,6 @@ import io.netty.channel.Channel;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
import mc.core.EntityLocation; import mc.core.EntityLocation;
import mc.core.chat.ChatProcessor; import mc.core.chat.ChatProcessor;
import mc.core.eventbus.EventBusGetter;
import mc.core.eventbus.events.CS_PlayerMoveEvent; import mc.core.eventbus.events.CS_PlayerMoveEvent;
import mc.core.network.proto_1_12_2.TeleportManager; import mc.core.network.proto_1_12_2.TeleportManager;
import mc.core.network.proto_1_12_2.packets.*; import mc.core.network.proto_1_12_2.packets.*;
@@ -83,7 +82,7 @@ public class PlayHandler extends AbstractStateHandler implements PlayStateHandle
player.getLocation().getYaw(), player.getLocation().getYaw(),
player.getLocation().getPitch() player.getLocation().getPitch()
)); ));
EventBusGetter.getInstance().post(event); // EventBusGetter.getInstance().post(event);
} }
@Handler @Handler