Implement a new item drops system (#2112)

* 1

* Delete .gitattributes

* implement

* Update PacketDropHintNotify.java

* Update PacketWorldChestOpenNotify.java

* Update FileUtils.java

* Update PacketDropHintNotify.java

* Update WorldDataSystem.java

---------

Co-authored-by: Magix <27646710+KingRainbow44@users.noreply.github.com>
This commit is contained in:
dragon
2023-04-14 10:28:54 +08:00
committed by GitHub
parent eda5e8c5e0
commit f71b29c00a
21 changed files with 590 additions and 131 deletions

View File

@@ -0,0 +1,27 @@
package emu.grasscutter.server.packet.send;
import emu.grasscutter.game.inventory.GameItem;
import emu.grasscutter.net.packet.BasePacket;
import emu.grasscutter.net.packet.PacketOpcodes;
import emu.grasscutter.net.proto.DropHintNotifyOuterClass.DropHintNotify;
import emu.grasscutter.net.proto.VectorOuterClass.Vector;
public class PacketDropHintNotify extends BasePacket {
public PacketDropHintNotify(int itemId, Vector position) {
super(PacketOpcodes.DropHintNotify);
var proto = DropHintNotify.newBuilder()
.addItemIdList(itemId)
.setPosition(position);
this.setData(proto.build());
}
public PacketDropHintNotify(Iterable<GameItem> items, Vector position) {
super(PacketOpcodes.DropHintNotify);
var proto = DropHintNotify.newBuilder();
items.forEach(i -> proto.addItemIdList(i.getItemId()));
proto.setPosition(position);
this.setData(proto.build());
}
}

View File

@@ -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.WorldChestOpenNotifyOuterClass.WorldChestOpenNotify;
public class PacketWorldChestOpenNotify extends BasePacket {
public PacketWorldChestOpenNotify(int groupId,int sceneId,int configId){
super(PacketOpcodes.WorldChestOpenNotify);
this.setData(WorldChestOpenNotify.newBuilder()
.setGroupId(groupId)
.setSceneId(sceneId)
.setConfigId(configId)
.build());
}
}