#help-development

1 messages · Page 1825 of 1

dusty sphinx
#

install it to your maven repo with buildtools and then include the dependency

coral sage
#

hello, im new to modding mc. Im trying to make a mod for 1.17. Is that supported with spigot?

dusty sphinx
#

of course

thick gust
#

I don't use maven.

thick gust
#

Still didn't figured out how to do it lol

#

Yo fuck you regulad

#

Remove that emoji

dusty sphinx
#

get with the program pal everyone else uses a build system for a reason

young knoll
#

Spigot supports server side plugins, which you could call ”mods”

#

But generally when someone says minecraft mod they don’t mean a plugin

coral sage
young knoll
#

Yes

coral sage
#

I see

dusty sphinx
young knoll
#

If you want client side use fabric or forge

thick gust
#

@dusty sphinx How?

#

@dusty sphinx KEKW XD

buoyant viper
crisp arch
dusty sphinx
#

fuck if i know i only use eclipse to convert projects to maven

crisp arch
#

but plugins are muuuch easier

buoyant viper
coral sage
crisp arch
#

so if you can do it with a plugin, then its recommended

dusty sphinx
#

spigot is an extension of bukkit

young knoll
thick gust
#

@buoyant viper Ofc they mad at u cuz u have the wrong profile pic. Use sakurajima.

crisp arch
buoyant viper
#

mod plugin addon all the same thing under a different name

crisp arch
#

Forge & Fabric are both serverside & clientside

young knoll
#

Bukkit, craftbukkit, spigot, paper, etc are all server side

dusty sphinx
buoyant viper
coral sage
#

oh i see. I thought that these were client side

thick gust
#

@young knoll Bungeecord as well

buoyant viper
thick gust
#

@buoyant viper KEKW

young knoll
#

The only client mod loaders I know of for 1.17 are forge and fabric

buoyant viper
#

u can have a client with a plugin system

dusty sphinx
#

i said implies not always means

crisp arch
lethal thicket
#

is importing a .obj model and its .mtl textures into MC possible at all? sorry if this is an annoying noob question, but desperate here

buoyant viper
#

its all down 2 context 😞

crisp arch
#

forge is more powerful, but fabric is easier to setup

dusty sphinx
young knoll
#

Try the minecraft commands discord

dusty sphinx
#

yeah

buoyant viper
thick gust
#

@crisp arch Fabric kinda sucks I only use it cuz it got better mods. But forge shows you which mods you installed instantly. I didn't figured out how gayric does that yet

#

@dusty sphinx TELL ME HOW

jade lodge
#

i have spigot 1.18.1 server and when i step into nether portal it doesnt teleport me i only see purple waves

buoyant viper
coral sage
dusty sphinx
crisp arch
thick gust
#

@dusty sphinx WHICH

young knoll
#

Forge has a mod template you can download too

dusty sphinx
buoyant viper
sullen marlin
crisp arch
dusty sphinx
crisp arch
thick gust
#

@dusty sphinx Bro i already added it ..

lethal thicket
#

I thought build tools may have assisted

buoyant viper
#

its one plugin entry file and a mixin file its kinda

#

ehhh

jade lodge
sullen marlin
#

There is I promise you

#

Did it say the nether loaded in the startup log

thick gust
#

@dusty sphinx I already added the buildtools jar librarryy

crisp arch
thick gust
#

@crisp arch No you can't. Error 404: No permission.

jade lodge
dusty sphinx
#

@thick gust well first of all you are using java 1.8 with 1.18

#

so update to java 17

jade lodge
#

just used multiverse and it can tp me to nether

thick gust
#

@dusty sphinx For the love of god if some1 tells me once again i got to update to java 177 i will kms

jade lodge
#

but normal portals doesnt work

dusty sphinx
thick gust
#

@crisp arch That's it where do u live?

young knoll
#

Java 177

#

Damn what can that do

thick gust
#

Fuck you guys

crisp arch
dusty sphinx
#

maybe fuckin listen and youd get what you want

thick gust
#

@crisp arch Shaddip

#

YO I HAVE THE MOST CURRENT FVERSION OF JAVA

crisp arch
dusty sphinx
#

then set it as your jdk in eclipse

thick gust
#

SEEE HERE JAVAAA

#

17

crisp arch
#

bro hes gaming

jade lodge
#

@sullen marlin can even send ss of my server file there is no properties

crisp arch
#

java 177

dusty sphinx
thick gust
#

@crisp arch Shaddup dominos guy go plant some coconuts and pluck me bananas

#

@dusty sphinx HOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOW?!

young knoll
#

You have access to the server files but not console?

dusty sphinx
young knoll
#

🙃

dusty sphinx
#

look it up

thick gust
#

You fishhead

jade lodge
thick gust
#

It's done

dusty sphinx
#

~~jesus you have to edit an ini to change the jdk in eclipse 💀 ~~

young knoll
#

I mean you don’t

thick gust
#

Jesus it still does not work to fucking fix my errors

young knoll
#

That’s the jdk for eclipse itself, not your project

dusty sphinx
thick gust
#

@dusty sphinx You gotdamn banana plucker stop say that

heavy perch
buoyant viper
#

^

dusty sphinx
#

dude literally just find the package the class is in and import it

young knoll
thick gust
#

How I change my Java versionon of project?

sullen marlin
#

Also no one is going to help you crash the client

dusty sphinx
#

^

thick gust
#

@young knoll I won't look up a single spigot announcement again

sullen marlin
thick gust
#

@buoyant viper No you wouldnt

#

@sullen marlin I don't want to publish it lol

buoyant viper
thick gust
#

@sullen marlin Besides that there are still plugins on Spigot which exactly do that XDDD

lethal thicket
#

LEEEEYEYYYRRRRROOOOOOOOYYYYY!!!!!! JENKINSSS!!!

heavy perch
#

Make a 16 row inventory

heavy perch
#

#Crashed

jade lodge
#

thats my server folder there is no server.properties

thick gust
#

@young knoll Nah i dont 😄

thick gust
#

Ankara best city @jade lodge

jade lodge
young knoll
heavy perch
#

Look

thick gust
#

For real now how do I change my Java Version for my project

young knoll
#

And craftbukkit

dusty sphinx
#

gotta love it

heavy perch
#

Eclipse requires a lot of setup

#

IntelliJ doesn't

#

WE ALREADY GET THAT

thick gust
#

Fucking IntelliJ Users

#

Think they aren't subhumans

heavy perch
#

Exactly

buoyant viper
#

just as a proof of concept tho

young knoll
#

Oh gos vscode

buoyant viper
#

intellij still on top

young knoll
#

This chat is hurting me more than usual tonight

dusty sphinx
buoyant viper
#

as long as the gradle plugin doesnt shoot itself on me i should be fine

heavy perch
#

Look In HighTech most companies use Jetbrains for some odd reason when it comes to working around Java

buoyant viper
#

since i use gradle... a lot

lethal thicket
#

Visual Studio is the way to go

thick gust
buoyant viper
thick gust
#

For a new project i could only use java 16

young knoll
#

Ah

lethal thicket
#

get it hooked up to Azure DevOps

young knoll
#

Eclipse is uhh

dusty sphinx
young knoll
#

Heh...

lethal thicket
#

easy

heavy perch
#

AND REMOVE THIS WHITE NOISE COLOR

#

OMGG

young knoll
#

You need a plugin from the marketplace for java 17

thick gust
#

@heavy perch Stfu i dont waste my time doing it

buoyant viper
jade lodge
#

how can i see enable_nether command when there is no server.properties. multiverse can tp me but portals only giving me purple waves

heavy perch
magic dome
#

Anyone know what event i should cancel to prevent fireballs from being flung by explosions?

buoyant viper
#

if u mean the theme eclipses dark theme is still ass..

dusty sphinx
#

which is weird because i love windows

heavy perch
buoyant viper
dusty sphinx
#

i fucking hate windows

#

but i love it

thick gust
#

Better? @heavy perch

heavy perch
thick gust
#

That does not even make sense @dusty sphinx

dusty sphinx
#

windows is a steaming pile of shit but you gotta love it

crisp arch
lethal thicket
buoyant viper
#

do u have the right spigot jar imported

dusty sphinx
buoyant viper
#

use ur mum

heavy perch
#

Fu

dusty sphinx
thick gust
#

@buoyant viper Ur mum:

#

@buoyant viper KEKW

sullen marlin
crisp arch
dusty sphinx
#

thats not how it works anymore

heavy perch
buoyant viper
#

do maven tasks work with gradle

sullen marlin
#

'I'm having an issue with my Toyota'

thick gust
#

Why can't I install java 17

dusty sphinx
# crisp arch oh sh-

your compiler config should look something like this, notice the single tag xml <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-compiler-plugin</artifactId> <version>3.8.1</version> <configuration> <release>16</release> </configuration> </plugin>

sullen marlin
#

'buy a Honda'

heavy perch
buoyant viper
sullen marlin
#

It's not helpful in the same way

dusty sphinx
thick gust
#

I only find Java 1.8

#

On offical javala wabsait

young knoll
#

What about a Hy-un-dai

coral sage
buoyant viper
#

those shits will only die long after ur gone

dusty sphinx
lethal thicket
heavy perch
buoyant viper
thick gust
#

@dusty sphinx I am using jdk 17 for eclipse.

buoyant viper
#

very basic cars tho

dusty sphinx
#

oh good job then

heavy perch
thick gust
#

@dusty sphinx Adopt ur mum

buoyant viper
#

yeah

heavy perch
#

Offtopic though

buoyant viper
#

rarely ever have issues with them lol

#

yeah

heavy perch
#

lets move that talk to general

buoyant viper
#

oh im not a car person

dusty sphinx
#

how the fuck did this turn into car talk

thick gust
#

xDD

buoyant viper
thick gust
#

@dusty sphinx Now what if i have jdk 17

dusty sphinx
crisp arch
thick gust
#

@dusty sphinx There is no Java 17 available in eclipse when i create new java project and on official javala wabseit i just have 1.8 option to download

dusty sphinx
dusty sphinx
thick gust
#

I already had jdk 17 when I had the problem like 20 minutes ago

#

I dont need a plugin shaddup xD

young knoll
#

Unless there has been a new beta for eclipse recently

#

Eclipse does not support java 17 yet

thick gust
#

@dusty sphinx fuck u then 😄

crisp arch
#

wait no something broke again

#

why is it saying ant

Executing pre-compile tasks...
Loading Ant configuration...
Running Ant tasks...
Executing post-compile tasks...
Loading Ant configuration...
Running Ant tasks...
#

im so confused

magic dome
#

Yo I know you guys are like deep in a discusstion but anyone know the event that triggers when a projectiles vector is changed by an explosion????

crisp arch
#

yes

dusty sphinx
#

did you hit this button

jade lodge
#

anyone help me??

crisp arch
#

here let me show you

thick gust
#

sadge

dusty sphinx
#

this doesnt run your maven build by default it compiles the project with whatever intellij does

crisp arch
thick gust
#

lol regulad blocked me hahahahah xD

dusty sphinx
#

good you made a maven run configuration

waxen plinth
dusty sphinx
#

now hit the run or debug commands next to it to use it

spare marsh
#

Calculating if a block is inside a certain region for every region created, Is that thread safe? Should I run it Async? It’s just checking the comparing blocks x y and z then comparing for every block in the region

crisp arch
dusty sphinx
#

its not great with bare spigot

#

its not much better with paper but eh

crisp arch
#

yea, i should make my own template

dusty sphinx
#

i did months ago

crisp arch
#

anyways, i click build and it just says

Executing pre-compile tasks...
Loading Ant configuration...
Running Ant tasks...
Executing post-compile tasks...
Loading Ant configuration...
Running Ant tasks...

and then it ends

dusty sphinx
#

which button are you pressing

#

you need to hit the play button not the hammer

crisp arch
#

oh sh-

#

the brain isnt working today

pastel stag
#

if theres anyone here that's familiar w/ pulling a large set of data from an sql server on ChunkLoadEvent into memory and then using that data then flushing it to the SQL server on ChunkUnloadEvent or onDisable can that person provide me with some guidance on how i would have to adapt my plugin to do this instead of just always pulling that data from the database only when its needed

heavy perch
pastel stag
#

i just dont know what the methods i need to use to call stuff into memory are, or how to differently handle that data than just pulling it from the database live

heavy perch
#

Depends

#

r u talking about pulling data from SQL?

pastel stag
heavy perch
#

GitLab I like

pastel stag
#

but for slower databases or ones not local it can cause issues because of the slower response time, i feel like storing the data with a chunk identifier and on chunk load pulling all the relevant sql data for that chunk and working with it in memory then flushing it back on chunk unload may be better

heavy perch
#

Every request you make, even if its prepared statement, you really should use Async

pastel stag
#

i was told async doesnt work with preparedstatements

heavy perch
#

Running SQL requests on main thread could take unreasonable amount of memory

#

It does depends on the case

buoyant viper
#

gitlab

#

kinda wanna switch to that

young knoll
#

Not sure memory is the issue

heavy perch
#

mostly memory for me

#

I run a lot of things on main thread

young knoll
#

It’s gonna take the same memory either way

heavy perch
#

shouldn't be data that asks for more memory on the way

young knoll
#

The problem is that it’s a blocking operation

pastel stag
#

there are certain cases where i cant and ofc by chance they happen to be the more intensive ones, like creeper explosion sql database has to query 20+ block coordinates all at once, on a local database no problem but i have some users that use remote hosted databases and their whole server freezes for a sec every explosion while the plugin fetches and compares all the data

young knoll
#

Yeah don’t do that

pastel stag
#

but the sql operation HAS to happen BEFORE the creeper explosion happens for obvious reasons

heavy perch
#

yeah

#

don't

young knoll
#

Async get and cache

heavy perch
#

yep

#

either that or make a runnable delay that will input that into async.

#

Like

buoyant viper
#

just turn off entity explosion block damage 😎

heavy perch
#

Pro

pastel stag
#

well the creeper explosion block damage is configurable in my plugin based on if the blocks are owned by people

#

@buoyant viper

young knoll
#

Yeah you need that data already in memory

heavy perch
#

yep

young knoll
#

Otherwise you have to hang the server while you fetch it

pastel stag
#

anyways the getting and caching of the data into memory is what i have no clue HOW to do

heavy perch
#

which would lag the sh! out of the server

buoyant viper
#

was jus jokin

pastel stag
#

im aware thats the solution thats why im asking if anyone can provide me with some docs as to how to utilize it 🙂

heavy perch
#
  1. save it up into memory by containers.
  2. use YML which should never be used in this world at all.
  3. just pull that data on entity prime.
primal kite
#

coming in late an seeing something about sql and slowness. is it slow to write to your sql server which is causing "lag"

sullen marlin
#

youre making a region plugin?

#

just store it all in ram all the time

#

it is not much data

pastel stag
#

its a per-block protection plugin

heavy perch
#

I recommend depending on WorldEdit to work with cubids

sullen marlin
#

does it really have to be per individual block

young knoll
#

Are SQL writes blocking too? I assume yes

sullen marlin
#

people arent gonna want to claim each block individually

#

cuboid regions are much more normal

pastel stag
#

yeah... this is a replacement plugin designed to mimic the exact behavior of a deprecated one

pastel stag
heavy perch
#

as md said

#

store it on memory

#

and use regions too

primal kite
#

Slow sql = right to local server file. Runnable updates SQL from FILE instead of blocking

pastel stag
#

storing it in memory is exactly what i want to do, i was just asking if anyone had the relevant documentation on how to do that and then how to handle that data as im sure its probably slightly different than handling it directly w/ the database

heavy perch
#

Create modules

#

Worst case scenario ask for help

spare marsh
#

Calculating if a block is inside a certain region for every region created, I’d that thread safe? Should I run it Async? It’s just checking the comparing blocks x y and z then comparing for every block in the region

heavy perch
spare marsh
#

It’s getting the blocks x y z

heavy perch
#

Think that region stores that location already inside a list for example

pastel stag
# heavy perch Create modules

at the moment the only people who are actually having issues w/ the current way the operations happen are ones that are using sql databases that are not hosted on the same machine or local network as the server runs on but id like to implement something specifically for those use-cases just incase

young knoll
#

You probably don’t want to do that async

heavy perch
#

it just streams over it

young knoll
#

Because then you need to wait for the result

spare marsh
#

The Region doesn’t save the blocks

sullen marlin
#

even the naive: for (region r : allRegions) inRegion(block, region) is plenty fast

young knoll
#

And generally you don’t want to wait when doing block protection

spare marsh
#

It just saves the corners

sullen marlin
#

you only gotta compare 2 corners

spare marsh
#

Yes but I use the other 2 to check if 2 regions will overlap

primal kite
spare marsh
#

If any of the 4 corner block is inside a region the it is overlapping

spare marsh
sullen marlin
#

you only need two corners

#

the min(x,y,z) corner and the max(x,y,z) corner

heavy perch
#

Tru

pastel stag
#

@heavy perch sql is more than fast enough on its own to do what im doing on a playerbase up to like 20 or so players simultaneously w/o any noticeable performance loss but after that it DOES become an issue thats the only reason i'm wanting to figure this out now

heavy perch
#

Just do what MD says

spare marsh
heavy perch
#

but simply id use streams to check

sullen marlin
young knoll
#

Dog

quaint mantle
#

dog

spare marsh
#

Lol Haha nice Dog

#

Thank you

primal kite
#

no, the image is actually reversed. it is goD

spare marsh
#

Lmao

spare marsh
sullen marlin
#

2 corners per region

spare marsh
#

Ohh I get you now yeah my bad haha thank you I appreciate it.

quaint mantle
#

Anyone know the maven dependency to make a 1.3.1 plugin?

#

Experimenting with very early versions of mc

remote gazelle
#

quick question
what happens if i don't unrgister event listener instance?
does it auto unregister it?
when garbage collected?

primal kite
#

why would you unregister? do you only want to listen for it during certain times on your server?

young knoll
remote gazelle
#

nvm solved by other way

young knoll
#

Then just do it?

remote gazelle
#

but nvm i just came up with idea that doesn't need to unregister

young knoll
#

As long as you unregister it it should be eligible for GC

heavy perch
#

Unregistering an event usually doesn't matter but only if you need the event to work at certain times

primal kite
#

if (eventlistener.isActive()) {do something} else {don't do it}

young knoll
#

Yeah you can do that too

#

It’s not going to be a huge performance difference

primal kite
#

unless the event is onServerTick() or something like that

stone sinew
sullen marlin
#

its unregistered when your plugin is disabled

primal kite
#

ouch, you can only unregister the entire plugin?

young knoll
#

No

stone sinew
quaint mantle
#

Still trying to find the maven dependency for 1.3.1 👀 god old stuff is hard to find

young knoll
#

There are a few unregister methods

quaint mantle
#

api*

young knoll
#

I think that still exists?

#

I’m actually not sure

quaint mantle
heavy perch
#

GL

quaint mantle
#

yea

#

lol

heavy perch
#

I think they closed therr repos?

#

I am not sure lol

sullen marlin
#

if you have the server jar just use that

quaint mantle
#

Oh ok

#

yea

sullen marlin
#

if you dont have the server jar, then why do you need 1.3

quaint mantle
#

why didnt i think of that

young knoll
quaint mantle
#

lol

quaint mantle
heavy perch
#

bukkit in general is dead

remote gazelle
stone sinew
young knoll
#

Alright here’s a question that’s hard to word

#

Does something like the guava cache exist where the timeout can be different for each entry

primal kite
#

quava cache? are you talking a different garbage collection for different memory sections?

quaint mantle
#

I have somehow made a 1.3.1 plugin work

young knoll
#

Guava cache is a map implementation that support automatic expiry of entries

quaint mantle
#

Time to write an entire core for 1.3.1

young knoll
#

Among other things

quaint mantle
#

:)

primal kite
young knoll
#

Pretty much

primal kite
#

never heard of it in MC but can be implemented via event listeners for the "entry" being created and a runnable to check the hashMap to .remove().

waxen plinth
#

I mean you don't really need that

#

It's very easy to wrap a HashMap<K, Box<V>> where the box has an expiration date

#

When attempting to get from the map, you see if the box has expired

young knoll
#

Doesn’t solve my problem, because it stays in the map

waxen plinth
#

The only downside is that they will hang around in memory until someone attempts to retrieve them

#

Yeah I guess

young knoll
#

Yeah that’s the issue

#

It’s for a cooldown and I don’t want entries to just sit there

waxen plinth
#

Oh

#

I've done that before

#

Just schedule it to be removed when you insert it

#

And use remove(K, V), not remove(K)

#

That way it will only remove if the value has not changed

#

I guess with cooldowns that wouldn't be an issue anyways, since you can't use an ability while it's on cooldown

young knoll
#

Define schedule

#

Just a runTaskLater?

waxen plinth
#

Yeah basically

#

Either that or you make your own "garbage collection" for the cache, with the box approach

#

Where you periodically check all the values to see if they have expired

young knoll
#

Yeah that would probably be better

waxen plinth
#

It really shouldn't be a problem unless you have thousands of players on one server, which I really doubt you would

young knoll
#

Scheduling a bunch of delayed tasks doesn’t seem ideal

#

Not just players technically, any entity

waxen plinth
#

Hm

young knoll
#

Realistically it will mostly be players though

waxen plinth
#

Well why is the delayed task an issue

#

It's really not that expensive

sullen marlin
#

Iterate and delete all expired every now and again

young knoll
#

Yeah I’ll do that

#

I can probably run that async as well

waxen plinth
#

Alternatively just remove on PlayerQuitEvent, EntityDeathEvent, and ChunkUnloadEvent (all entities in the chunk should be removed)

#

Should be good enough™️

young knoll
#

True, but the chunk may get reloaded

waxen plinth
#

Are the cooldowns ever more than like 30 seconds?

#

I mean, honestly what's stopping you from using PDC here

young knoll
#

True

young knoll
waxen plinth
#

Hm

#

I mean we can wring our hands about it all day but I really don't think it's going to make a difference how you choose to implement it

young knoll
#

Yeah, it’s very niche anyway

#

Non-fixed length cooldowns

#

For anything fixed length I’ll still using the cache

quaint mantle
#

hi hotties, idk what im doing wrong

#

trying to update my core plugin to 1.18, but im getting all errors

#

as in evreything bukkit errors lol

sullen marlin
#

Did you read the release thread

quaint mantle
#

i dont use BuildTools*

sullen marlin
#

So you saw you can't depend on the server jar

quaint mantle
#

oh what

#

i only scanned it

pastel stag
#

so you didn't read it

#

🤔

quaint mantle
#

💀

young knoll
#

I don’t use buildtools

#

Ohboy

quaint mantle
#

ok thanks i see what i need now bye

pastel stag
#
The main spigot-1.18.jar is now a bootstrap jar which contains all libraries. You cannot directly depend on this jar. You should depend on Spigot/Spigot-API/target/spigot-api-1.18-R0.1-SNAPSHOT-shaded.jar, or use a dependency manager such as Maven or Gradle to handle this automatically.```
#

@vale ginkgo

robust forge
#

Hi does ProjectileHitEvent get called if arrow hits a block that it doesnt collide with? Grass weeping or twisting vines for example. If not how could I detect it?

waxen plinth
#

Pretty sure it doesn't

#

You would need to check every tick or something

robust forge
#

I already tried that

#

But it doesnt work 100% of the time

#

Only like 30%

#

Because sometimes the arrow travels too fast

#

So it skips the block

quaint mantle
#

then try 0.5 tick

waxen plinth
#

Then you would have to interpolate its motion between the ticks

waxen plinth
quaint mantle
#

🙂

robust forge
split panther
mighty sparrow
#

Hello, I'm making my first plugin...

Color text work but I'm getting those weird characters, why ?

Screenshot:
https://media.discordapp.net/attachments/840393258554490902/920925403110072370/unknown.png

Code:

public class Events implements Listener {
    final String SOUHAIT = "Amuses-toi bien sur §c§l§o§uQueebies World !";
    Player player;
    
    @EventHandler
    public void onPlayerJoin(PlayerJoinEvent e){
        player = e.getPlayer();
        player.sendMessage(Bienvenue(player.getName()));
        player.sendMessage(SOUHAIT);
    }
    String Bienvenue(String name){
        return "§l§oBienvenue §o§2" + name + " §f!";
    }
}
mighty sparrow
#

its gonna make the code long afff only for a little string. Is there another way

robust forge
#

For example player#sendMessage(ChatColor.RED + ”This is a test”);

mighty sparrow
#

There is no other ways?

stone sinew
# mighty sparrow There is no other ways?
// player.sendMessage(colorize("&6Your name is &e"+player.getName()));

public String colorize(String s) { // Does not use hex colors.
    return ChatColor.translateAlternateColorCodes('&', s);
}
mighty sparrow
#

gonna create a class tool.java and use this

#

thanks @stone sinew

#

very appreciated

stone sinew
#

👍

primal kite
#

ok, this is about the 4 time in the last week and a half that i have done this. if anyone needs help testing a plugin with an actual player online let me know via a PM/DM/{what ever discord wants to call it}

#

@eternal night I see you too

eternal night
#

xD

#

surprised people don't just have an alt

#

or somthing

primal kite
#

some people don't. i have many so i am not worried about it

chrome beacon
#

You could also just use offline mode for testing

primal kite
#

you could but i am not going to subject somebody to that without knowing ALL of the issues behind that.

chrome beacon
#

Not really an issue on a local server

eternal night
#

still waiting for a mojang mapped client project that you can just run

#

or finding it xD maybe it exists

chrome beacon
#

Vanilla gradle I think it's called

#

Smth like that

eternal night
#

the sponge project ?

chrome beacon
#

Otherwise just run forge or fabric with empty mods

eternal night
#

oh shit

#

yea

#

the disadvantage of running around in the server all day xD

#

no clue about clients

tidal hollow
#

How can I make a blaze immune to projectile damage?

somber hull
#

How do i set the drops for a block?

#
        List<ItemStack> drops = (List<ItemStack>) block.getDrops();
        
        for (ItemStack i : drops) {
            drops.remove(i);
            plr.sendMessage(i.getType().name());
        }
        drops.add(new SpawnerFactory(plugin, spawner.getSpawnedType()).createSpawner());
#

i have this rn

chrome beacon
somber hull
#

and the block drops are set to drop a spawner

somber hull
#

List<ItemStack> drops = (List<ItemStack>) block.getDrops();

#

i then modify that list

#

Ok, so i think it does create a copy.

#

How do i set the drops??

young knoll
#

Use the blockdropitemevent

#

You can remove the old drops and then spawn your new drops

#

Or just change the type of the old drops

quaint mantle
somber hull
tardy delta
#

event.getBlock()

#

or getBreakedBlock() idk

somber hull
#

Oh sick

#

thanks

#

that helps a lot

somber hull
#

Also the drops are item entitys, how do you convert a item into a item entity?

young knoll
#

You cannot add to it

somber hull
#

oof, well then the blockbreakevent worked fine

#

cause spawners dont drop items anyway

#

the issue was that it might not work with telepathy enchants

#

so i was trying to set the drops of a block

echo saddle
#

is spigot patched for the latest CVE?

eternal night
#

?exploit

#

aw

#

md used a fun command

quaint mantle
#

?log4j

undone axleBOT
eternal night
#

ah yes xD

#

thanks

echo saddle
#

more specifically, is it 2.16.0?

quaint mantle
smoky oak
#

there is a new log4j vulnerability

quaint mantle
#

read the last post down the thread

smoky oak
#

just rerun buildtools i guess

robust forge
smoky finch
#

How do I keep an item frame from falling when it's not attached to a block?

crimson terrace
#

could cancel it

#

not sure on it tho

smoky finch
#

You can't cancel EntityDeathEvent

torn shuttle
#

68 lines, 58 sonarlint warnings. This is what we call programming in style

quaint mantle
#

Hello
Why when i try to spawn a bunch of items with nms, they get despawned ?

crimson terrace
feral wing
#

hi guys, i'm trying to code something to be able to click on a player but with distance.. so my idea was to right click in the air with a interact event and shoot a projectile, but i need to make the projectile invisible and that seems impossible, do you guys have any idea how to do that ?

smoky finch
buoyant viper
#

i just dont know where it is

feral wing
#

oh ok

#

i will check that thank you

quaint mantle
#

i know how to change tablist header and footer with nms
but how to change the player order in tablist ?

drowsy helm
#

it goes by the game profile name

tacit drift
#

see RayTrace Class

torn shuttle
#

does anyone have a really good sqlite guide, I can generally have sqlite functional but I don't like my implementation and feel like there has to be an easier way

tacit drift
#

but, MySQL would be easier

torn shuttle
#

I'm happy with sqlite for now

#

hm this is already fairly similar to how I currently do it

tacit drift
#

if it aint broke dont fix it

torn shuttle
#

it ain't broke but it is also a pain to extend functionality for

torn shuttle
#

man

#

adding columns is actually not very fun huh

#

looks like sqlite doesn't natively have a way to add a column if one doesn't exist so you just shotgun tables into it and handle errors when it turns out they existed

#

a bit dumb

#

seemingly the only way to really do it almost 100% natively would be to version the table itself and then add based on the version which is also not amazing

smoky oak
#

can't you attempt to access a table to see if it exists, before 'shotgunning' a new one into it?

#

*column

torn shuttle
#

not directly with a statement, it requires a workaround

smoky oak
#

try{access} catch(...){interject}, wouldnt that work?

torn shuttle
#

the issue is you can't do it using sql statements even though IF NOT EXISTS exists for checking if a table exists

#

which is just annoying

#

I need to start generating the tables modularly because the more things I track the more torturous the code gets

smoky oak
#

can't claim i know how to do stuff modularly

#

most of the things i do can be hardcoded

torn shuttle
#

stuff I do can be hardcoded... today

tacit drift
#

MySQL

torn shuttle
#

I'm not going to switch to mysql just because you put the letters in bold

#

not to mention mysql afaik has exactly the same issue

smoky oak
#

I found that luckily for my purposes i can use player PDC

torn shuttle
#

sqlite is useful, but I find the statements to not be very fun to work with and it is not easily extensible once you already have data going

#

well, by default anyway

#

I'm sure you can construct something around it to make it easier to deal with

smoky oak
#

to be fair it will be a nightmare to get the data from the PDC in a readable format

#

choose depending on situation i guess

torn shuttle
#

sqlite is easy enough to explore with the right software

#

also has the advantage of being very easy to backup

#

and restore

#

and move

tardy delta
#

i'd just use pdc for small data

smoky oak
#

i dont

tardy delta
#

what are you saving?

smoky oak
#

eh well

#

i have an item based magic system in the works

#

im storing the number of items (as int) each player has used

tardy delta
#

in the player?

smoky oak
#

ye

#

i was told pdc is fairly stable even over versions

tardy delta
#

mwoa yea

#

thats not bad

smoky oak
#

and then like twenty or so extra variables

#

like effect time for long lasting effects

#

since this isnt something admins need to see it's not too big an issue either

#

it can be checked per player, which is enough

tardy delta
#

minecraft effects?

smoky oak
#

no

#

custom ones

#

thats why i need to store effect time

tardy delta
#

ah that would be really simple otherwise

#

is there no way to make a custom effect by extending the effect class or something?

smoky oak
#

oh I haven't tried that

#

might be worth looking into

tardy delta
#

probably you might be using nms

#

goes brr

smoky oak
#

lets not remap my spigot api

quaint mantle
#

Exists a event

smoky oak
#

yes

#

gotta be more specific than that

quaint mantle
#

Is there an event when a cactus is broken by a block?

frosty tinsel
smoky oak
#

its probably block break, physics update, or block place

frosty tinsel
#

Or something similar

smoky oak
mortal hare
#

quick question

#

does InventoryClickEvent .getCursor() returns cursor after inventory handling (e.g picking up the same type to cursor) or before the calculations?

tall dragon
#

when an event is Cancellable its pretty much always before

mortal hare
#

well i have no choice than to cancel the event

#

which sucks

tall dragon
#

what are you trying to achieve

mortal hare
#

since i don't need to resend the inventory packet

#

im trying to recalculate pickup all cursor with some exceptions

#

basically im simulating pickup cursor action, but i don't pickup all the items which are in specific array (GUI)

opal gazelle
#

Hi, could someone tell me if it's possible to get the current join and quit message outside of the quit and join event?

oblique lantern
#

hey, im trying to add some aliases for some commands, and i would like someone to answer this question
can i make an alias for commands with arguments? like, if i have a command that is /command one and another one that is /command two and i want those aliases to be something like /1 and /2

#

is that possible to do? with the options available on the commands.yml file

tall dragon
zealous osprey
#

Is there a way to check if an item has been destroyed with an even ?
I've tried #EntityDamageEvent and #EntityDeathEvent
both dont seem to work

So like throughing an item into fire or so would trigger it ?

tall dragon
#

ItemDespawnEvent maybe?

oblique lantern
#

way*

tall dragon
zealous osprey
tall dragon
zealous osprey
#

It was an example, I'd rather have it be called whenever an item is destoryed

#

But I might need to use multiple events to get that result

tall dragon
#

idk what u have tried but EntityDeathEvent should work for that

zealous osprey
#

Oh might not have worked cause I have an error in my code preventing the plugin even being loaded, well damn

tall dragon
#

:D

zealous osprey
#

EntityDamage works, EntityDeathEvent aparently not, damn

tall dragon
#

EntityDeath only works for living entities then

zealous osprey
#

makes sense since the only enity it returns is a living instance

tall dragon
#

then ur gonna have to use multiple events to get the desired outcome

zealous osprey
#

think so aswell

quaint mantle
#

Is it possible to disable block collisions for a specific entity? (I'd also extend some nms Entity if needed)

mortal hare
#

it should be possible, but not for player connection driven player entity via Pathgoals but im not sure how to utilise those to achieve what you need

#

i'd rather use packet entity, since those do not tick, and could clip through the walls just fine.

quaint mantle
#

I want some hostile ArmorStands to be able to go through walls and control their movement via setVelocity

eternal night
#

Entities have a noClip or noPhysics option

#

Well their NMS internal representation does

quaint mantle
tardy flame
#

How to change NMS to work with java 8?

#

^^ 1.18

quaint mantle
#

NMS Code works just fine if your plugin is compiled by Java 8 🤔

tardy flame
tardy flame
# quaint mantle What do you mean by that?
cannot access net.minecraft.world.damagesource.DamageSource
  bad class file: C:\Users\opkar\.m2\repository\org\spigotmc\spigot\1.18-R0.1-SNAPSHOT\spigot-1.18-R0.1-SNAPSHOT-remapped-mojang.jar(net/minecraft/world/damagesource/DamageSource.class)
    class file has wrong version 60.0, should be 52.0
    Please remove or make sure it appears in the correct subdirectory of the classpath.
[INFO] 1 error
[INFO] -------------------------------------------------------------
eternal oxide
#

1.18 requires java 17

tardy flame
#

So you can't compile it with java 8?

eternal oxide
#

it will not run on a lower java version

tall dragon
#

if you really want. u can just compile the 1.18 server on java 8

#

and it will work :D

quaint mantle
tardy flame
chrome beacon
#

You can't with NMS

#

Compile it with Java 17

quaint mantle
west pecan
#

just install a newer java 5head, java 8 is hold af and slower

tall dragon
#

^

tardy flame
#

Something like this?

#
    <properties>
        <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
        <java.version>17</java.version>
    </properties>

    <build>
        <plugins>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-compiler-plugin</artifactId>
                <version>3.8.1</version>
                <configuration>
                    <target>1.8</target>
                    <source>1.8</source>
                </configuration>
            </plugin>
...
#

in pom.xml

tall dragon
#

uhh, no

#

you just need to install a never java

#

your plugin can still compile on java 8

#

if you want

tardy flame
#

I have java 16 and 17 downloaded

tall dragon
#

open cmd, type java -version

#

what does it output

tardy flame
#

Java version: 1.8.0_312, vendor: Amazon.com Inc., runtime: C:\Users\opkar.jdks\corretto-1.8.0_312\jre

tall dragon
#

ye

tardy flame
#

Bc I use it it project

quaint mantle
# tardy flame Plugin

If you're using IntelliJ with maven, go inside your pom.xml and edit source and target

<source>8</source>
<target>8</target>

After this, go inside your Project Structure menu, go to Project and set Project Language Level to 8 (Also select a Java 17 JDK, otherwise you still won't be able to compile)

After that you should be fine

tall dragon
#

if you want to run a 1.18 server im pretty sure you're going to set your environment variable path to the correct java version

quaint mantle
west pecan
#

you can just launch the server with the path to java 17 dont need to change env vars

tall dragon
#

yea or that

tardy flame
#

I made it before the other way round that I set jdk to 8 and java version 17 ._.

#

But thanks anyways 😛

#

💋

fierce quail
#

I have an Entity and i want it to always look at the player. The problem is, i want it to be individual for every player, so the player sees the entity facing himself. Is there any easy way and if so or not, how can i do that without using libraries?

zealous osprey
zealous osprey
#

I think you'll need Protocollib to send the rotation info of the head individually to each player

lunar schooner
#

Step 1 out of i dont know how many in writing a Rust wrapper for all Bukkit APIs, I have automatically generated a JSON structure for a jarfile containing all methods and such 😂

grim ice
#

do you all think a auction house plugin would be hard

tall dragon
#

shoulnt be too difficult

fervent panther
#

Is it possible to have one player see blocks but gave them not be there for another player

tall dragon
#

yes

#

with packets

fervent panther
#

How?

tall dragon
#

that is a question for someone else haha

#

maybe @ivory sleet can be of assistance

tall dragon
lunar schooner
#

Halfway there luckily :"D

#

Now it's time to build a Rust program that takes this JSON, and emits JNI wrappers

young knoll
#

You don’t need packets

#

Player#sendBlockChange

grim ice
#

How do you guys think i can make an auction house plugin

#

like basic ideas,,etc

#

to store the items andstuff

young knoll
#

You probably want a database

grim ice
#

do i use sql or smth

tall dragon
#

you could

#

could also use redis

young knoll
#

SQLite is a good option

tall dragon
#

whats the benefit of using SQlite over normal storage

young knoll
#

Databases are designed for this

#

Flat file not so much

snow compass
#

is it some reason to use §x§5§5§F§7§5§5 ? instead something some are both human readable and easy to type?

young knoll
#

That’s the default spigot format

#

But you can always implement your own

#

Or use adventure or whatever

snow compass
#

I know it is spigot default 🙂 but the question are way?

I modify the method to accept other hex format (no issue), I mean Spigot self not use it when parse the hex (use mincraft format/standard hex format).

#

Is only used when it go thru the char´s in the for loop and never use §

chrome beacon
#

That symbole was chosen a long time ago

crisp arch
#

Failure to find org.spigotmc:minecraft-server:txt:maps-mojang:1.18-R0.1-SNAPSHOT in https://hub.spigotmc.org/nexus/content/repositories/snapshots/ was cached in the local repository, resolution will not be reattempted until the update interval of spigotmc-repo has elapsed or updates are forced

Im building with md_5's mojang -> spigot remapper but i get this error

young knoll
#

Minecraft does indeed use the selection sign symbol

#

Not so much anymore though

snow compass
snow compass
#

He could do like §xhex

snow compass
karmic mural
#

Could someone help me understand what this error means? I thought I understood but it seems I was wrong...

 in 'string', line 41, column 6:
      Use: true```

The weirdest bit here is that it's pointing me to a piece of code that I haven't changed in ages. (not included in what I sent here, I just thought I should mention that)
snow compass
# chrome beacon It does?

this is orginal method, it jump over the § and only use the numbers so it parse #55F755

            if (c == 'x' && i + 12 < message.length()) {
                    StringBuilder hex = new StringBuilder("#");
                    for (int j = 0; j < 6; j++) {
                        System.out.println("hextest " + message.charAt(i * (j)));
                        hex.append(message.charAt(i + 2 + (j * 2)));
                    }
                    try {
                        format = ChatColor.of(hex.toString());
                    } catch (IllegalArgumentException ex) {
                        format = null;
                    }

                    i += 12;
young knoll
#

Run your yml through an online parser

#

Yes ChatColor.of is designed to parse #rrggbb

#

That’s what it’s for

snow compass
# young knoll That’s what it’s for

yes but I mean the method self 🙂 You don´t need make it so complicated. I can easy remade it s you only need type §x55F755. thats way I ask way made it like it done here?

chrome beacon
crisp arch
#

yes

crisp arch
lunar schooner
#

Kind of curious, why does Bukkit rely on Eclipse Aether, an already archived project, not updated in a while?

coarse moon
#

hey everyone, I'm trying to create my first big plugin and I want to allow some bungee cord features (like staffchat, sending to servers, /hub, /report, etc.). do I need to create an entirely separate bungeecord plugin or is there a way I have this functionality with a spigot plugin? i've never used bungeecord

chrome beacon
#

You need a Bungeecord plugin for most stuff. Basic things can be done without

#

Read this ^

crisp arch
#

i used spigot remapped mojang, now how do i remap it back?

chrome beacon
coarse moon
#

do you know when i would register a bungeecord command over a spigot command? like what's the difference?

chrome beacon
#

Register where you need it

#

Should it be on the server or on the proxy

#

It's up to you

crisp arch
#

md_5 says i need to remap

coarse moon
grim ice
#

Anyone has an idea of what database should I use to store my Player auctions? im making a plugin

crisp arch
#

or if you dont want to host an sql server, SQLite3 works

grim ice
#

ok thanks ill do that

crisp arch
olive lance
#

Is there a link anywhere on supplying placeholders with PlaceholderAPI? Their tutorial only shows how to use default ones

chrome beacon
#

It's the same for every placeholder

olive lance
#

Im trying to make my own not use the vault_rank and player_name default ones

#

but i think i found something

quaint mantle
#

What could be a reason why Entity#teleport literally does nothing at all?

quaint mantle
quaint mantle
golden turret
#

if i store a player variable somewhere and the player disconnects, if i try to send a message to him, it will simply do nothing, right?

tardy flame
#

Don't store player object

quaint mantle
#

it may throw illegal state exception

olive lance
#

i will reutrn a nullpointerexception

#

mb

#

well not return

#

but ya

#

just stop storing the player when he disconnects

ivory sleet
chilly haven
#

How do i get the player who was hit by a projectile

ivory sleet
#

Which in other words mean that the object is no longer 100% safe to use

#

Storing it may also implement a memory leak

golden turret
#

i think it is saying that nothing will happens

ivory sleet
#

Provided that ::getHandle does not return null

olive lance
#

what exactly do we mean by storing a player variable is it just what it sounds like

ivory sleet
#

I mean like the instance

quaint mantle
#

Keeping a reference on player w field or smth

ivory sleet
#

Yuh, any strong reference basically

olive lance
#

ok so ive been doing that a ton but stopping when disconnected bc when i go to reference players i dont want to parse the uuid of every one wouldnt that hinder performance or no?

ivory sleet
#

Performance as no memory leaks or speed?

olive lance
#

what kind of memory leak would arise i am genuinely not educated

ivory sleet
#

Well a memory leak just means there’s an object which no longer is strongly referenced or generally has no real reason to be used, however it cannot be collected by the garbage collector.

#

I mean you have to work hard to get a memory leak by accident

#

But yeah

#

Also about the parsing

olive lance
#

So if I have no reference to the player after he disconnects

#

Is that ok theN? but continue

ivory sleet
#

Do you mean Player -> UUID or UUID -> Player?

ivory sleet
#

Sounds splendid

waxen plinth
#

Store the uuid

#

It's not expensive to get a player by uuid

olive lance
#

Well it would be back and forth both ways

#

Like in pvp

ivory sleet
#

Yeah just a thread safe HashMap essentially iirc

waxen plinth
#

Stop prematurely optimizing if you don't know the actual computational cost

olive lance
#

would have to check players to then see what team they are in player->uuid then to check teams members

#

idek whereim going with this

ivory sleet
#

Me neither lol

olive lance
#

cool link

ivory sleet
#

But yeah, usually we do the optimizations after fiddling stuff into work

olive lance
#

wowoyoyuhi

ivory sleet
#

At the stage when you see bad performance

olive lance
#

That sounds like a smart way to work

waxen plinth
ivory sleet
#

And then of course there’s this non functional requirement that your software should be fast

waxen plinth
#

But you shouldn't assume without knowing

ivory sleet
#

Which is hard to tackle

#

So make it a functional requirement by setting a requirement on the speed

#

Like, I want this to work fine when the server is at 500 players

olive lance
#

how do you know how fast your plugin is running

waxen plinth
#

You can look at timings

ivory sleet
gritty urchin
#

How to send enderdragon to specific client

tacit drift
#

packets entity?

#

or change the direction of a enderdragon that it takes?

gritty urchin
olive lance
#

how to reindex in intellij?

tacit drift
gritty urchin
#

I don't want to use additional dependency

ivory sleet
#

🌝

tacit drift
#

well, I wouldn't recommend NMS

#

future updates can break the plugin

gritty urchin
#

Yeah its only for one version

tacit drift
#

and pretty much every server uses protocollib

gritty urchin
#

I do not plan on updating

#

I've tried this

#
        final EntityEnderDragon entity = new EntityEnderDragon(world);
        PacketPlayOutSpawnEntityLiving spawn = new PacketPlayOutSpawnEntityLiving(entity);
        ((CraftPlayer)p).getHandle().playerConnection.sendPacket(spawn);```
#

but it doesnt work

olive lance
#

intellij says cannot resolve method about a method i just defined in another project. Ive restarted the IDE already and still spitting this

quaint mantle
#

Oooo 1.12

olive lance
#

nvm

gritty urchin
olive lance
#

i didnt rebuild

golden turret
#

literally another project?

olive lance
#

yea i got it i didnt rebuild it

golden turret
#

if yes and you are using maven/gradle to use that, update it on the maven

olive lance
#

oh yea im a nub and dont use those

golden turret
#

congratulations

olive lance
#

im not saying that to be that guy

quaint mantle
#

Four words:
Use proper build tool

olive lance
#

i actually just donrt know how to lmao

tacit drift
#

what events do i need to listen to in order to protect an armorstand completly?

olive lance
#

armostandChangeEvent

#

something like that i know for sure

tacit drift
#

atm i only listen to EntityDamageByEntityEvent and EntityDamageEvent

olive lance
#

PlayerArmorStandManipulateEvent

quaint mantle
trail lintel
#

Hey guys, glad to have found this discord. I'm just getting started and trying to add a custom item. I am adding it like so.

enderBagItem = new ItemStack(Material.ENDER_EYE, 1);
ItemMeta meta = enderBagItem.getItemMeta();

But this seems to be inheriting the actual behavior of the ender eye as well as the appearance of it. How do I tell it just to use the sprite of the ender eye, but remove any right click events for it?

tacit drift
chilly haven
#

Hi am trying to make a poison bow so i am using the entitybowshoot event and then get lore of the bow if it is Poison I. But idk how to get the player that is shot and then give that player poison

tacit drift
#

oh wtf

#

there is

#

first when i've looked for something like that i didn't find it 🤣

quaint mantle
#

There is

olive lance
#

How do you take off ul,bold,italic etc without removing the actual color? Or is there maybe some kind of previous color?

merry briar
#

Hey, I want copy blocks from other location to a other location, but how?

quaint mantle
quaint mantle
#

or use adventure smg

olive lance
#

Can you link? i cant find that

quaint mantle
#

Well, you'll need to setup a build tool first

olive lance
#

got it thanks

mighty sparrow
#

Im coding Bukkit in kotlin

#

and it says that broadcast message is deprecated

#

what does that mean

quaint mantle
#
  1. You are on paper
  2. The deprecation note literally says you what to use instead
#

Wasnt meant thst paper is bad

mighty sparrow
#

idk what deprecated means

buoyant viper
#

it means its an old way of doing something and is (usually) planned for removal @mighty sparrow

mighty sparrow
#

ooooh thanks!

#

my english is not my first language its a new word for me owo

buoyant viper
#

yeah paper is phasing out a lot of bukkits api for text-related things in favor of their own with kyoris adventure lib

quaint mantle
#

Google translator is your friend

#

spigot should do it aswell

ivory sleet
#

and paper will probably mark their deprecations to for removal as soon as the hard fork happens.

#

if not already done that is

ivory sleet
#

Idk how you get your locations but yeah thats 'bout it

merry briar
buoyant viper
mighty sparrow
#

is there a paper documentation

#

like bukkit

ivory sleet
buoyant viper
#

what if we just beg md to update bukkit api

#

😎

ivory sleet
#

alternatively ye

quaint mantle
ivory sleet
#

yeah, gonna get hangar up running first 😛

buoyant viper
#

isnt that for sponge?

ivory sleet
#

is it?

buoyant viper
#

or is it paper+sponge

quaint mantle
#

Paper+Sponge

ivory sleet
#

ya

sacred mountain
#
16.12 19:45:35 [Server] Startup18:45:35.590 [luckperms-hikari housekeeper] DEBUG me.lucko.luckperms.lib.hikari.pool.HikariPool - luckperms-hikari - Pool stats (total=10, active=0, idle=10, waiting=0)
16.12 19:45:35 [Server] Startup18:45:35.590 [luckperms-hikari housekeeper] DEBUG me.lucko.luckperms.lib.hikari.pool.HikariPool - luckperms-hikari - Fill pool skipped, pool is at sufficient level.
16.12 19:45:47 [Server] Startup18:45:47.400 [AL-MySQL-Pool housekeeper] DEBUG com.zaxxer.hikari.pool.HikariPool - AL-MySQL-Pool - Pool stats (total=40, active=0, idle=40, waiting=0)
16.12 19:46:05 [Server] Startup18:46:05.590 [luckperms-hikari housekeeper] DEBUG me.lucko.luckperms.lib.hikari.pool.HikariPool - luckperms-hikari - Pool stats (total=10, active=0, idle=10, waiting=0)
16.12 19:46:05 [Server] Startup18:46:05.591 [luckperms-hikari housekeeper] DEBUG me.lucko.luckperms.lib.hikari.pool.HikariPool - luckperms-hikari - Fill pool skipped, pool is at sufficient level.
16.12 19:46:17 [Server] Startup18:46:17.400 [AL-MySQL-Pool housekeeper] DEBUG com.zaxxer.hikari.pool.HikariPool - AL-MySQL-Pool - Pool stats (total=40, active=0, idle=40, waiting=0)
16.12 19:46:35 [Server] Startup18:46:35.591 [luckperms-hikari housekeeper] DEBUG me.lucko.luckperms.lib.hikari.pool.HikariPool - luckperms-hikari - Pool stats (total=10, active=0, idle=10, waiting=0)
16.12 19:46:35 [Server] Startup18:46:35.591 [luckperms-hikari housekeeper] DEBUG me.lucko.luckperms.lib.hikari.pool.HikariPool - luckperms-hikari - Fill pool skipped, pool is at sufficient level.
16.12 19:46:47 [Server] Startup18:46:47.401 [AL-MySQL-Pool housekeeper] DEBUG com.zaxxer.hikari.pool.HikariPool - AL-MySQL-Pool - Pool stats (total=40, active=0, idle=40, waiting=0)```

Console is just being spammed with these debug msgs, please help me
buoyant viper
quaint mantle
# ivory sleet is it?

Sponge decided to use Hangar because Ore is written on Scala, and that scares contributors

olive lance
#

How can i be sure my papi extension will load after my plugin?

quaint mantle
#

depend in plugin yml i think

undone axleBOT
sacred mountain
ivory sleet
#

patience young one

buoyant viper
olive lance
#

Ive been following their tutorial on their site and Im not extending javaplugin so will a plugin.yml do anything?

ivory sleet
#

nope

#

if you have a separate jar