mirror of
https://github.com/Grasscutters/Grasscutter.git
synced 2025-12-17 09:25:06 +01:00
3.1 Support (#1808)
* Update 3.0 protos * Update classes to match protos * Fix RegionHandler versions * 3.0 Opcodes * Fixed Gadget Spawning Original Commit Message: fixed gadget spawning ty MJDerp Gitea Author: yh0Nathan Co-authored-by: yh0Nathan <yhonathancaleb@gmail.com> * Make PointData compatible with alternative PointData Original Commit Message: Make PointData compatible with windied scene points. Gitea Author: GanyusLeftHorn Co-authored-by: GanyusLeftHorn <1244229+GanyusLeftHorn@users.noreply.github.com> * Add scene tag for Vanarana. Original Commit Message: Add scene tag for Vanarana. Gitea Author: GanyusLeftHorn Co-authored-by: GanyusLeftHorn <1244229+GanyusLeftHorn@users.noreply.github.com> * Add Sumeru expeditions. Original Commit Message: Add Sumeru expeditions. Gitea Author: GanyusLeftHorn Co-authored-by: GanyusLeftHorn <1244229+GanyusLeftHorn@users.noreply.github.com> * Update game version to 3.0.0 * versionFix must be >= 50 not == 50 in RegionHandler * Add new 3.0 Reliquary and SkillParticleGeneration data Original Commit Message: Repair 3.0 added Reliquary 3-in-1 on the crafting table. Add skill particle generation info for Tighnari,Collei and Dori Gitea Author: Roly * Actually fix RegionHandler * Remove asset names from json and comments * Add scene areas for Sumeru desert to /prop um * Added New MaterialType * Change version to 3.1.0 * funny welcome message back * Fix pyramid skill issue. * Fix pyramid and event scene tags without ugly bruteforce. * Remove backrooms chat welcome message. * Incorporate suggestions. * RoomSceneId and empty list checking. Co-authored-by: Benj <benjamin7006@gmail.com> Co-authored-by: yh0Nathan <yhonathancaleb@gmail.com> Co-authored-by: Kokoboy <anushkumar222001@gmail.com> Co-authored-by: nitro <31241699+nitrog0d@users.noreply.github.com> Co-authored-by: Vexeone <vexeone@gmail.com>
This commit is contained in:
@@ -19,7 +19,7 @@ public class PacketPlayerEnterSceneNotify extends BasePacket {
|
||||
player.setSceneLoadState(SceneLoadState.LOADING);
|
||||
player.setEnterSceneToken(Utils.randomRange(1000, 99999));
|
||||
|
||||
PlayerEnterSceneNotify proto = PlayerEnterSceneNotify.newBuilder()
|
||||
PlayerEnterSceneNotify.Builder proto = PlayerEnterSceneNotify.newBuilder()
|
||||
.setSceneId(player.getSceneId())
|
||||
.setPos(player.getPosition().toProto())
|
||||
.setSceneBeginTime(System.currentTimeMillis())
|
||||
@@ -30,8 +30,7 @@ public class PacketPlayerEnterSceneNotify extends BasePacket {
|
||||
.setEnterReason(EnterReason.Login.getValue())
|
||||
.setIsFirstLoginEnterScene(player.isFirstLoginEnterScene())
|
||||
.setWorldType(1)
|
||||
.setSceneTransaction("3-" + player.getUid() + "-" + (int) (System.currentTimeMillis() / 1000) + "-" + 18402)
|
||||
.build();
|
||||
.setSceneTransaction("3-" + player.getUid() + "-" + (int) (System.currentTimeMillis() / 1000) + "-" + 18402);
|
||||
|
||||
this.setData(proto);
|
||||
}
|
||||
@@ -61,10 +60,6 @@ public class PacketPlayerEnterSceneNotify extends BasePacket {
|
||||
.setWorldType(1)
|
||||
.setSceneTransaction(newScene + "-" + target.getUid() + "-" + (int) (System.currentTimeMillis() / 1000) + "-" + 18402);
|
||||
|
||||
for (int i = 0; i < 3000; i++) {
|
||||
proto.addSceneTagIdList(i);
|
||||
}
|
||||
|
||||
this.setData(proto.build());
|
||||
this.setData(proto);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,15 +1,12 @@
|
||||
package emu.grasscutter.server.packet.send;
|
||||
|
||||
import emu.grasscutter.net.packet.BasePacket;
|
||||
import emu.grasscutter.net.packet.PacketOpcodes;
|
||||
import emu.grasscutter.net.proto.PlayerWorldSceneInfoListNotifyOuterClass.PlayerWorldSceneInfoListNotify;
|
||||
import emu.grasscutter.net.proto.PlayerWorldSceneInfoOuterClass;
|
||||
import emu.grasscutter.net.proto.SceneUnlockInfoOuterClass.SceneUnlockInfo;
|
||||
|
||||
import java.util.stream.Collectors;
|
||||
import java.util.stream.IntStream;
|
||||
|
||||
import static emu.grasscutter.net.proto.PlayerWorldSceneInfoOuterClass.*;
|
||||
import emu.grasscutter.net.packet.BasePacket;
|
||||
import emu.grasscutter.net.packet.PacketOpcodes;
|
||||
import emu.grasscutter.net.proto.PlayerWorldSceneInfoListNotifyOuterClass.PlayerWorldSceneInfoListNotify;
|
||||
import emu.grasscutter.net.proto.PlayerWorldSceneInfoOuterClass.PlayerWorldSceneInfo;
|
||||
|
||||
public class PacketPlayerWorldSceneInfoListNotify extends BasePacket {
|
||||
|
||||
@@ -27,14 +24,26 @@ public class PacketPlayerWorldSceneInfoListNotify extends BasePacket {
|
||||
PlayerWorldSceneInfo.newBuilder()
|
||||
.setSceneId(3)
|
||||
.setIsLocked(false)
|
||||
.addSceneTagIdList(102)
|
||||
.addSceneTagIdList(102) // Jade chamber
|
||||
.addSceneTagIdList(113)
|
||||
.addSceneTagIdList(117)
|
||||
.addSceneTagIdList(1093)
|
||||
//.addSceneTagIdList(1094)
|
||||
//.addSceneTagIdList(1095)
|
||||
//.addSceneTagIdList(1096)
|
||||
//.addAllSceneTagIdList(IntStream.range(1000, 2000).boxed().collect(Collectors.toList()))
|
||||
|
||||
// Vanarana (Sumeru tree)
|
||||
.addSceneTagIdList(1093) // Vana_real
|
||||
// .addSceneTagIdList(1094) // Vana_dream
|
||||
// .addSceneTagIdList(1095) // Vana_first
|
||||
// .addSceneTagIdList(1096) // Vana_festival
|
||||
|
||||
// 3.1 event
|
||||
.addSceneTagIdList(152)
|
||||
.addSceneTagIdList(153)
|
||||
|
||||
// Pyramid
|
||||
.addSceneTagIdList(1164) // Arena (XMSM_CWLTop)
|
||||
.addSceneTagIdList(1166) // Pyramid (CWL_Trans_02)
|
||||
|
||||
// Brute force
|
||||
//.addAllSceneTagIdList(IntStream.range(1150, 1250).boxed().toList())
|
||||
.build()
|
||||
)
|
||||
.addInfoList(
|
||||
@@ -63,18 +72,15 @@ public class PacketPlayerWorldSceneInfoListNotify extends BasePacket {
|
||||
.setSceneId(7)
|
||||
.setIsLocked(false)
|
||||
.build()
|
||||
)
|
||||
.addInfoList(
|
||||
PlayerWorldSceneInfo.newBuilder()
|
||||
.setSceneId(9)
|
||||
.setIsLocked(false)
|
||||
.addAllSceneTagIdList(IntStream.range(0, 3000).boxed().toList())
|
||||
.build()
|
||||
);
|
||||
|
||||
var gaa = PlayerWorldSceneInfo.newBuilder()
|
||||
.setSceneId(9)
|
||||
.setIsLocked(false);
|
||||
|
||||
for (int i = 0; i < 3000; i++) {
|
||||
gaa.addSceneTagIdList(i);
|
||||
}
|
||||
|
||||
proto.addInfoList(gaa);
|
||||
|
||||
this.setData(proto);
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user