Skip to content
GitLab
Menu
Projects
Groups
Snippets
Loading...
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Sign in / Register
Toggle navigation
Menu
Open sidebar
ziqian zhang
Grasscutter
Commits
2e19e70f
Commit
2e19e70f
authored
Jul 18, 2022
by
Melledy
Browse files
Refactor game server managers to systems
parent
d20e9d1f
Changes
63
Hide whitespace changes
Inline
Side-by-side
src/main/java/emu/grasscutter/command/commands/AnnounceCommand.java
View file @
2e19e70f
...
...
@@ -22,7 +22,7 @@ public final class AnnounceCommand implements CommandHandler {
@Override
public
void
execute
(
Player
sender
,
Player
targetPlayer
,
List
<
String
>
args
)
{
var
manager
=
Grasscutter
.
getGameServer
().
getAnnouncement
Manager
();
var
manager
=
Grasscutter
.
getGameServer
().
getAnnouncement
System
();
if
(
args
.
size
()
<
1
)
{
CommandHandler
.
sendTranslatedMessage
(
sender
,
"commands.announce.command_usage"
);
return
;
...
...
src/main/java/emu/grasscutter/command/commands/CoopCommand.java
View file @
2e19e70f
...
...
@@ -41,10 +41,10 @@ public final class CoopCommand implements CommandHandler {
// There's no target==host check but this just places them in multiplayer in their own world which seems fine.
if
(
targetPlayer
.
isInMultiplayer
())
{
targetPlayer
.
getServer
().
getMultiplayer
Manager
().
leaveCoop
(
targetPlayer
);
targetPlayer
.
getServer
().
getMultiplayer
System
().
leaveCoop
(
targetPlayer
);
}
host
.
getServer
().
getMultiplayer
Manager
().
applyEnterMp
(
targetPlayer
,
host
.
getUid
());
targetPlayer
.
getServer
().
getMultiplayer
Manager
().
applyEnterMpReply
(
host
,
targetPlayer
.
getUid
(),
true
);
host
.
getServer
().
getMultiplayer
System
().
applyEnterMp
(
targetPlayer
,
host
.
getUid
());
targetPlayer
.
getServer
().
getMultiplayer
System
().
applyEnterMpReply
(
host
,
targetPlayer
.
getUid
(),
true
);
CommandHandler
.
sendMessage
(
sender
,
translate
(
sender
,
"commands.coop.success"
,
targetPlayer
.
getNickname
(),
host
.
getNickname
()));
}
}
src/main/java/emu/grasscutter/command/commands/EnterDungeonCommand.java
View file @
2e19e70f
...
...
@@ -25,7 +25,7 @@ public final class EnterDungeonCommand implements CommandHandler {
return
;
}
boolean
result
=
targetPlayer
.
getServer
().
getDungeon
Manager
().
enterDungeon
(
targetPlayer
.
getSession
().
getPlayer
(),
0
,
dungeonId
);
boolean
result
=
targetPlayer
.
getServer
().
getDungeon
System
().
enterDungeon
(
targetPlayer
.
getSession
().
getPlayer
(),
0
,
dungeonId
);
if
(!
result
)
{
CommandHandler
.
sendMessage
(
sender
,
translate
(
sender
,
"commands.enter_dungeon.not_found_error"
));
...
...
src/main/java/emu/grasscutter/command/commands/ReloadCommand.java
View file @
2e19e70f
...
...
@@ -18,9 +18,9 @@ public final class ReloadCommand implements CommandHandler {
Grasscutter
.
loadConfig
();
Grasscutter
.
loadLanguage
();
Grasscutter
.
getGameServer
().
getGacha
Manager
().
load
();
Grasscutter
.
getGameServer
().
getDrop
Manager
().
load
();
Grasscutter
.
getGameServer
().
getShop
Manager
().
load
();
Grasscutter
.
getGameServer
().
getGacha
System
().
load
();
Grasscutter
.
getGameServer
().
getDrop
System
().
load
();
Grasscutter
.
getGameServer
().
getShop
System
().
load
();
CommandHandler
.
sendMessage
(
sender
,
translate
(
sender
,
"commands.reload.reload_done"
));
}
...
...
src/main/java/emu/grasscutter/command/commands/SetPropCommand.java
View file @
2e19e70f
...
...
@@ -146,7 +146,7 @@ public final class SetPropCommand implements CommandHandler {
}
private
boolean
setTowerLevel
(
Player
sender
,
Player
targetPlayer
,
int
topFloor
)
{
List
<
Integer
>
floorIds
=
targetPlayer
.
getServer
().
getTowerS
cheduleManager
().
getAllFloors
();
List
<
Integer
>
floorIds
=
targetPlayer
.
getServer
().
getTowerS
ystem
().
getAllFloors
();
if
(
topFloor
<
0
||
topFloor
>
floorIds
.
size
())
{
String
min
=
Integer
.
toString
(
0
);
String
max
=
Integer
.
toString
(
floorIds
.
size
());
...
...
src/main/java/emu/grasscutter/game/battlepass/BattlePassManager.java
View file @
2e19e70f
...
...
@@ -140,11 +140,11 @@ public class BattlePassManager extends BasePlayerDataManager {
// Mission triggers
public
void
triggerMission
(
WatcherTriggerType
triggerType
)
{
getPlayer
().
getServer
().
getBattlePass
MissionManager
().
triggerMission
(
getPlayer
(),
triggerType
);
getPlayer
().
getServer
().
getBattlePass
System
().
triggerMission
(
getPlayer
(),
triggerType
);
}
public
void
triggerMission
(
WatcherTriggerType
triggerType
,
int
param
,
int
progress
)
{
getPlayer
().
getServer
().
getBattlePass
MissionManager
().
triggerMission
(
getPlayer
(),
triggerType
,
param
,
progress
);
getPlayer
().
getServer
().
getBattlePass
System
().
triggerMission
(
getPlayer
(),
triggerType
,
param
,
progress
);
}
// Handlers
...
...
src/main/java/emu/grasscutter/game/battlepass/BattlePass
MissionManager
.java
→
src/main/java/emu/grasscutter/game/battlepass/BattlePass
System
.java
View file @
2e19e70f
...
...
@@ -11,16 +11,17 @@ import emu.grasscutter.game.player.Player;
import
emu.grasscutter.game.props.BattlePassMissionRefreshType
;
import
emu.grasscutter.game.props.BattlePassMissionStatus
;
import
emu.grasscutter.game.props.WatcherTriggerType
;
import
emu.grasscutter.server.game.BaseGameSystem
;
import
emu.grasscutter.server.game.GameServer
;
import
emu.grasscutter.server.packet.send.PacketBattlePassMissionUpdateNotify
;
public
class
BattlePassMissionManager
{
private
final
GameServer
server
;
public
class
BattlePassSystem
extends
BaseGameSystem
{
private
final
Map
<
WatcherTriggerType
,
List
<
BattlePassMissionData
>>
cachedTriggers
;
// BP Mission manager for the server, contains cached triggers so we dont have to load it for each player
public
BattlePassMissionManager
(
GameServer
server
)
{
this
.
server
=
server
;
public
BattlePassSystem
(
GameServer
server
)
{
super
(
server
);
this
.
cachedTriggers
=
new
HashMap
<>();
for
(
BattlePassMissionData
missionData
:
GameData
.
getBattlePassMissionDataMap
().
values
())
{
...
...
src/main/java/emu/grasscutter/game/combine/CombineManger.java
View file @
2e19e70f
...
...
@@ -12,6 +12,7 @@ import emu.grasscutter.game.player.Player;
import
emu.grasscutter.game.props.ActionReason
;
import
emu.grasscutter.net.proto.RetcodeOuterClass
;
import
emu.grasscutter.net.proto.RetcodeOuterClass.Retcode
;
import
emu.grasscutter.server.game.BaseGameSystem
;
import
emu.grasscutter.server.game.GameServer
;
import
emu.grasscutter.server.packet.send.PacketCombineFormulaDataNotify
;
import
emu.grasscutter.server.packet.send.PacketCombineRsp
;
...
...
@@ -29,16 +30,11 @@ import java.util.List;
import
com.google.gson.reflect.TypeToken
;
public
class
CombineManger
{
private
final
GameServer
gameServer
;
public
class
CombineManger
extends
BaseGameSystem
{
private
final
static
Int2ObjectMap
<
List
<
Integer
>>
reliquaryDecomposeData
=
new
Int2ObjectOpenHashMap
<>();
public
GameServer
getGameServer
()
{
return
gameServer
;
}
public
CombineManger
(
GameServer
gameServer
)
{
this
.
gameServer
=
gameServer
;
public
CombineManger
(
GameServer
server
)
{
super
(
server
);
}
public
static
void
initialize
()
{
...
...
src/main/java/emu/grasscutter/game/drop/Drop
Manager
.java
→
src/main/java/emu/grasscutter/game/drop/Drop
System
.java
View file @
2e19e70f
...
...
@@ -12,6 +12,7 @@ import emu.grasscutter.game.inventory.ItemType;
import
emu.grasscutter.game.player.Player
;
import
emu.grasscutter.game.props.ActionReason
;
import
emu.grasscutter.game.world.Scene
;
import
emu.grasscutter.server.game.BaseGameSystem
;
import
emu.grasscutter.server.game.GameServer
;
import
emu.grasscutter.utils.Position
;
import
emu.grasscutter.utils.Utils
;
...
...
@@ -23,24 +24,18 @@ import java.io.Reader;
import
java.util.Collection
;
import
java.util.List
;
public
class
DropManager
{
public
GameServer
getGameServer
()
{
return
gameServer
;
}
private
final
GameServer
gameServer
;
public
Int2ObjectMap
<
List
<
DropData
>>
getDropData
()
{
return
dropData
;
}
public
class
DropSystem
extends
BaseGameSystem
{
private
final
Int2ObjectMap
<
List
<
DropData
>>
dropData
;
public
Drop
Manager
(
GameServer
gameS
erver
)
{
this
.
gameServer
=
gameS
erver
;
public
Drop
System
(
GameServer
s
erver
)
{
super
(
s
erver
)
;
this
.
dropData
=
new
Int2ObjectOpenHashMap
<>();
this
.
load
();
}
public
Int2ObjectMap
<
List
<
DropData
>>
getDropData
()
{
return
dropData
;
}
public
synchronized
void
load
()
{
try
(
Reader
fileReader
=
new
InputStreamReader
(
DataLoader
.
load
(
"Drop.json"
)))
{
...
...
src/main/java/emu/grasscutter/game/dungeons/Dungeon
Manager
.java
→
src/main/java/emu/grasscutter/game/dungeons/Dungeon
System
.java
View file @
2e19e70f
...
...
@@ -11,6 +11,7 @@ import emu.grasscutter.game.quest.enums.QuestTrigger;
import
emu.grasscutter.game.world.Scene
;
import
emu.grasscutter.net.packet.BasePacket
;
import
emu.grasscutter.net.packet.PacketOpcodes
;
import
emu.grasscutter.server.game.BaseGameSystem
;
import
emu.grasscutter.server.game.GameServer
;
import
emu.grasscutter.server.packet.send.PacketDungeonEntryInfoRsp
;
import
emu.grasscutter.server.packet.send.PacketPlayerEnterDungeonRsp
;
...
...
@@ -18,15 +19,11 @@ import emu.grasscutter.utils.Position;
import
java.util.List
;
public
class
DungeonManager
{
private
final
GameServer
server
;
public
class
DungeonSystem
extends
BaseGameSystem
{
private
static
final
BasicDungeonSettleListener
basicDungeonSettleObserver
=
new
BasicDungeonSettleListener
();
public
DungeonManager
(
GameServer
server
)
{
this
.
server
=
server
;
}
public
GameServer
getServer
()
{
return
server
;
public
DungeonSystem
(
GameServer
server
)
{
super
(
server
);
}
public
void
getEntryInfo
(
Player
player
,
int
pointId
)
{
...
...
src/main/java/emu/grasscutter/game/entity/gadget/GadgetChest.java
View file @
2e19e70f
...
...
@@ -19,7 +19,7 @@ public class GadgetChest extends GadgetContent {
}
public
boolean
onInteract
(
Player
player
,
GadgetInteractReq
req
)
{
var
chestInteractHandlerMap
=
getGadget
().
getScene
().
getWorld
().
getServer
().
getWorldData
Manager
().
getChestInteractHandlerMap
();
var
chestInteractHandlerMap
=
getGadget
().
getScene
().
getWorld
().
getServer
().
getWorldData
System
().
getChestInteractHandlerMap
();
var
handler
=
chestInteractHandlerMap
.
get
(
getGadget
().
getGadgetData
().
getJsonName
());
if
(
handler
==
null
){
Grasscutter
.
getLogger
().
warn
(
"Could not found the handler of this type of Chests {}"
,
getGadget
().
getGadgetData
().
getJsonName
());
...
...
src/main/java/emu/grasscutter/game/entity/gadget/chest/BossChestInteractHandler.java
View file @
2e19e70f
...
...
@@ -19,7 +19,7 @@ public class BossChestInteractHandler implements ChestInteractHandler{
@Override
public
boolean
onInteract
(
GadgetChest
chest
,
Player
player
)
{
var
worldDataManager
=
chest
.
getGadget
().
getScene
().
getWorld
().
getServer
().
getWorldData
Manager
();
var
worldDataManager
=
chest
.
getGadget
().
getScene
().
getWorld
().
getServer
().
getWorldData
System
();
var
monster
=
chest
.
getGadget
().
getMetaGadget
().
group
.
monsters
.
get
(
chest
.
getGadget
().
getMetaGadget
().
boss_chest
.
monster_config_id
);
var
reward
=
worldDataManager
.
getRewardByBossId
(
monster
.
monster_id
);
...
...
src/main/java/emu/grasscutter/game/expedition/Expedition
Manager
.java
→
src/main/java/emu/grasscutter/game/expedition/Expedition
System
.java
View file @
2e19e70f
...
...
@@ -3,6 +3,7 @@ package emu.grasscutter.game.expedition;
import
com.google.gson.reflect.TypeToken
;
import
emu.grasscutter.Grasscutter
;
import
emu.grasscutter.data.DataLoader
;
import
emu.grasscutter.server.game.BaseGameSystem
;
import
emu.grasscutter.server.game.GameServer
;
import
it.unimi.dsi.fastutil.ints.Int2ObjectMap
;
import
it.unimi.dsi.fastutil.ints.Int2ObjectOpenHashMap
;
...
...
@@ -15,22 +16,18 @@ import java.util.List;
import
static
emu
.
grasscutter
.
Configuration
.*;
public
class
ExpeditionManager
{
public
GameServer
getGameServer
()
{
return
gameServer
;
}
private
final
GameServer
gameServer
;
public
Int2ObjectMap
<
List
<
ExpeditionRewardDataList
>>
getExpeditionRewardDataList
()
{
return
expeditionRewardData
;
}
public
class
ExpeditionSystem
extends
BaseGameSystem
{
private
final
Int2ObjectMap
<
List
<
ExpeditionRewardDataList
>>
expeditionRewardData
;
public
Expedition
Manager
(
GameServer
gameS
erver
)
{
this
.
gameServer
=
gameS
erver
;
public
Expedition
System
(
GameServer
s
erver
)
{
super
(
s
erver
)
;
this
.
expeditionRewardData
=
new
Int2ObjectOpenHashMap
<>();
this
.
load
();
}
public
Int2ObjectMap
<
List
<
ExpeditionRewardDataList
>>
getExpeditionRewardDataList
()
{
return
expeditionRewardData
;
}
public
synchronized
void
load
()
{
try
(
Reader
fileReader
=
new
InputStreamReader
(
DataLoader
.
load
(
"ExpeditionReward.json"
)))
{
...
...
src/main/java/emu/grasscutter/game/gacha/Gacha
Manager
.java
→
src/main/java/emu/grasscutter/game/gacha/Gacha
System
.java
View file @
2e19e70f
...
...
@@ -33,6 +33,7 @@ import emu.grasscutter.net.proto.GachaTransferItemOuterClass.GachaTransferItem;
import
emu.grasscutter.net.proto.GetGachaInfoRspOuterClass.GetGachaInfoRsp
;
import
emu.grasscutter.net.proto.ItemParamOuterClass.ItemParam
;
import
emu.grasscutter.net.proto.RetcodeOuterClass.Retcode
;
import
emu.grasscutter.server.game.BaseGameSystem
;
import
emu.grasscutter.server.game.GameServer
;
import
emu.grasscutter.server.game.GameServerTickEvent
;
import
emu.grasscutter.server.packet.send.PacketDoGachaRsp
;
...
...
@@ -46,8 +47,7 @@ import org.greenrobot.eventbus.Subscribe;
import
static
emu
.
grasscutter
.
Configuration
.*;
public
class
GachaManager
{
private
final
GameServer
server
;
public
class
GachaSystem
extends
BaseGameSystem
{
private
final
Int2ObjectMap
<
GachaBanner
>
gachaBanners
;
private
WatchService
watchService
;
...
...
@@ -56,17 +56,13 @@ public class GachaManager {
private
int
[]
fallbackItems4Pool2Default
=
{
11401
,
11402
,
11403
,
11405
,
12401
,
12402
,
12403
,
12405
,
13401
,
13407
,
14401
,
14402
,
14403
,
14409
,
15401
,
15402
,
15403
,
15405
};
private
int
[]
fallbackItems5Pool2Default
=
{
11501
,
11502
,
12501
,
12502
,
13502
,
13505
,
14501
,
14502
,
15501
,
15502
};
public
Gacha
Manager
(
GameServer
server
)
{
this
.
server
=
server
;
public
Gacha
System
(
GameServer
server
)
{
super
(
server
)
;
this
.
gachaBanners
=
new
Int2ObjectOpenHashMap
<>();
this
.
load
();
this
.
startWatcher
(
server
);
}
public
GameServer
getServer
()
{
return
server
;
}
public
Int2ObjectMap
<
GachaBanner
>
getGachaBanners
()
{
return
gachaBanners
;
}
...
...
src/main/java/emu/grasscutter/game/inventory/Inventory.java
View file @
2e19e70f
...
...
@@ -260,11 +260,11 @@ public class Inventory extends BasePlayerManager implements Iterable<GameItem> {
private
void
addVirtualItem
(
int
itemId
,
int
count
)
{
switch
(
itemId
)
{
case
101
->
// Character exp
this
.
player
.
getServer
().
getInventory
Manager
().
upgradeAvatar
(
this
.
player
,
this
.
player
.
getTeamManager
().
getCurrentAvatarEntity
().
getAvatar
(),
count
);
this
.
player
.
getServer
().
getInventory
System
().
upgradeAvatar
(
this
.
player
,
this
.
player
.
getTeamManager
().
getCurrentAvatarEntity
().
getAvatar
(),
count
);
case
102
->
// Adventure exp
this
.
player
.
addExpDirectly
(
count
);
case
105
->
// Companionship exp
this
.
player
.
getServer
().
getInventory
Manager
().
upgradeAvatarFetterLevel
(
this
.
player
,
this
.
player
.
getTeamManager
().
getCurrentAvatarEntity
().
getAvatar
(),
count
);
this
.
player
.
getServer
().
getInventory
System
().
upgradeAvatarFetterLevel
(
this
.
player
,
this
.
player
.
getTeamManager
().
getCurrentAvatarEntity
().
getAvatar
(),
count
);
case
106
->
// Resin
this
.
player
.
getResinManager
().
addResin
(
count
);
case
107
->
// Legendary Key
...
...
src/main/java/emu/grasscutter/game/managers/Announcement
Manager
.java
→
src/main/java/emu/grasscutter/game/managers/Announcement
System
.java
View file @
2e19e70f
...
...
@@ -6,6 +6,7 @@ import emu.grasscutter.data.DataLoader;
import
emu.grasscutter.game.player.Player
;
import
emu.grasscutter.game.world.World
;
import
emu.grasscutter.net.proto.AnnounceDataOuterClass
;
import
emu.grasscutter.server.game.BaseGameSystem
;
import
emu.grasscutter.server.game.GameServer
;
import
emu.grasscutter.server.packet.send.PacketServerAnnounceNotify
;
import
emu.grasscutter.server.packet.send.PacketServerAnnounceRevokeNotify
;
...
...
@@ -19,24 +20,22 @@ import java.io.InputStreamReader;
import
java.util.*
;
@Getter
public
class
AnnouncementManager
{
public
final
GameServer
server
;
public
AnnouncementManager
(
GameServer
server
){
this
.
server
=
server
;
public
class
AnnouncementSystem
extends
BaseGameSystem
{
private
final
Map
<
Integer
,
AnnounceConfigItem
>
announceConfigItemMap
;
public
AnnouncementSystem
(
GameServer
server
){
super
(
server
);
this
.
announceConfigItemMap
=
new
HashMap
<>();
loadConfig
();
}
Map
<
Integer
,
AnnounceConfigItem
>
announceConfigItemMap
=
new
HashMap
<>();
private
int
loadConfig
()
{
try
(
var
fileReader
=
new
InputStreamReader
(
DataLoader
.
load
(
"Announcement.json"
)))
{
List
<
AnnounceConfigItem
>
announceConfigItems
=
Grasscutter
.
getGsonFactory
().
fromJson
(
fileReader
,
TypeToken
.
getParameterized
(
List
.
class
,
AnnounceConfigItem
.
class
).
getType
());
announceConfigItemMap
=
new
HashMap
<>
();
announceConfigItemMap
.
clear
();
announceConfigItems
.
forEach
(
i
->
announceConfigItemMap
.
put
(
i
.
getTemplateId
(),
i
));
}
catch
(
Exception
e
)
{
Grasscutter
.
getLogger
().
error
(
"Unable to load server announce config."
,
e
);
}
...
...
src/main/java/emu/grasscutter/game/managers/Inventory
Manager
.java
→
src/main/java/emu/grasscutter/game/managers/Inventory
System
.java
View file @
2e19e70f
...
...
@@ -27,15 +27,14 @@ import emu.grasscutter.game.shop.ShopChestBatchUseTable;
import
emu.grasscutter.game.shop.ShopChestTable
;
import
emu.grasscutter.net.proto.ItemParamOuterClass.ItemParam
;
import
emu.grasscutter.net.proto.MaterialInfoOuterClass.MaterialInfo
;
import
emu.grasscutter.server.game.BaseGameSystem
;
import
emu.grasscutter.server.game.GameServer
;
import
emu.grasscutter.server.packet.send.*
;
import
emu.grasscutter.utils.Utils
;
import
it.unimi.dsi.fastutil.ints.Int2IntMap
;
import
it.unimi.dsi.fastutil.ints.Int2IntOpenHashMap
;
public
class
InventoryManager
{
private
final
GameServer
server
;
public
class
InventorySystem
extends
BaseGameSystem
{
private
final
static
int
RELIC_MATERIAL_1
=
105002
;
// Sanctifying Unction
private
final
static
int
RELIC_MATERIAL_2
=
105003
;
// Sanctifying Essence
private
final
static
int
RELIC_MATERIAL_EXP_1
=
2500
;
// Sanctifying Unction
...
...
@@ -55,12 +54,8 @@ public class InventoryManager {
private
final
static
int
AVATAR_BOOK_EXP_2
=
5000
;
// Adventurer's Experience
private
final
static
int
AVATAR_BOOK_EXP_3
=
20000
;
// Hero's Wit
public
InventoryManager
(
GameServer
server
)
{
this
.
server
=
server
;
}
public
GameServer
getServer
()
{
return
server
;
public
InventorySystem
(
GameServer
server
)
{
super
(
server
);
}
public
void
lockEquip
(
Player
player
,
long
targetEquipGuid
,
boolean
isLocked
)
{
...
...
@@ -850,7 +845,7 @@ public class InventoryManager {
// Handle combine diagrams.
if
(
useItem
.
getItemData
().
getItemUse
().
get
(
0
).
getUseOp
().
equals
(
"ITEM_USE_UNLOCK_COMBINE"
))
{
// Unlock.
useSuccess
=
player
.
getServer
().
getCombine
Manger
().
unlockCombineDiagram
(
player
,
useItem
);
useSuccess
=
player
.
getServer
().
getCombine
System
().
unlockCombineDiagram
(
player
,
useItem
);
}
// Handle cooking recipies.
if
(
useItem
.
getItemData
().
getItemUse
().
get
(
0
).
getUseOp
().
equals
(
"ITEM_USE_UNLOCK_COOK_RECIPE"
))
{
...
...
@@ -883,7 +878,7 @@ public class InventoryManager {
}
break
;
case
MATERIAL_CHEST:
List
<
ShopChestTable
>
shopChestTableList
=
player
.
getServer
().
getShop
Manager
().
getShopChestData
();
List
<
ShopChestTable
>
shopChestTableList
=
player
.
getServer
().
getShop
System
().
getShopChestData
();
List
<
GameItem
>
rewardItemList
=
new
ArrayList
<>();
for
(
ShopChestTable
shopChestTable
:
shopChestTableList
)
{
if
(
shopChestTable
.
getItemId
()
!=
useItem
.
getItemId
())
{
...
...
@@ -914,7 +909,7 @@ public class InventoryManager {
if
(
optionId
<
1
)
{
break
;
}
List
<
ShopChestBatchUseTable
>
shopChestBatchUseTableList
=
player
.
getServer
().
getShop
Manager
().
getShopChestBatchUseData
();
List
<
ShopChestBatchUseTable
>
shopChestBatchUseTableList
=
player
.
getServer
().
getShop
System
().
getShopChestBatchUseData
();
for
(
ShopChestBatchUseTable
shopChestBatchUseTable
:
shopChestBatchUseTableList
)
{
if
(
shopChestBatchUseTable
.
getItemId
()
!=
useItem
.
getItemId
())
{
continue
;
...
...
src/main/java/emu/grasscutter/game/managers/Multiplayer
Manager
.java
→
src/main/java/emu/grasscutter/game/managers/Multiplayer
System
.java
View file @
2e19e70f
...
...
@@ -8,20 +8,16 @@ import emu.grasscutter.net.proto.PlayerApplyEnterMpReasonOuterClass.PlayerApplyE
import
emu.grasscutter.game.player.Player
;
import
emu.grasscutter.game.player.Player.SceneLoadState
;
import
emu.grasscutter.net.proto.PlayerApplyEnterMpResultNotifyOuterClass
;
import
emu.grasscutter.server.game.BaseGameSystem
;
import
emu.grasscutter.server.game.GameServer
;
import
emu.grasscutter.server.packet.send.PacketPlayerApplyEnterMpNotify
;
import
emu.grasscutter.server.packet.send.PacketPlayerApplyEnterMpResultNotify
;
import
emu.grasscutter.server.packet.send.PacketPlayerEnterSceneNotify
;
public
class
MultiplayerManager
{
private
final
GameServer
server
;
public
MultiplayerManager
(
GameServer
server
)
{
this
.
server
=
server
;
}
public
class
MultiplayerSystem
extends
BaseGameSystem
{
public
GameServer
getS
erver
(
)
{
return
server
;
public
MultiplayerSystem
(
GameServer
s
erver
)
{
super
(
server
)
;
}
public
void
applyEnterMp
(
Player
player
,
int
targetUid
)
{
...
...
src/main/java/emu/grasscutter/game/player/Player.java
View file @
2e19e70f
...
...
@@ -1436,7 +1436,7 @@ public class Player {
getStaminaManager
().
stopSustainedStaminaHandler
();
// force to leave the dungeon (inside has a "if")
this
.
getServer
().
getDungeon
Manager
().
exitDungeon
(
this
);
this
.
getServer
().
getDungeon
System
().
exitDungeon
(
this
);
// Leave world
if
(
this
.
getWorld
()
!=
null
)
{
...
...
src/main/java/emu/grasscutter/game/quest/GameQuest.java
View file @
2e19e70f
...
...
@@ -58,7 +58,7 @@ public class GameQuest {
this
.
mainQuest
.
getChildQuests
().
put
(
this
.
questId
,
this
);
this
.
getData
().
getBeginExec
().
forEach
(
e
->
getOwner
().
getServer
().
getQuest
Handler
().
triggerExec
(
this
,
e
,
e
.
getParam
()));
this
.
getData
().
getBeginExec
().
forEach
(
e
->
getOwner
().
getServer
().
getQuest
System
().
triggerExec
(
this
,
e
,
e
.
getParam
()));
this
.
getOwner
().
getQuestManager
().
triggerEvent
(
QuestTrigger
.
QUEST_CONTENT_QUEST_STATE_EQUAL
,
this
.
questId
,
this
.
state
.
getValue
());
...
...
@@ -171,7 +171,7 @@ public class GameQuest {
this
.
save
();
}
this
.
getData
().
getFinishExec
().
forEach
(
e
->
getOwner
().
getServer
().
getQuest
Handler
().
triggerExec
(
this
,
e
,
e
.
getParam
()));
this
.
getData
().
getFinishExec
().
forEach
(
e
->
getOwner
().
getServer
().
getQuest
System
().
triggerExec
(
this
,
e
,
e
.
getParam
()));
this
.
getOwner
().
getQuestManager
().
triggerEvent
(
QuestTrigger
.
QUEST_CONTENT_QUEST_STATE_EQUAL
,
this
.
questId
,
this
.
state
.
getValue
());
...
...
@@ -205,7 +205,7 @@ public class GameQuest {
// TODO
for
(
int
i
=
0
;
i
<
questData
.
getAcceptCond
().
size
();
i
++)
{
QuestCondition
condition
=
questData
.
getAcceptCond
().
get
(
i
);
boolean
result
=
getOwner
().
getServer
().
getQuest
Handler
().
triggerCondition
(
this
,
condition
,
boolean
result
=
getOwner
().
getServer
().
getQuest
System
().
triggerCondition
(
this
,
condition
,
condition
.
getParamStr
(),
condition
.
getParam
());
...
...
Prev
1
2
3
4
Next
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
.
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment