Skip to content

Commit 97fefea

Browse files
committed
Code refactoring.
Removed annotations for `configuration`, `commands` and `module`. Removed `kotlin-reflect` from dependencies. Code cleanup, and simplified. Klaxon removed from dependencies. Cooldown removed from dependencies. Signed-off-by: Pavel Erokhin (MairwunNx) <MairwunNx@gmail.com>
1 parent 5dff542 commit 97fefea

File tree

83 files changed

+369
-529
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

83 files changed

+369
-529
lines changed

build.gradle

Lines changed: 1 addition & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -34,14 +34,6 @@ minecraft {
3434
}
3535

3636
repositories {
37-
maven {
38-
name = package_maven_repo_name
39-
url = uri "$package_maven_repo-cooldown"
40-
credentials {
41-
username = package_maven_repo_mail
42-
password = packagesToken
43-
}
44-
}
4537
maven { url 'https://libraries.minecraft.net' }
4638
mavenCentral()
4739
jcenter()
@@ -50,12 +42,9 @@ repositories {
5042
dependencies {
5143
minecraft "net.minecraftforge:forge:$forge_version"
5244
implementation "com.mojang:brigadier:$brigadier_version"
53-
// todo: change to "com.projectessentials.cooldown:ProjectEssentials-Cooldown:cooldown_version"
54-
implementation "com.mairwunnx.project_essentials_cooldown:ProjectEssentials-Cooldown:$cooldown_version"
5545
internal "org.jetbrains.kotlinx:kotlinx-serialization-runtime:$kotlinx_serialization_version"
5646
internal "org.jetbrains.kotlin:kotlin-stdlib-$kotlin_jdk_version_target:$kotlin_version"
57-
internal "org.jetbrains.kotlin:kotlin-reflect:$kotlin_version"
58-
internal "com.beust:klaxon:$klaxon_version"
47+
implementation group: 'org.json', name: 'json', version: '20190722'
5948
}
6049

6150
dokka {

gradle.properties

Lines changed: 1 addition & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -15,9 +15,8 @@ kotlin.code.style=official
1515
# Project external dependencies.
1616
kotlin_version=1.3.72
1717
kotlinx_serialization_version=0.20.0
18-
klaxon_version=5.2
1918
# Module informatation.
20-
module_version=2.0.0-RC.1+MC-1.14.4
19+
module_version=2.0.0-RC.2+MC-1.14.4
2120
module_name=Project Essentials Core
2221
module_id=project_essentials_core
2322
module_vendor=MairwunNx (Pavel Erokhin)
@@ -26,5 +25,3 @@ package_public_token=ZDhjMjgyNjlhM2E0ZTQ0MmM2Mjk5ZWI4YmMyZjI0YzNjOTNkMDVkZA==
2625
package_maven_repo=https://maven.pkg.github.com/projectessentials/projectessentials
2726
package_maven_repo_name=GitHubPackages
2827
package_maven_repo_mail=MairwunNx@gmail.com
29-
# Project Essentials dependencies
30-
cooldown_version=1.14.4-1.0.4

src/main/kotlin/com/mairwunnx/projectessentials/core/EntryPoint.kt

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -37,11 +37,11 @@ internal class EntryPoint {
3737
and we can discuss it.
3838
*/
3939
private val providers = listOf(
40-
GeneralConfiguration::class,
41-
NativeAliasesConfiguration::class,
42-
ModuleObject::class,
43-
BackLocationCommand::class,
44-
ConfigureEssentialsCommand::class
40+
GeneralConfiguration::class.java,
41+
NativeAliasesConfiguration::class.java,
42+
ModuleObject::class.java,
43+
BackLocationCommand::class.java,
44+
ConfigureEssentialsCommand::class.java
4545
)
4646

4747
private val processors = listOf(
@@ -63,7 +63,7 @@ internal class EntryPoint {
6363
ForgeEventType.SetupEvent
6464
) {
6565
applyLocalization()
66-
processors.forEach { ProcessorAPI.register(it) }
66+
processors.forEach(ProcessorAPI::register)
6767
}
6868

6969
subscribeOn<InterModEnqueueEventData>(

src/main/kotlin/com/mairwunnx/projectessentials/core/api/v1/InternalConstants.kt

Lines changed: 4 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -6,25 +6,25 @@ package com.mairwunnx.projectessentials.core.api.v1
66
* Configuration processor loading index order.
77
* @since 2.0.0-SNAPSHOT.1.
88
*/
9-
const val CONFIGURATION_PROCESSOR_INDEX = 0u
9+
const val CONFIGURATION_PROCESSOR_INDEX = 0
1010

1111
/**
1212
* Module processor loading index order.
1313
* @since 2.0.0-SNAPSHOT.1.
1414
*/
15-
const val MODULE_PROCESSOR_INDEX = 1u
15+
const val MODULE_PROCESSOR_INDEX = 1
1616

1717
/**
1818
* Localization processor loading index order.
1919
* @since 2.0.0-SNAPSHOT.1.
2020
*/
21-
const val LOCALIZATION_PROCESSOR_INDEX = 2u
21+
const val LOCALIZATION_PROCESSOR_INDEX = 2
2222

2323
/**
2424
* Command processor loading index order.
2525
* @since 2.0.0-SNAPSHOT.1.
2626
*/
27-
const val COMMAND_PROCESSOR_INDEX = 3u
27+
const val COMMAND_PROCESSOR_INDEX = 3
2828

2929
/**
3030
* Initial fall back language, uses before
@@ -45,12 +45,6 @@ const val MESSAGE_CORE_PREFIX = "project_essentials_core"
4545
*/
4646
const val MESSAGE_MODULE_PREFIX = "project_essentials_"
4747

48-
/**
49-
* Prefix for localized messages for main module (`Project Essentials`).
50-
* @since 2.0.0-SNAPSHOT.1.
51-
*/
52-
const val MESSAGE_MAIN_MODULE_PREFIX = "project_essentials"
53-
5448
const val SETTING_LOC_ENABLED = "v2-localization-enabled"
5549
const val SETTING_LOC_FALLBACK_LANG = "v2-localization-fallback-lang"
5650
const val SETTING_DISABLE_SAFE_ENCHANT = "disable-safely-enchant-level"

src/main/kotlin/com/mairwunnx/projectessentials/core/api/v1/commands/Command.kt

Lines changed: 0 additions & 40 deletions
This file was deleted.
Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,20 @@
1+
package com.mairwunnx.projectessentials.core.api.v1.commands
2+
3+
/**
4+
* Command aliases basically for working with
5+
* command cooldowns.
6+
*
7+
* @since 2.0.0-RC.2.
8+
*/
9+
object CommandAliases {
10+
/**
11+
* This stores all aliases, just add your alias here.
12+
*
13+
* Where `String` - command for aliases.
14+
*
15+
* Where `MutableList<String>` - aliases of command.
16+
*
17+
* @since 2.0.0-RC.2.
18+
*/
19+
val aliases: HashMap<String, MutableList<String>> = hashMapOf()
20+
}

src/main/kotlin/com/mairwunnx/projectessentials/core/api/v1/commands/CommandBase.kt

Lines changed: 8 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
package com.mairwunnx.projectessentials.core.api.v1.commands
22

3-
import com.mairwunnx.projectessentials.cooldown.essentials.CommandsAliases
3+
44
import com.mairwunnx.projectessentials.core.api.v1.extensions.playerName
55
import com.mairwunnx.projectessentials.core.api.v1.module.ModuleAPI
66
import com.mojang.brigadier.CommandDispatcher
@@ -32,20 +32,17 @@ abstract class CommandBase(
3232
private val marker = MarkerManager.Log4jMarker("COMMAND OUT")
3333
private val logger = LogManager.getLogger()
3434

35-
/**
36-
* Command data, stores data of `Command`
37-
* annotation type.
38-
* @since 2.0.0-SNAPSHOT.1.
39-
*/
40-
lateinit var data: Command
35+
abstract override val name: String
36+
override val aliases: List<String> = emptyList()
37+
override val override: Boolean = false
4138

4239
/**
4340
* Initializing command. For this case, just
4441
* remove already registered command if needed.
4542
* @since 2.0.0-SNAPSHOT.1.
4643
*/
4744
override fun initialize() {
48-
if (data.override) CommandAPI.removeCommand(data.name)
45+
if (override) CommandAPI.removeCommand(name)
4946
}
5047

5148
/**
@@ -55,17 +52,17 @@ abstract class CommandBase(
5552
*/
5653
override fun register(dispatcher: CommandDispatcher<CommandSource>) {
5754
if (ModuleAPI.isModuleExist("cooldown")) {
58-
CommandsAliases.aliases[data.name] = data.aliases.toMutableList()
55+
CommandAliases.aliases[name] = aliases.toMutableList()
5956
}
6057

6158
if (actionNeed) {
6259
val literalNode = dispatcher.register(literal.executes(::process))
63-
data.aliases.filter { it != data.name }.forEach {
60+
aliases.filter { it != name }.forEach {
6461
dispatcher.register(Commands.literal(it).executes(::process).redirect(literalNode))
6562
}
6663
} else {
6764
val literalNode = dispatcher.register(literal)
68-
data.aliases.filter { it != data.name }.forEach {
65+
aliases.filter { it != name }.forEach {
6966
dispatcher.register(Commands.literal(it).redirect(literalNode))
7067
}
7168
}
@@ -83,11 +80,4 @@ abstract class CommandBase(
8380
)
8481
return 0
8582
}
86-
87-
/**
88-
* @param clazz from what need take data.
89-
* @return Command annotation data class.
90-
* @since 2.0.0-SNAPSHOT.1.
91-
*/
92-
override fun getData(clazz: Class<*>): Command = clazz.getAnnotation(Command::class.java)
9383
}

src/main/kotlin/com/mairwunnx/projectessentials/core/api/v1/commands/CommandProcessor.kt

Lines changed: 9 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,6 @@ import com.mairwunnx.projectessentials.core.api.v1.providers.ProviderAPI
1010
import com.mairwunnx.projectessentials.core.api.v1.providers.ProviderType
1111
import org.apache.logging.log4j.LogManager
1212
import org.apache.logging.log4j.MarkerManager
13-
import kotlin.reflect.full.findAnnotation
1413

1514
internal object CommandProcessor : IProcessor {
1615
private val logger = LogManager.getLogger()
@@ -28,20 +27,20 @@ internal object CommandProcessor : IProcessor {
2827
logger.debug(marker, "Finding and processing commands")
2928

3029
ProviderAPI.getProvidersByType(ProviderType.COMMAND).forEach {
31-
val clazz = it.objectInstance as ICommand
30+
val clazz = it.getDeclaredField("INSTANCE").get(null) as ICommand
3231

3332
ModuleEventAPI.fire(OnCommandClassProcessing, CommandEventData(clazz))
3433

35-
val data = it.findAnnotation<Command>()!!
3634
logger.debug(
3735
marker,
38-
"\n\n *** Command taken! ${it.simpleName}".plus(
39-
"\n\n - Command name: ${data.name}"
40-
).plus(
41-
"\n - Command aliases: ${data.aliases.contentToString()}"
42-
).plus(
43-
"\n - Class: ${it.qualifiedName}\n\n"
44-
)
36+
"""
37+
38+
### Command taken! ${clazz.javaClass.simpleName}
39+
- Name: ${clazz.name}
40+
- Class: ${clazz.javaClass.canonicalName}
41+
- Aliases: ${clazz.aliases}
42+
43+
"""
4544
)
4645

4746
commands = commands + clazz

src/main/kotlin/com/mairwunnx/projectessentials/core/api/v1/commands/ICommand.kt

Lines changed: 20 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,26 @@ import net.minecraft.command.CommandSource
99
* @since 2.0.0-SNAPSHOT.1.
1010
*/
1111
interface ICommand {
12+
/**
13+
* Command name without `/`.
14+
* @since 2.0.0-RC.2.
15+
*/
16+
val name: String
17+
18+
/**
19+
* Command aliases as array.
20+
* @since 2.0.0-RC.2.
21+
*/
22+
val aliases: List<String>
23+
24+
/**
25+
* Override already command. If value
26+
* true then already registered command by
27+
* other mod will be replaced.
28+
* @since 2.0.0-RC.2.
29+
*/
30+
val override: Boolean
31+
1232
/**
1333
* Initialize command, assign data and other.
1434
* @since 2.0.0-SNAPSHOT.1.
@@ -29,11 +49,4 @@ interface ICommand {
2949
* @since 2.0.0-SNAPSHOT.1.
3050
*/
3151
fun process(context: CommandContext<CommandSource>): Int
32-
33-
/**
34-
* @param clazz from what need take data.
35-
* @return Command annotation data class.
36-
* @since 2.0.0-SNAPSHOT.1.
37-
*/
38-
fun getData(clazz: Class<*>): Command
3952
}

src/main/kotlin/com/mairwunnx/projectessentials/core/api/v1/configuration/Configuration.kt

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

0 commit comments

Comments
 (0)