1
2
3
4
5 package net.sourceforge.jsh3modtool.mod;
6
7 import java.net.URL;
8 import java.util.Date;
9 import java.util.List;
10
11
12 /***
13 * Game modification interface.
14 *
15 * This interface describes a game modification. A game modification can
16 * be installed into a game, modifying one or more files in the game's folder.
17 *
18 * @author redsolo
19 */
20 public interface GameMod
21 {
22 /***
23 * Returns the name of the mod.
24 * @return the name of the mod.
25 */
26 String getName();
27
28 /***
29 * Returns the version of the mod.
30 * @return the version of the mod.
31 */
32 String getVersion();
33
34 /***
35 * Returns a description of the mod.
36 * @return a description of the mod.
37 */
38 String getDescription();
39
40 /***
41 * Returns the date the mod was created.
42 * @return the date the mod was created.
43 */
44 Date getCreatedDate();
45
46 /***
47 * Returns the date when the current version was release.
48 * @return the date when the current version was release.
49 */
50 Date getUpdatedDate();
51
52 /***
53 * Returns the website of the mod.
54 * @return the website of the mod.
55 */
56 URL getWebsite();
57
58 /***
59 * Returns a list of screen shots of the mod.
60 * The list consists of only {@link ModScreenShot} objects.
61 * @return a list of screen shots of the mod.
62 */
63 List getScreenshots();
64
65 /***
66 * Returns a list of game files that are going to be modified.
67 * The list consists of only {@link ModGameFile} objects.
68 * @return a list of game files that are going to be modified.
69 */
70 List getGameFiles();
71
72 /***
73 * Returns a list of mod authors.
74 * The list consists of only {@link ModAuthor} objects.
75 * @return a list of mod authors.
76 */
77 List getAuthors();
78 }