A simplified and multi-functional tool for spigot developers

Overview

hCore

A simplified and multi-functional tool for spigot developers. There are dozens of features you can use in it, and it is completely open source code. hCore supports all versions from 1.8.x to 1.18.2. Also you can find all these APIs usages from here.

Developers

Features

  • Command - Basic command system for registering commands without plugin.yml.
  • Database - Database implementation system for multi-database support.
  • Hologram - Hologram system for creating and managing client-side holograms.
  • Message - Message system to send title, action-bar or boss-bar to player.
  • Packet - Packet system to listen to the packet and send it to the player.
  • Particle - Particle system to play particle effects client-side for any player.
  • Renderer - Renderer system for rendering and sending the package to the closest players.
  • Scheduler - Scheduler system to easily create new scheduler.
  • Inventory - Inventory system for creating and opening special inventories for players.
  • Sign - Sign system for receiving input from the player.
  • WorldBorder - WorldBorder system to display WorldBorder client-side.
  • HItemStack - HItemStack class for creating item stacks and manage stacks easily.

How to add it to Maven or Gradle?

Maven

<repository>
    <id>jitpack.ioid>
    <url>https://jitpack.iourl>
repository>

<dependency>
    <groupId>com.github.hakan-krgn.hCoregroupId>
    <artifactId>bukkitartifactId>
    <version>0.0.6version>
dependency>

Gradle

repositories {
  maven { url 'https://jitpack.io' }
}

dependencies {
  implementation 'com.github.hakan-krgn.hCore:bukkit:0.0.6'
}
Comments
  • [bug] NPCs

    [bug] NPCs

    if i create npc in onEnable method, setskin and setlocation, then .showEveryone(true) him i'll set this thing: image npc have no skin and have glitched head rotation :( but if ill just set skin, head rotations will be good aswell skin will be shown, after rejoining on server im getting the same effect.

    bug 
    opened by zhogoshi 5
  • [Suggestion] Add async (packets-based) scoreboards

    [Suggestion] Add async (packets-based) scoreboards

    Hi! Scoreboard api looks cool, but how about async update support?

    There are working packets-based solutions (like this), so this is not something hard. Async scoreboards api would allow developers to create heavy calculation scoreboards during update (because there might be queries to the database, etc.).

    This API can be called both synchronously and asynchronously because packets work the same way.

    I think that ForkJoinPool would be perfect for these purposes.

    enhancement 
    opened by BlackBaroness 3
  • [Suggestion] Better args for command system

    [Suggestion] Better args for command system

    while i was making commands i ran into one problem - to make a command that contains an argument with a hint in the form of player nicknames / similar things, so idk how it should look, cos cmd system should be fully rewritten

    example: // so, how to do this? /tp playername

    probably it will be better if someone can rewrite this system, and it should looks like this:

    kotlin: val subCmd = SubCMD()

    @SubCommand fun tpCommand(sender: CommandSender, args: Array) : SubCMD { if(args.isEmpty || sender !is Player) return

    for(player in Bukkit.getOnlinePlayers()) { subCmd.args[0]/(it can be as list, not only string)/.add(player.name) }

    val target = Bukkit.getOfflinePlayer(args[0]) ?: return // player isnt found if(!Bukkit.getOfflinePlayer(args[0]).isOnline) return // Player isnt online

    (sender as Player).teleport(target.location)

    return subCmd }

    java: SubCMD subCmd = new SubCmd();

    @SubCommand void tpCommand(CommandSender sender, List args) { if(args.isEmpty() || !(sender instanceof Player)) return;

    for(Player player : Bukkit.getOnlinePlayers()) { subCmd.args[0].add(player.name); }

    OfflinePlayer target = Bukkit.getOfflinePlayer(args[0]); assert target != null;

    ((Player)sender).teleport(target.getLocation()); return subCmd; }

    i wanna send alot of suggestions coz i have alot of ideas so i didnt wanted to submit this, anyway, why not? :p i'll love guy whose will do this, because theres one problem: idk how it should look with annotations, so, i cant help there ;( also, im sorry for bad code cos i wrote this in gh xdf fuk gh i cant even somehow highlite code ;(

    enhancement 
    opened by zhogoshi 2
  • [Suggestion] Particle enum for particle system

    [Suggestion] Particle enum for particle system

    HParticle myParticle = new HParticle("HEART", 30, 0.2, new Vector(0.3, 0.3, 0.3); // creates a new HParticle which uses "HEART" particle as template HCore.playParticle(player, player.getLocation(), myParticle); // plays the particle at player's location

    how bout creating enum like HCoreParticle, like:

    enum HCoreParticle { HEART; }

    then, it may look like HParticle myParticle = new HParticle(HCoreParticle.HEART, 30, 0.2, new Vector(0.3, 0.3, 0.3); // creates a new HParticle which uses "HEART" particle as template HCore.playParticle(player, player.getLocation(), myParticle); // plays the particle at player's location

    prob im clown coz ill just able to use org.bukkit.Particle.HEART.name, but anyways, it prob will be better? <3

    enhancement 
    opened by zhogoshi 2
  • Plugin attempted to register task while disabled

    Plugin attempted to register task while disabled

    Hello there,

    I use the plugin's scoreborad function and as soon as I restart my plugin via plugman all players are kicked out of the game with the reason [05:38:21] [Server thread/INFO]: simon_the_siro lost connection: Internal Exception: org.bukkit.plugin.IllegalPluginAccessException: Plugin attempted to register task while disabled

    After a bit of trying around, an error occurred where I could read that the HCore API is responsible for this error.

    Caused by: org.bukkit.plugin.IllegalPluginAccessException: Plugin attempted to register task while disabled at org.bukkit.craftbukkit.v1_16_R3.scheduler.CraftScheduler.validate(CraftScheduler.java:554) ~[patched_1.16.5.jar:git-Paper-794] at org.bukkit.craftbukkit.v1_16_R3.scheduler.CraftScheduler.runTaskTimer(CraftScheduler.java:229) ~[patched_1.16.5.jar:git-Paper-794] at org.bukkit.craftbukkit.v1_16_R3.scheduler.CraftScheduler.runTaskTimer(CraftScheduler.java:214) ~[patched_1.16.5.jar:git-Paper-794] at org.bukkit.craftbukkit.v1_16_R3.scheduler.CraftScheduler.runTaskLater(CraftScheduler.java:178) ~[patched_1.16.5.jar:git-Paper-794] at org.bukkit.scheduler.BukkitRunnable.runTaskLater(BukkitRunnable.java:79) ~[patched_1.16.5.jar:git-Paper-794] at com.hakan.core.scheduler.HScheduler.run(HScheduler.java:205) ~[?:?] at com.hakan.core.scheduler.HScheduler.run(HScheduler.java:160) ~[?:?] at com.hakan.core.scoreboard.HScoreboard.update(HScoreboard.java:244) ~[?:?] at de.simon.system.api.NXScoreboard.setLineParser(NXScoreboard.java:71) ~[?:?] at de.simon.system.utils.NXScoreboardManager.setScoreboard(NXScoreboardManager.java:94) ~[?:?] ... 23 more

    If there is anything new, or it was a mistake on my part, please just write back.

    • Siro
    opened by SimonTheSiro 2
  • [Bug] hCore v0.6.9.5 generated an exception

    [Bug] hCore v0.6.9.5 generated an exception

    Using latest version of the plugin and here is the logs, https://drive.google.com/file/d/1SHqStkQcmgCeaHQ9FfflKPK76MLEQcqF/view

    I hope you would be able to help! have a good day

    opened by IamTheDefender 1
  • [Suggestion] placeholder improvement

    [Suggestion] placeholder improvement

    how about adding perm to placeholder, or add placeholder only for specified player? (probably it will fix using in subcommand permission

    for example:

    i did admin command: /gm 1, and i dont want that players which cant use cmd can see this placeholder

    how bout add to @Placeholder property "permission"? or specified players?

    enhancement 
    opened by zhogoshi 1
  • [bug] npc skin

    [bug] npc skin

    probably its my problem, like, im storing skin bad image , but, anyway:

    i set npc's skin to one guy. but, skin doesnt shows when i joined on server (i mean like first join after enabling server) but, if ill rejoin to server, all be k

    also sometimes it shows properly, sometimes no (uh???)

    anyway, im storing npc's skin before setSkin method, so, idk why this h4ppens

    storing: val skin = HNpcSkin.from(if(skinOfPlayer) player.name else skin) // in both situations there will be mine name for me, i checked it

    bug 
    opened by zhogoshi 1
  • [Command] Placeholder problem

    [Command] Placeholder problem

    alr i figured out one placeholder's problem. anyway, idk how this problem works :( i mean, why this happens**

    code: kotlin : https://hastebin.com/kibebelowi.kotlin java : https://hastebin.com/pizonodabe.kotlin

    problem:
    image

    (WARN) this problem works on both langs, java and kotlin, i tried it. anyway, java result (probably with every server load random placeholder works): image

    anyway, in other situations placeholders works perfectly.

    UPD. i checked if will something better using +1 arg like: image

    but, nothing...

    help wanted 
    opened by zhogoshi 1
  • [Bug] npcs look

    [Bug] npcs look

    after unloading npc (when player far from npc, npc unloads and when he isnt far from npc, npc loads) and loading npc yaw and pitch will be set to 0 for some reason image

    bug 
    opened by zhogoshi 1
  • [Suggestion] Scoreboard system

    [Suggestion] Scoreboard system

    add to HScoreboard method which will return org.bukkit.scoreboard, so it can be like:

    player.setScoreboard(hboard.getScoreboard())

    someone will be able to create alot of hscoreboards and easily switching them. also big plus to this: player1.setScoreboard() player2.. i mean, add to specified players scoreboard. example:

    HScoreboard welcomeBoard = HScoreboard.create() HScoreboard hiBoard = HScoreboard.create() // add some fields to boards if(player.isFirstJoin) { player.setScoreboard(welcomeBoard.getScoreboard()) } else { player.setScoreboard(hiBoard.getScoreboard()) }

    enhancement 
    opened by zhogoshi 1
  • [Bug] Player gets kicked to default server on bungee when a player dies (while using player skin NPC)

    [Bug] Player gets kicked to default server on bungee when a player dies (while using player skin NPC)

    Hello there, I am sorry about the last issue, I got caught up irl and forgot about it. When a player changes world or dies while there is an player npc in the current world they get kicked (only when using bungeecord).

    Code that creates NPC: HCore.npcBuilder(ThreadLocalRandom.current().nextInt() + "").showEveryone(true).location(loc).skin(skin).target(Npc.LookTarget.NEAREST).whenClicked((player, a) -> ShopManager.shop.open(p, PlayerQuickBuyCache.getQuickBuyCache(p.getUniqueId()), true)),build();

    The server log: https://pastebin.com/xQYSgFxn

    Bungecord log: https://pastebin.com/ws3SmAXf

    opened by IamTheDefender 0
Releases(0.6.9.9)
Owner
Hakan Kargın
Hakan Kargın
Leveraging Java 8, create an API with a multi-tier user system.

Project 0 Description Leveraging Java 8, create an API with a multi-tier user system. You may choose the actual use case for your application as long

null 1 Jan 9, 2022
A Step-by-step Guide to a Consistent Multi-Platform Font Typeface Experience in React Native

A Step-by-step Guide to a Consistent Multi-Platform Font Typeface Experience in React Native Goal Be able to use font typeface modifiers such as fontW

Jules Sam. Randolph 53 Dec 23, 2022
A lightweight staff chat plugin for BungeeCord and Spigot.

A lightweight staff chat plugin for BungeeCord and Spigot with 2-way Discord chat support and many other great features.

null 4 Mar 30, 2022
Spigot plugin featuring a wide variety of features for a server based on modules.

CTSNC, standing for Custom Chat, Tablist, Scoreboard, NameTag & Chat, is a all-round solution based on multiple modules each featuring a dedicated function while CTSNC acts as the core. Here all configuration files are housed for easy management and customization.

null 2 Dec 30, 2022
A Java to iOS Objective-C translation tool and runtime.

J2ObjC: Java to Objective-C Translator and Runtime Project site: https://j2objc.org J2ObjC blog: https://j2objc.blogspot.com Questions and discussion:

Google 5.9k Dec 29, 2022
The open-source Java obfuscation tool working with Ant and Gradle by yWorks - the diagramming experts

yGuard yGuard is an open-source Java obfuscation tool. With yGuard it is easy as pie ( ?? ) to configure obfuscation through an extensive ant task. yG

yWorks GmbH 265 Jan 2, 2023
ThirdEye is an integrated tool for realtime monitoring of time series and interactive root-cause analysis.

ThirdEye is an integrated tool for realtime monitoring of time series and interactive root-cause analysis. It enables anyone inside an organization to collaborate on effective identification and analysis of deviations in business and system metrics. ThirdEye supports the entire workflow from anomaly detection, over root-cause analysis, to issue resolution and post-mortem reporting.

null 87 Oct 17, 2022
Helper tool to calculate the price for a given amount of users within a graduated pricing model.

Lithic Hi Lithic, This small piece of software is a coding exercise I asked some candidates to solve and is based on the pricing model of Atlassian pr

Stefan Antal 1 Feb 27, 2022
A tool to help Barcelonian people get various immigration-related appointments via the Cita previa process

NIEBot A tool to help Barcelonian people get various immigration-related appointments via the Cita previa process. Requirements A Windows or Linux PC.

Conor Rynne 49 Dec 10, 2022
Sauron, the all seeing eye! It is a service to generate automated reports and track migrations, changes and dependency versions for backend services also report on known CVE and security issues.

SAURON - VERSION AND DEPLOYMENT TRACKER DESCRIPTION Sauron, the all seeing eye! It is a service to generate automated reports and track migrations, ch

FREENOWTech 20 Oct 31, 2022
A calculator that performs various operations such as addition, subtraction, multiplication and division of positive and negative values

A calculator that performs various operations such as addition, subtraction, multiplication and division of positive and negative values The calculator also does percentages, square roots and squares

Andrey Fabricio 1 Jan 31, 2022
A Local implementation of a java library functions to create a serverside and clientside application which will communicate over TCP using given port and ip address.

A Local implementation of java library functions to create a serverside and clientside application which will communicate over TCP using given port and ip address.

Isaac Barry 1 Feb 12, 2022
Tripoli imports raw mass spectrometer data files and supports interactive review and archiving of isotopic data.

Tripoli imports raw mass spectrometer data files and supports interactive review and archiving of isotopic data. Tripoli facilitates visualization of temporal trends and scatter during measurement, statistically rigorous filtering of data, and calculation of statistical parameters.

CIRDLES 7 Dec 15, 2022
Java Notes & Codes for better understanding and it contains all the funtions with examples and also added Cheat Sheet for Revision

Java Notes & Codes for better understanding and it contains all the funtions with examples and also added Cheat Sheet for Revision...

Ujjawal Singh 1 Nov 30, 2022
Automatically discover and tag PII data across BigQuery tables and apply column-level access controls based on confidentiality level.

Automatically discover and tag PII data across BigQuery tables and apply column-level access controls based on confidentiality level.

Google Cloud Platform 18 Dec 29, 2022
Make Slack and Facebook Bots in Java.

JBot Make bots in Java. JBot is a java framework (inspired by Howdyai's Botkit) to make Slack and Facebook bots in minutes. It provides all the boiler

Ram 1.2k Dec 18, 2022
API gateway for REST and SOAP written in Java.

Membrane Service Proxy Reverse HTTP proxy (framework) written in Java, that can be used as an API gateway as a security proxy for HTTP based integrati

predic8 GmbH 389 Dec 31, 2022
An extensible Java framework for building XML and non-XML streaming applications

Smooks Framework This is the Git source code repository for the Smooks Project. Build Status Building Pre-requisites JDK 8 Apache Maven 3.2.x Maven gi

Smooks Framework 353 Dec 1, 2022
TChart Simple and fast charts

TChart Simple and fast charts. Current version Beta 0.9.1 Preview Import jitpack.io gradle allprojects

null 30 Sep 20, 2022