IntelliJ based project related to Minecraft Lab of 221_SIn & 231_SIn course. This program is developped as part of the course SIn and used to control a simulated world on a Minecraft map with the mod Electrical-age. The objective of this project is to manage the world in order for it to survive a three days simulation. The simulation last 25 minutes and is divided in 2.5 days of 10 minutes each. This project can also send the evolution of the different values in the world to a database and/or a web page.
In order to run the program, you need to have a Minecraft server running with the mod Electrical-age installed. You also need to have Java JDK 8 installed on your computer to run the program. To run the program, you need to download the current directory and run the jar file with the command prompt. The .jar file HEI.jar is available here
Database
To use the database feature, you need to installhave your own database have the url of that database ready. You need to have also the name of that database as well as the token to access it. The database used in this project is influx db. The database can then be used in a dashboard environnment to display the data in time-series. The dashboard used in the developpment was Grafana. The JSON for the grafana dashboard is available here link to JSON
Web page
To use the web page feature, you don't need to install anything, you just need to have a web browser. You can use the link below to access the webpage used in the developpment of this project. The web client is available here link to WebClient
The .jar file HEI.jar is available [here](/out/artifacts/MinecraftSmartWorld/HEI.jar In order to start the program you can start a cmd prompt, go to the directory of the .jar file and type the command : java -jar HEI.jar You can use the following parameters to start the program correctly :
- <InfluxDB Server>: The complete URL of the InfluxDB server, including the protocol (http or https)... Example: https://influx.sdi.hevs.ch
- <DB Name>: The name of the Influx DB to use. For this project, this name is the name of the group you've been affected to. (SInXX)
- <DB Username>: The user's name to use to access the DB. It's also your group's name. (SInXX)
- <Token>: The token to access the DB, it has to be generated by your database provider
- <ModbusTCP Server>: The IP address of the Minecraft ModbusTCP server (default value: localhost)
- <ModbusTCP port>: The port number of the Minecraft ModbusTCP server (default value: 1502)
- [-eraseDB]: Optional parameter! If set, the application will erase the previous data in InfluxDB...
- <measurement>: Optional parameter! If set, the application will send the data to the specified set of measurement if it is not set, the application will send the data to the default measurement (i.e. "Minecraft")
A javadoc has also been prepared for this project, it is available here
Chevalley Julien, Bellon Adrien