The best treat for players and moderators!
nearvanilla / icecream Goto Github PK
View Code? Open in Web Editor NEWThe ultimate treat for players and moderators
License: GNU Affero General Public License v3.0
The ultimate treat for players and moderators
License: GNU Affero General Public License v3.0
Configure gradle to compile:
All of those should simple be "stubs" - empty paper/velocity plugin etc.
Should configure stuff like:
A simple module to get some basics implemented. Requires #2
DoD:
Worth looking at how, for example, VanillaTweaks/PaperTweaks has done it: https://github.com/MC-Machinations/VanillaTweaks/tree/dev/0.2.0/vanilla-tweaks-bukkit/src/main/java/me/machinemaker/vanillatweaks/modules
Use Configurate for config (unless you have reasons why something else is better): https://github.com/SpongePowered/Configurate
Use Cloud for commands: https://github.com/Incendo/cloud
DoD:
package dev.bloodstone.vitalutils.common
import co.aikar.commands.BukkitCommandManager
import dev.bloodstone.vitalutils.VitalUtils
import java.lang.RuntimeException
import java.util.function.Predicate
import org.bukkit.event.HandlerList
import org.bukkit.event.Listener
import org.koin.core.KoinComponent
import org.koin.core.inject
abstract class BaseModule(private val shouldEnable: Predicate<PluginConfig>) : KoinComponent {
var registered = false
protected set
protected abstract val register: () -> Unit
protected abstract val unregister: () -> Unit
protected val name: String = this::class.simpleName ?: throw RuntimeException("Unable to retrieve module name!")
protected val plugin by inject<VitalUtils>()
fun shouldEnable(): Boolean {
return shouldEnable.test(plugin.moduleManager.config)
}
protected fun registerEvents(listener: Listener) {
plugin.server.pluginManager.registerEvents(listener, plugin)
}
protected fun unregisterEvents(listener: Listener) {
HandlerList.unregisterAll(listener)
}
protected fun registerCommands(vararg commands: BaseModuleCommand<*>) {
commands.forEach { command ->
plugin.commandManager.registerCommand(command)
}
}
protected fun unregisterCommands(vararg commands: BaseModuleCommand<*>) {
commands.forEach { command ->
plugin.commandManager.unregisterCommand(command)
}
}
open fun registerCommandReplacements(commandManager: BukkitCommandManager) {}
open fun registerCommandCompletions(commandManager: BukkitCommandManager) {}
open fun registerCommandConditions(commandManager: BukkitCommandManager) {}
fun register() {
if (registered) throw RuntimeException("Module $name is already registered!")
this.register.invoke()
registered = true
}
fun unregister() {
if (!registered) throw RuntimeException("Module $name is not registered!")
this.unregister.invoke()
registered = false
}
fun reload() {}
}
Requires: NearVanilla/bat#19
A module which tries to (lightly) detect whether a player is AFK or not (tries to ignore AFK-able movement like minecarts, water and slashing/eating).
DoD:
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.