Skip to content

Instantly share code, notes, and snippets.

View Oskang09's full-sized avatar
💻
Keep working hard ...

NG SZE CHEN Oskang09

💻
Keep working hard ...
View GitHub Profile
@Oskang09
Oskang09 / entity-manager.kt
Last active July 4, 2021 02:32
show / hide all entities each other, hidden is default. required dependency ProtocolLibs ofcourse
import com.comphenix.protocol.PacketType
import com.comphenix.protocol.ProtocolLibrary
import com.comphenix.protocol.events.PacketAdapter
import com.comphenix.protocol.events.PacketContainer
import com.comphenix.protocol.events.PacketEvent
import org.bukkit.entity.Entity
import org.bukkit.entity.Player
import org.bukkit.event.EventPriority
import org.bukkit.event.entity.EntityDeathEvent
import org.bukkit.event.player.PlayerQuitEvent
@Oskang09
Oskang09 / array-type.kt
Created June 8, 2021 12:23
Kotlin Exposed ORM Expansion
import com.fasterxml.jackson.databind.ObjectMapper
import com.fasterxml.jackson.databind.type.CollectionType
import org.jetbrains.exposed.sql.Column
import org.jetbrains.exposed.sql.ColumnType
import org.jetbrains.exposed.sql.Table
fun <T : Any> Table.array(name: String, clazz: Class<T>, jsonMapper: ObjectMapper = ObjectMapper()): Column<Array<T>>
= registerColumn(name, ArrayType(clazz, jsonMapper))
class ArrayType<out T: Any>(private val clazz: Class<T>, private val mapper: ObjectMapper): ColumnType() {
package me.oska.plugins.event;
import org.bukkit.event.Event;
import org.bukkit.event.EventException;
import org.bukkit.event.Listener;
import org.bukkit.plugin.EventExecutor;
import org.jetbrains.annotations.NotNull;
import java.util.HashMap;
import java.util.Map;
data:image/jpeg;base64,/9j/4AAQSkZJRgABAQAAAQABAAD/7QCEUGhvdG9zaG9wIDMuMAA4QklNBAQAAAAAAGgcAigAYkZCTUQwYTAwMGE2ZTAxMDAwMGM2MDIwMDAwZDkwNDAwMDA0MTA1MDAwMGFjMDUwMDAwMzgwODAwMDAxYTBiMDAwMDkzMGIwMDAwMTEwYzAwMDA5NDBjMDAwMDFiMTEwMDAwAP/bAEMABgQFBgUEBgYFBgcHBggKEAoKCQkKFA4PDBAXFBgYFxQWFhodJR8aGyMcFhYgLCAjJicpKikZHy0wLSgwJSgpKP/bAEMBBwcHCggKEwoKEygaFhooKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKP/CABEIAJYAlgMBIgACEQEDEQH/xAAbAAEAAgMBAQAAAAAAAAAAAAAABQYDBAcCAf/EABgBAQEBAQEAAAAAAAAAAAAAAAABAgME/9oADAMBAAIQAxAAAAHqgAAAAAAAAAAAIeqx8Zy6WOX53Zi+xmlU7JaQp2PN6Fv8+tlWHa0d7rzAAAA5DZov7w9GfU97dV/Drz9zI6+5HTcBaYaRY6NkxZe3EAAADn2WOguPotWtrZlqHUuW3G5lWPFN54j3UWe5Z6VdevALAAAON13anMWD92KNajdPY1c7vcxC7FU+K96iX/q3Ievb5hYAAByLJYdPG80HD7ksHqysVndskoiX3imx09j59Lh0eGme/nAAAA5LhmYnh2ps7JlxRHSce80ydz7dlIs9r37Pe7FSusAAAAV2odEiMb57ix+uHotdn5ntdOXQ9Guae8WzU05Dn092/V2u3ELAAAPkXKioerazqo5LUin4LuuaFlvCo2SAKAAAAAAAAAAA/8QAJxAAAgIBAwMFAAMBAAAAAAAAAgMBBAUAERITITAGFBUjMhYiUDH/2gAIAQEAAQUC/wAq7alIOy9gCDMWC1715goyIMjf9sMZhxAnKMklX
@Oskang09
Oskang09 / ExampleInventory.java
Last active February 23, 2021 08:03
Minecraft Inventory UI API inspired by React
package me.ms.plugin.inventory;
public class ExampleInventory extends InventoryUI<ExampleInventory.Props, ExampleInventory.State> {
protected ExampleInventory(Props props) {
super("ExampleInventory", 54, props, null);
}
public class Props {
@Oskang09
Oskang09 / Logger.java
Last active September 15, 2020 17:21
Minecraft Java Pretty Print to Discord, Console & File Asynchronously
package me.oska.plugins.logger;
import com.google.gson.JsonObject;
import me.oska.minecraft.OskaRPG;
import org.apache.commons.lang.exception.ExceptionUtils;
import org.bukkit.Bukkit;
import javax.net.ssl.HttpsURLConnection;
import java.io.*;
import java.net.URL;
@Oskang09
Oskang09 / .gitlab-ci.yml
Last active January 4, 2023 09:41
Gitlab Android APK CI Example
staging:
image: node:10.19.0 # can replace to your image
stage: deploy
only:
- master # target to branch?
script:
# apply ssh private key
- "which ssh-agent || ( apt-get update -y && apt-get install openssh-client -y )"
- eval $(ssh-agent -s)
- ssh-add <(echo "$SSH_PRIVATE_KEY")
@Oskang09
Oskang09 / readme.md
Created December 21, 2019 14:53
Git naming conventions

Git Naming Convention

  • Branch naming convention
    • master (production code)
    • sandbox (staging code)
    • develop (development code)
    • feature/XXX
    • release/XXX
    • hotfix/XXX
@Oskang09
Oskang09 / example.js
Last active December 19, 2019 08:58
支付宝小程序 Code Style 样本
const App = getApp();
Page({
data: {
// data decleration 应该放上面,方便进来查看变数的时候直接看得到
},
async fetchStore() {
// 处理API 并且获取data, 和处理 error handling 之类的
return data;
},
@Oskang09
Oskang09 / README.md
Last active December 21, 2019 16:50
golang dataloader

Description

Utility function for building data loader for loading repeating data in relational. There still many other use case.

Explaination

DataLoader is a generic utility used to abstract request batching and caching. It use to solve N+1 Problem when using with data loading. BatchLoader taking all of the required keys when preload and postload return the data to the stack where we call.

Example Populating Data