mirror of
https://github.com/Grasscutters/Grasscutter.git
synced 2025-12-22 20:04:56 +01:00
feat: unlock homeworld bgm and set homeworld bgm. (#1844)
* will be able to change home bgm. * feat: unlock homeworld bgm and set homeworld bgm. * Update src/main/java/emu/grasscutter/game/home/GameHome.java * Update GameHome.java * Get default unlocked home bgms from HomeWorldBgmData * fix: duplicate home items by sending packet
This commit is contained in:
@@ -0,0 +1,17 @@
|
||||
package emu.grasscutter.server.packet.send;
|
||||
|
||||
import emu.grasscutter.net.packet.BasePacket;
|
||||
import emu.grasscutter.net.packet.PacketOpcodes;
|
||||
import emu.grasscutter.net.proto.Unk2700FJEHHCPCBLGServerNotify;
|
||||
|
||||
public class PacketChangeHomeBgmNotify extends BasePacket {
|
||||
public PacketChangeHomeBgmNotify(int homeBgmId) {
|
||||
super(PacketOpcodes.Unk2700_FJEHHCPCBLG_ServerNotify);
|
||||
|
||||
var notify = Unk2700FJEHHCPCBLGServerNotify.Unk2700_FJEHHCPCBLG_ServerNotify.newBuilder()
|
||||
.setUnk2700BJHAMKKECEI(homeBgmId)
|
||||
.build();
|
||||
|
||||
this.setData(notify);
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,17 @@
|
||||
package emu.grasscutter.server.packet.send;
|
||||
|
||||
import emu.grasscutter.net.packet.BasePacket;
|
||||
import emu.grasscutter.net.packet.PacketOpcodes;
|
||||
import emu.grasscutter.net.proto.Unk2700OGHMHELMBNNServerRsp;
|
||||
|
||||
public class PacketChangeHomeBgmRsp extends BasePacket {
|
||||
public PacketChangeHomeBgmRsp() {
|
||||
super(PacketOpcodes.Unk2700_OGHMHELMBNN_ServerRsp);
|
||||
|
||||
var rsp = Unk2700OGHMHELMBNNServerRsp.Unk2700_OGHMHELMBNN_ServerRsp.newBuilder()
|
||||
.setRetcode(0)
|
||||
.build();
|
||||
|
||||
this.setData(rsp);
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,17 @@
|
||||
package emu.grasscutter.server.packet.send;
|
||||
|
||||
import emu.grasscutter.net.packet.BasePacket;
|
||||
import emu.grasscutter.net.packet.PacketOpcodes;
|
||||
import emu.grasscutter.net.proto.Unk2700MEBFPBDNPGOServerNotify;
|
||||
|
||||
public class PacketUnlockHomeBgmNotify extends BasePacket {
|
||||
public PacketUnlockHomeBgmNotify(int homeBgmId) {
|
||||
super(PacketOpcodes.Unk2700_MEBFPBDNPGO_ServerNotify);
|
||||
|
||||
var notify = Unk2700MEBFPBDNPGOServerNotify.Unk2700_MEBFPBDNPGO_ServerNotify.newBuilder()
|
||||
.addUnk2700ELJPLMIHNIP(homeBgmId)
|
||||
.build();
|
||||
|
||||
this.setData(notify);
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,24 @@
|
||||
package emu.grasscutter.server.packet.send;
|
||||
|
||||
import emu.grasscutter.game.player.Player;
|
||||
import emu.grasscutter.net.packet.BasePacket;
|
||||
import emu.grasscutter.net.packet.PacketOpcodes;
|
||||
import emu.grasscutter.net.proto.Unk2700LOHBMOKOPLHServerNotify;
|
||||
|
||||
public class PacketUnlockedHomeBgmNotify extends BasePacket {
|
||||
public PacketUnlockedHomeBgmNotify(Player player) {
|
||||
super(PacketOpcodes.Unk2700_LOHBMOKOPLH_ServerNotify);
|
||||
|
||||
if (player.getRealmList() == null) {
|
||||
return;
|
||||
}
|
||||
|
||||
var unlocked = player.getHome().getUnlockedHomeBgmListInfo();
|
||||
|
||||
var notify = Unk2700LOHBMOKOPLHServerNotify.Unk2700_LOHBMOKOPLH_ServerNotify.newBuilder()
|
||||
.addAllUnk2700KMEKMNONMGE(unlocked)
|
||||
.build();
|
||||
|
||||
this.setData(notify);
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user