@@ -2,11 +2,17 @@ package handlers
22
33import (
44 "fmt"
5+ "net"
6+ "time"
57
68 "github.com/df-mc/dragonfly/server/block/cube"
79 "github.com/df-mc/dragonfly/server/cmd"
810 "github.com/df-mc/dragonfly/server/item"
911 "github.com/df-mc/dragonfly/server/player"
12+ "github.com/df-mc/dragonfly/server/player/skin"
13+ "github.com/df-mc/dragonfly/server/session"
14+ "github.com/df-mc/dragonfly/server/world"
15+ "github.com/go-gl/mathgl/mgl64"
1016 "github.com/secmc/plugin/plugin/ports"
1117)
1218
@@ -26,6 +32,104 @@ func (h *PlayerHandler) HandleChat(ctx *player.Context, message *string) {
2632 h .manager .EmitChat (ctx , ctx .Val (), message )
2733}
2834
35+ func (h * PlayerHandler ) HandleMove (ctx * player.Context , newPos mgl64.Vec3 , newRot cube.Rotation ) {
36+ if h .manager == nil {
37+ return
38+ }
39+ h .manager .EmitPlayerMove (ctx , ctx .Val (), newPos , newRot )
40+ }
41+
42+ func (h * PlayerHandler ) HandleJump (p * player.Player ) {
43+ if h .manager == nil {
44+ return
45+ }
46+ h .manager .EmitPlayerJump (p )
47+ }
48+
49+ func (h * PlayerHandler ) HandleTeleport (ctx * player.Context , pos mgl64.Vec3 ) {
50+ if h .manager == nil {
51+ return
52+ }
53+ h .manager .EmitPlayerTeleport (ctx , ctx .Val (), pos )
54+ }
55+
56+ func (h * PlayerHandler ) HandleChangeWorld (p * player.Player , before , after * world.World ) {
57+ if h .manager == nil {
58+ return
59+ }
60+ h .manager .EmitPlayerChangeWorld (p , before , after )
61+ }
62+
63+ func (h * PlayerHandler ) HandleToggleSprint (ctx * player.Context , after bool ) {
64+ if h .manager == nil {
65+ return
66+ }
67+ h .manager .EmitPlayerToggleSprint (ctx , ctx .Val (), after )
68+ }
69+
70+ func (h * PlayerHandler ) HandleToggleSneak (ctx * player.Context , after bool ) {
71+ if h .manager == nil {
72+ return
73+ }
74+ h .manager .EmitPlayerToggleSneak (ctx , ctx .Val (), after )
75+ }
76+
77+ func (h * PlayerHandler ) HandleFoodLoss (ctx * player.Context , from int , to * int ) {
78+ if h .manager == nil {
79+ return
80+ }
81+ h .manager .EmitPlayerFoodLoss (ctx , ctx .Val (), from , to )
82+ }
83+
84+ func (h * PlayerHandler ) HandleHeal (ctx * player.Context , health * float64 , src world.HealingSource ) {
85+ if h .manager == nil {
86+ return
87+ }
88+ h .manager .EmitPlayerHeal (ctx , ctx .Val (), health , src )
89+ }
90+
91+ func (h * PlayerHandler ) HandleHurt (ctx * player.Context , damage * float64 , immune bool , attackImmunity * time.Duration , src world.DamageSource ) {
92+ if h .manager == nil {
93+ return
94+ }
95+ h .manager .EmitPlayerHurt (ctx , ctx .Val (), damage , immune , attackImmunity , src )
96+ }
97+
98+ func (h * PlayerHandler ) HandleDeath (p * player.Player , src world.DamageSource , keepInv * bool ) {
99+ if h .manager == nil {
100+ return
101+ }
102+ h .manager .EmitPlayerDeath (p , src , keepInv )
103+ }
104+
105+ func (h * PlayerHandler ) HandleRespawn (p * player.Player , pos * mgl64.Vec3 , w * * world.World ) {
106+ if h .manager == nil {
107+ return
108+ }
109+ h .manager .EmitPlayerRespawn (p , pos , w )
110+ }
111+
112+ func (h * PlayerHandler ) HandleSkinChange (ctx * player.Context , skin * skin.Skin ) {
113+ if h .manager == nil {
114+ return
115+ }
116+ h .manager .EmitPlayerSkinChange (ctx , ctx .Val (), skin )
117+ }
118+
119+ func (h * PlayerHandler ) HandleFireExtinguish (ctx * player.Context , pos cube.Pos ) {
120+ if h .manager == nil {
121+ return
122+ }
123+ h .manager .EmitPlayerFireExtinguish (ctx , ctx .Val (), pos )
124+ }
125+
126+ func (h * PlayerHandler ) HandleStartBreak (ctx * player.Context , pos cube.Pos ) {
127+ if h .manager == nil {
128+ return
129+ }
130+ h .manager .EmitPlayerStartBreak (ctx , ctx .Val (), pos )
131+ }
132+
29133func (h * PlayerHandler ) HandleCommandExecution (ctx * player.Context , command cmd.Command , args []string ) {
30134 if h .manager == nil {
31135 return
@@ -48,3 +152,137 @@ func (h *PlayerHandler) HandleQuit(p *player.Player) {
48152 }
49153 h .manager .EmitPlayerQuit (p )
50154}
155+
156+ func (h * PlayerHandler ) HandleBlockPlace (ctx * player.Context , pos cube.Pos , b world.Block ) {
157+ if h .manager == nil {
158+ return
159+ }
160+ h .manager .EmitPlayerBlockPlace (ctx , ctx .Val (), pos , b )
161+ }
162+
163+ func (h * PlayerHandler ) HandleBlockPick (ctx * player.Context , pos cube.Pos , b world.Block ) {
164+ if h .manager == nil {
165+ return
166+ }
167+ h .manager .EmitPlayerBlockPick (ctx , ctx .Val (), pos , b )
168+ }
169+
170+ func (h * PlayerHandler ) HandleItemUse (ctx * player.Context ) {
171+ if h .manager == nil {
172+ return
173+ }
174+ h .manager .EmitPlayerItemUse (ctx , ctx .Val ())
175+ }
176+
177+ func (h * PlayerHandler ) HandleItemUseOnBlock (ctx * player.Context , pos cube.Pos , face cube.Face , clickPos mgl64.Vec3 ) {
178+ if h .manager == nil {
179+ return
180+ }
181+ p := ctx .Val ()
182+ if p == nil {
183+ return
184+ }
185+ var block world.Block
186+ if tx := p .Tx (); tx != nil {
187+ block = tx .Block (pos )
188+ }
189+ h .manager .EmitPlayerItemUseOnBlock (ctx , p , pos , face , clickPos , block )
190+ }
191+
192+ func (h * PlayerHandler ) HandleItemUseOnEntity (ctx * player.Context , e world.Entity ) {
193+ if h .manager == nil {
194+ return
195+ }
196+ h .manager .EmitPlayerItemUseOnEntity (ctx , ctx .Val (), e )
197+ }
198+
199+ func (h * PlayerHandler ) HandleItemRelease (ctx * player.Context , it item.Stack , dur time.Duration ) {
200+ if h .manager == nil {
201+ return
202+ }
203+ h .manager .EmitPlayerItemRelease (ctx , ctx .Val (), it , dur )
204+ }
205+
206+ func (h * PlayerHandler ) HandleItemConsume (ctx * player.Context , it item.Stack ) {
207+ if h .manager == nil {
208+ return
209+ }
210+ h .manager .EmitPlayerItemConsume (ctx , ctx .Val (), it )
211+ }
212+
213+ func (h * PlayerHandler ) HandleAttackEntity (ctx * player.Context , e world.Entity , force , height * float64 , critical * bool ) {
214+ if h .manager == nil {
215+ return
216+ }
217+ h .manager .EmitPlayerAttackEntity (ctx , ctx .Val (), e , force , height , critical )
218+ }
219+
220+ func (h * PlayerHandler ) HandleExperienceGain (ctx * player.Context , amount * int ) {
221+ if h .manager == nil {
222+ return
223+ }
224+ h .manager .EmitPlayerExperienceGain (ctx , ctx .Val (), amount )
225+ }
226+
227+ func (h * PlayerHandler ) HandlePunchAir (ctx * player.Context ) {
228+ if h .manager == nil {
229+ return
230+ }
231+ h .manager .EmitPlayerPunchAir (ctx , ctx .Val ())
232+ }
233+
234+ func (h * PlayerHandler ) HandleSignEdit (ctx * player.Context , pos cube.Pos , frontSide bool , oldText , newText string ) {
235+ if h .manager == nil {
236+ return
237+ }
238+ h .manager .EmitPlayerSignEdit (ctx , ctx .Val (), pos , frontSide , oldText , newText )
239+ }
240+
241+ func (h * PlayerHandler ) HandleLecternPageTurn (ctx * player.Context , pos cube.Pos , oldPage int , newPage * int ) {
242+ if h .manager == nil {
243+ return
244+ }
245+ h .manager .EmitPlayerLecternPageTurn (ctx , ctx .Val (), pos , oldPage , newPage )
246+ }
247+
248+ func (h * PlayerHandler ) HandleItemDamage (ctx * player.Context , it item.Stack , damage int ) {
249+ if h .manager == nil {
250+ return
251+ }
252+ h .manager .EmitPlayerItemDamage (ctx , ctx .Val (), it , damage )
253+ }
254+
255+ func (h * PlayerHandler ) HandleItemPickup (ctx * player.Context , it * item.Stack ) {
256+ if h .manager == nil {
257+ return
258+ }
259+ h .manager .EmitPlayerItemPickup (ctx , ctx .Val (), it )
260+ }
261+
262+ func (h * PlayerHandler ) HandleHeldSlotChange (ctx * player.Context , from , to int ) {
263+ if h .manager == nil {
264+ return
265+ }
266+ h .manager .EmitPlayerHeldSlotChange (ctx , ctx .Val (), from , to )
267+ }
268+
269+ func (h * PlayerHandler ) HandleItemDrop (ctx * player.Context , it item.Stack ) {
270+ if h .manager == nil {
271+ return
272+ }
273+ h .manager .EmitPlayerItemDrop (ctx , ctx .Val (), it )
274+ }
275+
276+ func (h * PlayerHandler ) HandleTransfer (ctx * player.Context , addr * net.UDPAddr ) {
277+ if h .manager == nil {
278+ return
279+ }
280+ h .manager .EmitPlayerTransfer (ctx , ctx .Val (), addr )
281+ }
282+
283+ func (h * PlayerHandler ) HandleDiagnostics (p * player.Player , d session.Diagnostics ) {
284+ if h .manager == nil {
285+ return
286+ }
287+ h .manager .EmitPlayerDiagnostics (p , d )
288+ }
0 commit comments