Skip to content
This repository was archived by the owner on Jan 16, 2023. It is now read-only.

Commit c83a840

Browse files
committed
Fixes & Barrier toggle command
- Finished rename to RandomMineplexMod - Modules are now loaded via reflections - Removed code that is not needed in this version - Added Barrier toggle command
1 parent 6ba7800 commit c83a840

24 files changed

+100
-675
lines changed

build.gradle

Lines changed: 10 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -4,12 +4,14 @@ buildscript {
44
mavenCentral()
55
maven { url = 'http://files.minecraftforge.net/maven' }
66
maven { url = 'http://repo.spongepowered.org/maven' }
7+
maven { url = 'https://jitpack.io' }
78
}
89

910
dependencies {
1011
classpath 'com.github.jengelman.gradle.plugins:shadow:4.0.4'
1112
classpath 'net.minecraftforge.gradle:ForgeGradle:2.1-SNAPSHOT'
1213
classpath 'org.spongepowered:mixingradle:0.6-SNAPSHOT'
14+
classpath 'com.github.Timmi6790:Commons:4e06ba7769'
1315
}
1416
}
1517

@@ -28,21 +30,24 @@ apply plugin: 'org.spongepowered.mixin'
2830

2931
version = '1.0.0'
3032
group = 'de.timmi6790.mcmod'
31-
archivesBaseName = 'McMod'
33+
archivesBaseName = 'RandomMineplexMod'
3234

3335
sourceCompatibility = JavaVersion.VERSION_1_8
3436
targetCompatibility = JavaVersion.VERSION_1_8
3537
compileJava.options.encoding = 'UTF-8'
3638

3739
dependencies {
3840
// Enabled me only for build
39-
// annotationProcessor 'org.spongepowered:mixin:0.7.11-SNAPSHOT'
41+
annotationProcessor 'org.spongepowered:mixin:0.7.11-SNAPSHOT'
4042
compile 'org.spongepowered:mixin:0.7.11-SNAPSHOT'
4143

4244
compile 'com.github.ben-manes.caffeine:caffeine:2.8.5'
45+
compile 'org.reflections:reflections:0.9.12'
4346

4447
compileOnly 'org.projectlombok:lombok:1.18.12'
4548
annotationProcessor 'org.projectlombok:lombok:1.18.12'
49+
50+
implementation 'com.github.Timmi6790:Commons:4e06ba7769'
4651
}
4752

4853
minecraft {
@@ -69,7 +74,7 @@ processResources {
6974

7075
mixin {
7176
defaultObfuscationEnv searge
72-
add sourceSets.main, "mixins.qamod.refmap.json"
77+
add sourceSets.main, "mixins.randomMineplexMod.refmap.json"
7378
}
7479

7580
reobf {
@@ -95,12 +100,12 @@ jar {
95100
}
96101

97102
manifest.attributes(
98-
'MixinConfigs': 'mixins.qamod.json',
103+
'MixinConfigs': 'mixins.randomMineplexMod.json',
99104
'TweakClass': 'org.spongepowered.asm.launch.MixinTweaker',
100105
'FMLCorePluginContainsFMLMod': "true",
101106
'ForceLoadAsMod': 'true',
102107
'FMLCorePlugin': 'de.timmi6790.mcmod.mixins.MixinLoader',
103-
'FMLAT': 'qaMod_at.cfg',
108+
'FMLAT': 'randomMineplexMod_at.cfg',
104109
)
105110
}
106111

src/main/java/de/timmi6790/mcmod/McMod.java

Lines changed: 28 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -1,32 +1,38 @@
11
package de.timmi6790.mcmod;
22

33
import de.timmi6790.mcmod.command.CommandManager;
4-
import de.timmi6790.mcmod.datatypes.TaskScheduler;
54
import de.timmi6790.mcmod.listeners.events.EventListener;
65
import de.timmi6790.mcmod.listeners.events.MineplexEventListener;
76
import de.timmi6790.mcmod.modules.AbstractModule;
8-
import de.timmi6790.mcmod.modules.community.CommunityModule;
97
import de.timmi6790.mcmod.tabsupport.TabSupportManager;
8+
import de.timmi6790.mcmod.utilities.TaskScheduler;
109
import lombok.Getter;
10+
import lombok.extern.log4j.Log4j2;
1111
import net.minecraftforge.common.MinecraftForge;
1212
import net.minecraftforge.common.config.Configuration;
1313
import net.minecraftforge.fml.common.Mod;
1414
import net.minecraftforge.fml.common.Mod.EventHandler;
1515
import net.minecraftforge.fml.common.event.FMLInitializationEvent;
1616
import net.minecraftforge.fml.common.event.FMLPreInitializationEvent;
17+
import org.reflections.Reflections;
1718

1819
import java.io.File;
1920
import java.util.HashMap;
2021
import java.util.Map;
2122
import java.util.Optional;
23+
import java.util.Set;
2224

2325
@Mod(
24-
modid = Reference.MODID, name = Reference.NAME, version = Reference.VERSION,
26+
modid = Reference.MODID,
27+
name = Reference.NAME,
28+
version = Reference.VERSION,
2529
acceptedMinecraftVersions = Reference.MC_VERSION,
26-
guiFactory = Reference.GUI_FACTORY_CLASS, clientSideOnly = true
30+
guiFactory = Reference.GUI_FACTORY_CLASS,
31+
clientSideOnly = true
2732
)
33+
@Log4j2
2834
public class McMod {
29-
private static final Map<String, AbstractModule> modules = new HashMap<>();
35+
private static final Map<Class<? extends AbstractModule>, AbstractModule> modules = new HashMap<>();
3036
@Getter
3137
private static final ModCache modCache = new ModCache();
3238
@Getter
@@ -41,16 +47,16 @@ public class McMod {
4147

4248
private static void addModules(final AbstractModule... modules) {
4349
for (final AbstractModule module : modules) {
44-
McMod.modules.put(module.getName().toLowerCase(), module);
50+
McMod.modules.put(module.getClass(), module);
4551
}
4652
}
4753

48-
public static Optional<AbstractModule> getModule(final String name) {
49-
return Optional.ofNullable(modules.get(name.toLowerCase()));
54+
public static <T extends AbstractModule> Optional<T> getModule(final Class<T> clazz) {
55+
return (Optional<T>) Optional.ofNullable(modules.get(clazz));
5056
}
5157

52-
public static AbstractModule getModuleOrThrow(final String name) {
53-
return getModule(name).orElseThrow(RuntimeException::new);
58+
public static <T extends AbstractModule> T getModuleOrThrow(final Class<T> clazz) {
59+
return getModule(clazz).orElseThrow(RuntimeException::new);
5460
}
5561

5662
public static void registerEvents(final Object... events) {
@@ -67,26 +73,32 @@ public static void unRegisterEvents(final Object... events) {
6773

6874
@EventHandler
6975
public void preInit(final FMLPreInitializationEvent event) {
70-
McMod.addModules(
71-
new CommunityModule()
72-
);
76+
final Reflections reflections = new Reflections("de.timmi6790.mcmod.modules");
77+
final Set<Class<? extends AbstractModule>> modules = reflections.getSubTypesOf(AbstractModule.class);
78+
for (final Class<? extends AbstractModule> module : modules) {
79+
try {
80+
addModules(module.getConstructor().newInstance());
81+
} catch (final Exception e) {
82+
log.error(String.format("Error while trying to initialize module %s.", module), e);
83+
}
84+
}
7385

7486
configDirectory = event.getModConfigurationDirectory().toString();
7587
if (configuration == null) {
7688
final File path = new File(configDirectory + "/" + Reference.MODID + ".cfg");
7789
configuration = new Configuration(path);
7890
}
7991

80-
for (final AbstractModule module : modules.values()) {
81-
System.out.printf("PreInnit module %s%n", module.getName());
92+
for (final AbstractModule module : McMod.modules.values()) {
93+
log.info("PreInnit module {}", module.getName());
8294
module.preInit(event);
8395
}
8496
}
8597

8698
@EventHandler
8799
public void init(final FMLInitializationEvent event) {
88100
for (final AbstractModule module : modules.values()) {
89-
System.out.printf("Innit module %s%n", module.getName());
101+
log.info("Innit module {}", module.getName());
90102
module.init(event);
91103
}
92104

src/main/java/de/timmi6790/mcmod/ModCache.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -13,10 +13,10 @@ public class ModCache {
1313

1414
public String getCurrentServerGroup() {
1515
final int splitPosition = this.currentServer.indexOf('-');
16-
1716
if (splitPosition == -1) {
1817
return this.currentServer;
1918
}
19+
2020
return this.currentServer.substring(0, splitPosition);
2121
}
2222
}
Lines changed: 4 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -1,13 +1,9 @@
11
package de.timmi6790.mcmod;
22

3-
import lombok.AccessLevel;
4-
import lombok.NoArgsConstructor;
5-
6-
@NoArgsConstructor(access = AccessLevel.PRIVATE)
73
public class Reference {
84
public static final String MODID = "RMM";
9-
public static final String NAME = "RandomMineplexMod";
10-
public static final String MC_VERSION = "1.8.9";
11-
public static final String VERSION = "1.0.0";
12-
public static final String GUI_FACTORY_CLASS = "de.timmi6790.de.timmi6790.mcmod.gui.GuiFactory";
5+
static final String NAME = "RandomMineplexMod";
6+
static final String MC_VERSION = "1.8.9";
7+
static final String VERSION = "0.3.2.0";
8+
static final String GUI_FACTORY_CLASS = "de.timmi6790.mcmod.gui.GuiFactory";
139
}

src/main/java/de/timmi6790/mcmod/command/AbstractCommand.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,8 @@
11
package de.timmi6790.mcmod.command;
22

33
import de.timmi6790.mcmod.command.exceptions.CommandException;
4-
import de.timmi6790.mcmod.datatypes.MessageBuilder;
54
import de.timmi6790.mcmod.utilities.DataUtilities;
5+
import de.timmi6790.mcmod.utilities.MessageBuilder;
66
import net.minecraft.command.CommandBase;
77
import net.minecraft.command.ICommandSender;
88
import net.minecraft.util.EnumChatFormatting;

src/main/java/de/timmi6790/mcmod/command/AbstractCommandGroup.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
package de.timmi6790.mcmod.command;
22

3-
import de.timmi6790.mcmod.datatypes.MessageBuilder;
3+
import de.timmi6790.mcmod.utilities.MessageBuilder;
44
import net.minecraft.command.ICommandSender;
55
import net.minecraft.util.BlockPos;
66
import net.minecraft.util.EnumChatFormatting;

src/main/java/de/timmi6790/mcmod/command/exceptions/CommandException.java

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
package de.timmi6790.mcmod.command.exceptions;
22

3-
import de.timmi6790.mcmod.datatypes.MessageBuilder;
3+
4+
import de.timmi6790.mcmod.utilities.MessageBuilder;
45

56
public class CommandException extends RuntimeException {
67
private final MessageBuilder message;

src/main/java/de/timmi6790/mcmod/datatypes/Pair.java

Lines changed: 0 additions & 11 deletions
This file was deleted.

0 commit comments

Comments
 (0)