mirror of
https://github.com/Grasscutters/Grasscutter.git
synced 2025-12-21 19:34:42 +01:00
Merge branch 'development' into unstable
# Conflicts: # src/generated/main/java/emu/grasscutter/net/proto/ResinChangeNotifyOuterClass.java # src/main/java/emu/grasscutter/game/managers/ResinManager.java # src/main/java/emu/grasscutter/game/player/Player.java # src/main/java/emu/grasscutter/game/props/ItemUseAction/ItemUseAddItem.java # src/main/java/emu/grasscutter/server/packet/send/PacketResinChangeNotify.java
This commit is contained in:
@@ -0,0 +1,16 @@
|
||||
package emu.grasscutter.server.packet.recv;
|
||||
|
||||
import emu.grasscutter.net.packet.Opcodes;
|
||||
import emu.grasscutter.net.packet.PacketHandler;
|
||||
import emu.grasscutter.net.packet.PacketOpcodes;
|
||||
import emu.grasscutter.server.game.GameSession;
|
||||
import emu.grasscutter.server.packet.send.PacketBuyResinRsp;
|
||||
|
||||
@Opcodes(PacketOpcodes.BuyResinReq)
|
||||
public class HandlerBuyResinReq extends PacketHandler {
|
||||
@Override
|
||||
public void handle(GameSession session, byte[] header, byte[] payload) throws Exception {
|
||||
var player = session.getPlayer();
|
||||
session.send(new PacketBuyResinRsp(player, player.getResinManager().buy()));
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,31 @@
|
||||
|
||||
package emu.grasscutter.server.packet.recv;
|
||||
|
||||
import javax.lang.model.type.TypeMirror;
|
||||
|
||||
import emu.grasscutter.net.packet.Opcodes;
|
||||
import emu.grasscutter.net.packet.PacketHandler;
|
||||
import emu.grasscutter.net.packet.PacketOpcodes;
|
||||
import emu.grasscutter.net.proto.SceneAudioNotifyOuterClass.SceneAudioNotify;
|
||||
import emu.grasscutter.server.game.GameSession;
|
||||
import emu.grasscutter.server.packet.send.PacketSceneAudioNotify;
|
||||
import java.util.List;
|
||||
|
||||
@Opcodes(PacketOpcodes.SceneAudioNotify)
|
||||
public class HandlerSceneAudioNotify extends PacketHandler {
|
||||
|
||||
@Override
|
||||
public void handle(GameSession session, byte[] header, byte[] payload) throws Exception {
|
||||
SceneAudioNotify notify = SceneAudioNotify.parseFrom(payload);
|
||||
|
||||
int sourceUid = notify.getSourceUid();
|
||||
List<Float> param2 = notify.getParam2List();
|
||||
List<String> param3 = notify.getParam3List();
|
||||
int type = notify.getType();
|
||||
List<Integer> param1 = notify.getParam1List();
|
||||
|
||||
session.getPlayer().getScene().broadcastPacket(new PacketSceneAudioNotify(sourceUid, param2, param3, type, param1));
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@@ -0,0 +1,18 @@
|
||||
package emu.grasscutter.server.packet.send;
|
||||
|
||||
import emu.grasscutter.game.player.Player;
|
||||
import emu.grasscutter.game.props.PlayerProperty;
|
||||
import emu.grasscutter.net.packet.BasePacket;
|
||||
import emu.grasscutter.net.packet.PacketOpcodes;
|
||||
import emu.grasscutter.net.proto.BuyResinRspOuterClass;
|
||||
|
||||
public class PacketBuyResinRsp extends BasePacket {
|
||||
public PacketBuyResinRsp(Player player, int ret) {
|
||||
super(PacketOpcodes.BuyResinRsp);
|
||||
|
||||
this.setData(BuyResinRspOuterClass.BuyResinRsp.newBuilder()
|
||||
.setCurValue(player.getProperty(PlayerProperty.PROP_PLAYER_RESIN))
|
||||
.setRetcode(ret)
|
||||
.build());
|
||||
}
|
||||
}
|
||||
@@ -1,24 +1,22 @@
|
||||
package emu.grasscutter.server.packet.send;
|
||||
|
||||
import emu.grasscutter.game.player.Player;
|
||||
import emu.grasscutter.game.props.PlayerProperty;
|
||||
import emu.grasscutter.net.packet.BasePacket;
|
||||
import emu.grasscutter.net.packet.PacketOpcodes;
|
||||
import emu.grasscutter.net.proto.ResinChangeNotifyOuterClass.ResinChangeNotify;
|
||||
|
||||
public class PacketResinChangeNotify extends BasePacket {
|
||||
|
||||
public PacketResinChangeNotify(Player player) {
|
||||
super(PacketOpcodes.ResinChangeNotify);
|
||||
|
||||
ResinChangeNotify proto =
|
||||
ResinChangeNotify.newBuilder()
|
||||
.setCurValue(player.getProperty(PlayerProperty.PROP_PLAYER_RESIN))
|
||||
.setNextAddTimestamp(player.getNextResinRefresh())
|
||||
.build();
|
||||
|
||||
// ToDo: Add ability to buy resin with primogems, has to be included here.
|
||||
|
||||
this.setData(proto);
|
||||
}
|
||||
}
|
||||
package emu.grasscutter.server.packet.send;
|
||||
|
||||
import emu.grasscutter.game.player.Player;
|
||||
import emu.grasscutter.game.props.PlayerProperty;
|
||||
import emu.grasscutter.net.packet.BasePacket;
|
||||
import emu.grasscutter.net.packet.PacketOpcodes;
|
||||
import emu.grasscutter.net.proto.ResinChangeNotifyOuterClass.ResinChangeNotify;
|
||||
|
||||
public class PacketResinChangeNotify extends BasePacket {
|
||||
|
||||
public PacketResinChangeNotify(Player player) {
|
||||
super(PacketOpcodes.ResinChangeNotify);
|
||||
|
||||
ResinChangeNotify proto = ResinChangeNotify.newBuilder()
|
||||
.setCurValue(player.getProperty(PlayerProperty.PROP_PLAYER_RESIN))
|
||||
.setNextAddTimestamp(player.getNextResinRefresh())
|
||||
.setCurBuyCount(player.getResinBuyCount())
|
||||
.build();
|
||||
|
||||
this.setData(proto);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -0,0 +1,23 @@
|
||||
package emu.grasscutter.server.packet.send;
|
||||
|
||||
import emu.grasscutter.net.packet.BasePacket;
|
||||
import emu.grasscutter.net.packet.PacketOpcodes;
|
||||
import emu.grasscutter.net.proto.SceneAudioNotifyOuterClass;
|
||||
import java.util.List;
|
||||
|
||||
public class PacketSceneAudioNotify extends BasePacket {
|
||||
|
||||
public PacketSceneAudioNotify(int sourceUid, List<Float> param2, List<String> param3, int type, List<Integer> param1) {
|
||||
super(PacketOpcodes.SceneAudioNotify);
|
||||
|
||||
SceneAudioNotifyOuterClass.SceneAudioNotify proto = SceneAudioNotifyOuterClass.SceneAudioNotify.newBuilder()
|
||||
.setSourceUid(sourceUid)
|
||||
.addAllParam2(param2)
|
||||
.addAllParam3(param3)
|
||||
.setType(type)
|
||||
.addAllParam1(param1)
|
||||
.build();
|
||||
|
||||
this.setData(proto);
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user