Skip to content
GitLab
Explore
Sign in
Register
Primary navigation
Search or go to…
Project
G
Grasscutter
Manage
Activity
Members
Labels
Plan
Issues
0
Issue boards
Milestones
Wiki
Code
Merge requests
0
Repository
Branches
Commits
Tags
Repository graph
Compare revisions
Snippets
Build
Pipelines
Jobs
Pipeline schedules
Artifacts
Deploy
Releases
Package Registry
Operate
Environments
Terraform modules
Monitor
Incidents
Service Desk
Analyze
Value stream analytics
Contributor analytics
CI/CD analytics
Repository analytics
Model experiments
Help
Help
Support
GitLab documentation
Compare GitLab plans
Community forum
Contribute to GitLab
Provide feedback
Keyboard shortcuts
?
Snippets
Groups
Projects
ziqian zhang
Grasscutter
Commits
08c01ab1
Commit
08c01ab1
authored
3 years ago
by
Secretboy
Committed by
Melledy
3 years ago
Browse files
Options
Downloads
Patches
Plain Diff
Update Grasscutter.java
parent
6fc4065f
No related merge requests found
Changes
1
Hide whitespace changes
Inline
Side-by-side
Showing
1 changed file
src/main/java/emu/grasscutter/Grasscutter.java
+33
-25
33 additions, 25 deletions
src/main/java/emu/grasscutter/Grasscutter.java
with
33 additions
and
25 deletions
src/main/java/emu/grasscutter/Grasscutter.java
+
33
−
25
View file @
08c01ab1
...
...
@@ -6,6 +6,7 @@ import java.io.FileWriter;
import
java.io.IOError
;
import
java.net.InetSocketAddress
;
import
java.util.Calendar
;
import
java.util.Locale
;
import
emu.grasscutter.command.CommandMap
;
import
emu.grasscutter.plugin.PluginManager
;
...
...
@@ -43,32 +44,32 @@ public final class Grasscutter {
private
static
final
Gson
gson
=
new
GsonBuilder
().
setPrettyPrinting
().
create
();
private
static
final
File
configFile
=
new
File
(
"./config.json"
);
private
static
int
day
;
// Current day of week
private
static
DispatchServer
dispatchServer
;
private
static
GameServer
gameServer
;
private
static
PluginManager
pluginManager
;
public
static
final
Reflections
reflector
=
new
Reflections
(
"emu.grasscutter"
);
static
{
// Declare logback configuration.
System
.
setProperty
(
"logback.configurationFile"
,
"src/main/resources/logback.xml"
);
// Load server configuration.
Grasscutter
.
loadConfig
();
// Load Language
Grasscutter
.
loadLanguage
();
// Check server structure.
Utils
.
startupCheck
();
}
public
static
void
main
(
String
[]
args
)
throws
Exception
{
Crypto
.
loadKeys
();
for
(
String
arg
:
args
)
{
switch
(
arg
.
toLowerCase
())
{
case
"-handbook"
->
{
...
...
@@ -79,27 +80,27 @@ public final class Grasscutter {
}
}
}
// Initialize server.
Grasscutter
.
getLogger
().
info
(
language
.
Starting_Grasscutter
);
// Load all resources.
Grasscutter
.
updateDayOfWeek
();
ResourceLoader
.
loadAll
();
ScriptLoader
.
init
();
// Database
DatabaseManager
.
initialize
();
// Create plugin manager instance.
pluginManager
=
new
PluginManager
();
// Create server instances.
dispatchServer
=
new
DispatchServer
();
gameServer
=
new
GameServer
(
new
InetSocketAddress
(
getConfig
().
getGameServerOptions
().
Ip
,
getConfig
().
getGameServerOptions
().
Port
));
// Create a server hook instance with both servers.
new
ServerHook
(
gameServer
,
dispatchServer
);
// Start servers.
if
(
getConfig
().
RunMode
==
ServerRunMode
.
HYBRID
)
{
dispatchServer
.
start
();
...
...
@@ -114,7 +115,7 @@ public final class Grasscutter {
getLogger
().
error
(
language
.
Shutting_down
);
System
.
exit
(
1
);
}
// Enable all plugins.
pluginManager
.
enablePlugins
();
...
...
@@ -144,12 +145,12 @@ public final class Grasscutter {
}
public
static
void
loadLanguage
()
{
try
(
FileReader
file
=
new
FileReader
(
String
.
format
(
"%s%s.json"
,
getConfig
().
LANGUAGE_FOLDER
,
Grasscutter
.
config
.
Language
)))
{
try
(
FileReader
file
=
new
FileReader
(
String
.
format
(
"%s%s.json"
,
getConfig
().
LANGUAGE_FOLDER
,
Grasscutter
.
config
.
Locale
Language
)))
{
language
=
gson
.
fromJson
(
file
,
Language
.
class
);
}
catch
(
Exception
e
)
{
Grasscutter
.
language
=
new
Language
();
Grasscutter
.
cn_language
=
new
CNLanguage
();
Grasscutter
.
config
.
Language
=
"en_us"
;
Grasscutter
.
config
.
Locale
Language
=
Locale
.
getDefault
()
;
saveConfig
();
try
{
...
...
@@ -161,19 +162,26 @@ public final class Grasscutter {
}
catch
(
Exception
ee
)
{
Grasscutter
.
getLogger
().
error
(
"Unable to create language folder."
);
}
try
(
FileWriter
file
=
new
FileWriter
(
"./languages/
en_us
.json"
))
{
try
(
FileWriter
file
=
new
FileWriter
(
"./languages/
"
+
Locale
.
US
+
"
.json"
))
{
file
.
write
(
gson
.
toJson
(
language
));
}
catch
(
Exception
ee
)
{
Grasscutter
.
getLogger
().
error
(
"Unable to create language file."
);
}
try
(
FileWriter
file
=
new
FileWriter
(
"./languages/
zh_cn
.json"
))
{
try
(
FileWriter
file
=
new
FileWriter
(
"./languages/
"
+
Locale
.
SIMPLIFIED_CHINESE
+
"
.json"
))
{
file
.
write
(
gson
.
toJson
(
cn_language
));
}
catch
(
Exception
ee
)
{
Grasscutter
.
getLogger
().
error
(
"无法创建中文语言文件。"
);
Grasscutter
.
getLogger
().
error
(
"无法创建简体中文语言文件。"
);
}
// try again
try
(
FileReader
file
=
new
FileReader
(
String
.
format
(
"%s%s.json"
,
getConfig
().
LANGUAGE_FOLDER
,
Grasscutter
.
config
.
LocaleLanguage
)))
{
language
=
gson
.
fromJson
(
file
,
Language
.
class
);
}
catch
(
Exception
ee
)
{
Grasscutter
.
getLogger
().
error
(
"Unable to load "
+
Grasscutter
.
config
.
LocaleLanguage
+
".json"
);
}
}
}
public
static
void
saveConfig
()
{
try
(
FileWriter
file
=
new
FileWriter
(
configFile
))
{
file
.
write
(
gson
.
toJson
(
config
));
...
...
@@ -181,7 +189,7 @@ public final class Grasscutter {
Grasscutter
.
getLogger
().
error
(
"Unable to save config file."
);
}
}
public
static
void
startConsole
()
{
// Console should not start in dispatch only mode.
if
(
getConfig
().
RunMode
==
ServerRunMode
.
DISPATCH_ONLY
)
{
...
...
@@ -263,11 +271,11 @@ public final class Grasscutter {
public
static
GameServer
getGameServer
()
{
return
gameServer
;
}
public
static
PluginManager
getPluginManager
()
{
return
pluginManager
;
}
public
static
void
updateDayOfWeek
()
{
Calendar
calendar
=
Calendar
.
getInstance
();
day
=
calendar
.
get
(
Calendar
.
DAY_OF_WEEK
);
...
...
@@ -276,11 +284,11 @@ public final class Grasscutter {
public
static
int
getCurrentDayOfWeek
()
{
return
day
;
}
public
enum
ServerRunMode
{
HYBRID
,
DISPATCH_ONLY
,
GAME_ONLY
}
public
enum
ServerDebugMode
{
ALL
,
MISSING
,
NONE
}
...
...
This diff is collapsed.
Click to expand it.
Preview
0%
Try again
or
attach a new file
.
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Save comment
Cancel
Please
register
or
sign in
to comment