#help-development

1 messages · Page 2099 of 1

ivory sleet
#

but idk when it comes to maven

supple elk
#

mye?

ivory sleet
#

= mmmmm, yes

supple elk
#

o lol

#

how would you get mappings then?

#

I followed the guide I posted earlier but it doesn't seem to be working

ivory sleet
#

I mean I use paperweight userdev

#

ask alex perhaps

#

I mean its his blog after all

supple elk
#

Who is alex?

#

r they on discord?

ivory sleet
#

@tender shard (sry for the ping)

supple elk
#

kk

stuck swift
#

did they change the api for 1.18 cause this doesn't seem right and i cant import anything

pulsar zenith
#

I would use maven to import

stuck swift
#

ok

pulsar zenith
#

(you can google using maven in spigot)

#

Its a much better way to do it

#

Not to mention that you can also use other libraries

stuck swift
#

alr

sacred mountain
#

Hey, how do i make my plugin support placeholderapi? Not add placeholders, but just replace the %placeholder% stuff

tardy delta
#

replace it yourself

#

String#replace

sacred mountain
#

with ecloud placeholders

#

with placeholders from other plugins i mean

tardy delta
#

wait wha

#

english is difficult

sacred mountain
#

like some plugins have stuff like 'Support for lpaceholderapi'

#

and allows you to use other plugin's placeholders within their plugin

#

how do i do that

tender shard
#

why did I again get a ping here

tardy delta
#

conclure did iirc

#

about help for nms stuff

#

for someone

tardy delta
tardy delta
ivory sleet
#

well

#

I mean the ItemStack is just a context object

#

is not actually stored itself once put in an inventory

#

as the inventory creates a copy with CraftItemStack iirc

sacred mountain
#

when you use chatcolor translate, what is actually outputted?

#

is it the §

#

instead of the &

tardy delta
#

§

#

yes

#

look at the impl

sacred mountain
#

how would i strip a message of all its color codes?

tardy delta
#

ChatColor#stripCOlor

sacred mountain
#

thats a thing? bruh

#

ok thanks

tardy delta
#

theres a method for that

tender shard
#

yeah, stripColor definitely exists

supple elk
#

Does anyone know what the minecraft mapping for the player info packet is?

supple elk
supple elk
supple elk
#

o thx

#

how can I get the instance of the NPC within the inner class?

#

can do it like this but that seems weird?

lavish hemlock
#

I believe it would be

#

NPC.this

#

hooray for obscure Java syntax

supple elk
#

yup

#

you are correct

#

lmao

#

is it also possible to add a constructor?

lavish hemlock
#

To the AbstractListener?

supple elk
#

yeah

lavish hemlock
#

Probably not since you are already calling the constructor.

supple elk
#

kk

#

I think you can normally get around it anyway

lavish hemlock
#

Also those are called anonymous classes, not inner classes.

sand vector
lavish hemlock
#

Inner classes are just classes within other classes, while anonymous classes are in methods.

supple elk
#

I like anonymous classes a lot

tardy delta
#

i dont think the constructor should handle the showing

#

and stuff

fossil lily
#

This is my first time making a util class; dont hurt me.

How can I access readPlayer in another class and pass in uuid?

public class MongoUtil {
    public String readPlayer(UUID uuid){
        DBObject r = new BasicDBObject("uuid", uuid);
        DBObject found = players.findOne(r);
        if(found==null){
            return null;
        }
        String name = (String) found.get("name");
        return name;
    }
    public void updatePlayer(UUID uuid, String name) {
        DBObject r = new BasicDBObject("uuid", uuid);
        DBObject found = players.findOne(r);
        if (found == null){
            return;
        }
        DBObject obj = new BasicDBObject("uuid", uuid);
        obj.put("name", name);
        players.update(found, obj);
    }
}
tardy delta
#

i would make a method for that

lavish hemlock
#

I personally don't believe inner or anonymous classes should exist, but that's just my opinion.

tardy delta
#

inner classes can have their use

lavish hemlock
#

(One way to rectify this would be to just allow multiple classes in one source file, like every other language)

supple elk
tardy delta
#

no more small utils classes if you only use them at one place :)

#

dunno what that means

fossil lily
tardy delta
#

well i wasnt particulary talking to you

fossil lily
#

oh lol

#

sowwy

tardy delta
#

kek

supple elk
#

code to make a pig launcher

tardy delta
#

initialzing a field spawn it

lavish hemlock
#

I personally think anonymous classes that are any larger than a single method are obnoxious as they take up a considerable amount of space in code.

tardy delta
#

big brain time

lavish hemlock
lavish hemlock
supple elk
tardy delta
supple elk
#

and I find that anonymous classes allow for far more flexibility

lavish hemlock
#

Which is, theoretically, better, since it separates concerns?

supple elk
#

yeah but then u end up making loads of classes for every implementation

tardy delta
#
interface ThrowingSupplier<T> {
  T get() throws Exception();
}```
#

:)

supple elk
#

I dunno I guess actually extending really wouldn't be that bad

lavish hemlock
supple elk
#

especially if you did as an inner class

lavish hemlock
#

If you have to extend like 500 classes.

lavish hemlock
#

Either way, you're still extending 500 classes, it's just you separate their declaration from a method when using proper classes.

supple elk
#

true

lavish hemlock
#

AKA more readable.

#

(Not to mention the "anonymous" part of anonymous classes mean the idea of the implementation isn't portrayed through its name)

slim kernel
#

I tried to get my code from github but now the files look weird did I do smth wrong? Cant build aswell....

tardy delta
#

it needs a build thing forgot the name

#

artefact?

slim kernel
#

did I pull it right tho?

slim kernel
tardy delta
#

dunno how to do it :(

slim kernel
#

anybody else know?

lost matrix
#

"Mark directory as" -> "Sources root"

slim kernel
flat olive
#

are those classes imported

#

@slim kernel

lost matrix
slim kernel
stuck flax
#

how would i return something in an async bukkit runnable
code:

Bukkit.getScheduler().runTaskAsynchronously(JavaPlugin.getPlugin(Main.class), () -> {
                return Integer.toString(Main.SQLManager.getLevelEntryLevel(p));
            });
lost matrix
eternal night
#

if you just need to do computations off the main thread, look at completable futures

lost matrix
sacred mountain
#

du

stuck flax
#

Wait could I do the async part in my SQLManager then return the value without doing it async in that file?

lost matrix
stuck flax
#

ok

mighty pier
#

if i have Players: (UUID): Kills: Deaths: Etc... in a yaml configuration how would i delete players and the data it has?

lost matrix
mighty pier
#

just remove players?

vague swallow
#

Guys please help me, my IntelliJ is doing strange things

lost matrix
slim kernel
sand vector
lost matrix
vague swallow
sand vector
#

How do i check my TLS verison?

lost matrix
tender shard
knotty gale
#

how do you send a message to all players in the same world your in?

vague swallow
#

Bukkit.broadcastmessage()

tender shard
knotty gale
#

so like:

knotty gale
#
for (Player players : Bukkit.getOnlinePlayers())
                        if(player.getWorld() == players.getWorld()){
tender shard
#

sth like that

knotty gale
#

alr

tender shard
#

but

knotty gale
#

do .equals?

tender shard
#

calling the local var "players" is pretty stupid

#

since it's only always one exact player

#

it makes no sense to call it "players"

vague swallow
#

I always call them target

light tendon
#

can you help me make a source code in .jar code

#

?

delicate lynx
#

no

knotty gale
#

the point of the command is to send a message to all players in the world when running a comman

light tendon
#

Ok

knotty gale
#

so I am getting the world of the player and then the OTHER players

vague swallow
light tendon
#

For ?

tender shard
#

I'd use a stream though

#
        Player somePlayer = null;
        Bukkit.getOnlinePlayers().stream()
                .filter(player -> player.getWorld() == somePlayer.getWorld())
                .forEach(player -> player.sendMessage("You are in the same world as " + somePlayer.getName()));

sth like this

light tendon
#

vsc

#

[23:33:45 WARN]: org.bukkit.plugin.InvalidPluginException: org.bukkit.plugin.InvalidDescriptionException: name '${project.artifactId}' contains invalid characters.
[23:33:45 WARN]: at org.bukkit.plugin.java.JavaPluginLoader.loadPlugin(JavaPluginLoader.java:94)
[23:33:45 WARN]: at org.bukkit.plugin.SimplePluginManager.loadPlugin(SimplePluginManager.java:415)
[23:33:45 WARN]: at PlugMan.jar//com.rylinaux.plugman.util.PluginUtil.load(PluginUtil.java:356)
[23:33:45 WARN]: at PlugMan.jar//com.rylinaux.plugman.command.LoadCommand.execute(LoadCommand.java:114)
[23:33:45 WARN]: at PlugMan.jar//com.rylinaux.plugman.PlugManCommandHandler.onCommand(PlugManCommandHandler.java:95)
[23:33:45 WARN]: at org.bukkit.command.PluginCommand.execute(PluginCommand.java:45)
[23:33:45 WARN]: at org.bukkit.command.SimpleCommandMap.dispatch(SimpleCommandMap.java:159)
[23:33:45 WARN]: at org.bukkit.craftbukkit.v1_18_R2.CraftServer.dispatchCommand(CraftServer.java:905)
[23:33:45 WARN]: at net.minecraft.server.network.PlayerConnection.a(PlayerConnection.java:2306)
[23:33:45 WARN]: at net.minecraft.server.network.PlayerConnection.a(PlayerConnection.java:2117)
[23:33:45 WARN]: at net.minecraft.server.network.PlayerConnection.a(PlayerConnection.java:2098)
[23:33:45 WARN]: at net.minecraft.network.protocol.game.PacketPlayInChat.a(PacketPlayInChat.java:46)
[23:33:45 WARN]: at net.minecraft.network.protocol.game.PacketPlayInChat.a(PacketPlayInChat.java:6)
[23:33:45 WARN]: at net.minecraft.network.protocol.PlayerConnectionUtils.lambda$ensureRunningOnSameThread$1(PlayerConnectionUtils.java:51)
[23:33:45 WARN]: at net.minecraft.server.TickTask.run(TickTask.java:18)

vague swallow
#

?paste

undone axleBOT
light tendon
#

I nned transfor dis code source in jar code

vague swallow
light tendon
delicate lynx
#

that's just saying a part of the plugin.yml is invalid

tender shard
#

?paste your pom.xml

undone axleBOT
vague swallow
#

@light tendon

light tendon
#

?

tender shard
#

why are you sending .rar files as DM to me

#

even my status says not to DM me

delicate lynx
#

is this plugin your own? what are you trying to do

tender shard
#

I will block everyone immediately who ignores that and then even continues to send .rar files to me

light tendon
#

I cant put folder here

delicate lynx
#

is it a custom plugin or is the code posted online?

light tendon
delicate lynx
#

so what are you trying to do

light tendon
#

Its source code ,I need transform in .jar code

river oracle
#

its already in a jar file

delicate lynx
#

just download the release lol

river oracle
#

bruh you shouldn't be running a server on any capacity given you don't know how to download stuff

delicate lynx
#

like are you trying to change something and recompile

light tendon
#

But

light tendon
#

You seing me

#

You have added Maven placeholders to plugin.yml, but you have not filtered them properly

#

How fix

#

?

river oracle
#

contact the plugin owner lmao

delicate lynx
#

no help

#

only fix

light tendon
#

I cant fix ?

rotund pond
#

Hello, I have a little java question :x
Does annotations work when I extends a class ?
I mean, imagine I have this class:

public interface TestListener extends Listener {

    @EventHandler
    void onPlayerJoin(PlayerJoinEvent event);

}

Does this work ?

public class CraftTestListener implements TestListener {

    @Override
    public void onPlayerJoin(PlayerJoinEvent event){

    }

}
delicate lynx
#

you have given us literally zero information

light tendon
#

I cant fix ?

river oracle
#

👍

light tendon
rotund pond
river oracle
# light tendon I cant fix?

dude ask the plugin owner how is this a spigot issue and not a plugin issue? Its with a maven placeholder thats in the plugin? Plus it literally has his github open an issue if its not working

vocal tundra
#

Considering that's an interface though that seems like a bad example

delicate lynx
#

if you need the plugin, it's on spigot. download it. if you want to compile it yourself, look up how to use maven

vocal tundra
#

implementation still has to do the logic related to registering events

river oracle
delicate lynx
#

he said he was using visual studio code so I figured he was trying to edit something 🤷‍♂

river oracle
#

Why do people who haven't ever touched code try to edit code and expect it to work

delicate lynx
#

the plugin itself is fine

#

I just checked the plugin.yml, maven filtering is working correctly so he has to be editing it

river oracle
#

lmfao

vocal tundra
#

Is it okay to have protocollib phobia

delicate lynx
#

yes

fossil lily
#

Nothing gets thrown when I connect to my database at the start:

But when I try to access it: Caused by: com.mongodb.MongoTimeoutException: Timed out after 10000 ms while waiting for a server that matches AnyServerSelector{}. Client view of cluster state is {type=Unknown, servers=[{address=localhost:27017, type=Unknown, state=Connecting, exception={com.mongodb.MongoException$Network: Exception opening the socket}, caused by {java.net.ConnectException: Connection refused}}]

delicate lynx
#

make sure database is actively allowing connections

fossil lily
#

How can I confirm this is happening?

river oracle
#

make sure mongodb is installed on your localhost

sacred mountain
#
@Eventhandler (priority = EventPriority.HIGHEST)
public void onQuit(PlayerQuitEvent e) {
    e.setCancelled(true);
}
delicate lynx
#

cursed

river oracle
#

only if

sacred mountain
#

never lose players again

#

.jar

fossil lily
delicate lynx
#

try to use 127.0.0.1 as the host instead of localhost

sacred mountain
#

yea

delicate lynx
#

unless you can connect with localhost

#

I remember having problems with that before, god knows why

sacred mountain
#

same lol

#

i remember having to use the internal IP

#

not sure why

#

something like 10.0.0217

limber owl
#

bukkit runnable that goes faster as longer as it exists?

delicate lynx
#

the longer it lives, the faster it loops?

limber owl
#

yea

vocal tundra
#

run it every tick from the start and then have some logic that only runs the code every X passes which decreases for each pass

limber owl
#

i mean like

#

there would be time variable

sacred mountain
#

can you use variables in the delay

fossil lily
#

Do I set it to the internal IP in the mongod.conf too?

limber owl
#

and it does the logic every 20 ticks (thats a second), but it goes faster by 0.1 second every 20 ticks

vocal tundra
#

yeah so do what I told you

sacred mountain
#

but youll have to mess with that

delicate lynx
#

what IP is mongo binding to

fossil lily
#

Still isnt working :(

delicate lynx
#

which IP did you set it to

vocal tundra
#

try ipv4

delicate lynx
#

make sure you restart it too, assuming you already did but

fossil lily
delicate lynx
#

what is bind_ip in mongodb.conf set to

fossil lily
delicate lynx
#

that should be fine then

fossil lily
#

sadge

delicate lynx
#

is it running in a docker container?

fossil lily
#
[Pterodactyl Daemon]: Finished pulling Docker container image
:/home/container$ mongod --fork --dbpath /home/container/mongodb/ --port ${SERVER_PORT} --bind_ip 0.0.0.0 --logpath /home/container/logs/mongo.log; until nc -z -v -w5 127.0.0.1 ${SERVER_PORT}; do echo 'Waiting for mongodb connection...'; sleep 5; done && mongo 127.0.0.1:${SERVER_PORT} && mongo --eval "db.getSiblingDB('admin').shutdownServer()" 127.0.0.1:${SERVER_PORT}
about to fork child process, waiting until server is ready for connections.
forked process: 17
child process started successfully, parent exiting
delicate lynx
#

oh

#

you need to find the address for that container then

fossil lily
#

okay and I should set it to bind to that IP?

delicate lynx
#

bind it to 0.0.0.0

fossil lily
#

got it

#

but I connect with that IP in my plugin; right

delicate lynx
#

try to use 172.18.0.1 as the IP

#

that SHOULD be the default IP for the container

fossil lily
#

in my plugin or config :/

#

or both

delicate lynx
#

oh sorry

#

in the plugin

fossil lily
#

kk

vocal tundra
#

How to make za warudo ability plugin

delicate lynx
#

if that isn't the correct address, you will have to find the address some way

fossil lily
delicate lynx
#

I would possibly

#

ask about remote connections

#

I've never seen mongo run through pterodactyl before

fossil lily
#

it sill didnt work :(

#

Why wouldn't it catch an error while connecting onEnable?

delicate lynx
#

depends which exception you are catching

fossil lily
#

Im catching UnknownHost

delicate lynx
#

could just catch Exception so it can get any

fossil lily
#

kk

delicate lynx
#

that way you can print all exceptions that happen, not just specific ones

fossil lily
delicate lynx
#

maybe there isn't one

#

hard to really tell

fossil lily
#

i'l try just sending a message to console

woeful crescent
#

anyone know how to make a graph that looks like this? I've been trying for a while and can't seem to get it

sand vector
#

For my database(mongodb) when I save the data It doesnt realise there is already a document with the exact same uuid. so it creates another document to store it in (picture below). How do I get a document if it is already created?

woeful crescent
#

findOneAndReplace if it already exists

fossil lily
fossil lily
#

thanks

woeful crescent
#

Ok, here's what I did

public void set(PlayerData val) throws NullPointerException, IllegalStateException {
        if(val == null) throw new NullPointerException("PlayerData to save cannot be null!");
        UUID uuid = val.getUuid();
        if(uuid == null) throw new NullPointerException("PlayerData uuid to save cannot be null!");
        Bson filter = uuidFilter(uuid);
        long count = collection.countDocuments(filter);
        if(count > 0){
            collection.findOneAndReplace(filter, val);
            Bukkit.getLogger().info("Updated document " + uuid);
            if(count > 1) Bukkit.getLogger().warning("ALERT: More than one player data entry registered under uuid " + uuid + "!");
        }else{
            InsertOneResult response = collection.insertOne(val);
            if(response.getInsertedId() == null){
                throw new IllegalStateException("Could not insert document " + uuid);
            }else Bukkit.getLogger().info("Inserted document " + uuid);
        }
    }
#

here is the uuidFilter() method:

#
public static Bson uuidFilter(UUID uuid){
        return Filters.eq(Key.UUID, uuid);
}
#

(Key.UUID is just a constant meaning "_id")

#

What this does is searches through all documents using the filter "_id value is equal to player uuid to save" and if it finds one, it uses the replace method instead of the add method

flat olive
#

anybody know how to fix Unsupported class file major version 60
for shade plugin, im trying to fix this stupid NoClassDefFoundError that I get for mongodb

fossil lily
# sand vector

I need to surround with try/catch on mongoClient initialization right?

sand vector
#

yeah

#

@woeful crescent cheers that helps understand it a bit more

chrome beacon
flat olive
fossil lily
flat olive
chrome beacon
flat olive
#

maven

sand vector
fossil lily
chrome beacon
# flat olive maven

<properties> <maven.compiler.target>1.8</maven.compiler.target> <maven.compiler.source>1.8</maven.compiler.source> </properties>

tranquil viper
#
var points = plugin.playerCollection.find().sort(Sorts.descending("Points")).limit(5);

var firstPoints = points.first();
var secondPoints = points.skip(1).first();
var thirdPoints = points.skip(2).first();
var fourthPoints = points.skip(3).first();
var fifthPoints = points.skip(4).first();

Can't really test, this would give me the top 5 player's with points correct?

chrome beacon
#

Ugh on mobile so spacing got messed up

flat olive
#

just paste that into pom?

chrome beacon
#

Yes

flat olive
#

also what about these
<maven.compiler.source>17</maven.compiler.source>
<maven.compiler.target>17</maven.compiler.target>

#

they are in my properies tag

#

should I remove them

chrome beacon
#

Ah you can just change 17 to 1.8

flat olive
#

Okay

#

that didnt work

#

its saying my shade plugin is unsupported file major version 60

chrome beacon
#

Oh so Mongo is using a newer Java version?

#

Let me double check

flat olive
#

this plugin is what I manually added to my pom btw

#

everytime i try to mvc package command

chrome beacon
#

Uh I gtg. Will be back tomorrow, hope you can fix the issue

flat olive
#

the maven shade plugin doesn't yet support Java 16. To solve the issue I had to use a snapshot version of the maven shade plugin (3.3.0-SNAPSHOT) since 3.2.4 doesn't support Java 16 yet. - this is what someone said, ill try it

#

okay cya

#

anybody know how to fix java.lang.NoClassDefFoundError: com/mongodb/client/MongoClients

sterile token
#

That one of the reason

flat olive
#

Yeah cause shade plugin is working

#

how can I shade mongoDB

sterile token
#

Send your actual pom

flat olive
#

its in my external libraries file

#

sec

sterile token
#

Dont worry

#

Wait dont send it

#

I send the code

flat olive
#

Okay

fossil lily
#

Im making progress

#

Anyone have an example of shading in Mongo driver? It's not working :(

ivory sleet
#

how does ur pom.xml / build.gradle(.kts) look

fossil lily
flat olive
#

anybody help me with shading for mongodb

#

in maven

#

its not working

flat olive
#

I try shading it, and it says my plugin yml is wrong when I use my shaded jar instead

sterile token
fossil lily
sterile token
#

Once you add data = create a new document

fossil lily
#

this is confusing

sterile token
#

I explain

#

1- Create a doucument with some data
2- If collection doesnt exists it will be created, and then will add the documents

spring minnow
#

i done a custom enchant but when i apply it to items they don't glow and they don't have it in the lore, but i debugged and they actually have it, how do i fix?

flat olive
#

when I use my shaded jar for mongoDB it never works

sterile token
flat olive
#

Yeah

sterile token
flat olive
#

odd

#

it doesn't get it in there even tho its supposed to be

flat olive
#

how can i get it in there without having to always package this shaded jar and manually put my plugin.yml in it?

sterile token
spring minnow
#

Sorry

sterile token
#

As usual say you are not paying for having instant support

spring minnow
#

yeah ik

flat olive
#

do I need to change my location of my plugin.yml?

#

it gets everything but plugin.yml in shaded file

#

what happens if I shade my plugin.yml file?

#

nvm I cant

#

my plugin.yml is just being ignored from being added. wtf

fossil lily
#

What is this?

flat olive
#
otherwise try to manually exclude artifacts based on
mvn dependency:tree -Ddetail=true and the above output.
See https://maven.apache.org/plugins/maven-shade-plugin/
#

what is this warning, and is it why I cannot create a properly shaded jar

fossil lily
flat olive
#

Can anyone help me with maven shade plugin issues

flat olive
#

so for some reason my plugin.yml file is never relocated into my shaded jar

#

it just skips over it

#

I'm not sure why

fossil lily
#

I Fixed it :D

flat olive
#

@fossil lily can you help me

fossil lily
#

maybe

flat olive
#

did you ever have issues with the shaded jar not including the YML file?

fossil lily
flat olive
#

its in my com.C200 folder

fossil lily
flat olive
#

wait

fossil lily
#

thats wrong i need to see it

flat olive
#

I think I just fixed it

river oracle
#

And make sure it's in maven

flat olive
#

Yeah it finally works after 12 hours of trying to solve the issue

#

anybody know what this warning is?

#
[18:18:14 WARN]: SLF4J not found on the classpath.  Logging is disabled for the 'org.mongodb.driver' component
[18:18:14 WARN]: SLF4J not found on the classpath. Logging is disabled for the 'com.C200.libraries.org.bson' component
#

Oh I see

#

I need to add SL4J as a classpath by adding it as a dependency

#

i wish I could just use npm

waxen plinth
#

lol

#

npm is awful

#

convenience =/= quality

flat olive
#

jesus christ

#

I have another package error

fossil lily
#

maybe i can help

flat olive
#

look at dms

#

I cant send images here

torn shuttle
#

man why am I so dumb

#

method runs twice because it runs based on a removal of a thing and I put in on the removal code the check to see if it should run, and I put the same method at the end of the removals if it's empty

#

gigabrain

flat olive
#
class lombok.javac.apt.LombokProcessor (in unnamed module @0x30c1da48) cannot access class com.sun.tools.javac.processing.JavacProcessingEnvironment (in module jdk.compiler) because module jdk.compiler does not export com.sun.tools.javac.processing to unnamed module @0x30c1da48

Anybody know how to fix this issue

eternal oxide
#

I'd guess out of date Lombok for java 16+

flat olive
#

I solved the issue

#

my database is finally useable

civic needle
#
        RayTraceResult ray = player.getWorld().rayTrace(player.getLocation(), player.getLocation().getDirection(), 20, FluidCollisionMode.NEVER, true, 1, null);
        Entity hit = ray.getHitEntity();

i have this set up but its returning me the player where it starts from as the entity

#

how do i make it ingore the start player when it does the raycast?

worldly ingot
#

Can always add the player's current direction to the start location

#

Or at least a multiple of it

#
Location location = player.getLocation();
Vector direction = location.getDirection();
location.add(direction.multiply(0.5));
// Then ray trace with location & direction```
#

Probably want to start at eye location though

civic needle
#

oh so it starts half way?

worldly ingot
#

A little bit in front of the player

civic needle
worldly ingot
#

getEyeLocation()

civic needle
#

ohh okay

#

thank you

civic needle
#

wait nvm

#

dumb question

#

alright its still somewhat attacking me

#

should i just mulitply it by a higher number

fossil lily
#

How can I test if a document exists in MongoDB?

worldly ingot
left pine
#

Hello, I have a question. Can I make more than one plugin in Spigot?

waxen plinth
#

.-.

#

what?

#

are you asking if spigot servers can run more than one plugin at a time

civic needle
waxen plinth
#

twelve

left pine
worldly ingot
#

Can try 0.75, or just leave it normalized

waxen plinth
left pine
waxen plinth
#

of course you can

fossil lily
#

How is it linked to your account... It's Java code...

#

So confused

left pine
fossil lily
#

Wut

fossil lily
#

Or documents folder

#

On your hard drive

#

Recycling bin

left pine
fossil lily
left pine
fossil lily
#

If you want another plugin you make another java project

left pine
fossil lily
#

You can make another plugin by making another one, the same way you made the first one but in a different folder

left pine
opal frigate
#

Hey, I’ve been making a land claim system which will prevent other players from building / breaking claimed land. I’ve got it to work, however, the blocks are a little laggy, which would be caused by the database stuff with the event. I’ve tried to use async task scheduling, but you cannot cancel the events this way. I’ve also tried to set the block to air on placement, however this didn’t work very well, as water would be destroyed. I’ve also tried using callbacks, but those can’t cancel the event either. Is there any solution to fix this? Thanks.

upper crater
#

is getCommand().setExecutor possible in 1.8

opal frigate
upper crater
#

what i meant

#

is it possible in 1.8

#

also, what's the best way to have a config file that doesn't update every time you start the server? (i'm trying to avoid dbs for now)

left pine
left pine
upper crater
opal frigate
#

Basically you just make a “config” that you can read and write to

#

Event Lag Solutions

stuck swift
#

how do you add color to a broadcastmessage

delicate lynx
#

chatcolor

upper crater
flat olive
opal frigate
#

On disable will probably work since the config works until restart with my experience

civic needle
#

what do you recommend the size be?

#

i don’t get what the size does

upper crater
stuck swift
#

im doing this right, right?

vocal tundra
#

Red and bold need to be before the text

stuck swift
#

oh

vocal tundra
#

Anything after red + bold will be

#

and just so you know, bold always has to come last (which you did), otherwise it wont apply

#

also, do Bukkit.broadcastMessage instead of p.getServer().broadcastMessage

stuck swift
#

ok

#

but now i got a red underline under chatcolor

vocal tundra
#

yeah, in your case you gotta do ChatColor.RED + " " + ChatColor.BOLD + "text"

stuck swift
#

oh

#

so like this

vocal tundra
#

my bad, empty string so "", no space

stuck swift
#

ok thnx anyways

vocal tundra
#

I don't use those ChatColor enums personally, I use the Minecraft color codes directly since it's more compact

#

"§c§lEnding game manually..."

worldly ingot
#

Yeah it's also prone to breaking on systems that don't support that encoding ;p

stuck swift
#

oh alr

worldly ingot
#

You should use ChatColor constants, or at the very least, #translateAlternateColorCodes()

#

(you're fine doing what you're doing, juzi)

vocal tundra
worldly ingot
#

It is, but it uses the unicode

#

Putting the character in your source means you have to encode your project differently

vocal tundra
#

Do you have any actual examples of UTF 8 characters causing problems with projects when used in strings

worldly ingot
#

This guy didn't show an image of it, unfortunately. I always struggle to find images of it

surreal prawn
#

how do i split this into multiple files?

vocal tundra
surreal prawn
#

oh, that's how ppl do it?

#

i thought there was a different way

worldly ingot
#

On top of encoding issues, you then have to remember the arbitrary colour codes that have no meaning whatsoever.

vocal tundra
#

They have meaning

worldly ingot
#

Well-defined constants with proper names are going to read far easier

surreal prawn
#

i thought i had to put a decorator or smth

worldly ingot
#

I don't know wtf &c is

vocal tundra
#

it's red

worldly ingot
#

How do you expect anybody to know that?

surreal prawn
#

light red to be exact

vocal tundra
#

it's inside the ChatColor source code, or look at a color code index on the web

#

In reality you only have to memorize 8 codes for colour

waxen plinth
#

It's effectively a magic number

vocal tundra
#

the lighter variation follows a pattern of +8

waxen plinth
#

Code that requires no explanation and no memorization is the best kind of code

vocal tundra
#

I mean I'd rather not quadruple the size of my string just to change the chat colour

waxen plinth
#

It's k

#

§k

vocal tundra
#

It improves readability especially when you have to bold text & change the colour repeatedly

waxen plinth
#

It really doesn't but ok

#

Like if you want you could make a tool to format it

#

<red>hello! or whatever

#

There are plenty of existing tools that can do that already

#

Avoid magic numbers

vocal tundra
#

If you're just using a few colors it's no big deal, but once you start going crazy with color + bold/strikethrough/etc have fun splitting your string into 3+ lines just to read your 2 sentences in chat

noble lantern
#

Hello there, so I'm looking into a bug and I think this could possibly be some type of spigot and/or PlaceholderAPI bug

I am using this method here: https://hub.spigotmc.org/javadocs/spigot/org/bukkit/event/block/BlockBreakEvent.html#setDropItems(boolean) to cancel drops of an item

I am using the command /papi parse me %statistic_mine_block% to get the block drop count that the player has broken

The issue with that method, is when called and using that placeholder after breaking the block break count does not change, i removed the method calling this method and it appears works just fine after this

In the screenshot below:

blue = Calling our method that calls setDropItems
red = after removing that method (Ignore 2 increment i broke 2 blocks by accident)

#

Could the Statistic addon for PAPI be a issue here when calling that method, or could this be some type of Spigot bug?

#

I know the obvious fix here would be "Just add one to the players blocks mined statistic" but, would rather not do that

#

Okay did some tests

#

100% not something on our end

#

Created a test plugin & removed ours:

#

and still same output

#

Ill ask in PAPI discord, maybe theylle have something

waxen plinth
#

@noble lantern it's likely using the Minecraft statistic

#

Those are built into the game

#

You can try cancelling BlockDropItemEvent instead of calling setDropItems to false

noble lantern
#

Yes but thats a whole nother listener we need to implement as well as just more overhaul, when that is false according to spigot docs its supposed to not call that event entirely

#

Its a lot easier to just have this rather than adding a whole brand new class and listener added in (Yes i know for below 1.12 the block break statistic wont be added, ill manually increase the statistic in that version, our issue is on 1.18.2)

#

i feel like under the hood on spigots side setDropItems could essentially just be cancelling the block break event and setting the block to air, or it could be on Minecrafts end

vocal tundra
#

Time to view the source

noble lantern
#

ill look

#

doesnt seem so

#

that boolean only handles calling BlockDropItemEvent

#

its something added by spigot too, so it couldnt be a MC bug (theoretically)

vocal tundra
#

Say what do you need papi for exactly

noble lantern
#

this is something one of our users is using, I assume they just want to get block break count so they use the Statistic addon for PAPI and then use the placeholder %statistic_mine_block%

noble lantern
vocal tundra
#

Oh so is this just like a plugin you're making for a guy

noble lantern
#

hence why im strict on not wanting to manually increase the statistic or add a new listener for BlockDropItemEvent

dense geyser
#

how is the parent here not a directory?! this is an archive decompiler where the test archive is compiled on windows, not programmatically, and holds a single directory named 'new folder' with a file inside by the name of .data

System.out.println(ze.getName());
newFile = new File(ROOT, "zzzoh/" + ze);
File parent = newFile.getParentFile();
System.out.println(parent + " : " + parent.isDirectory());

prints

New folder/.data
C:\Users\Braun\Desktop\boaty\boats\boats-build\zzzoh\New folder : false
vocal tundra
#

how to make za warudo ability

#

time stop

left swift
#

did anyone use mongodb with gradle kts? How dependencies will looks like? I have classnotfoundexception

left swift
#

Emm, what do u mean by that?

viral temple
chrome beacon
#

Maven shade plugin doesn't exist since it's gradle

#

You will have to use shadow

viral temple
#

oh, gradle

#

right

#

my bad

left swift
#

u mean shadowJar?

opal juniper
#

yeah

sacred mountain
#

shadow jar is gud

#

halved my jar size

opal juniper
#

as apposed to what?

chrome beacon
#

As apposed to not using the minimize option I guess

#

Since maven has that one too

opal juniper
#

well, maven shade plugin does also support that

sacred mountain
#

im in oxford now

opal juniper
#

yeah

sacred mountain
#

this place nice

chrome beacon
#

Want even lower file size ProGuard can hep quite a bit

opal juniper
#

lol

#

it got that code shaking as well

#

make sure you obfuscate it whilst you’re at it think_smart

sacred mountain
#

i have no idea how to obfuscate a jar

opal juniper
#

there are tools

chrome beacon
#

Like ProGuard

sacred mountain
#

i dont really have a reason to, no one can understand my code anyway

opal juniper
#

i mean

#

the reasons are mostly commercial

sacred mountain
opal juniper
#

like mojang have to for legal reasons but their obfuscation is fairly minimal honestly

sacred mountain
opal juniper
#

just class/field/method names and removing a lot of packages

sacred mountain
#

his string encryption is pain

crude loom
#

I'm trying to learn how to use the Vault api to manage economies, can anyone link me a link to their javadocs? or something that explains all the methods and stuff?

sacred mountain
chrome beacon
sacred mountain
#

and its like 6 lines to fully implement economy

crude loom
#

No I mean something that explains how to use it

#

Does it exist?

chrome beacon
#

Yeah read the page

crude loom
#

Oh, found it, thank you!

#

By the way, this should be able to manage the economy even if it's used by multiple plugins right?

chrome beacon
#

Yes

sacred mountain
#

just remember to put

depend: 
  - Vault
``` in your plugin.yml
crude loom
#

Oh, and also this right?

<repository>
        <id>jitpack.io</id>
        <url>https://jitpack.io</url>
    </repository>
</repositories>
<dependencies>
    <dependency>
        <groupId>com.github.MilkBowl</groupId>
        <artifactId>VaultAPI</artifactId>
        <version>1.7</version>
        <scope>provided</scope>
    </dependency>
sacred mountain
#

yep

crude loom
#

Thanks!

crude loom
left swift
#

kts

chrome beacon
sacred mountain
crude loom
#

Any idea as to why am I getting Dependency 'com.github.MilkBowl:VaultAPI:1.7.3' not found ?

#

I've added the jar file to the project

left swift
zealous osprey
#

I'm wondering how to get the nbt data from a tile entity in 1.12.2, sicne I've never really worked with getting info taht way?

#

Ima try the NBTAPI

chrome beacon
chrome beacon
left swift
# chrome beacon As long as you use the shaded jar, yes

Otherwise, currently i try to connect to the mongo in psvm. Then i run that as normal console program. I added compileOnly("org.mongodb:mongo-java-driver:3.6.4") to dependencies and I can import mongo classes, but when I run it throws me classnotfound exception. Idk how can I use shadowJar with it.

rotund pond
#

Hello !
I have a little question for event priority...
I want my event to have the "highest" (for my minds) priority.
Example: I have an a method with InventoryClickEvent, and I cancel it. I want to cancel this event no matter what happens.
So which priority should I use and why ?

See the doc below, someone told me to use the "LOWEST" priority, but I need the monitoring one ? No ?

rotund pond
chrome beacon
rotund pond
chrome beacon
#

Then you have a bad plugin

#

A good plugin shouldn't do that

rotund pond
#

I don't want to ignore a problem that another one could do using my API, I just want to fix it

chrome beacon
#

Just leave it default

rotund pond
#

Alright

fallen agate
#

hey, can someone help me shade spark webserver into my plugin?

#

my plugin is 2.9MB because the webserver didnt shade

summer scroll
#

How can I make a void consumer, what should I put on Consumer#accept?

eternal night
#

a void consumer ?

#

you mean a runnable

small current
#

why when i send this packet, the sign opens and then closes quickly

summer scroll
chrome beacon
fallen agate
chrome beacon
#

Then what's the problem?

fallen agate
#

the plugin is 2.9mb and should be much smaller.

#

is there even a way to make it smaller?

#

it includes a fairly large webserver package

chrome beacon
#

Yeah it's large because you put something large in it

#

You can use the minimize option in to the shade plugin config. That will try remove unused classes

summer scroll
#

or even pseudo is fine

eternal night
#
public void doLater(Runnable doSomething) {
  // do work
  doSomething.run();
}

doLater(() -> {
  // Will execute after do work
});
summer scroll
fallen agate
chrome beacon
proper pawn
#

when i want to remove the entity player from the tab list the skin also goes away, how can i fix this?

connection.a(new PacketPlayOutPlayerInfo(PacketPlayOutPlayerInfo.EnumPlayerInfoAction.e, npc));

Using nms 1.18

chrome beacon
#

I recommend using Mojmaps

proper pawn
#

tried it. coudlnt figure it out

#

too dumb

#

¯_(ツ)_/¯

chrome beacon
#

? All you need is to copy paste a thing and run BuildTools

proper pawn
#

i kept getting errors that made 0 sence

#

tried asking help but no one could help me

chrome beacon
#

Aight

#

Anyways if the skin goes away I'm not sure how you would handle that

#

Not sure if you can

proper pawn
#

Ohw....

chrome beacon
#

I mean why keep skin info of a player that's not supposed to exist

proper pawn
#

wait. can i use teams!?

chrome beacon
proper pawn
chrome beacon
#

Yeah not sure teams will work

#

You can fill the tab list with fake players and then sort them to hide your player

proper pawn
#

Yeah that could work

#

Thank you for helping!

vocal tundra
#

Why doesn't AsyncPlayerPreLoginEvent finish before PlayerLoginEvent is fired

eternal oxide
#

Its Async. It has no defined order

#

The only guarantee is it fires before Login

vocal tundra
#

Simply being async is not a justification though... as you know it's completely possible to schedule an event to run on the next tick after an async task is finished

eternal oxide
#

Its perfect justification. Async means it runs on its own thread. No guarantee it will finish before teh main thread

#

It all depends on what you are doing in the Async thread. You could take 10 minutes and it will obviously not finish before the Login fires

#

Its Async, NON blocking. Own thread

sage dragon
rough drift
#

If ignoreCancelled is false, will this mean that if I cancel any event that has ignoreCancelled set to false and is of the same type and happens later won't run?

vocal tundra
eternal night
#

AsyncPrePlayerLogin

#

lol

eternal oxide
small current
rough drift
#

ignoreCancelled = true should mean it ignores cancels

#

not the other way around

eternal oxide
# rough drift eh

if true your Listener will not be called if another plugin cancels the event before your it gets to your plugin

eternal night
#

sounds more like a server bug ngl

#

is that on spigot or paper

eternal night
#

the fact that the PlayerLogin triggers before AsyncPrePlayerLogin finishes

rough drift
#

Seems weird but I won't question it

vocal tundra
#

So basically I'm going to have to make my own implementation to stall a player from logging in until I've done stuff like check if they aren't banned, and getting their stats? since AsyncPrePlayerLogin doesn't finish in time

eternal oxide
eternal night
#

I have used AsyncPrePlayer a bunch of times to do blocking operations and it properly delayed player joining

vocal tundra
#

Wait I've misunderstood the bug I'm having my bad

#

If I connect to the server as it's loading the world up (almost ready to accept players to join), I'll join the server without that event firing (it's registered on enable)

lost matrix
vocal tundra
#

See my newest message

lost matrix
#

What version are you on?

eternal night
#

Tbh smile might be a spigot thing (idk if you are running paper) but we have some patches there

mighty pier
#
        ScoreboardManager manager = Bukkit.getScoreboardManager();
        Scoreboard board = manager.getNewScoreboard();
        Objective obj = new registerNewObjective("e", "a");
    }```
#

im on 1.8.8

dire marsh
#

board.registerNewObjective

mighty pier
#

oh right

tardy delta
#

smh

#

😂

noble lantern
#

I don't think I've ever tried to initialize a method as a class before lmao

visual tide
#

well in python methods are objects and classes are objects soooooo

mighty pier
#

how did they make it organized with scores set to 0?

chrome beacon
#

You send them to the client in that order

summer scroll
#

Is the opened ender chest an actual block?

chrome beacon
#

Yes

summer scroll
#

Can I somehow spawn an opened chest like that without no physics? that means I can get through of that block like it doesn't exist.

chrome beacon
#

No

summer scroll
#

Alright, thank you

mighty pier
small current
#

sends a change with packets

sharp bough
small current
#

anyways im having a problem with sendBlockChange
why when i send the editorPacket
a sign opens and then closes

#

and no chest spawns, i checked sending the change right at player's location

cursive loom
#

Hey do you know how I can cancel an EntityDeathEvent ?

tardy delta
#

event.setCancelled(true) if it implements cancellable

#

dont think thats the case

cursive loom
#

No thats not implemented

noble lantern
summer scroll
tardy delta
#

or cancel the damage event?

#

i guess thats cancellable

noble lantern
#

yep that is

#

could work better

#

check if health will be 0 by using event.getDamage()

tardy delta
#

smh

noble lantern
#

dont forget to throw new RuntimeException

cursive loom
noble lantern
#

and on entity spawn ignore if it had meta data tag

#

or

tardy delta
noble lantern
#

use the even brush said ^

noble lantern
#

its so weird

#

getDeclaredField("theUnsafe");

tardy delta
#

im not bush

#

:(

noble lantern
#

i was so confused when reading examples, because i thought it needed to specify the field that was unsafe, not the string "theUnsafe" lmfao

noble lantern
#

i changed it

tardy delta
#

rust is better in the unsafe stuff

#

you can declare methods as unsafe in rust

#

also like doing stuff which cannot be done by default

noble lantern
#

well i was trying to modify a private final static field in minecraftserver for my case

tardy delta
#

ight

noble lantern
#

so i couldnt really set that as an unsafe variable even if it was rust :((

tardy delta
#

ah you can even access private fields in rust

noble lantern
#

thats rigged

small current
#

why when i send a block change with oak sign, nothing will change

tardy delta
#

you have to feed the sign

#

with milk

#

then pet it

#

and say meoow

small current
#

not funny

noble lantern
small current
#

💀

tardy delta
#

not furry

#

heh what

small current
#

wdym empty block data

tardy delta
#

whats supposed to change when it doesnt know what to change?

small current
#

oak sign

noble lantern
small current
#

ok how to make it not empty

noble lantern
#

should be a method to Block#getBlockData() or similar

#

just send that after you change it

small current
#

no i want it just to be packet

#

not the whole world

tardy delta
#

does the return type of Bukkit.createBlockData has methods to change its state?

noble lantern
small current
small current
#

just client side

noble lantern
#

that is client sided

#

it doesnt update for the server, just the client

small current
#

the block is not a sign

#

i want it to be a sign for only the player

#

not others

tardy delta
#

Objects::requirenonnull 😂

noble lantern
#

idk how that all works

#

but any type of blocks you only want one client to see, need packets

gleaming grove
# noble lantern
{
  player.sendBlock.......
}```  you could use that Java feature it's more clean IMO
noble lantern
#

idk why i chose to use that there

tardy delta
#

i guess there a .forEach hidden there too

small current
#

cringe

noble lantern
#

yee it just runs off the page

tardy delta
#

why returning when the current entity isnt a player instead of skipping it?

small current
#

i used this method a lot before (block is a material)

#

and it worked

#

and the world block that was in the file was not the thing that i sent

noble lantern
small current
#

but now it is not working with signs in 1.18.1

tardy delta
small current
#

im just trying to open a sign editor to a player with packets

#

but the clients needs a sign at the exact location

tardy delta
#

and you cant use continue in a lambda you need a normal for loop 🥺

small current
#

(i send the editorPacket)

noble lantern
tardy delta
#

🎃

small current
#

but the sign opens and instantly closes

noble lantern
#

you can use it in the launcher settings

tardy delta
#

how can a sign open?

small current
small current
tardy delta
#

aah

cursive loom
# noble lantern add a metaData tag to the new mob you spawn

Thats my first time with MetaData do you know why thats not work ?

\\KILL EVENT 
Entity entity = e.getEntity().getWorld().spawnEntity(e.getEntity().getLocation(), e.getEntityType());
entity.setMetadata("compacted", new FixedMetadataValue(Main.getInstance(), true));


\\SPAWN EVENT
        if(entity.hasMetadata("compacted")){
            entity.removeMetadata("compacted", Main.getInstance());
            Bukkit.broadcastMessage("00");
            return;
        }
small current
#

like this

noble lantern
small current
#

but im trying to open it

noble lantern
#

also i find anvils better for things like that

#

signs have a limit of characters thats very small

small current
#

how can client debugger help

noble lantern
#

other than that your good thumbs

noble lantern
small current
#

what

noble lantern
small current
#

ok how can it help

noble lantern
#

should show any invalid packets/blocks states in there

cursive loom
tardy delta
#

check the signature

#

what does it need

noble lantern
tardy delta
#

it needs a plugin?

small current
#

@noble lantern nothing

cursive loom
small current
#

it should open the sign
and then i should write it

#

but it closes instantly

noble lantern
noble lantern
small current
#

simply there is no sign being sent to the client

cursive loom
noble lantern
#

ive never really worked with sending fake signs to a player

noble lantern
cursive loom
#

idk x) When i kill a pig and I respawn it thats didn't say "00"

noble lantern
tardy delta
#

🥲

noble lantern
#

z_aCRYYY that instance check

#

okay sec

delicate lynx
#

what is that instance check

noble lantern
#

if (!(e instanceof something) && otherShit) {}

btw

summer scroll
#

How can I spawn a opened Chest with Player#sendBlockChange

#

I'm guessing cast it to a Chest?

noble lantern
#

just something i found on google

cursive loom
# noble lantern spawn the mob one tick later in a task

Same didn't work

                Entity entity = e.getEntity();
                entity.setMetadata("compacted", new FixedMetadataValue(Main.getInstance(), true));
                new BukkitRunnable() {
                    @Override
                    public void run() {
                        entity.getWorld().spawnEntity(entity.getLocation(), e.getEntityType());
                    }
                }.runTaskLater(Main.getInstance(), 5L);
sand vector
#

quick question, should I use append or an if statement to check for null

noble lantern
cursive loom
#

tbh ?

noble lantern
#

to be honest

noble lantern
#

see if that meta data exist directly after spawning it in

sand vector
cursive loom
#

ok x) sry I'm French I don't have all word like this

noble lantern
tardy delta
#

baguette

cursive loom
tardy delta
#

i also know chroissant and maison

noble lantern
#

oui oui

#

Mr probably knows how to pronounce my name if hes french

cursive loom
noble lantern
sand vector
#

anyone know why anything that could be null has this on it. Really annoying when it will never be null (that one highlighted is only like that as I didn't import Player)

hasty prawn
#

It's probably saying that because you're not casting to Player after that

#

So it doesn't make sense to check instanceof

sand vector
#

I sorted that line out but it is the same for sender, cmd, label and loads of other things in different classes

hasty prawn
sand vector
fresh drum
#

Hi ! Do you know how to move (to let him walk, not teleport him) an EntityPlayer using NMS in 1.18.2 ?

hasty prawn
# sand vector

Ah, the first one is because the superclass annotates them with @NotNull so it wants you to do that as well, and ItemMeta actually can be null for the second one.

mortal hare
#

any ideas how to fix this

#

loading is bricked

#

it started

#

but it took like half a minute to start loading it

ancient plank
crude loom
#

If I want to use vault in my plugin, I will need both vault and an economy plugin in my server right?

delicate lynx
#

well vault has economy built into it

crude loom
#

Oh, so is it not necessary for testing?

tardy delta
#

its just an economy api that vault has

#

you could try

#

im wondering

crude loom
#

Huh, I'm getting this for some reason altough I have vault installed on the server
20.04 16:26:27 [Server] INFO org.bukkit.plugin.UnknownDependencyException: Unknown dependency Vault. Please download and install Vault to run this plugin.

delicate lynx
#

is vault loading

crude loom
#

How do I check that?

hasty prawn
#

Do /pl

crude loom
#

It does appear on /plugins if thats what you mean

delicate lynx
#

green or red

crude loom
#

green

hasty prawn
#

Your plugin is probably loading before Vault then? Did you add depends: into your plugin.yml

crude loom
#

I wrote this:

depend:
  - Vault
#

does it need to be depends?

hasty prawn
#

No thats right

#

Try restarting again? Should be working I would think Thonk

crude loom
#

Huh, it now loads but because of this piece of code:

 private boolean setupEconomy()
    {
        RegisteredServiceProvider<Economy> economyProvider = getServer().getServicesManager().getRegistration(net.milkbowl.vault.economy.Economy.class);
        if (economyProvider != null) {
            economy = economyProvider.getProvider();
        }

        return (economy != null);
    }
 @Override
    public void onEnable() {
 if(!setupEconomy()){
            System.out.println("Disabled due to no Vault dependency found!");
            Bukkit.getPluginManager().disablePlugin(this);
            return;
        }
}

It disables itself

hasty prawn
#

Probably because you dont have an economy provider

crude loom
#

So that would be the economy plugin?

last ledge
#

How to reload array list?

#

I want to reload arraylist when reloading config

hasty prawn
crude loom
#

I will try adding that

#

Yep, now it loads, thanks!

frigid rock
#

does anyone know how to make like a timer for auction items? like how should i do it

#

(every item has a time in ms)

#

should i start a new task for each item? or is there any efficient way of doing it

frigid rock
last ledge
#

but its not working for me

#

Someone said me you need to reload ur array list

crude loom
#

Any idea as to why am I getting 'currency is null' when trying to deposit money to a player with my plugin using vault?

frigid rock
manic delta
last ledge
manic delta
#

Guys here, in delay

#

20 is one second?

frigid rock
manic delta
#

i forgot it

frigid rock
manic delta
#

ok thanks

last ledge
delicate lynx
#

20 ticks = one second

frigid rock