#help-development

1 messages · Page 679 of 1

young knoll
#

ChatColor.of

quaint mantle
#

I am redoing a project from scratch

#

I just realized I ended up in the same alley

#

So, am I fine prefixing abstract classes with "Abstract" or am I meant to use "Base" prefix?

#

I've seen people discussing about it yet I got no clue why the issue

worldly ingot
#

You're fine to name them whatever you'd like. You don't have to have either if you don't want. Some consider "Abstract" and "Base" to be redundancies

quaint mantle
#

I mean, I never prefix abstract classes

worldly ingot
#

So long as you're abiding by CamelCase convention for class names, it's down to preference

quaint mantle
#

Sometimes I get this issue that I named the interface with the name that the abstract class could have

#

So the interface just provides the methods but the abstract class holds the attributes that I know are always going to be recycled at least in my implementations

worldly ingot
#

Then yeah, Abstract prefix on that makes sense. I'd probably do the same

#

But again, preference. Either works. It's just a name after all

young knoll
#

Tell that to X Æ A-XII

sage patio
#

how can i see what a method in an interface class does?

quaint mantle
#

Choco

#

I was about to ask you

#

How can I pull request?

#

I just found something that might be useful

#

But I'm not sure if it might get added. So, as long as it's not a LivingEntity, it's 100% possible to teleport it being a vehicle and both vehicle and passengers will get teleported

#

Once they are living entity this cannot be done

#

I got the method that works using reflection, the issue with using reflection is that it points to an obfuscated method so it might stop working in the future

#

Method is useful because there's a current issue with display entities into which their teleport interpolation doesn't work. It seems the root of the cause is because these entities have transformation and such.
But a quick fix for it is that client reverts it if the display entity is a passenger of a vehicle!

worldly ingot
#

?pr

#

?contribute

worldly ingot
#

I got it the second time around

worldly ingot
#

If you mean Bukkit's interfaces, it's all implemented by CraftBukkit and you can find their implementations on the Stash

sage patio
#

someone told me this method causes a heavy freeze and lag to your server

worldly ingot
#

Right because it has to lookup the player's skin data

sage patio
#

so what should i do

worldly ingot
#

There's not really much you can do. Pretty sure profile lookups have been at least marginally improved in modern versions

marsh crater
#
String dataFile = plugin.getDataFolder().getAbsolutePath() + "/db/" + databaseName;

        try (Connection db = DriverManager.getConnection(dataFile)) {
            if (db != null) {
                System.out.println("Created/connected to new database: " + db.getMetaData().getDriverName());

                return db;
            }
        } catch (SQLException e) {
            System.out.println(e.getMessage());
        }

This is giving me No suitable driver found for C:\Users\micha\Documents\Adagra\TestServer\plugins\AdagraPlugin\db\data.db

Shouldn't it create a new file if it doesnt exist?

#

the location is accurate, does java.sql.DriverManager need extra perms? they should be covered by the server itself no?

#

oh wait i think I need jdbc:sqlite

#

aha

simple schooner
#

Is it possible to mix a 4gb ram and a 8 gb ram?

#

I mean they have the same frequency

echo basalt
#

it is

#

you'll only have dual channel on the first 8gb

#

and the last 4gb are in single channel

smoky oak
#

i do recall that the other three values have to be the same tho

#

like voltage n stuff

#

well should

echo basalt
#

voltage barely matters

smoky oak
#

you can mix but it can cause issues 🤷

echo basalt
#

timings and frequency will default to a common point

smoky oak
#

I mean I've been getting DRIVER_NO_LESS_OR_EQUAL BSODs but it got little to do with my ram afaik

#

what does dual channel actually do tho

echo basalt
#

bandwidth

smoky oak
#

isnt the bandwidth dependent on the memory controller

#

howd sticking two ram sticks into a computer help with that

echo basalt
#

it's weird but it allows you to basically access the data in parallel

#

or well

#

Each slot is tied to a channel

#

And your motherboard's memory controller manages the memory channels

smoky oak
#

im assuming it just fragments the data across both sticks then, reducing the amount of data each has to handle?

echo basalt
#

It moved to each stick in DDR5

smoky oak
#

im on D4

#

2300 mhz 😭
i really want ddr5 ram but its so damn expensive

echo basalt
#

Basically the memory channels is what your memory controller uses to communicate with the sticks themselves

#

Certain slot configurations trigger certain channels

#

So for example if I only have Slot A & B, on a dual channel configuration, Channel 1 is for slot A and channel 2 is for slot b

#

And some channels have quicker access, which is why motherboard vendors recommend you use the further slots first or whatever

smoky oak
#

ive no idea which channel on my motherboard is which

echo basalt
#

Model?

smoky oak
#

stupid manufacturers and their idea of preventing repair lol

echo basalt
#

It's usually AABB

smoky oak
#

how can i tell?

#

remember I'm using a fairly powerful laptop, not an actual pc

echo basalt
#

Uhh how many slots u got?

smoky oak
#

2

echo basalt
#

Then yeah

#

Slot 1 runs A and slot 2 runs B

#

their names are irrelevant

#

Just know that you want to run 2 sticks of the same size

remote swallow
echo basalt
#

or yeah abab

#

idfk

smoky oak
#

i mean i could or i could leave in the exact same manufacturer, model, voltage and speed 8 and 16 sticks

echo basalt
#

I'm not a motherboard engineer

smoky oak
#

fuckin windows bloat lol

#

my OS runs slower on the 8/8 sticks

remote swallow
echo basalt
#

At the moment I run 2 mismatched sticks

#

both overclocked beyond spec

#

Works fine

#

Make sure they're the same size though

#

I gave my homie a 16gb stick, while he had 2x4

#

And he ran 1x4 + 16 and it was shit

smoky oak
#

eh like i said, the 8/16 makes mine lag less currently

#

ill grab another 16 if i get the chance

echo basalt
#

Until I bought him another 16gb stick

#

And 2x16 made his cpu faster

#

because ryzen is sensitive to memory

smoky oak
#

im on an intel cpu that can self boost from 2 to 4 ghz for some reason

#

why not run at that speed natively i dont understand

#

but yea thanks mostly to windows bloat, im faster on size mismatched memory sticks

marsh crater
lethal spruce
#

Im working on a plugin with a custom crafting recipe, this is a plugin for a bedrock and java server, when crafting this item it apears in the crafting window but when clicked it does nothing, here is the code for the item (other custom items for this recipe works fine just this armor set being weird)

       // Boots
       ItemStack InfernoBoots = new ItemStack(Material.LEATHER_BOOTS, 1);
       LeatherArmorMeta InfernoBootsMeta = (LeatherArmorMeta) InfernoBoots.getItemMeta();
       InfernoBootsMeta.addAttributeModifier(Attribute.GENERIC_ARMOR, new AttributeModifier(UUID.randomUUID(), "generic.armor", 4, AttributeModifier.Operation.ADD_NUMBER));
       InfernoBootsMeta.addAttributeModifier(Attribute.GENERIC_ARMOR_TOUGHNESS, new AttributeModifier(UUID.randomUUID(), "generic.armorToughness", 2, AttributeModifier.Operation.ADD_NUMBER));
       InfernoBootsMeta.setColor(Color.RED);
       InfernoBootsMeta.setDisplayName(ChatColor.GOLD + "Inferno Boots");
       InfernoBootsMeta.addItemFlags(ItemFlag.HIDE_ATTRIBUTES);
       InfernoBootsMeta.setUnbreakable(true);
       InfernoBoots.setItemMeta(InfernoBootsMeta);

       ShapedRecipe recipeInfernoBoots = new ShapedRecipe(new NamespacedKey(SharkSMP.getInstance(), "InfernoBoots"), InfernoBoots);
       recipeInfernoBoots.shape("BBB", "BAB", "BUB");
       recipeInfernoBoots.setIngredient('B', new RecipeChoice.ExactChoice(EBlazeRod));
       recipeInfernoBoots.setIngredient('A', new RecipeChoice.ExactChoice(EmberBoots));
       recipeInfernoBoots.setIngredient('U', new RecipeChoice.ExactChoice(InfernoCore));

       Bukkit.addRecipe(recipeInfernoBoots);
#

on testing, when changing the recipe to non custom items it worked, so its something with the custom items

echo basalt
#

I'd just use PrepareItemCraftEvent

quaint mantle
#

how does one store data for a placeable item and retain the data for the item even if the block is placed and broken?

naive loom
#

So, I made a system where you can add a system book with nbt in a slot in an anvil and a item in the other to make it so it "stat traks" the item, the system works fine producing the item, but when I go to retract the item from the inventory it doesn't move. I don't have any code cancelling any event in the entirety of my code, what's happening?

opaque scarab
#

Is there a way to override an item’s max item durability? I see you can get it, but can you set it? For example, if I want to make a pickaxe last longer without enchants?

eternal oxide
quaint mantle
#

java.lang.ClassFormatError: Illegal class name "[YOUR PACKAGE]/inventoryframework/gui/type/ChestGui" in class file me/pulsesapphire/mainscript/GUIs/OnJoinSelection/OnJoinSelectionGUI

quaint mantle
#

how do i fix that error?

#

i am using the inventory framework library.

eternal oxide
#

I'm going to guess you never inserted yoru pagkage name

quaint mantle
#

i did

#

despite the error message.

#

and clicked the reload icon.

opaque scarab
#

Is it called “[YOUR PACKAGE]” LOL?

echo basalt
#

Am I tripping or did you edit your message without it showing up as edited

#

nvm it's 5:30am I'm tripping

quaint mantle
#

?paste

undone axleBOT
quaint mantle
#

my pom.xml file.

quaint mantle
eternal oxide
#

you didn;t set yoru dependency for the framework to provided

#

as you are relocating with shade

#

probably

quaint mantle
#

i have not really done this shading stuff before, i may need a guide.

eternal oxide
#

I've not used that framework so I'm guessing

quaint mantle
#

am i compiling it wrong perhaps?

eternal oxide
#

intelij?

quaint mantle
#

yep.

eternal oxide
#

right side of screen is a maven tab, in there find lifecycle then package

quaint mantle
#

oh, i was using the compile option under the same tab.

#

it has been a while.

#

ok yep, it works now, i may have just been compiling it wrong.

lethal spruce
# echo basalt I'd just use PrepareItemCraftEvent

I have this set up but I dont think this is the correct way to do it


    @EventHandler
    public void onItemCraft(PrepareItemCraftEvent event) {
        ItemStack craftingResult = event.getInventory().getResult();
        if (craftingResult != null && craftingResult.getType() == Material.LEATHER_LEGGINGS
                && ChatColor.stripColor(craftingResult.getItemMeta().getDisplayName()).equalsIgnoreCase("Inferno Leggings")) {
            LeatherArmorMeta armorMeta = (LeatherArmorMeta) craftingResult.getItemMeta();
            armorMeta.addAttributeModifier(Attribute.GENERIC_ARMOR, new AttributeModifier(UUID.randomUUID(), "generic.armor", 7, AttributeModifier.Operation.ADD_NUMBER));
            armorMeta.addAttributeModifier(Attribute.GENERIC_ARMOR_TOUGHNESS, new AttributeModifier(UUID.randomUUID(), "generic.armorToughness", 3, AttributeModifier.Operation.ADD_NUMBER));
            armorMeta.setColor(Color.RED);
            armorMeta.setDisplayName(ChatColor.GOLD + "Inferno Leggings");
            armorMeta.addItemFlags(ItemFlag.HIDE_ATTRIBUTES);
            armorMeta.setUnbreakable(true);
            craftingResult.setItemMeta(armorMeta);
        }
    }
echo basalt
#

You can just match the recipe yknow

lethal spruce
#

like im so lost, there is like 20+ custom crafting things and this is the only ones that does not work

echo basalt
#

Anyways I'll check in a bit, having tuna for breakfast right now

orchid trout
#

breakfast = no

#

🐘

sweet sonnet
#

whats the difference between spiget and the actual spigot api

eternal oxide
#

spiget is an illegal distribution

sweet sonnet
#

?

eternal oxide
#

its illegal to distribute a compiled binary

sweet sonnet
#

where do they distribute a compiled binary

eternal oxide
#

I thought spiget distributed a sompiled jar

eternal night
#

spiget is a resource api

#

you are thinking of get bukkit

#

spiget is a helper layer on top of the API exposed for the spigot resource forums

eternal oxide
#

ah

echo basalt
#

I wonder how bad the spigot resource api must be for spiget to be a thing

lilac dagger
#

Isn't spiget a distribution site?

valid basin
#

How can I make people disable turning off fire and candles or torches?

            if (event.getClickedBlock() != null) {
                Block block = event.getClickedBlock();
                if (block.getType() == Material.FIRE) {
                    event.setCancelled(true);
                }
                Material blockMaterial = event.getClickedBlock().getType();

                // Add more blocks as needed
                if (blockMaterial == Material.CANDLE || blockMaterial == Material.LANTERN) {
                    event.setCancelled(true);
                }
            }
        }```
Interact event but doesn't work
smoky anchor
#

for the fire you would need some block break event

#

and turning off candles is with right click, not left click (that would instantly destory candles iirc)

valid basin
#

ahh right, I forgot it's right click

#

lemme try

smoky anchor
#

Also, lanters can't even be turned off with right click, only broken

charred blaze
#

bro what 💀

#

1.20.1 unsupported?

smoky anchor
#

Do you have 1.20.1 in your plugin.yml ?

#

'cause I think only 1.20 is allowed, the minor versions are not taken into account

hot panther
#

Is there a way to spawn a beacon beam?

smoky anchor
#

it is not an entity so you can't "spawn" it

sweet sonnet
#

packets?

smoky anchor
upper hazel
#

Are there any mods that adjust mouse sensitivity in pvp?

#

were

smoky anchor
#

no lol

#

that is a client setting

upper hazel
#

i need mode

smoky anchor
#

wait you mean client mod ?
Why are you asking here....

upper hazel
#

yes

smoky anchor
#

go somewhere else, this is spigot development

#

?whereami

wet breach
upper hazel
#

you say yes

#

so were

smoky anchor
#

Dude I barely know russian
I was joking since you used wrong language

wet breach
upper hazel
#

wyum

wet breach
#

Tick interval for both client and server is 20tps which if you do the math comes out to 50ms per tick

smoky anchor
#

He's asking for a client modification

upper hazel
#

this client mode

#

not plugin

quasi flint
#

?whereami

upper hazel
#

you are developers with great experience (probably) I think you have dealt with these mods

wet breach
# smoky anchor He's asking for a client modification

I am aware, but the point i am making is that a more sensitive mouse input has the restriction of 50ms, unless they are talking about the sensitivity of the hardware to register a movement in which case you need a mouse that has a higher polling rate

#

The client doesnt control how fine or slow you move or quick only that it can only process a limited amount of inputs in a given time

quasi flint
upper hazel
#

oki

wet breach
#

I am assuming they are wanting this mod so they can have a higher sensitivity without changing the hardware and this works by sending more movement inputs and basically want to be able to 360 nope scope everywhere

upper hazel
#

yes

lilac dagger
#

It could be done

smoky anchor
#

I thought they meant change the sensitivity (the one that is in options) when engaging in pvp

upper hazel
#

set up in minecraft

lilac dagger
#

Just have to change the mouse sensibility mc comes with while in combat state

upper hazel
#

a

wet breach
upper hazel
#

i mean in minecraft

#

on settings

#

not mause

lilac dagger
#

Does he want to change this from server?

#

This is only a client feature

eternal oxide
#

each tick is 50ms but clients are not limited to 50ms of actions

wet breach
eternal oxide
#

a client has built in rate limiting, but it could be overridden with a mod

wet breach
#

Yes but the server isnt going to register it at the same rate

quaint mantle
#

hi guys i have a problem my method didnt check my hashmap 1m i will send my code

eternal oxide
#

it can be done as the server has no restriction on teh number of packets it can process in a tick.

#

at least it didn;t

smoky anchor
quaint mantle
#

i did thisjava if (args[0].equalsIgnoreCase("red")) { if (args.length > 1) { sender.sendMessage(setMessage.usageMessage("/discord red")); return; } if (discord.sentUsers.containsKey(sender.getName())) { sender.sendMessage(setMessage.correctMessage("Discord eşleştirme reddedildi!")); discord.sentUsers.remove(sender.getName()); return; } sender.sendMessage(setMessage.errorMessage("Herhangi bir Discord eşleşme isteğin yok!")); } but my second if not working

#

and this is my other code

#

for put value to hashmap

wet breach
quaint mantle
#

at this my contains if working

upper hazel
#

like a mod like AI when a more optimal sensitivity and drawing distance is configured based on screen size data, on the skills of my opponents, etc.
like AI

smoky anchor
#

Yeah no, I highly doubt that exists

upper hazel
#

is expensive to order
?

wet breach
#

But i am not in support of mods that promote cheating either

mellow pebble
#

?paste

undone axleBOT
upper hazel
#

just get rid of the routine of adjusting the sensitivity

wet breach
#

To increase the amount of inputs further then what vanilla allows or would normally allow which would give you the advantage over other opponents? It sure seems like it.

mellow pebble
#

hi i need some help im making factions plugin and i have in my database collection called profiles which stores profiles and collection factions which stores factions and in my database i have key faction which has value of faction name (where player is member of that faction) and for some reason when i try to get value of faction even though it is set it returns null and i cant figure out why does it happen

https://paste.md-5.net/rumucamaha.java

There is no errors in console just to be clear neither in IDE or anywhere else so im clueless and i dont see why wouldnt it work

smoky anchor
lilac dagger
#

Wait, why not change the dpi with your mouse?

wet breach
#

But regardless i am not aware of any mods existing that do what you are asking for

upper hazel
wet breach
smoky anchor
smoky anchor
#

wait really ?

#

ok, the more I know ig :D

wet breach
#

Yes when done via software side in application its just increasing the rate at which inputs are sent or processed

#

This is historically the way sensitivity worked because you know old hardware only had one setting for mouse polling lol

#

But we have since progressed to hardware based settings which is better but not everyone has those so the setting in application remains

harsh totem
#

Is that possible to force values in a config.yml file to be some values?
For example, if the value is negative I want to return it into the default value

#

I don't want to allow certain values

wet breach
#

If you set your conditional checks appropriately definitely

drowsy helm
#

no in built way of doing it if thats what you're asking

#

would be pretty easy to implement

wet breach
#

Or you can just ignore negatives by using absolutes

#

Then it doesnt matter if its negative positive it will always treat it positive and when saved back it would be proper again

#

Without changing the number

#

Absolutes is part of the math api in java just fyi

onyx fjord
#

what are the default minecraft fonts for components?

harsh totem
#

How do I edit the config file through the code?
Like set some values to some variables in the config file

echo basalt
#

Config.set

#

Config.save

wet breach
#

I believe we have a command for to link the config tutorial

#

But i dont rememeber it lol

#

?config

eternal oxide
#

add an s

wet breach
#

?configs

undone axleBOT
wet breach
#

There we go lol

harsh totem
#

thanks

quaint mantle
# eternal oxide add an s

hi elgarl can u help me ?

i save datas to hashmap in some class and i can use hashmap methods example like remove in same class
but if i try to use methods for my hashmap in another class not working

#

i did this

#
at another class:
  DiscordEvents discord = new DiscordEvents();
  discord.sentUsers.remove(sender.getName());
        
eternal oxide
#

discord will be a new instance

quaint mantle
#
at hashmap class
public class DiscordEvents extends ListenerAdapter {
    public HashMap<String, Long> sentUsers = new HashMap<>();
#

wdym

eternal oxide
#

as you are accessing your map via discord.sentUsers, it's not a static Map

quaint mantle
#

am i need

#

static ?

eternal oxide
#

therfore every time you use new DiscordEvents() you are creating a new Map

quaint mantle
#

ahh,

#

here is the java logic

#

I'm one more year old

echo basalt
#

?di

undone axleBOT
echo basalt
#

Static bad learn oop

tender shard
echo basalt
#

Static has use cases but you must understand the concept

tender shard
#

true

quaint mantle
tender shard
#

yes

quaint mantle
#

why

#

actually

#

u guys share link

eternal oxide
#

its a Listener so shoudl only have one instance

quaint mantle
#

can i ask something ?

#

i have configmanager

eternal oxide
#

you shoudl pass that instance to where you need it not use new Dicord...

tender shard
# quaint mantle u guys share link

Many people are going crazy whenever they see the static keywoard inside some source code. That’s ridiculous, because it alleges the people who developed Java were totally stupid. It is true that the static keyword gets abused by many people, but there’s a difference between static abuse and proper use of the keywoard. What does...

quaint mantle
#

and i did static methods for get my config

#

is this bad ?

tender shard
#

TL;DR: You can declare everything as static that either describes stuff about the class itself, or that will never be changed in any object instances.

sage patio
#

how can i find source of a memory leak in my server?
the heapdump is not that clear to figure out what is it
for example it says Byte[]: 2GB

harsh totem
#

What's returned when I do Material.getMaterial("not a material"); ?
Does it return null?

echo basalt
echo basalt
#

The idea behind debugging memory leaks is to look at how many objects of a certain type rather than looking at the big numbers

#

For example, if I know I'm only running 1 minigame instance at any given time, if I see 2+ instances in the heapdump I know I have a leak there

#

I use YourKit with a weird personal license I got my boss to pay 100$ for

sage patio
#

right, this memory leak does not happen immediately after running the server, it happens ofter ~6h

#

i don't know if it is one of my plugins or not

echo basalt
#

Yeah so

#

Identify potential problems

#

Use a good debugger

sage patio
#

well i can't afford 100$ for YourKit too either

echo basalt
#

✨ free trial ✨

sage patio
#

sounds nice, thanks

echo basalt
#

You can run those inside VMs if things get desperate

tender shard
#

YourKit is free for open source projects

onyx fjord
echo basalt
#

You should also learn about some things that can easily cause memory leaks

#

Like adding stuff to collections and never removing them

#

This includes using player objects as map keys, because the object is tied to the player lifecycle and if not removed, causes duplication with new players

#

(they should just override CraftPlayer's hashcode to redirect to the uuid)

sage patio
echo basalt
#

Well

#

Identify the source

sage patio
#

Yea

sacred pasture
#
private static void blocks() {
File file = CustomItemApi.blocksFile;
Gson gson = new GsonBuilder().setPrettyPrinting().create();

if (CustomItemApi.cBlockList == null) {
        return;
}

HashMap<String, String> stringHashMap = new HashMap<>();
CustomItemApi.cBlockList.forEach((key, block) -> stringHashMap.put(key.asString(),  
        Base64.encode(block)));

try (JsonWriter writer = new JsonWriter(new FileWriter(file))){
        gson.toJson(stringHashMap, new TypeToken<HashMap<String , String>>(){}.getType(), 
            writer);
        writer.flush();

        System.out.println(stringHashMap.size());

} catch (IOException e) {
        Bukkit.getLogger().warning("Failed to save blocks");
        throw new RuntimeException(e);
}
}``` Why does this nothing? There is something in the Hashmap, it prints 1. Still, the json file is empty.
echo basalt
#

static aboose

#

Pretty sure you're not using the return value of gson.toJson

quaint mantle
#

Bruh

#

Wtf

#

Static field with camel case

quaint mantle
#

just don't use statics unless it's a constant, or instance

sacred pasture
quaint mantle
#

or util

quaint mantle
#

But honestly I like to try my best to stay away from util classes idk why

misty current
#

what's the cause of net.minecraft.server.CancelledPacketHandleException when executing a command?

echo basalt
#

Util classes shouldn't be everywhere

#

Only when you need something icky

glad prawn
#

Util but better name

smoky oak
#

i mean i'm using a util class to do all my vector math

misty current
#

there's no stacktrace under that

#

that's what puzzles me lol

tender shard
#

is it thrown from inside a runnable?

misty current
#

?paste

undone axleBOT
echo basalt
#

Only about ~3% of my classes here are util classes

misty current
echo basalt
#

And half of those are adapters I could just remove

#

Because I converted it to an interface already

tender shard
#

that should give you a proper stacktrace

smoky oak
#

whats final do in a class declaration? prevent extending it, right?

tender shard
#

yes

#

e.g. String class is final, you cannot extend it

misty current
#

also this only happens when i login, logout then log back in

#

if i execute the command once after i relog, nothing happens

#

if i execute it a second time i get the exception

tender shard
#

as said, wrap the whole method into a try/catch and print the stackTrace, then you'll get a proper stacktrace

misty current
#

yea im compiling

#

that's the only thing sent

echo basalt
#

nms time

smoky oak
#

bleh i have to do some nms soon and i aint looking forwards to it

sacred pasture
echo basalt
#

save it to the file

sacred pasture
#

it returns void

plain plaza
#

What's the way to remove a wolf's death message?
Unsetting the owner of the world during an EntityDeathEvent doesnt seem to work and event.deathMessage or event.setDeathMessage doesn't exist.

smoky oak
#

maybe cancel the death event and remove the wolf otherwise

#

iirc entity has a method that doesnt trigger deathevent

young knoll
#

Death event isn’t cancellable

#

But the damage event is

plain plaza
#

You can cancel death events?

smoky oak
#

apparantly not

#

also whats up with this description lol

plain plaza
smoky anchor
#

paper

smoky oak
#

huh

plain plaza
#

Well it's paper

#

I forgot.

smoky oak
#

?whereami

mellow pebble
#

hi i need some help im making factions plugin and i have in my database collection called profiles which stores profiles and collection factions which stores factions and in my database i have key faction which has value of faction name (where player is member of that faction) and for some reason when i try to get value of faction even though it is set it returns null and i cant figure out why does it happen

https://paste.md-5.net/rumucamaha.java

There is no errors in console just to be clear neither in IDE or anywhere else so im clueless and i dont see why wouldnt it work

echo basalt
#

ehh not a fan of that static map

#

You could use a dedicated registry class

#

I'm also not a fan of doing all the mongo stuff there

#

Single-Responsibility principle exists

#

You can also skip the entire document thing given you're using mongo and just write a codec

#

and have a PlayerData collection directly

mellow pebble
#

i want to use it this way i just cant figure out why is faction value null when it is properly gathered and written in database

echo basalt
#

no clue just debug it all ¯_(ツ)_/¯

tawdry echo
#

i wanna check if chunk contain any ProtectedRegion in themself, i need to check all of blocks one by one?

echo basalt
#

You might be able to create a CuboidRegion of the chunk's bounds and getting all the regions within that cuboid

#

No clue if worldguard's api allows for that but it might

sacred pasture
sage patio
#

the gradle is using UTF 8 by default

#

any idea?

echo basalt
#

your file itself might not

misty current
#

how can I serialize an Itemstack to a string?

worldly ingot
#

I would avoid that tbh. Does it need to be a string?

#

Because if it's for persistent storage, I would opt instead for Bukkit's object input/output streams to read/write as bytes

young knoll
#

ItemStack.toByteArray when

worldly ingot
#

It would just be a utility method that you can already do with the API

young knoll
#

It can be done with NBT directly though and skip the output stream

#

Performance!!!

#

📄

upbeat fog
#

I need some help on how to get started with a boss system. I've never done this before and I have no idea of how it works. How would you guys start?

eternal oxide
#

You start with a design document. Write out exactly what you want your boss system to do.

quaint mantle
#

onEnable is getting when server opening ?
or whenever the server is online

echo basalt
#

When your plugin enables

worldly ingot
#

:p

smoky oak
#

actually cant you switch that in plugin.yml from onEnable to onLoad ?

sterile breach
#

Hi, i make a land claiming plugin. On event like break, place etc... i need to check if the current chunk si claims. When i load theys chunks? All chunks on server start? Just load a chunk using on chunkload évent ?

echo basalt
smoky oak
#

no give me a moment

echo basalt
#

Init plugin, onLoad -> load worlds -> onEnable

smoky oak
#

dis

echo basalt
#

There is a config parameter for that

quaint mantle
echo basalt
#

Once your plugin gets unregistered, assuming no memo leaks and no static, it dies too

#

Which is fine

quaint mantle
#

can i make it static then?

lilac dagger
#

or even earlier

#

if it doesn't use the variable at all

echo basalt
lilac dagger
#

not sure how it works

echo basalt
#

What's the point

smoky oak
#

you cant make static variables in scopes that aren't a class

quaint mantle
#

so if on enable ended this will remove from memory

smoky oak
#

yea

quaint mantle
#

aight ty

#

Poinetr

#

yep?

smoky oak
#

what i tend to do is something like

class main extends JavaPlugin {
  static FileConfiguration configuration;
  @Override
  public void onLoad(){
    configuration = getConfig();
  }
}
quaint mantle
#

As far as I remember, it wont get garbage collected

quaint mantle
#

Like, yesterday I just did it

echo basalt
#

What I tend to do is just have an "AbstractConfiguration" class that you extend and pass filename and plugin

#

And it has getters n shit

quaint mantle
#

Instead of making ConfigManager an attribute/field of JavaPlugin, I made it inside onEnable scope

#

No issues!

echo basalt
#

And I just have references to these configuration classes on my plugin

quaint mantle
#

I keep everything in something called ManagerDirector

echo basalt
#

weird name

quaint mantle
#

Then just open ManagerDirector in JavaPlugin

lilac dagger
#

you could name it director

quaint mantle
#

ManagerDirector holds ConfigManager

echo basalt
#

name it Relay or something

lilac dagger
#

ConfigDirector

echo basalt
#

Anyways for multi-platformizing this system

quaint mantle
#

I called it ManagerDirector because there’s an object called ObjectDirector

echo basalt
#

It's really not that hard

quaint mantle
#

It’s for serializable objects

#

So an ObjectDirector has an ObjectManager and an ObjectBuilder

echo basalt
#

all of this to load a config

#

seems like a weird structure

quaint mantle
#

I think it’s just weird naming

echo basalt
#

Anyways

quaint mantle
#

Algorithm is the best

echo basalt
#

pro tip: make a Reloadable interface for reloading your plugin stuff

quaint mantle
#

I did

echo basalt
#

instead of a method that manually does it

errant narwhal
#

hey

quaint mantle
#

There’s even methods for proxying the ManagerDirector

errant narwhal
#

what happend with bukkit downloading page?

quaint mantle
#

Because BlobPlugin (extends JavaPlugin) needs to expose getManagerDirector

echo basalt
#

Who's the idiot flashing their schnitzel

echo basalt
errant narwhal
#

i don't think it illegal

quaint mantle
echo basalt
#

It's literally illegaly distributing copyrighted code

hazy parrot
#

You don't have to think, it is

echo basalt
#

Want to get spigot? run buildtools

quaint mantle
#

You are meant to build with buildtools

tribal quarry
errant narwhal
#

can you help me download bukkit craftbukkit1.19.4 plase

quaint mantle
#

Just because they are not getting DMCAed doesn’t means its legal

hazy parrot
quaint mantle
#

tribal quarry
#

schnitzels schnitzel

quaint mantle
#

Download spigot in the worst scenario

hazy parrot
#

?bt

undone axleBOT
echo basalt
#

I should stop drinking red bull my neck is twitching

errant narwhal
#

uhhh i am the craftbukkit lover XD

quaint mantle
#

I think TinkersMC is an oh

#

Og*

echo basalt
#

aren't we all

young knoll
#

I wonder how many plugins just won’t run on cb

#

Since it doesn’t have the bungee chat api

echo basalt
#

try them all

quaint mantle
echo basalt
#

challenge: make an auto downloader

#

that automatically renames plugins

#

or whatevr

#

and let's try running 65k plugins

errant narwhal
quaint mantle
#

Dude

#

This is help development

#

Not help server

mellow edge
#

API for folia is the same as spigot?

echo basalt
#

some changes

#

Mostly for schedulers

#

There's a wrapper that you can migrate to support both

mellow edge
#

nice

#

thanks

smoky oak
#

hey Illusion wish me luck, im about to swap my ram stick

echo basalt
#

it's literally a ram stick

smoky oak
#

you dont know my luck

echo basalt
#

I'm starting to feel like I'm a local celebrity in this server

smoky oak
#

nah youre just some dude with a pink name :D

grizzled oasis
#

I notest something strange
https://paste.md-5.net/secuvukupi.cs
If i equip the item it doesn't get called the first event (EquipAction)
But if i unequipped the item it gets called together

So they can nullify each other, any fix
(i tried making the itemstack into getting the newSlot)

grizzled oasis
smoky oak
#

tbh most of this is coz he advised me earlier

grizzled oasis
echo basalt
#

Extract common code to a separate method

#

You have duplicate code

grizzled oasis
echo basalt
#

Grab this, make a separate method

grizzled oasis
echo basalt
#

Can't bother actually understanding it

grizzled oasis
echo basalt
#

something tells me it has something to do with how they're both the same event type

grizzled oasis
echo basalt
#

eh

grizzled oasis
#

so this is what i did

sage patio
#

when you compile the same code again and hope it works ^

grizzled oasis
echo basalt
#

weak

#

ran my CPU at 120 degrees, barely shut down

sage patio
#

32gb of ram and a R5 3600
i just clicked on gradle jar 💀

grizzled oasis
#

so illusion about the unequipping problem

echo basalt
#

hey look we have the same gpu

grizzled oasis
sage patio
echo basalt
sage patio
grizzled oasis
echo basalt
#

I'm not a win11 user

grizzled oasis
echo basalt
#

rocking win10 pro with a key I bought on ebay for 2$

grizzled oasis
#

wtf

sage patio
#

why its 55c in ~idle? 🤔

sage patio
echo basalt
#

nah

#

I have it on my laptop

#

win10 feels like home

smoky oak
#

win 11 is stupid

#

so many drivers broke

echo basalt
#

I was bothered it didn't let me drag files into the taskbar

sage patio
echo basalt
#

across apps

tall dragon
echo basalt
#

for like 2 years

grizzled oasis
#

win11 i see has more performance about gaming don't know how with my 3070 ti it works fantastic and it boot even more faster than win10

tall dragon
#

😂

sage patio
echo basalt
tall dragon
echo basalt
#

and I don't speak to them

tall dragon
#

gotta hustle!

echo basalt
#

That's what I've been doing since I was 12

#

I'm happy to be where I am :)

#

I don't need a 7900xtx

tall dragon
#

fair enough

#

i like to play some heavy games

#

hence i did want it

echo basalt
#

I literally make minecraft plugins all day

sage patio
echo basalt
#

and play apex soemtimes

#

hmm plugin idea I had today

#

tycoon creator

tall dragon
#

yeaa u defo dont need a too powerfull gpu for those

echo basalt
#

Lets server owners create their own tycoon

#

name their own currency

#

gui-based

sage patio
echo basalt
#

7,5$

tall dragon
#

thats a great idea

#

and also

#

a lot of work

echo basalt
#

:/

#

I want to get a 4k for coding

#

but I'm not gonna drop 2k on a gpu

sage patio
echo basalt
#

I got better things to waste my money on

sage patio
#

lol

echo basalt
#

Like renting an apartment for a week immediately after an international trip thumbsup

tall dragon
#

i wanted to get one of those sick oled monitors

tall dragon
#

but then i saw they are like 1k

echo basalt
#

web summit's like 2 weeks after my planned trip to the states

#

and I got free dev tickets so might as well go there

#

It's like 2 hours away but eh

grizzled oasis
echo basalt
#

y'all have too much money

tall dragon
#

yea i hear the colors are soo good

echo basalt
#

why would I get an oled 4k monitor if my eye barely does 144p

#

(I'm blind as shit)

grizzled oasis
# tall dragon yea i hear the colors are soo good

my first game with my computer was dl2 with rtx at max, the first scene was AMAZING light effect after i couldn't play games even mc, i saw the color of life can't explain the feeling (my monitor is HD)

sage patio
echo basalt
#

something like that

tall dragon
#

impossible

#

haha

eternal oxide
#

1440p or you are going to have a really bad experience

echo basalt
#

1440p is nice for coding

#

I bet 4k is even nicer

#

until then

#

I work with what I have

tall dragon
#

any1 have a good recommendation for a 1440p monitor?

#

im still looking for one

echo basalt
#

I just use whatever lg ultragear was cheap

sage patio
tall dragon
#

looks like it is

grizzled oasis
smoky oak
echo basalt
#

get a bigger screen

sage patio
#

144Hz overclockable to 165

tall dragon
#

eh 144 is probably fine for me

#

but it does look like a solid monitor indeed

grizzled oasis
#

now waiting for getting 32GB of ddr5 or a NVME for 1TB (but don't know)

echo basalt
#

all of my monitors are 144hz

#

because they're cheap

#

it's like 20$ more

sage patio
echo basalt
#

well

smoky oak
#

arent all monitors HD nowadays?

echo basalt
#

You'll get to this point eventually

#

I used a shitty laptop with a 768p screen, 1tb HDD and 4gb ram

#

for like..

#

6 years?

sage patio
echo basalt
#

Did like 4 years of java on it

sage patio
#

when you compile something, this happenes

tall dragon
#

oh yea i used to code on a laptop as well

grizzled oasis
echo basalt
tall dragon
#

intellij takes like 20 seconds to open the project lmao

sage patio
#

then 1440p is fine what do you want

grizzled oasis
echo basalt
#

you can't see half your own lines

echo basalt
#

I sold everything I had and slowly built my pc over the course of like 3 months

tall dragon
sage patio
echo basalt
#

my grandma would give me birthday money and I'd buy a motherboard

tall dragon
#

intellij opens in does all its shit in legit like 3 seconds

grizzled oasis
echo basalt
#

anyways I managed to build the entire pc except I forgot 1 thing

grizzled oasis
echo basalt
#

where the monitor at

#

so I used a tv I had

#

broken chair

tall dragon
#

perfection!

grizzled oasis
echo basalt
#

book on lap

#

keyboard on top

tall dragon
#

lmfao

echo basalt
#

did a lot of coding like that

tall dragon
#

i used to sit on a folding chair XD

echo basalt
#

and because I was still like a 10th grader I'd use my school laptop under the sheets

#

at night

sage patio
echo basalt
sage patio
#

even more

sage patio
#

wth

echo basalt
#

would I enjoy having a mouse that middle-clicked? yes

#

did I need it? no

tall dragon
#

louder keyboard makes you a better programmer right?

echo basalt
#

uh no

#

cheaper keyboard does

echo basalt
#

but yeah over the years I've been improving my entire setup

tall dragon
#

yeaa same

echo basalt
#

went from a shitty tiny 10 year old desk to a 30$ ikea desk

#

and when it went from a _ to a U

#

I just bought a wood slab and built my own

tall dragon
#

no idea what my desk would cost. i build it myself

#

since my dayjob is cnc operator

echo basalt
#

Monitor arms are underrated y'all

tall dragon
#

very convenient

echo basalt
#

I used to occupy 70% of my desk with just the monitor stands and shoeboxes to lift them

#

Now they free up space to have chicken nuggets

tall dragon
#

yea monitor stand frees up so much space

sage patio
#

i turned the development help into a computer topic with an image of blue screen lol

echo basalt
#

well

#

¯_(ツ)_/¯

sage patio
#

its help for better development

#

right?

echo basalt
#

Just sharing my experience

#

Never had a "real" job

#

Turned 18 this year

tall dragon
#

time to get to work then eh pepepopcorn

sage patio
#

yea me too

echo basalt
#

rip

wet breach
#

work is over rated

echo basalt
#

yeah

#

just make plugins

wet breach
#

make a business and sell it for millions

grizzled oasis
#

nah dude still suffering of fixing this fucking Unequip

grizzled oasis
wet breach
#

even millionaires have dumb ones, just got to find them is all 🙂

tall dragon
#
    @EventHandler(priority = EventPriority.HIGHEST, ignoreCancelled = true)
    public void onItemHold(final PlayerItemHeldEvent event) {
        final Player player = event.getPlayer();
        if (!player.hasPermission("annihilationx.staff.editupdate")) return;
        PlayerInventory inventory = player.getInventory();

        Optional<ActivePlayer> optional = this.profileModule.getCachedProfile(player.getUniqueId());
        if (!optional.isPresent()) return;
        ActivePlayer activePlayer = optional.get();

        ICustomItem current = getCustomItem(inventory.getItem(event.getNewSlot()));
        ICustomItem previous = getCustomItem(inventory.getItem(event.getPreviousSlot()));

        if (current != null) {
            if (previous != null) {
                if (previous.equals(current)) return;
                previous.onHotbarUnfocus(activePlayer, event);
            }
            current.onHotbarFocus(activePlayer, event);
        } else if (previous != null) previous.onHotbarUnfocus(activePlayer, event);
    }

maybe this helps you?

onyx fjord
onyx fjord
#

appearance settings

sage patio
#

ow, nice

#

thanks

onyx fjord
#

you might also wanna set this registry key

#

6 gives you 50% less indent on the file tree

#

intelli'j small indent has value of 1

#

which is for me too small

#

6 is perfect

sage patio
#

the space like new line for files?

onyx fjord
sage patio
#

here

#

yea

#

i was looking for that

#

nice

#

where is that option

onyx fjord
#

double tap shift

#

type registry and enter

tall dragon
#

for me thats set to -1

#

for some reason

onyx fjord
tall dragon
#

ah i see

onyx fjord
#

this changes the value to 1

tall dragon
#

yea thats actually nice on 6

onyx fjord
#

so 10 less

#

mine is set to 6

#

i also have this disabled

sage patio
#

nice

#

now the project files are not the half of the screen

#

thanks

onyx fjord
#

it removes the sometimes ultra long path

#

i did a ton of research on it lol

grizzled oasis
sage patio
#

what is this

#

makes line numbers this long

#

or this, is this one configurate able too?

tall dragon
#

u should be checking if the old item was a pickaxe i guess

onyx fjord
grizzled oasis
sage patio
#

the space before the new lines

onyx fjord
#

yeah

sage patio
onyx fjord
#

generally 4 is standard

sage patio
#

what about the first one?

grizzled oasis
onyx fjord
sage patio
#

can i hide them?

onyx fjord
#

theyre useful tho

sage patio
#

not for me

onyx fjord
#

probably

#

lemme see

onyx fjord
#

@sage patio

#

you can either disable all or some

tall dragon
#

u should be using the old item there no?

grizzled oasis
sage patio
grizzled oasis
# tall dragon

and now they call each other so equip and unequip at the same time

onyx fjord
#

tags are rly useful i only found out recently

#

that they exist

tall dragon
#

even if its just for consistency

grizzled oasis
shadow night
#

Hey, I have a custom event that gets called in certain conditions from other events. If I implement cancellable, how would I need to make it cancel the initial event? Or is that automatic or something?

tall dragon
#

no you'd see if your custom event was cancelled wherever ur calling it

#

and cancel the initial event if thats the case

shadow night
#

Hmm, okay

topaz panther
#

What Disk space do you guys recommend for around 20 or less plugin and 10-20 player base?

orchid trout
#

if all the plugins are empty and the players have to survive in a void then you only need a few gigabytes

pseudo hazel
#

lol

topaz panther
#

Also is it against some rules maybe to store player info(s) like IPs?

smoky oak
#

clearly not coz i got banned for that on a server once

topaz panther
#

Okay

tall dragon
#

dont think its against any rules to store them but rather frowned upon if you don't have a good reason to do so.

topaz panther
#

so i want to determine a Player Timezone or soemthing like that

tall dragon
#

fair enough

smoky oak
#

cant you just ping their ip with a time request?

topaz panther
quaint mantle
#

ty

#

well btw

#

how can i get plugin without static?

undone axleBOT
lilac dagger
#

i'm ready to upgrade my config manager 😄

quaint mantle
#

for custom configs am i need statics ?

lilac dagger
#

with generics

remote swallow
#

nope

quaint mantle
#

bro idk my brain fcd*

quaint mantle
remote swallow
#

what with

quaint mantle
#

well i will tell now

#

i have configmanager class and i need get Plugin class for do this

remote swallow
#

use di

quaint mantle
#

well i will do and after i show something

#

brb

quaint mantle
#

now how can i use my configmanager in my database class ?

remote swallow
#

why do you need a config manager

#

use JavaPlugin#getConfig

quaint mantle
#

well this is bungee

remote swallow
#

keep an instance of the config manager in ur main class and have a getter for it

quaint mantle
#

and i need create config files

#

wdym for that idk

#

can u give me any guide for this ?=

#

helps me understand better

remote swallow
#

private ConfigManager configManager;

Set it on enable

#

then write a getter

#

its basic java

remote swallow
#

good fookin lawd

#

quiltflower is good

#

i found a plugin to replace fernflower decompiler in intellij and now the material class doesnt just die

lunar wigeon
onyx fjord
remote swallow
#

true

slender elbow
#

yeah the reason intellij tries to decompile and kills itself is because it doesn't have sources attached, so it tries to generate them instead

remote swallow
silver robin
#

are Block objects mutable and reused?
if i .getBlock() somewhere and then store that object, and in the meantime the block changes, if i use the previous block object does it have new or old block data?

smoky oak
#

this is going to sound very specific, but can i send an email without having an email address?

#

i cant think of a better way to send a status update right now

smoky oak
#

alright let me specify

#

I have a string representing data and i need some way to guarantee I'll get that data. I would like to do that without having to rely on other, software, and would like to get that data without having to run a 24/7 server somewhere

pseudo hazel
#

who would receive the email

smoky oak
#

depends on the data? I might need this later, so I'm trying to figure this out rn

pseudo hazel
#

oh right

#

well just make like a noreply email

#

the email has to come from somewhere

shadow night
#

You can't just send an email from the nothing

smoky oak
#

well with how you can host your own email servers, i am fairly sure you can

shadow night
#

If that was possible you'd get tons of spam mail

pseudo hazel
#

yes but it would still be sent from an email, even if its like a temporary one or no reply one

#

the sender is required to send an email

smoky oak
#

I mean if i can spoof the protocol it would look as if there's a proper email address behind it

#

the annoyance i have with that is the reliance on outside services

pseudo hazel
#

like what

silver robin
#

If you can host your own email servers why don't you host an actual server? it doesn't have to be http(s) of course, and every cheap vps provider will offer you a port within the four digit range

mellow pebble
#

?paste

undone axleBOT
mellow pebble
smoky oak
#

whats your version? there's a spigot method for that in modern ones

smoky oak
pseudo hazel
#

does it need to be a packet for some reason?

mellow pebble
mellow pebble
mellow pebble
#

personal preference

slender elbow
#

im forced to do so
personal preference
🤔

tender shard
remote swallow
#

my intellij doesnt like to download spigot soures

slender elbow
#

maven?

tender shard
mellow pebble
tender shard
#

pvp is bette ron old versions? From what I know pvp in 1.8 is just spam clicking and requires absolutely no skill at all

remote swallow
mellow pebble
shadow night
#

It's hard to explain 1.8 pvp, but it requires lots of skill

tender shard
#

and 1.9+ does not require the above mentioned things?

shadow night
#

I don't see people W-tapping in 1.9 lol

tender shard
#

idk I haven't seen any 1.9 server since 1.10 came out

quaint mantle
mellow pebble
shadow night
#

W-tapping is a 1.8- only thing, as it's needed for combos for better knockback

quaint mantle
mellow pebble
tender shard
quaint mantle
#

i guys said about static abuse

remote swallow
#

most stuff shouldnt need static

tender shard
#

idk your english is hard to understand

quaint mantle
# remote swallow most stuff shouldnt need static

am i do this ?i mean am i use static for hikari ?

public class DataSource {

    private static HikariConfig config = new HikariConfig();
    private static HikariDataSource ds;

    static {
        config.setJdbcUrl( "jdbc_url" );
        config.setUsername( "database_username" );
        config.setPassword( "database_password" );
        config.addDataSourceProperty( "cachePrepStmts" , "true" );
        config.addDataSourceProperty( "prepStmtCacheSize" , "250" );
        config.addDataSourceProperty( "prepStmtCacheSqlLimit" , "2048" );
        ds = new HikariDataSource( config );
    }

    private DataSource() {}

    public static Connection getConnection() throws SQLException {
        return ds.getConnection();
    }
}```
remote swallow
#

no

#

use instances

#

if you really cant pass an instance around make a singleton

shadow night
#

Whats a singleton

remote swallow
#

public class MySingleton {
    private static final MySingleton INSTANCE = new MySingleton();

    public void doSomething() {
      
    }


    public static MySingleton getInstance() {
        return INSTANCE;
    }
}
shadow night
#

Ah, that thing, didn't know that's called a singletone

ivory sleet
#

the canonical definition is a class with one instance which has a global access point

wet breach
ivory sleet
#

but there are many derivations of it

wet breach
#

if there is ever only 1 instance of something and not expected to go away using static is acceptable

remote swallow
#

that is static but not how you are using static

remote swallow
quaint mantle
#

am i do this ?

remote swallow
#

sure

tender shard
remote swallow
#

couldnt be bothered to write that stuff too

quaint mantle
#

brb

#

why i do this btw ?

remote swallow
#

to set the instance

#

if you dont plugin is null

quaint mantle
#

well i have configmanager

#

i was ask you

#

but i don't understand

#

get my config for use in my hikari.class

#

i need get file in config manager

#

i mean if i do this i didnt get my true configfile

#

1m

remote swallow
#

keep an instance of it in your main class and get the main class instance then get the hikari class or make the hikari class a singleton too

quaint mantle
remote swallow
#

is that the only place you need your config

quaint mantle
#

yes

remote swallow
#

thats fine then

quaint mantle
#

but not working

#
    at java.base/java.io.FileInputStream.<init>(FileInputStream.java:149)
    at net.md_5.bungee.config.YamlConfiguration.load(YamlConfiguration.java:78)
    at net.md_5.bungee.config.YamlConfiguration.load(YamlConfiguration.java:72)
    at me.vasir.manacore.configuration.ConfigManager.getConfig(ConfigManager.java:40)
    at me.vasir.manacore.storage.HikariCP.<init>(HikariCP.java:18)
    at me.vasir.manacore.ManaCore.onEnable(ManaCore.java:29)
    at net.md_5.bungee.api.plugin.PluginManager.enablePlugins(PluginManager.java:266)
    at net.md_5.bungee.BungeeCord.start(BungeeCord.java:295)
    at net.md_5.bungee.BungeeCordLauncher.main(BungeeCordLauncher.java:67)
    at net.md_5.bungee.Bootstrap.main(Bootstrap.java:15)```
remote swallow
#

?paste the full error and ConfigManager

undone axleBOT
quaint mantle
remote swallow
#

this is wrong, you currently load the file every single time you want 1 value

quaint mantle
#

and this is my

#

hikari

remote swallow
#

this is also wrong

remote swallow
#

no you arent

#

its here 3 times by iteself

quaint mantle
#

i mean my getConfig only works on here

remote swallow
#

you use the getConfig 3 times

quaint mantle
#

yes this working only in onEnable

#

ahh

#

u right

#

but what u prefer for my mistakes ?

remote swallow
#

learning java mostly

quaint mantle
#

😦

quaint mantle
#

i copypaste this

#

😄

lilac dagger
remote swallow
#

it doesnt

#

thats their getConfig

lilac dagger
#

Oh

lilac dagger
#

i never used it more than once but it would've been a weird choice if it was a thing

wet breach
#

indeed lol

uneven granite
#

היי.

remote swallow
#

anyone know why a collumn that is auto increment in sqlite returns sql null if its queried?

opal juniper
#

what is the query

remote swallow
#

"SELECT * FROM 'islands' WHERE 'uuid' = ?;"

#

it was select id from but for some reason that column didnt exist

opal juniper
#

what’s your table statement

remote swallow
#
String islandsTable = """
                CREATE TABLE IF NOT EXISTS 'islands' (
                  'id' integer PRIMARY KEY AUTOINCREMENT,
                  'UUID' char(36),
                  'name' varchar(50),
                  'x' integer,
                  'y' integer,
                  'z' integer
                );
                """;