MCPcopy Create free account
hub / github.com/cabaletta/baritone / GameEventHandler

Class GameEventHandler

src/main/java/baritone/event/GameEventHandler.java:42–189  ·  view source on GitHub ↗

@author Brady @since 7/31/2018

Source from the content-addressed store, hash-verified

40 * @since 7/31/2018
41 */
42public final class GameEventHandler implements IEventBus, Helper {
43
44 private final Baritone baritone;
45
46 private final List<IGameEventListener> listeners = new CopyOnWriteArrayList<>();
47
48 public GameEventHandler(Baritone baritone) {
49 this.baritone = baritone;
50 }
51
52 @Override
53 public final void onTick(TickEvent event) {
54 if (event.getType() == TickEvent.Type.IN) {
55 try {
56 baritone.bsi = new BlockStateInterface(baritone.getPlayerContext(), true);
57 } catch (Exception ex) {
58 ex.printStackTrace();
59 baritone.bsi = null;
60 }
61 } else {
62 baritone.bsi = null;
63 }
64 listeners.forEach(l -> l.onTick(event));
65 }
66
67 @Override
68 public void onPostTick(TickEvent event) {
69 listeners.forEach(l -> l.onPostTick(event));
70 }
71
72 @Override
73 public final void onPlayerUpdate(PlayerUpdateEvent event) {
74 listeners.forEach(l -> l.onPlayerUpdate(event));
75 }
76
77 @Override
78 public final void onSendChatMessage(ChatEvent event) {
79 listeners.forEach(l -> l.onSendChatMessage(event));
80 }
81
82 @Override
83 public void onPreTabComplete(TabCompleteEvent event) {
84 listeners.forEach(l -> l.onPreTabComplete(event));
85 }
86
87 @Override
88 public void onChunkEvent(ChunkEvent event) {
89 EventState state = event.getState();
90 ChunkEvent.Type type = event.getType();
91
92 Level world = baritone.getPlayerContext().world();
93
94 // Whenever the server sends us to another dimension, chunks are unloaded
95 // technically after the new world has been loaded, so we perform a check
96 // to make sure the chunk being unloaded is already loaded.
97 boolean isPreUnload = state == EventState.PRE
98 && type == ChunkEvent.Type.UNLOAD
99 && world.getChunkSource().getChunk(event.getX(), event.getZ(), null, false) != null;

Callers

nothing calls this directly

Calls

no outgoing calls

Tested by

no test coverage detected