mirror of
https://github.com/Grasscutters/Grasscutter.git
synced 2025-05-12 06:56:02 +08:00
* Make sure we never access PlayerOpenStateManager::map directly. * Read OpenStates from excels. * Add defaultState * Replace hardcoded open states with the ones read from excels. * Don't send change notify when unlocking on login. * Add open state blacklist for default unlocks. * Add a way to temporarily set open states for dev * Remove old OpenState.java * Fix UnlockAllCommand * Change condType to an enum.
20 lines
748 B
Java
20 lines
748 B
Java
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.net.proto.SetOpenStateReqOuterClass.SetOpenStateReq;
|
|
import emu.grasscutter.server.game.GameSession;
|
|
|
|
@Opcodes(PacketOpcodes.SetOpenStateReq)
|
|
public class HandlerSetOpenStateReq extends PacketHandler {
|
|
@Override
|
|
public void handle(GameSession session, byte[] header, byte[] payload) throws Exception {
|
|
var req = SetOpenStateReq.parseFrom(payload);
|
|
int openState = req.getKey();
|
|
int value = req.getValue();
|
|
|
|
session.getPlayer().getOpenStateManager().setOpenStateFromClient(openState, value);
|
|
}
|
|
}
|