Skip to content
GitLab
Menu
Projects
Groups
Snippets
Loading...
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Sign in / Register
Toggle navigation
Menu
Open sidebar
ziqian zhang
Grasscutter
Commits
d5d90564
Commit
d5d90564
authored
Apr 20, 2022
by
memetrollsXD
Browse files
Custom Y position on MarkMapReq
parent
c728b9f5
Changes
1
Hide whitespace changes
Inline
Side-by-side
src/main/java/emu/grasscutter/server/packet/recv/HandlerMarkMapReq.java
View file @
d5d90564
...
...
@@ -15,26 +15,41 @@ import emu.grasscutter.server.packet.send.PacketSceneEntityAppearNotify;
@Opcodes
(
PacketOpcodes
.
MarkMapReq
)
public
class
HandlerMarkMapReq
extends
PacketHandler
{
private
static
boolean
isInt
(
String
str
)
{
try
{
@SuppressWarnings
(
"unused"
)
int
x
=
Integer
.
parseInt
(
str
);
return
true
;
// String is an Integer
}
catch
(
NumberFormatException
e
)
{
return
false
;
// String is not an Integer
}
}
@Override
public
void
handle
(
GameSession
session
,
byte
[]
header
,
byte
[]
payload
)
throws
Exception
{
MarkMapReq
req
=
MarkMapReq
.
parseFrom
(
payload
);
if
(
req
.
getOp
()
!=
Operation
.
Add
)
{
return
;
}
session
.
getPlayer
().
getPos
().
setX
(
req
.
getMark
().
getPos
().
getX
());
session
.
getPlayer
().
getPos
().
setZ
(
req
.
getMark
().
getPos
().
getZ
());
session
.
getPlayer
().
getPos
().
setY
(
300
);
Grasscutter
.
getLogger
().
info
(
"Player ["
+
session
.
getPlayer
().
getUid
()
+
":"
+
session
.
getPlayer
().
getNickname
()
+
"] tp to "
+
session
.
getPlayer
().
getPos
()
+
" Scene id: "
+
req
.
getMark
().
getSceneId
());
session
.
getPlayer
().
getPos
()
.
setY
(
isInt
(
req
.
getMark
().
getName
())
?
Integer
.
parseInt
(
req
.
getMark
().
getName
())
:
300
);
Grasscutter
.
getLogger
().
info
(
"Player ["
+
session
.
getPlayer
().
getUid
()
+
":"
+
session
.
getPlayer
().
getNickname
()
+
"] tp to "
+
session
.
getPlayer
().
getPos
()
+
" Scene id: "
+
req
.
getMark
().
getSceneId
());
if
(
req
.
getMark
().
getSceneId
()
!=
session
.
getPlayer
().
getSceneId
())
{
session
.
getPlayer
().
getWorld
().
transferPlayerToScene
(
session
.
getPlayer
(),
req
.
getMark
().
getSceneId
(),
session
.
getPlayer
().
getPos
());
session
.
getPlayer
().
getWorld
().
transferPlayerToScene
(
session
.
getPlayer
(),
req
.
getMark
().
getSceneId
(),
session
.
getPlayer
().
getPos
());
}
else
{
session
.
getPlayer
().
getScene
().
broadcastPacket
(
new
PacketSceneEntityAppearNotify
(
session
.
getPlayer
()));
}
}
}
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
.
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment