#help-development

1 messages · Page 87 of 1

tardy delta
#

the server doesnt even crash lmao

iron glade
#

and this please^

agile anvil
#

NPE dodging

acoustic pendant
grim ice
#

so um, I had this bug with minecraft where any versions 1.18 and above would freeze every 1 second, meaning the graph would be some thing like this:
300 -> 1 - 250 -> 1..etc
so well i used some jvm args i got recommended which ill send later,
and that fixed it, however after 3 days the bug is back, but i realized something, when the bug was fixed i had 2gb allocated and it was using 2.7gb, but when the bug still existed it was using 2gb flat, so i thought maybe that was the problem, i just tried allocating 3gb or 4gb and no luck.
the jvm args are here: https://pastebin.com/3mK9yZFf

#

repost!

tardy delta
#

very weird server you have

acoustic pendant
#

And i don't think this event is the problem

acoustic pendant
agile anvil
acoustic pendant
#

It's some guy host not mine

grim ice
#

it got flooded in approximately 2 seconds

iron glade
#

yeah ngl i've seen that message now like 10 times

grim ice
#

i dont think it's considered spam if you only see it for a few milliseconds

iron glade
#

I don't think it's up to you what other people consider as spam

grim ice
#

too bad then

agile anvil
iron glade
#

didn't you have a thread about that already?

grim ice
#

no

tardy delta
agile anvil
grim ice
#

what is the guy trying to do?

iron glade
# grim ice no

create one and I'll try to help you there so we finally get this fixed :d

tardy delta
grim ice
#

it's generally okay to use player names

#

if it's not persistent data

#

a bug that no one has ever had in minecraft

acoustic pendant
tardy delta
#

comparing string would have to loop thro the whole string where UUID::equals just checks two longs

tardy delta
#

if you dont know what your coding makes sense that the server crashes then

iron glade
tardy delta
#

yes

iron glade
#

should have a look at that then

grim ice
#

just compares

#

the msb and lsb

tardy delta
#

thats what i say

grim ice
#

but the difference is extremely little

#

it barely matters

tardy delta
#

theres no need to use strings lol

#

so generally people decided to use an uuid

shadow zinc
#

I got a project which I tried to make an additional module for older mc versions. Then I am meant to get the version wrapper by doing return (ItemVersionWrapper) Class.forName(getClass().getPackage().getName() + ".Wrapper" + serverVersion).getDeclaredConstructor().newInstance(); However its not finding the class

marble copper
#

smth happened to my spigot account all my purhcased resources are gone except 2

shadow zinc
#

anyways for my issue, if its legacy then its meant to find WrapperLEGACY

#

however, I'm not sure how I find that class when there are in different locations

quaint mantle
#

I don't think this is the right channel for this, and I don't even think advertising is allowed

reef lagoon
#

Yes, I check for inventory name. :giga_chad:

young knoll
#

D:

tardy delta
#

first ChatColor toString

#

naming conventions gone too

scarlet creek
#

I'm trying to add multiple enchants but it is giving me the error cannot set already-set enchantment. It was working before and I'm not sure what happened.

    public static final Enchantment TNTSHOOTER = new EnchantmentWrapper("tntshooter", "TNT Shooter", 1);
    public static final Enchantment VORTEX = new EnchantmentWrapper("vortex", "Vortex", 1);

    public static void register(){
        boolean registered_tnt = Arrays.stream(Enchantment.values()).collect(Collectors.toList()).contains(TNTSHOOTER);
        boolean registered_vortex = Arrays.stream(Enchantment.values()).collect(Collectors.toList()).contains(VORTEX);

        if (!registered_tnt){
            registerEnchantment(TNTSHOOTER);
        }
        if (!registered_vortex){
            registerEnchantment(VORTEX);
        }
    }

    public static void registerEnchantment(Enchantment enchantment){
        boolean registered = true;
        try {
            Field f = Enchantment.class.getDeclaredField("acceptingNew");
            f.setAccessible(true);
            f.set(null, true);
            Enchantment.registerEnchantment(enchantment);
        }
        catch (Exception e){
            registered = false;
            e.printStackTrace();
        }
        if (registered){
            System.out.println("REGISTERED: " + enchantment);
        }
    }
}

As far as I am aware the tutorials I looked at call the register method every time the server starts or reloads which then registers the enchants

iron glade
#

which version are you coding against?

scarlet creek
iron glade
#

yes

scarlet creek
#

1.19.2

tardy delta
#

if its already set its already set, makes sense no?

iron glade
#

Couldn't you just add a check to only set it if it's not already set?

scarlet creek
#

You mean the if(!registered) part?

golden turret
#

do java if (Enchantment.getByKey(YOUR_KEY) != null) return;

quiet ice
#

Why am I the only one to have a plugin that adds new enchantments but doesn't register them?

golden turret
#

?

quiet ice
#

Everyone registers their enchantments to bukkit even though that process isn't strictly needed

golden turret
#

methods like Enchantment.get... will not return the enchantment

scarlet creek
golden turret
#

yes

scarlet creek
scarlet creek
#

Ah thanks

torn shuttle
#

feature creep strikes again

#

I now have a monstrosity in my hands once again

#

my simple config creation tool is officially no longer simple at all, it went from requiring a fileconfiguration a key and a value to set a string to now also requiring the file, if the string is translatable and now I'm trying to figure out how to inject inline/multiline comments on top of that

#

and also somehow it got split up in two parts so there's also that

eternal night
#

You are creating a new instance of your main class somewhere

#

You cannot do that

quiet ice
#

The issue is in the ClearChat class

eternal night
#

^

quiet ice
#

In there you have a line (line 10) that has new Aqualand()

#

no

eternal night
#

Oh

#

Lol

#

Yea you cannot extend java plugin twice

quiet ice
#

remove the extends JavaPlugin

onyx fjord
#

static ig?

#

thats what i always did

eternal night
#

Wat

#

Oh, that wooshed

#

XD

onyx fjord
#

i mean like

quiet ice
onyx fjord
#

😖

#

tf dat

eternal night
#

^^ your main class basically just constructs your actual main

quiet ice
#

The issue only applies when using bukkit's plugin loading logic - but if you do it yourself you do not have this issue

eternal night
#

And delegates the onEnable and onDisable

onyx fjord
#

so

#

bootstrap has all the listener registering crap and shit

#

and main just calls bootstrap methods?

eternal night
#

Well no bootstrap configures your DI

#

In guice you'd register bindings etc

#

Then bootstrap (which extends JavaPlugin) creates your actual main class (which does not extend java plugin tho)

onyx fjord
#

sounds like oop

eternal night
#

Using the DI framework

#

Well yes

#

Obviously it's Oop XD

onyx fjord
#

oop is a load of buzzwords

#

embrance public static

eternal night
quiet ice
#

I eventually want to create a wrapper around bukkit that only uses Object and primitives

golden turret
#

a

onyx fjord
#

at least int is not an object

#

thank god

eternal night
#

Well in java 20 the gods will descend from heaven

#

And give you primitive types

onyx fjord
#

var ❤️

quiet ice
#

Although I have discovered that mixins are viable in bukkit space so it will only use Object and primitives at runtime

onyx fjord
#

isnt var just like js var

quiet ice
#

No, var is basically a placeholder

onyx fjord
#

ye

quiet ice
#

the compiler (javac) will guess what type you mean

onyx fjord
#

so variable with no type

#

or dynamic type

eternal night
#

No

quiet ice
#

Neither

eternal night
#

It's still a static type

onyx fjord
#

what

quiet ice
#

As I said, just a placeholder

#

You cannot redefine the type later on

#

The type will be guessed by the compiler from the INITIAL ASSIGNMENT

#

Future assignments are ignored

#

I believe so at least

onyx fjord
#

i feel urge to learn scala

quiet ice
golden turret
#

var is for the weaks who dont like to write the ObjectFactoryAndWrapper oaaw = ...

onyx fjord
#

u know this feeling when u jump to kotlin project

#

and you wanna use getters

#

wow what an unusual variable naming

echo basalt
#

why do I hate this do much

onyx fjord
#

it looks like object oriented css syntax

#

yes its a thing and i truly hate it

flint coyote
#

help with what?

iron glade
#

start by not naming your variables Survival_meta

vocal cloud
#

Your issue is your variable names aren't camel case

iron glade
#

I'm only recently very active here, have people here always been using bad naming?

vocal cloud
#

Rarely. Most questions are answered through simple docs searches

iron glade
#

wdym how to set slot?

#

you are already setting it to slot 12

flint coyote
#

nah I just stopped bothering about teaching best pratices. I just wonder where people learned them

#

Or like learned to do it the wrong way

iron glade
#

from people not knowing stuff themselves

flint coyote
#

But there's soo many good tutorials for java out there :(

iron glade
#

have a look at coding with john

#

this dude is awesome

#
scarlet creek
#

Perhaps you want to send the rest of the code?

#

It might be a problem with your serverselector inventory

ivory sleet
iron glade
#
ItemStack[] menu_items = {Survival, Skyblock, Oneblock};
            serverselector.setContents(menu_items);
            player.openInventory(serverselector);```
#

this will just set them to the first empty slots iirc

#

why are you even adding that when you are setting the slots manually earlier

hybrid spoke
#

you literally have it and then overwrite it

iron glade
#

indeed

#

yup

#

and please refactor all those variable names

#

registered the command?

#

and added to plugin.yml

hazy parrot
#

Also you can use singleton list instead of 1 entry array list ^

iron glade
#

show how you registered it

#

do you still open the inventory to the player

#

shouldn't remove that line in case you done that

grim ice
fringe hemlock
#

Am I suppose to register like this? Because usually I do a dependency injection and register the class as a command/listener in the class constructor, so my main class is just “new Class(this);”

magic wigeon
#

Hey guys, just wonering if anyone would have an idea how to create some kind of scientists like they are in the game "Rust"... Basicly they sould be npcs (or an minecart or something like that). They should stay in a fixed location and you cannot move them. They should also shoot arrows and rotate to a players direction and detect them in a specific radius?

hazy parrot
fringe hemlock
#

Ok thank you!

iron glade
#

Can't really help with the amount of code you sent

#

also seems kinda weird that you have to use speed twice

tender shard
#

"this.x" looks like you wanna walk to your current location?

#

also what did you set "speed" to?

#

what kind of entity is it?

#

okay i'll try something

hybrid spoke
#

does someone here has an installer for github source?

tender shard
#

oh wait, did you only override the start() method?

#

nothing else?

#

try to do nothing in start(), and only do getNavigation().moveTo(x,y,z,3); in the tick() method

#

just to see whether it works at all

hasty prawn
#

The speed seems high

#

Try like 0.3 or 0.4

tender shard
#

it works perfectly

scarlet creek
#

I need help with this again, I am trying to register multiple custom enchantments but I keep getting the error cannot set already-set enchantment

Code:


    public static final Enchantment TNTSHOOTER = new EnchantmentWrapper("tntshooter", "TNT Shooter", 1);
    public static final Enchantment VORTEX = new EnchantmentWrapper("vortex", "Vortex", 1);

    public static void register(){
        System.out.println(Arrays.stream(Enchantment.values()).collect(Collectors.toList()));
        boolean registered = Arrays.stream(Enchantment.values()).collect(Collectors.toList()).contains(VORTEX);

        if (!registered){
            System.out.println("IT IS NOT REGISTERED!!!");;
        }
    }

    public static void registerEnchantment(Enchantment enchantment){
        boolean registered = true;
        try {
            Field f = Enchantment.class.getDeclaredField("acceptingNew");
            f.setAccessible(true);
            f.set(null, true);
            Enchantment.registerEnchantment(enchantment);
        }
        catch (Exception e){
            registered = false;
            e.printStackTrace();
        }
        if (registered){
            System.out.println("REGISTERED: " + enchantment);
        }
    }
}

I am not sure why it is giving me the error when I put registerEnchantments(VORTEX) in `if (!registred){
}

tender shard
tender shard
#

I just removed all goals and targets, and then added one target that just does moveTo(closestPlayer) itn he tick() method

#

no

#

print out the results of all your methods

scarlet creek
tender shard
#

e.g. canuse -> true, false

#

whether start or stop runs(), whether tick runs(), etc

#

I'm currently really only doing moveTo(closestPlayer) and that works fine, so it must be sth wrong with your logic itself

    @Override
    public boolean onCommand(CommandSender sender, Command command, String label, String[] args) {
        JeffLib.enableNMS();
        Player player = (Player) sender;
        Blaze blaze = (Blaze) player.getWorld().spawnEntity(player.getLocation(), EntityType.BLAZE);
        EntityUtils.getGoalSelector(blaze).removeAllGoals();
        EntityUtils.getTargetSelector(blaze).removeAllGoals();
        EntityUtils.getGoalSelector(blaze).addGoal(new CustomGoal(blaze) {

            @Override
            public boolean canUse() {
                return true;
            }

            @Override
            public void tick() {
                Player target = EntityUtils.getClosestPlayer(blaze);
                getNavigation().moveTo(target,3);
            }
        }, 0);
        return true;
    }
scarlet creek
tender shard
#

np! Mind explaining what the problem was?

chrome beacon
#

nvm

#

am blind

#

Make sure you're not reloading the server

scarlet creek
#

Why?

tender shard
#

because you'd register the enchantment twice then

#

just ignore the exception in your try/catch

#

or don't reload

scarlet creek
#

        if (!registered){
            System.out.println("IT IS NOT REGISTERED!!!");
            registerEnchantment(VORTEX);
        }``` That's why I have this if statement
chrome beacon
#

You're not using that in the registerEnchantment method

scarlet creek
#

give me a second I forgot to copy 1 line

chrome beacon
#

You're only setting the registered boolean by catching the error

tender shard
#

VORTEX doesn't properly override the equals() method

#

your VORTEX object will not be equal to the already registered VORTEX object

#

instead of checking if the list contains it, stream and filter it by the enchantment's namespacedkey

#

or, simply ignore the exception

#

also...

#

try this:

boolean registered = Arrays.stream(Enchantment.values()).anyMatch(alreadyRegisterd -> alreadyRegisterd.getKey().equals(VORTEX.getKey()));
scarlet creek
#

ok

tender shard
#

and as olivo said, only call registerEnchantment(...) when registered is false in your register() method

scarlet creek
#

Yea that's the part I'm confused about because the list does not contain the vortex enchantment yet it is already set?

tender shard
#

it contains your VORTEX object from before reload

#

and since it's a new VORTEX object and you do not override equals(), it just checks for the memory address

#
public class ModEnchants {

    public static final Enchantment TNTSHOOTER = new EnchantmentWrapper("tntshooter", "TNT Shooter", 1);
    public static final Enchantment VORTEX = new EnchantmentWrapper("vortex", "Vortex", 1);

    public static void registerEnchantment(Enchantment enchantment){
        boolean registered = Arrays.stream(Enchantment.values()).anyMatch(alreadyRegisterd -> alreadyRegisterd.getKey().equals(enchantment.getKey()));;
        if(!registered) {
            try {
                Field f = Enchantment.class.getDeclaredField("acceptingNew");
                f.setAccessible(true);
                f.set(null, true);
                Enchantment.registerEnchantment(enchantment);
                System.out.println("Successfully registered " + enchantment.getKey());
            } catch (Exception e) {
                System.out.println("No need to register " + enchantment.getKey() + " as it's already registered from before reload");
            }
        }
    }
}

This is how I'd do it, except for the reflection part

scarlet creek
#

hmmm I see

tender shard
#

you can easily see why List#contains() doesn't work here:

Enchantment vortex1 = new EnchantmentWrapper("tntshooter", "TNT Shooter", 1);
Enchantment vortex2 = new EnchantmentWrapper("tntshooter", "TNT Shooter", 1);
System.out.println(vortex1.equals(vortex2));
#

this will probably print "false"

#

so List#contains is also false

scarlet creek
#

oh that's so strange

tender shard
#

how so? it makes perfect sense

#

you could just override equals() in your EnchantmentWrapper

urban kernel
#

how would i check if the data dir exists and if it doesn't, create it

scarlet creek
#

Oh wait I saw it wrongly

tender shard
urban kernel
#

ah so it is mkdirs

#

ty

tender shard
#

yeah typically mkdir is enough

#

mkdirs will also create missing parent folders

urban kernel
#

ok

tender shard
#

but that should never happen for plugin data folders

#

anyway, I just always use mkdirs

urban kernel
#

alr

grim ice
#

bruh

#

thats mega awesome

urban kernel
#

and then for writing

#

?

chrome beacon
#

Use , instead of +

urban kernel
#

ok

tender shard
urban kernel
#
            File file = new File(Bukkit.getPluginManager().getPlugin("Lifesteal").getDataFolder(), "file.txt");
#

lmao

grim ice
#

is it possible to make entities

#

attack and stuff?

#

e.g make the entity use a bow

#

to shoot a player

tender shard
#

I haven't added that yet. I only wrapped pathfinder goals, Navigation, JumpControl, MoveControl and LookControl yet

#

but PRs are always welcome lol

old cloud
#

Any idea why this```java
player.getOpenInventory().getTopInventory().clear();
player.updateInventory();

#

The inventory view just stays the same

quaint mantle
#

Hi,
I have a problem with this segment in my plugin

case "team" (line 139 - 181) updates the variable correctly but does not save it to the yml file.
The other cases save in the same method (unless ive mistyped) and work as intended.

I've been stuck on this for hours now

Anyone know why this might be?
https://pastebin.com/kEB3nRA8

chrome beacon
#

It's a bad idea to load the file that many times

quaint mantle
chrome beacon
#

You load it once and save when needed

#

Then simply reuse the loaded instance elsewhere

quaint mantle
#

that'll still be saving and loading the same amount of times

rapid sable
#

Hi. I remame armor stands -stored by UUID, not by Entity or AmorStand. When I rename these, on one client all stands will be renamed, on the other client not.
Anyone any idea on why this could be happening?

chrome beacon
quaint mantle
#

so i load it
wait until its used
as soon as its used save and reload

#

and it still doesnt answer the original question

chrome beacon
#

No need to reload after save

#

The data is already there

quaint mantle
#

ok
but that doesnt explain why it wont save
its the file saving in that one specific part thats the issue

compact cape
#

I was wondering if you run Player#openInventory while another inventory is open, Will it send Close Inventory Event or it will be skipped?

flint coyote
#

I would guess that you get the event but feel free to test that

vital sandal
#

any know what a class in 1.12.2 change to in 1.16 api ?

tender shard
rapid sable
#

mfnalex do you have any idea why an entity would be updating it's display name for player A but not for player B?

chrome beacon
#

Show how you're renaming the armorstand

rapid sable
#
private ArmorStand getArmorStand(int id) {
  if(id < 0 || id >= entities.size()) return null;
  else return (ArmorStand)Bukkit.getServer().getEntity(entities.get(id));
}
private void updateArmorStandName(int id, String name) {
  ArmorStand stand = getArmorStand(id);
  if(stand == null) return;
  stand.setCustomName(name);
}
chrome beacon
#

Make sure that both clients are running vanilla

rapid sable
#

I am running optifine on both clients.
I have had this issue for a while and thought it was resolved, how I remember this issue occurring with vanilla too.

#

One thing that has come to my attention is that the first player teleported to the world will have armor stand one with the correct name and armor stand 2 with an incorrect name.

Although I have tried pushing another update from the armor stand after a delay, which hasn't resolved the issue.

patent fox
#

How can I make a path using the navigation that the entity can fly?

vital sandal
#

what is the method for it?
( i want to use it in this nms entities so no thank to events)

vital sandal
chrome beacon
#

?

vital sandal
#

teleport him down ?

chrome beacon
#

Use FlyingPathNavigation

vital sandal
#

setvelocity to 0,-1,0 ?

chrome beacon
#

Vanilla has plenty of examples

#

Take a look

#

That is how things are when working with NMS

#

Same goes for you @vital sandal

#

If you have no idea how to read decompiled code you might want to keep using the api instead of nms

vital sandal
chrome beacon
#

Don't ping him for that ._.

vital sandal
#

decompile EntityBlaze

chrome beacon
#

Now look at how the entity is moved around

knotty meteor
chrome beacon
#

Could you fix the indentation so it's easier to read

#

also

#

?main

knotty meteor
#

Thanks i will change the main class name

vital sandal
#

hmm

#

blaze dont have a flyingnavigation

knotty meteor
#

But it still doesnt fix the problem of sending messages and doing handlings twice

vital sandal
#

its flying only when he is attacking

chrome beacon
#

ok

vital sandal
chrome beacon
#

Not much I can help you with there. You'll need to figure that out yourself. I don't have time to open my IDE and figure out how things work

#

When working with nms you're mostly on your own

knotty meteor
vital sandal
chrome beacon
vital sandal
#

some event trigger continously

winged anvil
#

when y’all handle economy do you make your own custom or use an econ plugin like vault

chrome beacon
#

Vault is just an API

#

Not a full econ plugin

knotty meteor
chrome beacon
knotty meteor
chrome beacon
knotty meteor
#

Thanks i will try that!

vital sandal
chrome beacon
#

If you're doing it that way there isn't a need for a map

#

a list or set is enough

knotty meteor
#

Thats even better thanks!

dull whale
#

guys I cant use 1.16.5 api

#

is something different in the build files

chrome beacon
#

No

#

Show your pom

#

(or build.gradle)

dull whale
mighty pier
#

PlayerInteractEvent if (e.getAction() == Action.RIGHT_CLICK_AIR) { if (p.getItemInHand().getType() != Material.MUSHROOM_SOUP && p.getHealth() >= p.getMaxHealth()) return; p.setItemInHand(new ItemStack(Material.BOWL)); p.setFoodLevel(20); p.setSaturation(20); if ((p.getHealth() + 8) > p.getMaxHealth()) { p.setHealth(p.getMaxHealth()); } else { p.setHealth(p.getHealth() + 8); } } it doesnt replace the item in my hand, but it does it the action is right click block

chrome beacon
#

What item are you holding?

mighty pier
#

mushroomsoup

#

it sets my food level, adds the amount to my health

#

but it doesnt replace the item

#

i have a debug

#

it just puts the itemstack thats in my hand into chat

crimson scarab
#

is that the entire event?

mighty pier
#

yes

crimson scarab
#

so it works

mighty pier
#
    @EventHandler
    public void onSoupClick(PlayerInteractEvent e) {
        Player p = e.getPlayer();
        if (e.getAction() == Action.RIGHT_CLICK_AIR) {
            checkItem(p);
            p.sendMessage(p.getItemInHand().toString());
        }
    }

    private void checkItem(Player p) {
        if (p.getItemInHand().getType() != Material.MUSHROOM_SOUP && p.getHealth() >= p.getMaxHealth()) return;
        p.setItemInHand(new ItemStack(Material.BOWL));
        p.setFoodLevel(20);
        p.setSaturation(20);
        if ((p.getHealth() + 8) > p.getMaxHealth()) {
            p.setHealth(p.getMaxHealth());
        } else {
            p.setHealth(p.getHealth() + 8);
        }
    }
}```
crimson scarab
#

but only on blocks?

mighty pier
#

yes

#

not all the code

crimson scarab
#

so is the issue you want it to work in air also?

mighty pier
#

yes

crimson scarab
#

ok so basically use a logical or

vital sandal
#

try .equalto(Material.SOUP)

#

with a !

mighty pier
#

it just doesnt change the item to a bowl

vital sandal
#

in java compare method is eQualto

mighty pier
#

it does everything

#

except replacing the item

crimson scarab
#
 @EventHandler
    public void onSoupClick(PlayerInteractEvent e) {
        Player p = e.getPlayer();
        if (e.getAction() == Action.RIGHT_CLICK_AIR || e.getAction() == Action.RIGHT_CLICK_BLOCK) {
            checkItem(p);
            p.sendMessage(p.getItemInHand().toString());
        }
    }
#

would this not do it?

vital sandal
#

try p.updateinventory()?

mighty pier
#

alr

vital sandal
#

or this player.getInventory().setItemInMainHand()

mighty pier
#

tried that already

mighty pier
crimson scarab
#

(!p.getItemInHand().getType() .equals(Material.MUSHROOM_SOUP)

mighty pier
#

why would that change anything

grim ice
#

anyone?

mighty pier
#

not what this channel is for

crimson scarab
mighty pier
#

not what the discord is for

#

where am i even meant to put that?

#

do i need an if?

#

what does that accomplish?

vital sandal
crimson scarab
#

is it being called?

#

sir can you put some sort of player message just below the setitemline

mighty pier
#

i did

crimson scarab
#

and let me know if the message gets sent

mighty pier
#

read my messages

#

before talking

crimson scarab
#

i am just trying to help man im sorry

mighty pier
#

im not repeating everything

crimson scarab
#
    private void checkItem(Player p) {
        if (p.getItemInHand().getType() != Material.MUSHROOM_SOUP && p.getHealth() >= p.getMaxHealth()) return;
        p.setItemInHand(new ItemStack(Material.BOWL));
        p.sendMessage("test message!");
        p.setFoodLevel(20);
        p.setSaturation(20);
        if ((p.getHealth() + 8) > p.getMaxHealth()) {
            p.setHealth(p.getMaxHealth());
        } else {
            p.setHealth(p.getHealth() + 8);
        }
    }

have you done it like this

vital sandal
#

:l how about change that inventory slot ?

#

Not item inhand

crimson scarab
#

apex do we know if setitem is actually being called ?

mighty pier
mighty pier
vital sandal
#

Try to put p.setiteminhand before everything

mighty pier
#

tried that too

#

i meant

#

wait

vital sandal
#

So the problem is p.setiteminhand ...

mighty pier
#

i tried before if action right click air

#

and it worked

vital sandal
#

And what version is your?

mighty pier
#

1.8.8

crimson scarab
#

im bout to fix this on my server gimme a sec

vital sandal
#

Why u use if return with 2 value ?

#

Split it into 2

mighty pier
#

wym

#

where

boreal seal
#

using order by function & limit

#

in mysql

#

anyone familiar with that?

crimson scarab
#

alright i have fixed it

vital sandal
#

If(a) return:
If(b) return;

vital sandal
boreal seal
#

mysql function

#

if u dont know googling wont help us here xd

#

since i run an advanced command

#

and not sure how to implement the function correctly

tardy delta
#

google it lol

boreal seal
#

i did

#

didnt help me

tardy delta
#

lmao

boreal seal
#

how should i put it correctly to get higher amount?

crimson scarab
#

when i first started making plugins i would get people telling me to learn java now i understand

boreal seal
#

i tried either using MAX(T)

#

function

tardy delta
#

BETWEEN lol

boreal seal
#

i have no idea

#

nah between is not working bruh

#

so i went manually

#

haha

#

i did between before

#

it just made an error

tardy delta
#

dunno youre using () bruh

boreal seal
#

whats wrong in my command here?

#

like the syntax at the end is bad

#

im trying to return 1 by limiting and the highest

#

i dont want to use subquery..

boreal seal
#

cant really understand

crimson scarab
#

not my code man

#

i was trying to get the guy to debug and see if the guard function was working properly

vital sandal
undone axleBOT
#
CafeBabe Help Menu
*Red V3*
**__Admin:__**

selfrole Add or remove a selfrole from yourself.

**__Cleanup:__**

cleanup Base command for deleting messages.

**__Core:__**

embedset Commands for toggling embeds on or off.
info Shows info about CafeBabe.
licenseinfo Get info about Red's licenses.
mydata Commands which interact with the data CafeBabe has about...
set Commands for changing CafeBabe's settings.
uptime Shows CafeBabe's uptime.

**__Downloader:__**

findcog Find which cog a command comes from.

**__Mod:__**

names Show previous names and nicknames of a member.
userinfo Show information about a member.

**__ModLog:__**

listcases List cases for the specified member.
reason Specify a reason for a modlog case.

**__Permissions:__**

permissions Command permission management tools.

boreal seal
#

how do i sent him to java docs

#

first

#

what is that kind of code even

earnest forum
#

?jd

crimson scarab
#
    @EventHandler
    public void onSoupClick(PlayerInteractEvent e) {
        Player p = e.getPlayer();
        if (e.getAction() == Action.RIGHT_CLICK_AIR || e.getAction() == Action.RIGHT_CLICK_BLOCK) {
            checkItem(p);
        }
    }

    private void checkItem(Player p) {
        if (p.getInventory().getItemInMainHand().getType().equals(Material.MUSHROOM_STEW) && p.getHealth() >= p.getAttribute(Attribute.GENERIC_MAX_HEALTH).getBaseValue())
            return;
        p.getInventory().setItemInMainHand(new ItemStack(Material.BOWL));
        p.setFoodLevel(20);
        p.setSaturation(20);
        if ((p.getHealth() + 1) > p.getMaxHealth()) {
            p.setHealth(p.getMaxHealth());
        } else {
            p.setHealth(p.getHealth() + 1);
        }
    }

@mighty pier
this is the working 1.19 code of your function
just swap the new ones for the appropriate
also work on the if statement at the bottom there is much better way of doing it

mighty pier
#

im gonna change it

#

ik its weird

#

just easier to move around

boreal seal
#

i think you better implement the self function

#

its no sense to make it sperate

#

and either private for no sense

mighty pier
#

yes

boreal seal
#

like what gonna accses it already

mighty pier
#

im not gonna keep it like that

#

i know

boreal seal
#

cloud be way more simple you either hardcore everythin

mighty pier
#

cloud

boreal seal
#

nvm

#

either functions should be public/static

#

depends if its an util

mighty pier
#

a

boreal seal
#

or just something you would need to accses from everywhere

mighty pier
crimson scarab
#

i would just do it in one event tbf

#

no need to seperate it right

mighty pier
#

there is need for me

crimson scarab
#

why?

boreal seal
#

Tapwatero dont ask

#

lmao

#

i cant understand too

#

whats the point of it

mighty pier
#

cause i have to do it twice

#

i use the function twice

boreal seal
#

C+V

#

or

#

check both items

#

in once

#

lmao

#

if its the same function

crimson scarab
#

i mean i get both your points but wdym use it twice

mighty pier
#

and

crimson scarab
#

where else is that going to be used

mighty pier
#

i keep deleting it to test it

boreal seal
#

yeah where else do you use it?

#

im curious

#

as well

mighty pier
#

same class

#

i just cut out part of the code cause it wasnt necessary

boreal seal
#

hm

#

same event?

boreal seal
#

on an item

#

Tapwatero dont fix it bruh

mighty pier
#

i dont understand why you think that thatll fix it

mighty pier
boreal seal
#

send the orginal code please

#

i cant understand that kind of shit even

#

like

#

why you would use it

#

i find it

mighty pier
#
    @EventHandler
    public void onSoupClick(PlayerInteractEvent e) {
        if (e.getAction() == Action.LEFT_CLICK_AIR || e.getAction() == Action.LEFT_CLICK_BLOCK) return;
        Player p = e.getPlayer();
        checkItem(p);
        if (e.getClickedBlock() != null){
            checkBlock(p, e.getClickedBlock());
        }
    }

    private void checkItem(Player p) {
        if (p.getItemInHand().getType() != Material.MUSHROOM_SOUP && p.getHealth() >= p.getMaxHealth()) return;
        p.setItemInHand(new ItemStack(Material.BOWL));
        p.updateInventory();
        p.setFoodLevel(20);
        p.setSaturation(20);
        if ((p.getHealth() + 8) > p.getMaxHealth()) {
            p.setHealth(p.getMaxHealth());
        } else {
            p.setHealth(p.getHealth() + 8);
        }
    }

    private void checkBlock(Player p, Block b) {
        if (b.getType() == Material.SIGN_POST || b.getType() == Material.WALL_SIGN) {
            Inventory gui = Bukkit.createInventory(null, 54);
            ItemStack item = new ItemStack(Material.MUSHROOM_SOUP);
            for (int x = 0; x < 54; x++) {
                gui.addItem(item);
            }
            p.openInventory(gui);
        }else{
            checkItem(p);
        }
    }
}```
#

you can argue that i dont need the checkblock funciton

#

cause i dont

#

i will remove it when my problem is fixed

crimson scarab
mighty pier
#

im not using 1.19

crimson scarab
#

i told you, you have to switch them out for the correct 1.8 ones

mighty pier
#

you dont even know my issue

#

what are you fixing

grim ice
#

im feeling like just living with this

#

lol

tardy delta
#

that looks so ugly, just use early returns

grim ice
#

i dont think any person can fix this

mighty pier
#

this is the spigot discord server

#

not forge, fabric or whatever youre using

#

vanilla

grim ice
#

mhm

#

this is the spigot discord server

mighty pier
#

are you talking about your server?

#

bruh

grim ice
#

not a java learning center

boreal seal
#
public class Click implements Listener {
    @EventHandler
    public void onSoupClick(PlayerInteractEvent e) {
        Player p = e.getPlayer();
        if (e.getAction() == Action.RIGHT_CLICK_AIR || e.getAction() == Action.RIGHT_CLICK_BLOCK) {
          // this is shit  p.sendMessage(p.getItemInHand().toString());
           if (p.getItemInHand().getType() != Material.MUSHROOM_SOUP { return;
} if ( p.getHealth() == p.getMaxHealth()) {
     p.sendmessage("i feel healthy");
     return;
}
        p.setItemInHand(new ItemStack(Material.BOWL));
        p.setFoodLevel(20);
        p.setSaturation(20);
        p.setHealth(p.getMaxHealth());
        }
    }
crimson scarab
#

discord formatting did this dirty

boreal seal
#

lmao

#

yeah but its way shorter

#

not sure what was the point of adding 8hp

#

like player hp == 20 max in general

#

so if he has 12+8 it be 20

#

but if he has 11 it will be 19

#

if he has more just setting to max?

#

cloud not get the concept of it

mighty pier
#

i want to add 8 health

boreal seal
#

4 hearts

tender shard
boreal seal
#

mfnalex its not my code lol

#

its frandma think

mighty pier
#

there is slow down when you eat

boreal seal
#

thing

#

yeah so he want on interact event

#

force it to add hp

#

like pvp soups

#

back then

boreal seal
mighty pier
#

you dont need to

boreal seal
#
public class Click implements Listener {
    @EventHandler
    public void onSoupClick(PlayerInteractEvent e) {
        Player p = e.getPlayer();
        if (e.getAction() == Action.RIGHT_CLICK_AIR || e.getAction() == Action.RIGHT_CLICK_BLOCK) {
          // this is shit  p.sendMessage(p.getItemInHand().toString());
           if (p.getItemInHand().getType() != Material.MUSHROOM_SOUP { return;
}// if ( p.getHealth() == p.getMaxHealth()) {
 //    p.sendmessage("i feel healthy");
 //    return; ussless no one needs it as well if they decided to use it when they are full hp its their own issue
}
        p.setItemInHand(new ItemStack(Material.BOWL));
        p.setFoodLevel(20);
        p.setSaturation(20); //wtf is Saturation?
        p.setHealth(p.getHealth + 8); // it will not override max hp as well
        }
    }
mighty pier
boreal seal
#

what is the problem

#

this will work

#

there nothing wrong with the code i send

#

and it does same function as your code do

#

and its 4 times shorter

mighty pier
#

omfg

#

just stop talking

#

you are actually braindead

crimson scarab
#

bro wtf your the one who is bad at java

mighty pier
#

lol

boreal seal
#

frandma go to stackoverflow

mighty pier
#

learn to read

dusk flicker
#

that chat is gettin spicy

mighty pier
#

and read what i sent

crisp steeple
#

mspigot discord drama time

boreal seal
#

send it again

#

or go ask for help in spigot forums

#

and get ?learnjav

#

a

#

first

boreal seal
#

?

#

Bettanation

#

he shoudl learn java

mighty pier
#

p.setItemInHand(new ItemStack(Material.BOWL));

boreal seal
#

see his code before

mighty pier
#

it doesnt replace the item

boreal seal
#

you are an idiot

#

fucking idiot

mighty pier
#

p.setItemInHand(new ItemStack(Material.BOWL)); doesnt work after i check if player right clicked air

boreal seal
#

player.getItemInHand().setType(Material.BOWL);

#

fucking idiot

#

go do it now

mighty pier
#

i tried that

boreal seal
#

do it idiot

#

it will work

#

100%

mighty pier
#

1h before typing here

boreal seal
#

I DO IT IN MY CODE

#

IT DOES WORK

#

brickhead my plugin works

crimson scarab
#

🥶

mighty pier
#

i did .gettype

boreal seal
#

wait wait i fix this brick head code

mighty pier
#

it returns a material

boreal seal
#

so he can go to hel

#

item.getType().equals(Material.YOUR SHIT ITEM)) {

mighty pier
boreal seal
#

player.getItemInHand().setType(Material.BOWL);

#

why you use funcitons

#

idiot

#

those are literally the same without function

#

even logner to write down

#

nvm

crisp steeple
#

what is even going on here

boreal seal
#

this guy is trolling

crimson scarab
#

fr

boreal seal
#

making functions for existing functions

#

making it longer

#

i cant understand the point behind it

#

2 digit iq's

#

shit

#

feels like the next level code

crimson scarab
#

people when you tell them to learn java instead of making the worlds best most unique plugin first

mighty pier
#

you tried to read english before learning english

floral flare
#

Hello, a simple question, would this small spacing be normal? (scoreboard)

boreal seal
#
public class Click implements Listener {
    @EventHandler
    public void onSoupClick(PlayerInteractEvent e) {
        Player p = e.getPlayer();
        if (e.getAction() == Action.RIGHT_CLICK_AIR || e.getAction() == Action.RIGHT_CLICK_BLOCK) {
          // this is shit  p.sendMessage(p.getItemInHand().toString());
           if (!p.getItemInHand().getType().equals(Material.SOUP)) { return;
}
        p.getItemInHand().setType(Material.BOWL);
        p.setFoodLevel(20);
        p.setSaturation(20);
        p.setHealth(p.getHealth + 8); 
    }
#

here

#

it will work

#

100%

#

just tested

#

go test and learn java

#

never come ack here

#

before you learn java

#

not trying to begin rude

#

but man you are more annoying then the neighboor dogs

#

not sure what is Saturation or foodlevel

#

yeah guys its his code

#

never used those 2

#

but it added health

mighty pier
boreal seal
#

and change SOUP Material

mighty pier
#

thats why i needed that funciton

boreal seal
#

nah man

alpine urchin
#

bukkit tutorial moment

boreal seal
#

his code be like find whats wrong in this code

mighty pier
#

i needed to check if its not above max health because it FUCKING ERRORS

#

IM NOT USING 1.19

boreal seal
#

im using 1.7.10

mighty pier
#

good for you

boreal seal
#

and 1.8.8

#

so please dont complain

#

learn java first

dusk flicker
#

1.8.8

#

yikes

#

?1.8

undone axleBOT
boreal seal
#

hey Rack i know

#

its alright

crimson scarab
boreal seal
#

i dont ask to fix my stone age API

#

nah

#

its place to judge people failure code

reef lagoon
#

anyone got a util func to add lore efficiently :p

agile anvil
#

Did you tried CTRL+Click on the methods ? You'll see where is the difference

boreal seal
#

if he does such a question on stackoverflow he gets banned 💀

#

fr fr fr

#

eclipse 😮

#

or different IDE?

#

i have a friend who uses eclipse like for 15 years its fine

agile anvil
#

Outch, no worries, maybe have a look at javadoc

boreal seal
#

liar

#

lmao

#

get get eclipse or intelliJ for god sake

#

Apache netbeans

flint coyote
#

probably googling for stuff in netscape, too

boreal seal
#

this thing is stone age

#

fr

#

either its not that bad

#

i have a friend

#

who codes from his mobile

#

without An IDE 💀

#

editing txt files

#

lmao

#

what i said wasnt a joke he actually made a plugin

agile anvil
#

I have exams paper based 🙂

boreal seal
#

;l

flint coyote
boreal seal
#

im done without

#

even finishing highschool 😳

agile anvil
#

What's your job evan?

#

Are you freelance dev?

flint coyote
#

💀

golden turret
#

is there any event when the entity freezes/unfreeze?

tardy delta
reef lagoon
#

no but there is .isFrozen()

golden turret
reef lagoon
tardy delta
#

ah idk im not familiar with new apis

reef lagoon
#

they're not looking to freeze people bruh..

quiet ice
reef lagoon
#

I love eclipse it's my favorite and only ide

quiet ice
#

It certainly isn't the best, but not the worst

agile anvil
flint coyote
#

I think eclipse is ok. I also swapped to intellij. I prefer the git change marking of eclipse tho

sterile token
#

Any IA completer better than Tabnine?

#

Because copilot expired, and tabnine its a mess

grim ice
#

and in soup pvp u heal by right clicking soup

#

even if ur not hungry

still spindle
#

I need some help implementing the WorldEdit API to my VSCode spigot project

#

Someon experience with implementing the WorldEdit API?

#

Currently using the command executor, but that is everything but the plan.

still spindle
#

I am used to working with VSCode lol

#

You reccon I go back to eclipse?

#

I did that 5 years ago and just started picking up plugin development again.

agile anvil
#

Well you'll have to refer to WE javadoc

#

And if you need help with it you should probably reach them

#

To import the plugin just add it to the pom

still spindle
#

I tried using the maven depencies

#

but the link seems to be unavailable?

agile anvil
#

Show us how you tried tl implement it

still spindle
#

I just deleted it all lol

#

wait got it back

#

Failed to read artifact descriptor

sterile token
#

?paste

undone axleBOT
sterile token
#

Hey mate

#

can we talk?

#

I need some help about your library - retrooper

still spindle
sterile token
#

You should use paste for long codes and then describe the problem + link

sterile token
#

Thanks

alpine urchin
#

?notworking

undone axleBOT
#

"Does not working" is a useless statement. Please describe what exactly is not working, what you expect it to do, and what actually happens. If you get any console errors, also ?paste the entire stacktrace.

boreal seal
sterile token
alpine urchin
still spindle
boreal seal
#

it looks fine to me

#

implement?

#

hook to idiot idiot

#

and add as depencdecy

wooden fable
alpine urchin
#

hand slipped

#

sorry

still spindle
#

I am getting the error on the pom.xml itself Evan, so there is something wrong with those dependencies.

wooden fable
#

Np 😆

boreal seal
#

remove them

#

add libraries

#

...

#

as worldedit.worldguard as library

#

it seems fine to me

#

just go for manual way.

still spindle
#

How would you reccon to add libraries to vscode, the maven way seems to be the only 1 recommended.

vocal cloud
#

😭 ant

#

Someone's gotta keep Apache alive

#

Who needs easy access to documentation when you have ant

boreal seal
#

learn to use visual studio

#

its so essential

still spindle
#

Everything else is fine, just need to get this shitty worledit into the code.

boreal seal
#

and learn java as well

alpine urchin
#

maven vs gradle guys

boreal seal
#

i use maven as well

#

but i still add libraries manually

vocal cloud
#

Yeah but you can install them locally to m2 and then access it from any project

still spindle
#

Back in the days you just added the path from the java extensions and you where done.

boreal seal
#

anyone here is good with mysql queires?

#

i have another syntax problem

vocal cloud
#

?ask

undone axleBOT
#

If you have a question, please just ask it. Don't look for staff or topic experts. Don't ask to ask or ask if people are awake or available. Just ask the question to the channel straight out, and wait patiently for a reply. Make sure you use the right channel regarding the topic of your question. Create a thread in case the channel is already in use!

boreal seal
#

bruh

#
SELECT T " +
                     "FROM G WHERE X < (?) AND X > (?) AND Y < (?) AND Y > (?) AND Z < (?) AND Z > (?) AND PLAYERNAME = (?) AND ORDER BY T ASC LIMIT 1;")) {
#

whats wrong here

#

the problem appears after i added ORDER BY T ASC LIMIT 1

#

learn java

#

u didnt instalize it

#

this stacktrace literally tells you the problem

boreal seal
#

in general

still spindle
#

I cant just slap the worldedit jar into the project folder by any change?

boreal seal
#

you dont know how to use your own IDE

still spindle
#

I don't think that is what is going on right now, but sure you do you 🙂

boreal seal
#

learn to use S

#

VS

#

and yeah u just put the jar

#

to accses the API they added

reef lagoon
#

what's the easiest way of adding text to a .yml

still spindle
#

Sorry that was 2 easy.

#

Probably just creating a New File instance of the .yml file and adding strings 🙂

reef lagoon
#

I've got the file instance, how do I add strings tho

still spindle
#

A no wait

#

BufferedWriter I believe it is called with Java

#

It creates an apend of the file and allows you to add text 🙂

still spindle
#

This adds the line "New Line!" for example.

chrome beacon
#

Or just use the yaml configuration api

chrome beacon
#

Don't forget to close that FileWriter

tardy delta
#

doesnt closing the buf writer closes the internal writer?

still spindle
chrome beacon
#

ah It does

#

didn't know that

tardy delta
#

i didnt know either cuz i never use that shit lol

still spindle
#

This should work as an library reference for jar files right: "java.project.referencedLibraries": "lib/*.jar"

#

?

#

Put it into the settings,json

chrome beacon
#

Are you using vscode or smth

#

Not sure where that file is from

still spindle
#

vscode

chrome beacon
#

I highly recommend using a java IDE like Intellij

#

also you should use maven or gradle. It should take care of the dependencies for you

still spindle
#

I know, but it wasn't working lol

chrome beacon
#

Sounds like a good reason not use vscode for Java

still spindle
#

hmm

#

I found another maven URL

#

Errors are gone..

#

Nevermind

#

Got no bloody clue

sterile token
#

If you want to code in Java dont use vscode

still spindle
#

Yeah starting to realize that

sterile token
#

Because its like using a fitito for doing racers

still spindle
#

It was so much easier I code everything in VS

sterile token
#

Na

still spindle
#

Do you guys prefer Intellij or Eclipse?

sterile token
#

Intellij

#

I think its 50% better than eclipse

boreal seal
#

vssutidio is fine

#

Vs

#

is fine

sterile token
boreal seal
#

that guy is just fool

#

i use VS for C++ & C#

#

0 problems

eternal oxide
#

Eclipse

boreal seal
#

eclipse is fine too

sterile token
#

C++ and C# != JAva

still spindle
#

Thanks you for your opinion Evan

sterile token
#

😂

boreal seal
#

yeah just import the self jars

#

to accses the library

#

ape

still spindle
#

I use VSCode for, python, C# and webdevelopment.

boreal seal
#

alex

sterile token
#

In my case i dont like oddie things so i just intellij idea ultimate versions

boreal seal
#

this guy

#

doesnt even know

#

how to use visual studio

#

its the prolbem

sterile token
#

Oh shit

boreal seal
#

not matter what platform he go

still spindle
#

And instead of helping you just keep bitching 🙂

boreal seal
#

if he doesnt know how to light up the gas in the kitchen

#

he cant cook

#

FUCKING BASTARD GOOGLE IT

#

its so simple

#

learn to use your IDE

#

then ask for help

sterile token
#

Lmao keep calm dont get annoyed

#

I know that makes you mad

boreal seal
#

nah im fine

#

i just like to get muted for an hour

#

lol

#

Verno legit if someone asks it in different forum

#

he would get banned

still spindle
#

Gladly I haven't been googling for the past 2 hours

boreal seal
#

waitin few mins

sterile token
#

It also make me annoyed people who use eclipse in 2022 when you have a fully free jetbrains version

still spindle
#

Wish I came up with that idea

boreal seal
#

idk eclipse is fine

#

i have an friend who uses it

#

i personally dont like eclipse

#

and he is decent guy

boreal seal
#

watch few guides on how to use VS

#

or read some articles

still spindle
#

You know that was sarcasm right?

sterile token
#

?google

undone axleBOT
tardy delta
#

anyone knows how i can transform '1' to the int 1

#

(int) character gives me an int value which is 48 too high so i might just do (int) character - 48

still spindle
#

number / number = 1

eternal oxide
#

Integer.valueOf

still spindle
tardy delta
#

printing 49 System.out.println(Integer.valueOf('1'));

eternal oxide
#

is it an actual string you are passing in?

#

if not use .toString first

tardy delta
#

its an integer in char form

#

so '1' should give 1 as int

#

myes System.out.println(Integer.valueOf(String.valueOf('1'))); works but wtf

iron glade
#

yup just tried it too

desert loom
iron glade
#

yeah that should be it

iron glade
tardy delta
#

what i expected

grim ice
grim ice
#

Integer.valueOf("1")

#

lol

tardy delta
#

i said its a char not a string

grim ice
#

yikes

iron glade
#

compared to ij it's ass

#

imho

grim ice
#

why is it ass?

iron glade
#

being a year long eclipse user

tardy delta
#

eclipse looks like a program from prev century

iron glade
#

idk I can't even describe it, ij is just so smooth

grim ice
#

that sounds like what a linux user would say

iron glade
#

maven integration for eclipse is bad too

flint coyote
#

I don't like that intellij only marks files as changed (git) when it's visible. Eclipse also colors the folders containing changed files. Besides that I like intellij more

grim ice
#

ij is a lot slower than eclipse, and the ui is barely better

tardy delta
#

'barely' lmfao

grim ice
#

eclipse ui isn't that bad

iron glade
#

why people keep complaining about ij speeds I don't get it

#

seen several of them now

quaint mantle
grim ice
tardy delta
#

slow?

quaint mantle
#

yes kinda

grim ice
#

and intellij is barely being updated now

tardy delta
#

eating ram thats the only thing

iron glade
grim ice
#

its been more than a year since the last update

quaint mantle
tardy delta
#

i mean my ui is pretty

grim ice
flint coyote
#

because it is indeed kinda slow. You won't notice it on normal minecraft plugins but at huge company projects with a lot of dependencies etc it can take a while to be ready

ancient plank
iron glade
grim ice
#

it is indeed slow

grim ice
#

i make some projects with a shit ton of dependencies in gradle

quaint mantle
grim ice
#

and intellij is so slow when loading them

#

so fucking slow

tardy delta
flint coyote
#

there isn't a way to make intellij also color changed folders instead of only the files inside, right?

iron glade
grim ice
#

gradle itself is pretty slow when scaling

#

but intellij makes it wrose.

upper vale
#

the slower speed is a worthy trade-off for the significantly improved autocompletions etc

tardy delta
#

^^

quaint mantle
#

^^^

grim ice
#

i coded in notepad++

flint coyote
#

agreed

grim ice
#

i dont care about autocompletion

#

that much

tardy delta
#

die

quaint mantle
ornate patio
#

how do yall manage dealing with offline players for example in a moderation plugin?

quaint mantle
#

not buttons

iron glade
#

well workflow benefits

grim ice
#

i memorized all the methods and imports for the libraries i use

upper vale
#

microsoft rich text format is the best IDE

ornate patio
#

you store player uuid's, but how are you meant to get the uuid of a player that isnt online

iron glade
#

you get it from offline player

tardy delta
#

Bukkit.getOfflinePlayer(name).getUniqueId()

quaint mantle
ornate patio
#

getOfflinePlayer(name) is deprecated

tardy delta
#

might evolve mojang server lookup

grim ice
tardy delta
#

its not for removal

iron glade
flint coyote
# flint coyote there isn't a way to make intellij also color changed folders instead of only th...
ornate patio
#

mm ok i guess

grim ice
#

its deprecated because players can change their names

#

that's all.