Skip to content

Instantly share code, notes, and snippets.

View DevSrSouza's full-sized avatar

Gabriel Souza DevSrSouza

View GitHub Profile
@DevSrSouza
DevSrSouza / ArgumentDSL.kt
Created December 27, 2019 22:46
Argument DSL from old KotlinBukkitAPI
fun <T : CommandSender> Executor<T>.argumentExecutorBuilder(
posIndex: Int = 1,
label: String
) = Executor(
sender,
[email protected] + " " + label,
runCatching { args.sliceArray(posIndex..args.size) }.getOrDefault((emptyArray())),
command
)
@DevSrSouza
DevSrSouza / Item.kt
Created December 22, 2019 19:38
Exposed delegate for Bukkit ItemStack
import br.com.devsrsouza.kotlinbukkitapi.server.extensions.itemFromByteArray
import br.com.devsrsouza.kotlinbukkitapi.server.extensions.toByteArray
import org.bukkit.inventory.ItemStack
import org.jetbrains.exposed.dao.Entity
import org.jetbrains.exposed.sql.Column
import java.sql.Blob
import javax.sql.rowset.serial.SerialBlob
import kotlin.reflect.KProperty
fun Entity<*>.itemStack(column: Column<Blob>) = ItemStackExposedDelegate(column)
@DevSrSouza
DevSrSouza / BlockNames.kt
Last active November 22, 2020 21:50
Nome das entidades, itens, blocos e encatamentos do minecraft em Português para BukkitAPI (1.8.8)
/**
* @author DevSrSouza
* github: https://github.com/DevSrSouza
* twitter: https://twitter.com/DevSrSouza
*/
val BLOCK_NAMES_PT_BR = mapOf(
MaterialData(Material.ACACIA_FENCE, 0) to "Cerca de Acácia",
MaterialData(Material.ACACIA_FENCE_GATE, 0) to "Portão de Acácia",
MaterialData(Material.ACTIVATOR_RAIL, 0) to "Trilho Ativador",
@DevSrSouza
DevSrSouza / BinaryTree.kt
Last active April 6, 2019 17:40
Arvore Binaria em Kotlin
class Root<E>(var value: E, var root: Root<E>?, var left: Root<E>? = null, var right: Root<E>? = null)
enum class Ordem { V, R, L }
interface IBinaryTree<E> {
val size: Int
fun insert(element: E)
@DevSrSouza
DevSrSouza / EnchantmentCustom.kt
Last active March 19, 2019 18:25
Simple enchantment API using KotlinBukkitAPI / API simples de encantamento usando KotlinBukkitAPI
import br.com.devsrsouza.kotlinbukkitapi.attributestorage.setStorageData
import br.com.devsrsouza.kotlinbukkitapi.dsl.item.meta
import org.bukkit.inventory.ItemStack
import org.bukkit.inventory.meta.ItemMeta
import java.util.*
class EnchantmentCustom(
val uuid: UUID,
val name: String,
val maxLevel: Int
@DevSrSouza
DevSrSouza / build.gradle
Created February 6, 2019 19:54
Kotlin + Spigot 1.8.8 + Minecraft dev IntelliJ Plugin
plugins {
id 'java'
id 'org.jetbrains.kotlin.jvm' version '1.3.20'
id 'com.github.johnrengelman.shadow' version '4.0.3'
}
group = pluginGroup
version = pluginVersion
sourceCompatibility = 1.8
@DevSrSouza
DevSrSouza / GsonDSL.kt
Created January 30, 2019 16:09
A json DSL builder for google gson library.
import com.google.gson.JsonArray
import com.google.gson.JsonElement
import com.google.gson.JsonObject
import com.google.gson.JsonPrimitive
@DslMarker
annotation class JsonMarker
@JsonMarker
fun json(block: JsonObjectBuilder.() -> Unit): JsonObject {
@DevSrSouza
DevSrSouza / ArgumentDSL.kt
Created December 3, 2018 11:58
Old idea of Arguments for KotlinBukkitAPI
package br.com.devsrsouza.kotlinbukkitapi.dsl.command
import br.com.devsrsouza.kotlinbukkitapi.extensions.text.asText
import br.com.devsrsouza.kotlinbukkitapi.extensions.text.color
import br.com.devsrsouza.kotlinbukkitapi.extensions.text.unaryPlus
import net.md_5.bungee.api.chat.TextComponent
import org.bukkit.Bukkit
import org.bukkit.ChatColor
import org.bukkit.Location
import org.bukkit.World
@DevSrSouza
DevSrSouza / Config.kt
Last active December 24, 2018 16:08
Config helper for KotlinBukkitAPI
import br.com.devsrsouza.kotlinbukkitapi.dsl.config.YamlConfig
import br.com.devsrsouza.kotlinbukkitapi.dsl.config.loadAndSetDefault
import br.com.devsrsouza.kotlinbukkitapi.dsl.config.loadTransformerChangeColor
import br.com.devsrsouza.kotlinbukkitapi.dsl.config.saveTransformerChangeColor
import org.bukkit.plugin.Plugin
import java.io.File
import kotlin.reflect.KClass
fun Plugin.configLazy(file: String, model: KClass<*>) = lazy {
File(dataFolder, file).let {
package br.com.devsrsouza.souzaeconomy
import com.zaxxer.hikari.HikariDataSource
import com.zaxxer.hikari.HikariConfig
import java.io.File
import java.io.FileOutputStream
import java.io.IOException
import java.lang.reflect.InvocationTargetException
import java.net.*
import java.sql.SQLException